Skip to content

Commit 636eb84

Browse files
committed
fixes #84 remove Java 8 optional to ensure that this library can be used in Android
1 parent cbdce4e commit 636eb84

File tree

3 files changed

+7
-11
lines changed

3 files changed

+7
-11
lines changed

src/main/java/com/networknt/schema/JsonMetaSchema.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,6 @@
2424
import java.util.HashMap;
2525
import java.util.List;
2626
import java.util.Map;
27-
import java.util.Optional;
2827
import java.util.concurrent.ConcurrentHashMap;
2928

3029
import org.apache.commons.lang3.StringUtils;
@@ -226,7 +225,7 @@ public String getUri() {
226225
return uri;
227226
}
228227

229-
public Optional<JsonValidator> newValidator(ValidationContext validationContext, String schemaPath, String keyword /* keyword */, JsonNode schemaNode,
228+
public JsonValidator newValidator(ValidationContext validationContext, String schemaPath, String keyword /* keyword */, JsonNode schemaNode,
230229
JsonSchema parentSchema) {
231230

232231
try {
@@ -236,9 +235,9 @@ public Optional<JsonValidator> newValidator(ValidationContext validationContext,
236235
UNKNOWN_KEYWORDS.put(keyword, keyword);
237236
logger.warn("Unknown keyword " + keyword + " - you should define your own Meta Schema. If the keyword is irrelevant for validation, just use a NonValidationKeyword");
238237
}
239-
return Optional.empty();
238+
return null;
240239
}
241-
return Optional.of(kw.newValidator(schemaPath, schemaNode, parentSchema, validationContext));
240+
return kw.newValidator(schemaPath, schemaNode, parentSchema, validationContext);
242241
} catch (InvocationTargetException e) {
243242
if (e.getTargetException() instanceof JsonSchemaException) {
244243
throw (JsonSchemaException) e.getTargetException();

src/main/java/com/networknt/schema/JsonSchema.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import java.util.Iterator;
2424
import java.util.LinkedHashSet;
2525
import java.util.Map;
26-
import java.util.Optional;
2726
import java.util.Set;
2827
import java.util.regex.Matcher;
2928
import java.util.regex.Pattern;
@@ -113,9 +112,9 @@ private Map<String, JsonValidator> read(JsonNode schemaNode) {
113112
String pname = pnames.next();
114113
JsonNode n = schemaNode.get(pname);
115114

116-
Optional<JsonValidator> validator = validationContext.newValidator(getSchemaPath(), pname, n, this);
117-
if (validator.isPresent()) {
118-
validators.put(getSchemaPath() + "/" + pname, validator.get());
115+
JsonValidator validator = validationContext.newValidator(getSchemaPath(), pname, n, this);
116+
if (validator != null) {
117+
validators.put(getSchemaPath() + "/" + pname, validator);
119118
}
120119

121120
}

src/main/java/com/networknt/schema/ValidationContext.java

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package com.networknt.schema;
22

3-
import java.util.Optional;
4-
53
import com.fasterxml.jackson.databind.JsonNode;
64

75
public class ValidationContext {
@@ -19,7 +17,7 @@ public ValidationContext(JsonMetaSchema metaSchema, JsonSchemaFactory jsonSchema
1917
this.jsonSchemaFactory = jsonSchemaFactory;
2018
}
2119

22-
public Optional<JsonValidator> newValidator(String schemaPath, String keyword /* keyword */, JsonNode schemaNode,
20+
public JsonValidator newValidator(String schemaPath, String keyword /* keyword */, JsonNode schemaNode,
2321
JsonSchema parentSchema) {
2422
return metaSchema.newValidator(this, schemaPath, keyword, schemaNode, parentSchema);
2523
}

0 commit comments

Comments
 (0)