import java.io.IOException; import org.junit.jupiter.api.Test; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.JsonNode; import com.fasterxml.jackson.databind.ObjectMapper; import com.github.imifou.jsonschema.module.addon.AddonModule; import com.github.victools.jsonschema.generator.*; import eu.dnetlib.dhp.ExecCreateSchemas; import eu.dnetlib.dhp.eosc.model.Relation; import eu.dnetlib.dhp.eosc.model.Result; //@Disabled class GenerateJsonSchema { @Test void generateSchema3() throws JsonProcessingException { ObjectMapper objectMapper = new ObjectMapper(); AddonModule module = new AddonModule(); SchemaGeneratorConfigBuilder configBuilder = new SchemaGeneratorConfigBuilder(objectMapper, SchemaVersion.DRAFT_7, OptionPreset.PLAIN_JSON) .with(module) .with(Option.SCHEMA_VERSION_INDICATOR) .without(Option.NONPUBLIC_NONSTATIC_FIELDS_WITHOUT_GETTERS); SchemaGeneratorConfig config = configBuilder.build(); SchemaGenerator generator = new SchemaGenerator(config); JsonNode jsonSchema = generator.generateSchema(Result.class); System.out.println(new ObjectMapper().writeValueAsString(jsonSchema)); } @Test void generateSchemaEoscRelation() throws JsonProcessingException { ObjectMapper objectMapper = new ObjectMapper(); AddonModule module = new AddonModule(); SchemaGeneratorConfigBuilder configBuilder = new SchemaGeneratorConfigBuilder(objectMapper, SchemaVersion.DRAFT_7, OptionPreset.PLAIN_JSON) .with(module) .with(Option.SCHEMA_VERSION_INDICATOR) .without(Option.NONPUBLIC_NONSTATIC_FIELDS_WITHOUT_GETTERS); SchemaGeneratorConfig config = configBuilder.build(); SchemaGenerator generator = new SchemaGenerator(config); JsonNode jsonSchema = generator.generateSchema(Result.class); System.out.println(new ObjectMapper().writeValueAsString(jsonSchema)); } @Test void generateJsonSchema3() throws IOException { ExecCreateSchemas.main(new String[] {}); } }