Skip to content

Commit 3d9f73c

Browse files
cleanup generated schema
1 parent bcda0dc commit 3d9f73c

File tree

3 files changed

+30
-21
lines changed

3 files changed

+30
-21
lines changed

json-string-schema-generator.iml

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -16,20 +16,20 @@
1616
<orderEntry type="library" name="Maven: com.fasterxml.jackson.core:jackson-core:2.9.0.pr4" level="project" />
1717
<orderEntry type="library" name="Maven: org.json:json:20170516" level="project" />
1818
<orderEntry type="library" name="Maven: commons-io:commons-io:2.5" level="project" />
19+
<orderEntry type="library" name="Maven: com.github.everit-org.json-schema:org.everit.json.schema:1.6.0" level="project" />
20+
<orderEntry type="library" name="Maven: com.google.guava:guava:22.0" level="project" />
21+
<orderEntry type="library" name="Maven: com.google.code.findbugs:jsr305:1.3.9" level="project" />
22+
<orderEntry type="library" name="Maven: com.google.errorprone:error_prone_annotations:2.0.18" level="project" />
23+
<orderEntry type="library" name="Maven: com.google.j2objc:j2objc-annotations:1.1" level="project" />
24+
<orderEntry type="library" name="Maven: org.codehaus.mojo:animal-sniffer-annotations:1.14" level="project" />
25+
<orderEntry type="library" name="Maven: commons-validator:commons-validator:1.6" level="project" />
26+
<orderEntry type="library" name="Maven: commons-beanutils:commons-beanutils:1.9.2" level="project" />
27+
<orderEntry type="library" name="Maven: commons-digester:commons-digester:1.8.1" level="project" />
28+
<orderEntry type="library" name="Maven: commons-logging:commons-logging:1.2" level="project" />
29+
<orderEntry type="library" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
30+
<orderEntry type="library" name="Maven: com.damnhandy:handy-uri-templates:2.1.6" level="project" />
31+
<orderEntry type="library" name="Maven: joda-time:joda-time:2.9.4" level="project" />
1932
<orderEntry type="library" scope="TEST" name="Maven: junit:junit:4.12" level="project" />
2033
<orderEntry type="library" scope="TEST" name="Maven: org.hamcrest:hamcrest-core:1.3" level="project" />
21-
<orderEntry type="library" scope="TEST" name="Maven: com.github.everit-org.json-schema:org.everit.json.schema:1.6.0" level="project" />
22-
<orderEntry type="library" scope="TEST" name="Maven: com.google.guava:guava:22.0" level="project" />
23-
<orderEntry type="library" scope="TEST" name="Maven: com.google.code.findbugs:jsr305:1.3.9" level="project" />
24-
<orderEntry type="library" scope="TEST" name="Maven: com.google.errorprone:error_prone_annotations:2.0.18" level="project" />
25-
<orderEntry type="library" scope="TEST" name="Maven: com.google.j2objc:j2objc-annotations:1.1" level="project" />
26-
<orderEntry type="library" scope="TEST" name="Maven: org.codehaus.mojo:animal-sniffer-annotations:1.14" level="project" />
27-
<orderEntry type="library" scope="TEST" name="Maven: commons-validator:commons-validator:1.6" level="project" />
28-
<orderEntry type="library" scope="TEST" name="Maven: commons-beanutils:commons-beanutils:1.9.2" level="project" />
29-
<orderEntry type="library" scope="TEST" name="Maven: commons-digester:commons-digester:1.8.1" level="project" />
30-
<orderEntry type="library" scope="TEST" name="Maven: commons-logging:commons-logging:1.2" level="project" />
31-
<orderEntry type="library" scope="TEST" name="Maven: commons-collections:commons-collections:3.2.2" level="project" />
32-
<orderEntry type="library" scope="TEST" name="Maven: com.damnhandy:handy-uri-templates:2.1.6" level="project" />
33-
<orderEntry type="library" scope="TEST" name="Maven: joda-time:joda-time:2.9.4" level="project" />
3434
</component>
3535
</module>

pom.xml

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,19 +28,18 @@
2828
<artifactId>commons-io</artifactId>
2929
<version>2.5</version>
3030
</dependency>
31+
<dependency>
32+
<groupId>com.github.everit-org.json-schema</groupId>
33+
<artifactId>org.everit.json.schema</artifactId>
34+
<version>1.6.0</version>
35+
</dependency>
3136

3237
<dependency>
3338
<groupId>junit</groupId>
3439
<artifactId>junit</artifactId>
3540
<version>4.12</version>
3641
<scope>test</scope>
3742
</dependency>
38-
<dependency>
39-
<groupId>com.github.everit-org.json-schema</groupId>
40-
<artifactId>org.everit.json.schema</artifactId>
41-
<version>1.6.0</version>
42-
<scope>test</scope>
43-
</dependency>
4443
</dependencies>
4544

4645
<repositories>

src/main/java/org/simplymequeeny/JsonSchemaGenerator.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,10 @@
44
import com.fasterxml.jackson.databind.ObjectMapper;
55
import com.fasterxml.jackson.databind.node.JsonNodeType;
66
import org.apache.commons.io.FileUtils;
7+
import org.everit.json.schema.Schema;
8+
import org.everit.json.schema.loader.SchemaLoader;
9+
import org.json.JSONObject;
10+
import org.json.JSONTokener;
711

812
import java.io.File;
913
import java.io.IOException;
@@ -20,14 +24,14 @@ public final class JsonSchemaGenerator {
2024

2125
public static String outputAsString(String title, String description,
2226
String json) throws IOException {
23-
return outputAsString(title, description, json, null);
27+
return cleanup(outputAsString(title, description, json, null));
2428
}
2529

2630
public static void outputAsFile(String title, String description,
2731
String json, String filename) throws IOException {
2832
FileUtils.writeStringToFile(
2933
new File(filename),
30-
outputAsString(title, description, json),
34+
cleanup(outputAsString(title, description, json)),
3135
"utf8");
3236
}
3337

@@ -92,4 +96,10 @@ private static String convertNodeToStringSchemaNode(
9296

9397
return result.toString();
9498
}
99+
100+
private static String cleanup(String dirty) {
101+
JSONObject rawSchema = new JSONObject(new JSONTokener(dirty));
102+
Schema schema = SchemaLoader.load(rawSchema);
103+
return schema.toString();
104+
}
95105
}

0 commit comments

Comments
 (0)