Skip to content

Commit 8d52ea8

Browse files
committed
RemappingService logic improving
1 parent 42ac201 commit 8d52ea8

File tree

4 files changed

+19
-47
lines changed

4 files changed

+19
-47
lines changed

src/main/java/ru/feodorkek/dev/mcremapper/exception/RemapperProviderException.java

Lines changed: 0 additions & 18 deletions
This file was deleted.

src/main/java/ru/feodorkek/dev/mcremapper/service/RemappingService.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,6 @@ public interface RemappingService {
1010

1111
void registerProvider( RemapperProvider provider );
1212

13-
void setCurrentProvider( String providerName );
14-
15-
RemapResult maybeRemap( String mappedSource );
13+
RemapResult maybeRemap( String providerName, String mappedSource );
1614

1715
}

src/main/java/ru/feodorkek/dev/mcremapper/service/impl/RemappingServiceImpl.java

Lines changed: 16 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,10 @@
55
import java.util.List;
66
import java.util.Map;
77
import java.util.regex.Matcher;
8-
import ru.feodorkek.dev.mcremapper.dto.EntryPosition;
9-
import ru.feodorkek.dev.mcremapper.dto.RemapResult;
108
import ru.feodorkek.dev.mcremapper.domain.RemapperProvider;
9+
import ru.feodorkek.dev.mcremapper.dto.EntryPosition;
1110
import ru.feodorkek.dev.mcremapper.dto.RemapEntry;
12-
import ru.feodorkek.dev.mcremapper.exception.RemapperProviderException;
11+
import ru.feodorkek.dev.mcremapper.dto.RemapResult;
1312
import ru.feodorkek.dev.mcremapper.exception.RemappingException;
1413
import ru.feodorkek.dev.mcremapper.properties.RemapperProperties;
1514
import ru.feodorkek.dev.mcremapper.service.RemappingService;
@@ -18,7 +17,6 @@ public class RemappingServiceImpl implements RemappingService {
1817

1918
private final Map<String, RemapperProvider> providers;
2019
private final RemapperProperties properties;
21-
private RemapperProvider currentProvider;
2220

2321
public RemappingServiceImpl( final RemapperProperties properties ) {
2422
this.providers = new HashMap<>();
@@ -40,24 +38,8 @@ public void registerProvider( final RemapperProvider provider ) {
4038
}
4139

4240
@Override
43-
public void setCurrentProvider( final String providerName ) {
44-
if( providerName == null || providerName.isBlank() ) {
45-
throw new RemapperProviderException( "Minecraft version name cannot be blank" );
46-
}
47-
48-
if( !providers.containsKey( providerName ) ) {
49-
throw new RemapperProviderException( "Minecraft remapper provider {0} not registered", providerName );
50-
}
51-
52-
currentProvider = providers.get( providerName );
53-
}
54-
55-
@Override
56-
public RemapResult maybeRemap( final String mappedSource ) {
57-
if( currentProvider == null ) {
58-
throw new RemappingException( "Current provider not set" );
59-
}
60-
41+
public RemapResult maybeRemap( final String providerName,
42+
final String mappedSource ) {
6143
if( mappedSource == null || mappedSource.isBlank() ) {
6244
throw new RemappingException( "Mapped source cannot be blank" );
6345
}
@@ -68,6 +50,16 @@ public RemapResult maybeRemap( final String mappedSource ) {
6850
throw new RemappingException( "Mapped source length should be less than {0} chars", properties.getRemapSourceMaxLen() );
6951
}
7052

53+
if( providerName == null || providerName.isBlank() ) {
54+
throw new RemappingException( "Minecraft remapper provider name cannot be blank" );
55+
}
56+
57+
if( !providers.containsKey( providerName ) ) {
58+
throw new RemappingException( "Minecraft remapper provider {0} not registered", providerName );
59+
}
60+
61+
final var provider = providers.get( providerName );
62+
7163
final var result = new StringBuilder();
7264
final var remapEntries = new ArrayList<RemapEntry>();
7365
final var lines = mappedSource.split( "\n" );
@@ -76,13 +68,13 @@ public RemapResult maybeRemap( final String mappedSource ) {
7668
for( int lineNumber = 0; lineNumber < lines.length; lineNumber++ ) {
7769
final var line = lineNumber < lines.length - 1 ? lines[ lineNumber ] + "\n" : lines[ lineNumber ];
7870

79-
final var matcher = currentProvider.getRemapPattern().matcher( line );
71+
final var matcher = provider.getRemapPattern().matcher( line );
8072

8173
var offset = 0;
8274

8375
while( matcher.find() ) {
8476
var mappedValue = matcher.group();
85-
var remappedValue = currentProvider.getMappings().getOrDefault( mappedValue, mappedValue );
77+
var remappedValue = provider.getMappings().getOrDefault( mappedValue, mappedValue );
8678
matcher.appendReplacement( result, Matcher.quoteReplacement( remappedValue ) );
8779

8880
if( !mappedValue.equals( remappedValue ) ) {

src/main/java/ru/feodorkek/dev/mcremapper/usecase/impl/McRemapperUseCasesImpl.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,8 @@ public class McRemapperUseCasesImpl implements McRemapperUseCases {
1515

1616
@Override
1717
public RemapResponse maybeRemap( final RemapRequest request ) {
18-
remappingService.setCurrentProvider( request.getMcRemapperProviderName() );
19-
return new RemapResponse( remappingService.maybeRemap( request.getMappedSource() ) );
18+
return new RemapResponse( remappingService.maybeRemap( request.getMcRemapperProviderName(),
19+
request.getMappedSource() ) );
2020
}
2121

2222
}

0 commit comments

Comments
 (0)