Skip to content

Commit 4baf867

Browse files
committed
stubs for new format validators
1 parent 2e64487 commit 4baf867

File tree

3 files changed

+32
-17
lines changed

3 files changed

+32
-17
lines changed

core/src/main/java/org/everit/json/schema/loader/SchemaLoader.java

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -102,6 +102,7 @@ public SchemaLoaderBuilder addFormatValidator(String formatName,
102102

103103
public SchemaLoaderBuilder draftV6Support() {
104104
this.specVersion = DRAFT_6;
105+
this.formatValidators = new HashMap<>(DRAFT_6.defaultFormatValidators());
105106
return this;
106107
}
107108

@@ -177,13 +178,6 @@ SchemaLoaderBuilder pointerToCurrentObj(List<String> pointerToCurrentObj) {
177178
return this;
178179
}
179180

180-
private SchemaLoaderBuilder config(LoaderConfig config) {
181-
this.formatValidators = config.formatValidators;
182-
this.httpClient = config.httpClient;
183-
this.specVersion = config.specVersion;
184-
return this;
185-
}
186-
187181
}
188182

189183
private static final List<String> NUMBER_SCHEMA_PROPS = asList("minimum", "maximum",

core/src/main/java/org/everit/json/schema/loader/SpecificationVersion.java

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,10 @@
1616
import org.everit.json.schema.internal.HostnameFormatValidator;
1717
import org.everit.json.schema.internal.IPV4Validator;
1818
import org.everit.json.schema.internal.IPV6Validator;
19+
import org.everit.json.schema.internal.JsonPointerFormatValidator;
1920
import org.everit.json.schema.internal.URIFormatValidator;
21+
import org.everit.json.schema.internal.URIReferenceFormatValidator;
22+
import org.everit.json.schema.internal.URITemplateFormatValidator;
2023

2124
/**
2225
* @author erosb
@@ -41,14 +44,7 @@ enum SpecificationVersion {
4144
}
4245

4346
@Override Map<String, FormatValidator> defaultFormatValidators() {
44-
Map<String, FormatValidator> formatValidators = new HashMap<>();
45-
formatValidators.put("date-time", new DateTimeFormatValidator());
46-
formatValidators.put("uri", new URIFormatValidator());
47-
formatValidators.put("email", new EmailFormatValidator());
48-
formatValidators.put("ipv4", new IPV4Validator());
49-
formatValidators.put("ipv6", new IPV6Validator());
50-
formatValidators.put("hostname", new HostnameFormatValidator());
51-
return unmodifiableMap(formatValidators);
47+
return V4_VALIDATORS;
5248
}
5349

5450
}, DRAFT_6 {
@@ -69,7 +65,7 @@ enum SpecificationVersion {
6965
}
7066

7167
@Override Map<String, FormatValidator> defaultFormatValidators() {
72-
throw new UnsupportedOperationException();
68+
return V6_VALIDATORS;
7369
}
7470

7571
};
@@ -108,6 +104,29 @@ private static final List<String> keywords(String... keywords) {
108104
return unmodifiableList(asList(keywords));
109105
}
110106

107+
private static final Map<String, FormatValidator> V4_VALIDATORS;
108+
109+
static {
110+
Map<String, FormatValidator> formatValidators = new HashMap<>();
111+
formatValidators.put("date-time", new DateTimeFormatValidator());
112+
formatValidators.put("uri", new URIFormatValidator());
113+
formatValidators.put("email", new EmailFormatValidator());
114+
formatValidators.put("ipv4", new IPV4Validator());
115+
formatValidators.put("ipv6", new IPV6Validator());
116+
formatValidators.put("hostname", new HostnameFormatValidator());
117+
V4_VALIDATORS = unmodifiableMap(formatValidators);
118+
}
119+
120+
private static final Map<String, FormatValidator> V6_VALIDATORS;
121+
122+
static {
123+
Map<String, FormatValidator> v6Validators = new HashMap<>(V4_VALIDATORS);
124+
v6Validators.put("json-pointer", new JsonPointerFormatValidator());
125+
v6Validators.put("uri-reference", new URIReferenceFormatValidator());
126+
v6Validators.put("uri-template", new URITemplateFormatValidator());
127+
V6_VALIDATORS = unmodifiableMap(v6Validators);
128+
}
129+
111130
abstract List<String> arrayKeywords();
112131

113132
abstract List<String> objectKeywords();

core/src/test/java/org/everit/json/schema/internal/DefaultFormatValidatorTest.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,8 @@
1515
*/
1616
package org.everit.json.schema.internal;
1717

18+
import static org.junit.Assert.assertTrue;
19+
1820
import java.util.Optional;
1921

2022
import org.everit.json.schema.FormatValidator;
@@ -31,7 +33,7 @@ private void assertFailure(final String subject, final FormatValidator format,
3133
final String expectedFailure) {
3234
Optional<String> opt = format.validate(subject);
3335
Assert.assertNotNull("the optional is not null", opt);
34-
Assert.assertTrue("failure exists", opt.isPresent());
36+
assertTrue("failure exists", opt.isPresent());
3537
Assert.assertEquals(expectedFailure, opt.get());
3638
}
3739

0 commit comments

Comments
 (0)