in src/main/java/org/apache/sling/feature/extension/apiregions/api/artifacts/VersionRule.java [117:160]
public void fromJSONObject(final JsonObject jsonObj) throws IOException {
super.fromJSONObject(jsonObj);
try {
String val = this.getString(InternalConstants.KEY_MODE);
if ( val != null ) {
this.setMode(Mode.valueOf(val.toUpperCase()));
}
val = this.getString(InternalConstants.KEY_ARTIFACT_ID);
if ( val != null ) {
this.setArtifactId(ArtifactId.parse(val));
}
this.setMessage(this.getString(InternalConstants.KEY_MESSAGE));
String[] arr = this.getStringArray(InternalConstants.KEY_ALLOWED_VERSION_RANGES);
if ( arr != null && arr.length > 0 ) {
final VersionRange[] ranges = new VersionRange[arr.length];
for(int i=0;i<arr.length;i++) {
try {
ranges[i] = new VersionRange(arr[i]);
} catch ( final IllegalArgumentException iae) {
throw new IOException("Illegal argument for allowed version range: " + arr[i]);
}
}
this.setAllowedVersionRanges(ranges);
}
arr = this.getStringArray(InternalConstants.KEY_DENIED_VERSION_RANGES);
if ( arr != null && arr.length > 0 ) {
final VersionRange[] ranges = new VersionRange[arr.length];
for(int i=0;i<arr.length;i++) {
try {
ranges[i] = new VersionRange(arr[i]);
} catch ( final IllegalArgumentException iae) {
throw new IOException("Illegal argument for allowed version range: " + arr[i]);
}
}
this.setDeniedVersionRanges(ranges);
}
} catch (final JsonException | IllegalArgumentException e) {
throw new IOException(e);
}
}