diff --git a/pom.xml b/pom.xml index 172000b..eee9935 100644 --- a/pom.xml +++ b/pom.xml @@ -360,7 +360,12 @@ javax.persistence javax.persistence-api - + + com.github.victools + jsonschema-generator + ${jsonschemagenerator.version} + test + @@ -377,6 +382,7 @@ 2.11.12 5.6.1 3.3.3 + 4.13.0 diff --git a/src/main/java/eu/dnetlib/dhp/schema/dump/oaf/graph/Datasource.java b/src/main/java/eu/dnetlib/dhp/schema/dump/oaf/graph/Datasource.java index 62a32a0..de845b3 100644 --- a/src/main/java/eu/dnetlib/dhp/schema/dump/oaf/graph/Datasource.java +++ b/src/main/java/eu/dnetlib/dhp/schema/dump/oaf/graph/Datasource.java @@ -93,7 +93,7 @@ public class Datasource implements Serializable { private String certificates; // string - private List policies; // + private List policies; // private Container journal; // issn etc del Journal @@ -297,11 +297,11 @@ public class Datasource implements Serializable { this.certificates = certificates; } - public List getPolicies() { + public List getPolicies() { return policies; } - public void setPolicies(List policiesr3) { + public void setPolicies(List policiesr3) { this.policies = policiesr3; } diff --git a/src/test/java/eu/dnetlib/dhp/schema/oaf/dump/GenerateJsonSchema.java b/src/test/java/eu/dnetlib/dhp/schema/oaf/dump/GenerateJsonSchema.java new file mode 100644 index 0000000..de1e77f --- /dev/null +++ b/src/test/java/eu/dnetlib/dhp/schema/oaf/dump/GenerateJsonSchema.java @@ -0,0 +1,27 @@ +package eu.dnetlib.dhp.schema.oaf.dump; + +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import com.fasterxml.jackson.databind.JsonNode; +import com.github.victools.jsonschema.generator.*; + +import eu.dnetlib.dhp.schema.dump.oaf.graph.*; + +@Disabled +class GenerateJsonSchema { + + @Test + void generateSchema() { + SchemaGeneratorConfigBuilder configBuilder = new SchemaGeneratorConfigBuilder(SchemaVersion.DRAFT_7, + OptionPreset.PLAIN_JSON) + .with(Option.SCHEMA_VERSION_INDICATOR) + .without(Option.NONPUBLIC_NONSTATIC_FIELDS_WITHOUT_GETTERS); + configBuilder.forFields().withDescriptionResolver(field -> "Description of " + field.getDeclaredName()); + SchemaGeneratorConfig config = configBuilder.build(); + SchemaGenerator generator = new SchemaGenerator(config); + JsonNode jsonSchema = generator.generateSchema(GraphResult.class); + + System.out.println(jsonSchema.toString()); + } +}