Skip to content

Commit 58a43e5

Browse files
committed
fix perf
1 parent c95a9c0 commit 58a43e5

File tree

2 files changed

+10
-6
lines changed

2 files changed

+10
-6
lines changed

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

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -256,10 +256,8 @@ public boolean isUnevaluatedItemsPresent() {
256256
return this.unevaluatedItemsPresent;
257257
}
258258

259-
public boolean setUnevaluatedPropertiesPresent(boolean set) {
260-
boolean existing = this.unevaluatedPropertiesPresent;
259+
public void setUnevaluatedPropertiesPresent(boolean set) {
261260
this.unevaluatedPropertiesPresent = set;
262-
return existing;
263261
}
264262

265263
public boolean setUnevaluatedItemsPresent(boolean set) {

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

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -723,8 +723,14 @@ public void validate(ExecutionContext executionContext, JsonNode jsonNode, JsonN
723723
// System.out.println("-----------------");
724724
// }
725725
executionContext.evaluationSchema.addLast(this);
726-
boolean unevaluatedPropertiesPresent = executionContext.setUnevaluatedPropertiesPresent(hasKeyword("unevaluatedProperties"));
727-
boolean unevaluatedItemsPresent = executionContext.setUnevaluatedPropertiesPresent(hasKeyword("unevaluatedItems"));
726+
boolean unevaluatedPropertiesPresent = executionContext.isUnevaluatedPropertiesPresent();
727+
boolean unevaluatedItemsPresent = executionContext.isUnevaluatedItemsPresent();
728+
if (!unevaluatedPropertiesPresent) {
729+
executionContext.setUnevaluatedPropertiesPresent(hasKeyword("unevaluatedProperties"));
730+
}
731+
if (!unevaluatedItemsPresent) {
732+
executionContext.setUnevaluatedItemsPresent(hasKeyword("unevaluatedItems"));
733+
}
728734
try {
729735
int currentErrors = executionContext.getErrors().size();
730736
for (KeywordValidator v : getValidators()) {
@@ -745,7 +751,7 @@ public void validate(ExecutionContext executionContext, JsonNode jsonNode, JsonN
745751
} finally {
746752
executionContext.evaluationSchema.removeLast();
747753
executionContext.setUnevaluatedPropertiesPresent(unevaluatedPropertiesPresent);
748-
executionContext.setUnevaluatedPropertiesPresent(unevaluatedItemsPresent);
754+
executionContext.setUnevaluatedItemsPresent(unevaluatedItemsPresent);
749755
}
750756
}
751757

0 commit comments

Comments
 (0)