Skip to content

Commit 8b7ad59

Browse files
committed
Load schema in constructor to avoid reload on each validation (#443)
1 parent 9efce49 commit 8b7ad59

File tree

1 file changed

+2
-4
lines changed

1 file changed

+2
-4
lines changed

metafacture-json/src/main/java/org/metafacture/json/JsonValidator.java

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,6 @@ public final class JsonValidator extends DefaultObjectPipe<String, ObjectReceive
5555

5656
private static final Logger LOG = LoggerFactory.getLogger(JsonValidator.class);
5757
private static final String DEFAULT_ID_KEY = "id";
58-
private String schemaUrl;
5958
private Schema schema;
6059
private long fail;
6160
private long success;
@@ -67,7 +66,7 @@ public final class JsonValidator extends DefaultObjectPipe<String, ObjectReceive
6766
* @param url The URL of the schema to validate against.
6867
*/
6968
public JsonValidator(final String url) {
70-
this.schemaUrl = url;
69+
initSchema(url);
7170
}
7271

7372
/**
@@ -103,7 +102,6 @@ public void process(final String json) {
103102

104103
private void validate(final String json, final JSONObject object) {
105104
try {
106-
initSchema();
107105
schema.validate(object); // throws ValidationException if invalid
108106
getReceiver().process(json);
109107
++success;
@@ -122,7 +120,7 @@ protected void onCloseStream() {
122120
super.onCloseStream();
123121
}
124122

125-
private void initSchema() {
123+
private void initSchema(final String schemaUrl) {
126124
if (schema != null) {
127125
return;
128126
}

0 commit comments

Comments
 (0)