Skip to content

Commit 7ff4156

Browse files
committed
Revert json schema generation to Jackson 2, as no integration available yet.
Signed-off-by: Olga Maciaszek-Sharma <[email protected]>
1 parent 2efd0bc commit 7ff4156

File tree

2 files changed

+22
-37
lines changed

2 files changed

+22
-37
lines changed

docs/pom.xml

Lines changed: 7 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
<name>Spring Cloud Contract Docs</name>
1616
<description>Spring Cloud Contract Docs</description>
1717
<properties>
18-
<jackson-module-jsonSchema.version>2.14.3</jackson-module-jsonSchema.version>
18+
<jackson-module-jsonSchema.version>2.20.0</jackson-module-jsonSchema.version>
1919
<docs.main>spring-cloud-contract</docs.main>
2020
<main.basedir>${basedir}/..</main.basedir>
2121
<configprops.inclusionPattern>spring.cloud.*</configprops.inclusionPattern>
@@ -24,7 +24,6 @@
2424
<!-- Aligned with Groovy in SC-Build -->
2525
<groovy.version>4.0.6</groovy.version>
2626
<generate-adoc-resource.phase>process-classes</generate-adoc-resource.phase>
27-
<jsonschema.version>4.38.0</jsonschema.version>
2827
</properties>
2928

3029
<build>
@@ -187,18 +186,14 @@
187186
<artifactId>spring-amqp</artifactId>
188187
</dependency>
189188
<dependency>
190-
<groupId>tools.jackson.dataformat</groupId>
191-
<artifactId>jackson-dataformat-yaml</artifactId>
192-
</dependency>
193-
<dependency>
194-
<groupId>com.github.victools</groupId>
195-
<artifactId>jsonschema-generator</artifactId>
196-
<version>${jsonschema.version}</version>
189+
<groupId>com.fasterxml.jackson.module</groupId>
190+
<artifactId>jackson-module-jsonSchema</artifactId>
191+
<version>${jackson-module-jsonSchema.version}</version>
197192
</dependency>
198193
<dependency>
199-
<groupId>com.github.victools</groupId>
200-
<artifactId>jsonschema-module-jackson</artifactId>
201-
<version>${jsonschema.version}</version>
194+
<groupId>com.fasterxml.jackson.dataformat</groupId>
195+
<artifactId>jackson-dataformat-yaml</artifactId>
196+
<version>${jackson-module-jsonSchema.version}</version>
202197
</dependency>
203198
</dependencies>
204199
</profile>

docs/src/main/java/org/springframework/cloud/contract/docs/Main.java

Lines changed: 15 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -24,19 +24,15 @@
2424
import java.util.List;
2525
import java.util.stream.Collectors;
2626

27-
import com.github.victools.jsonschema.generator.OptionPreset;
28-
import com.github.victools.jsonschema.generator.SchemaGenerator;
29-
import com.github.victools.jsonschema.generator.SchemaGeneratorConfig;
30-
import com.github.victools.jsonschema.generator.SchemaGeneratorConfigBuilder;
31-
import com.github.victools.jsonschema.generator.SchemaVersion;
32-
import com.github.victools.jsonschema.module.jackson.JacksonModule;
27+
import com.fasterxml.jackson.core.JsonProcessingException;
28+
import com.fasterxml.jackson.databind.ObjectMapper;
29+
import com.fasterxml.jackson.databind.SerializationFeature;
30+
import com.fasterxml.jackson.dataformat.yaml.YAMLGenerator;
31+
import com.fasterxml.jackson.dataformat.yaml.YAMLMapper;
32+
import com.fasterxml.jackson.module.jsonSchema.JsonSchema;
33+
import com.fasterxml.jackson.module.jsonSchema.JsonSchemaGenerator;
3334
import org.slf4j.Logger;
3435
import org.slf4j.LoggerFactory;
35-
import tools.jackson.databind.JsonNode;
36-
import tools.jackson.databind.SerializationFeature;
37-
import tools.jackson.databind.json.JsonMapper;
38-
import tools.jackson.dataformat.yaml.YAMLMapper;
39-
import tools.jackson.dataformat.yaml.YAMLWriteFeature;
4036

4137
import org.springframework.beans.factory.config.BeanDefinition;
4238
import org.springframework.beans.factory.support.BeanDefinitionRegistry;
@@ -75,16 +71,11 @@ void produceJsonSchemaOfAYamlModel() throws IOException {
7571
log.info("Generated schema!");
7672
}
7773

78-
private String generateJsonSchemaForClass(Class clazz) {
79-
JsonMapper mapper = JsonMapper.builder()
80-
.enable(SerializationFeature.INDENT_OUTPUT)
81-
.build();
82-
SchemaGeneratorConfigBuilder configBuilder = new SchemaGeneratorConfigBuilder(SchemaVersion.DRAFT_2020_12,
83-
OptionPreset.PLAIN_JSON)
84-
.with(new JacksonModule());
85-
SchemaGeneratorConfig config = configBuilder.build();
86-
SchemaGenerator generator = new SchemaGenerator(config);
87-
JsonNode schema = generator.generateSchema(clazz);
74+
private String generateJsonSchemaForClass(Class clazz) throws JsonProcessingException {
75+
ObjectMapper mapper = new ObjectMapper();
76+
mapper.enable(SerializationFeature.INDENT_OUTPUT);
77+
JsonSchemaGenerator schemaGen = new JsonSchemaGenerator(mapper);
78+
JsonSchema schema = schemaGen.generateSchema(clazz);
8879
return mapper.writeValueAsString(schema);
8980
}
9081

@@ -98,10 +89,9 @@ void produceAdocWithAllOfMetadataClasses() throws Exception {
9889
}
9990

10091
private StringBuilder adocWithMetadata(List<Class> metadata) throws Exception {
101-
YAMLMapper mapper = YAMLMapper.builder()
102-
.enable(SerializationFeature.INDENT_OUTPUT)
103-
.disable(YAMLWriteFeature.WRITE_DOC_START_MARKER)
104-
.build();
92+
YAMLMapper mapper = new YAMLMapper();
93+
mapper.enable(SerializationFeature.INDENT_OUTPUT);
94+
mapper.disable(YAMLGenerator.Feature.WRITE_DOC_START_MARKER);
10595
StringBuilder sb = new StringBuilder();
10696
for (Class metadatum : metadata) {
10797
Constructor constructor = null;

0 commit comments

Comments
 (0)