Browse Source

DATACMNS-496 - Version.parse(…) now drops non-numeric artifacts.

Version parsing failed when given version contained non-numeric parts (like 2.0.0-rc1). We now strip everything after the first non numeric part to create a logical version equivalent of the source String.

Original pull request: #81.
pull/81/merge
Christoph Strobl 12 years ago committed by Oliver Gierke
parent
commit
57271baf54
  1. 2
      src/main/java/org/springframework/data/util/Version.java
  2. 8
      src/test/java/org/springframework/data/util/VersionUnitTests.java

2
src/main/java/org/springframework/data/util/Version.java

@ -53,7 +53,7 @@ public class Version implements Comparable<Version> { @@ -53,7 +53,7 @@ public class Version implements Comparable<Version> {
int[] intParts = new int[parts.length];
for (int i = 0; i < parts.length; i++) {
intParts[i] = Integer.parseInt(parts[i]);
intParts[i] = Integer.parseInt(parts[i].replaceAll("\\D.*", ""));
}
return new Version(intParts);

8
src/test/java/org/springframework/data/util/VersionUnitTests.java

@ -123,4 +123,12 @@ public class VersionUnitTests { @@ -123,4 +123,12 @@ public class VersionUnitTests {
assertThat(new Version(2, 0, 1, 0).toString(), is("2.0.1"));
assertThat(new Version(2, 0, 0, 1).toString(), is("2.0.0.1"));
}
/**
* @see DATACMNS-496
*/
@Test
public void parseShouldRemoveNonNumericVersionParts() {
assertThat(Version.parse("2.0.0-rc1"), is(new Version(2, 0, 0)));
}
}

Loading…
Cancel
Save