Skip to content

Commit 2c486d6

Browse files
committed
TEDEFO-4933 Simplify SdkVersion prefix handling and normalizeVersion
1 parent 8f4b6e8 commit 2c486d6

File tree

2 files changed

+11
-14
lines changed

2 files changed

+11
-14
lines changed

src/main/java/eu/europa/ted/eforms/sdk/SdkVersion.java

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,15 @@ public class SdkVersion implements Comparable<SdkVersion> {
1414

1515
private final Semver version;
1616

17+
private static final String SDK_PREFIX = "eforms-sdk-";
18+
1719
public SdkVersion(final String version) {
1820
Validate.notBlank(version, "Undefined version");
1921

22+
String normalized = version.startsWith(SDK_PREFIX) ? version.substring(SDK_PREFIX.length()) : version;
23+
2024
// LOOSE because we need to accept MAJOR.MINOR
21-
this.version = new Semver(version, SemverType.LOOSE);
25+
this.version = new Semver(normalized, SemverType.LOOSE);
2226

2327
// Check that we did get a MINOR part
2428
Validate.notNull(this.version.getMinor());

src/main/java/eu/europa/ted/eforms/sdk/component/SdkComponentFactory.java

Lines changed: 6 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
import java.util.Objects;
1111
import java.util.Optional;
1212
import java.util.stream.Stream;
13+
import eu.europa.ted.eforms.sdk.SdkVersion;
1314
import org.reflections.Reflections;
1415
import org.reflections.util.ClasspathHelper;
1516
import org.reflections.util.ConfigurationBuilder;
@@ -174,19 +175,11 @@ protected <T> T getComponentImpl(String sdkVersion, final SdkComponentType compo
174175
}
175176

176177
private static String normalizeVersion(final String sdkVersion) {
177-
String normalizedVersion = sdkVersion;
178-
179-
if (normalizedVersion.startsWith("eforms-sdk-")) {
180-
normalizedVersion = normalizedVersion.substring(11);
178+
SdkVersion version = new SdkVersion(sdkVersion);
179+
int major = Integer.parseInt(version.getMajor());
180+
if (major > 0) {
181+
return version.getMajor();
181182
}
182-
183-
String[] numbers = normalizedVersion.split("\\.", -2);
184-
185-
if (numbers.length < 1) {
186-
throw new IllegalArgumentException("Invalid SDK version: " + sdkVersion);
187-
}
188-
189-
return numbers[0]
190-
+ ((numbers.length > 1 && Integer.parseInt(numbers[0]) > 0) ? "" : "." + numbers[1]);
183+
return version.getMajor() + "." + version.getMinor();
191184
}
192185
}

0 commit comments

Comments
 (0)