Skip to content

Commit ca36ea4

Browse files
Sahil3198Sahil Prafulkumar Parekh
andauthored
Refactoring-code (#539)
Co-authored-by: Sahil Prafulkumar Parekh <[email protected]>
1 parent 5007242 commit ca36ea4

34 files changed

+293
-286
lines changed

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,6 @@
3131
public class AllOfValidator extends BaseJsonValidator implements JsonValidator {
3232
private static final Logger logger = LoggerFactory.getLogger(AllOfValidator.class);
3333

34-
private final ValidationContext validationContext;
3534
private final List<JsonSchema> schemas = new ArrayList<JsonSchema>();
3635

3736
public AllOfValidator(String schemaPath, JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext) {

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ public class AnyOfValidator extends BaseJsonValidator implements JsonValidator {
2929
private static final String DISCRIMINATOR_REMARK = "and the discriminator-selected candidate schema didn't pass validation";
3030

3131
private final List<JsonSchema> schemas = new ArrayList<JsonSchema>();
32-
private final ValidationContext validationContext;
3332
private final ValidationContext.DiscriminatorContext discriminatorContext;
3433

3534
public AnyOfValidator(String schemaPath, JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext) {

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public abstract class BaseJsonValidator implements JsonValidator {
3636
private boolean suppressSubSchemaRetrieval;
3737
private ValidatorTypeCode validatorType;
3838
private ErrorMessageType errorMessageType;
39-
39+
protected ValidationContext validationContext;
4040
protected final boolean failFast;
4141
protected final ApplyDefaultsStrategy applyDefaultsStrategy;
4242

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@
3030
public class DateTimeValidator extends BaseJsonValidator implements JsonValidator {
3131
private static final Logger logger = LoggerFactory.getLogger(DateTimeValidator.class);
3232

33-
private final ValidationContext validationContext;
34-
3533
private final String formatName;
3634
private final String DATE = "date";
3735
private final String DATETIME = "date-time";

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,6 @@ public class EnumValidator extends BaseJsonValidator implements JsonValidator {
3232

3333
private final Set<JsonNode> nodes;
3434
private final String error;
35-
private final ValidationContext validationContext;
3635

3736
public EnumValidator(String schemaPath, JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext) {
3837
super(schemaPath, schemaNode, parentSchema, ValidatorTypeCode.ENUM, validationContext);

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,6 @@ public class ExclusiveMaximumValidator extends BaseJsonValidator implements Json
3030

3131
private final ThresholdMixin typedMaximum;
3232

33-
private final ValidationContext validationContext;
34-
3533
public ExclusiveMaximumValidator(String schemaPath, final JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext) {
3634
super(schemaPath, schemaNode, parentSchema, ValidatorTypeCode.EXCLUSIVE_MAXIMUM, validationContext);
3735
this.validationContext = validationContext;

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

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -34,8 +34,6 @@ public class ExclusiveMinimumValidator extends BaseJsonValidator implements Json
3434
*/
3535
private final ThresholdMixin typedMinimum;
3636

37-
private final ValidationContext validationContext;
38-
3937
public ExclusiveMinimumValidator(String schemaPath, final JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext) {
4038
super(schemaPath, schemaNode, parentSchema, ValidatorTypeCode.EXCLUSIVE_MINIMUM, validationContext);
4139
this.validationContext = validationContext;

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,6 @@ public class FormatValidator extends BaseJsonValidator implements JsonValidator
2929
private static final Logger logger = LoggerFactory.getLogger(FormatValidator.class);
3030

3131
private final Format format;
32-
private final ValidationContext validationContext;
3332

3433
public FormatValidator(String schemaPath, JsonNode schemaNode, JsonSchema parentSchema, ValidationContext validationContext, Format format) {
3534
super(schemaPath, schemaNode, parentSchema, ValidatorTypeCode.FORMAT, validationContext);

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

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ public class ItemsValidator extends BaseJsonValidator implements JsonValidator {
3535
private boolean additionalItems = true;
3636
private final JsonSchema additionalSchema;
3737
private WalkListenerRunner arrayItemWalkListenerRunner;
38-
private final ValidationContext validationContext;
3938

4039
public ItemsValidator(String schemaPath, JsonNode schemaNode, JsonSchema parentSchema,
4140
ValidationContext validationContext) {

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

Lines changed: 4 additions & 136 deletions
Original file line numberDiff line numberDiff line change
@@ -93,138 +93,6 @@ static PatternFormat pattern(String name, String regex) {
9393
COMMON_BUILTIN_FORMATS.add(pattern("style", "\\s*(.+?):\\s*([^;]+);?"));
9494
}
9595

96-
private static class V4 {
97-
private static String URI = "https://json-schema.org/draft-04/schema";
98-
private static final String ID = "id";
99-
100-
public static final List<Format> BUILTIN_FORMATS = new ArrayList<Format>(JsonMetaSchema.COMMON_BUILTIN_FORMATS);
101-
102-
static {
103-
// add version specific formats here.
104-
//BUILTIN_FORMATS.add(pattern("phone", "^\\+(?:[0-9] ?){6,14}[0-9]$"));
105-
}
106-
107-
public static JsonMetaSchema getInstance() {
108-
return new Builder(URI)
109-
.idKeyword(ID)
110-
.addFormats(BUILTIN_FORMATS)
111-
.addKeywords(ValidatorTypeCode.getNonFormatKeywords(SpecVersion.VersionFlag.V4))
112-
// keywords that may validly exist, but have no validation aspect to them
113-
.addKeywords(Arrays.asList(
114-
new NonValidationKeyword("$schema"),
115-
new NonValidationKeyword("id"),
116-
new NonValidationKeyword("title"),
117-
new NonValidationKeyword("description"),
118-
new NonValidationKeyword("default"),
119-
new NonValidationKeyword("definitions"),
120-
new NonValidationKeyword("exampleSetFlag")
121-
))
122-
.build();
123-
}
124-
}
125-
126-
private static class V6 {
127-
private static String URI = "https://json-schema.org/draft-06/schema";
128-
// Draft 6 uses "$id"
129-
private static final String ID = "$id";
130-
131-
public static final List<Format> BUILTIN_FORMATS = new ArrayList<Format>(JsonMetaSchema.COMMON_BUILTIN_FORMATS);
132-
133-
static {
134-
// add version specific formats here.
135-
//BUILTIN_FORMATS.add(pattern("phone", "^\\+(?:[0-9] ?){6,14}[0-9]$"));
136-
}
137-
138-
public static JsonMetaSchema getInstance() {
139-
return new Builder(URI)
140-
.idKeyword(ID)
141-
.addFormats(BUILTIN_FORMATS)
142-
.addKeywords(ValidatorTypeCode.getNonFormatKeywords(SpecVersion.VersionFlag.V6))
143-
// keywords that may validly exist, but have no validation aspect to them
144-
.addKeywords(Arrays.asList(
145-
new NonValidationKeyword("$schema"),
146-
new NonValidationKeyword("$id"),
147-
new NonValidationKeyword("title"),
148-
new NonValidationKeyword("description"),
149-
new NonValidationKeyword("default"),
150-
new NonValidationKeyword("definitions")
151-
))
152-
.build();
153-
}
154-
}
155-
156-
private static class V7 {
157-
private static String URI = "https://json-schema.org/draft-07/schema";
158-
private static final String ID = "$id";
159-
160-
public static final List<Format> BUILTIN_FORMATS = new ArrayList<Format>(JsonMetaSchema.COMMON_BUILTIN_FORMATS);
161-
162-
static {
163-
// add version specific formats here.
164-
//BUILTIN_FORMATS.add(pattern("phone", "^\\+(?:[0-9] ?){6,14}[0-9]$"));
165-
}
166-
167-
public static JsonMetaSchema getInstance() {
168-
return new Builder(URI)
169-
.idKeyword(ID)
170-
.addFormats(BUILTIN_FORMATS)
171-
.addKeywords(ValidatorTypeCode.getNonFormatKeywords(SpecVersion.VersionFlag.V7))
172-
// keywords that may validly exist, but have no validation aspect to them
173-
.addKeywords(Arrays.asList(
174-
new NonValidationKeyword("$schema"),
175-
new NonValidationKeyword("$id"),
176-
new NonValidationKeyword("title"),
177-
new NonValidationKeyword("description"),
178-
new NonValidationKeyword("default"),
179-
new NonValidationKeyword("definitions"),
180-
new NonValidationKeyword("$comment"),
181-
new NonValidationKeyword("contentMediaType"),
182-
new NonValidationKeyword("contentEncoding"),
183-
new NonValidationKeyword("examples"),
184-
new NonValidationKeyword("message")
185-
))
186-
.build();
187-
}
188-
}
189-
190-
private static class V201909 {
191-
private static String URI = "https://json-schema.org/draft/2019-09/schema";
192-
private static final String ID = "$id";
193-
194-
public static final List<Format> BUILTIN_FORMATS = new ArrayList<Format>(JsonMetaSchema.COMMON_BUILTIN_FORMATS);
195-
196-
static {
197-
// add version specific formats here.
198-
//BUILTIN_FORMATS.add(pattern("phone", "^\\+(?:[0-9] ?){6,14}[0-9]$"));
199-
}
200-
201-
public static JsonMetaSchema getInstance() {
202-
return new Builder(URI)
203-
.idKeyword(ID)
204-
.addFormats(BUILTIN_FORMATS)
205-
.addKeywords(ValidatorTypeCode.getNonFormatKeywords(SpecVersion.VersionFlag.V201909))
206-
// keywords that may validly exist, but have no validation aspect to them
207-
.addKeywords(Arrays.asList(
208-
new NonValidationKeyword("$schema"),
209-
new NonValidationKeyword("$id"),
210-
new NonValidationKeyword("title"),
211-
new NonValidationKeyword("description"),
212-
new NonValidationKeyword("default"),
213-
new NonValidationKeyword("definitions"),
214-
new NonValidationKeyword("$comment"),
215-
new NonValidationKeyword("$defs"), // newly added in 2019-09 release.
216-
new NonValidationKeyword("$anchor"),
217-
new NonValidationKeyword("additionalItems"),
218-
new NonValidationKeyword("deprecated"),
219-
new NonValidationKeyword("contentMediaType"),
220-
new NonValidationKeyword("contentEncoding"),
221-
new NonValidationKeyword("examples"),
222-
new NonValidationKeyword("then")
223-
))
224-
.build();
225-
}
226-
}
227-
22896
public static class Builder {
22997
private Map<String, Keyword> keywords = new HashMap<String, Keyword>();
23098
private Map<String, Format> formats = new HashMap<String, Format>();
@@ -312,19 +180,19 @@ private JsonMetaSchema(String uri, String idKeyword, Map<String, Keyword> keywor
312180
}
313181

314182
public static JsonMetaSchema getV4() {
315-
return V4.getInstance();
183+
return new Version4().getInstance();
316184
}
317185

318186
public static JsonMetaSchema getV6() {
319-
return V6.getInstance();
187+
return new Version6().getInstance();
320188
}
321189

322190
public static JsonMetaSchema getV7() {
323-
return V7.getInstance();
191+
return new Version7().getInstance();
324192
}
325193

326194
public static JsonMetaSchema getV201909() {
327-
return V201909.getInstance();
195+
return new Version201909().getInstance();
328196
}
329197

330198
/**

0 commit comments

Comments
 (0)