@Test(description = "it should create a model with example") public void createModelWithExample() { ObjectSchema model = new ObjectSchema(); model.addProperties("name", new StringSchema().example("Tony")); model.addProperties("id", new IntegerSchema().example(123)); model.example("{\"name\":\"Fred\",\"id\":123456\"}"); assertEquals(model.getExample(), "{\"name\":\"Fred\",\"id\":123456\"}"); } }
Schema sp = op.getProperties().get("innerId"); assertTrue(sp instanceof StringSchema); assertTrue(op.getExtensions() != null); assertNotNull(op.getExtensions().get("x-foo")); assertEquals(op.getExtensions().get("x-foo"), "vendor x");
@Test(description = "it should serialize an object property with required set") public void serializeObjectPropertyWithRequiredProperties() throws IOException { final Schema p = new ObjectSchema() .addProperties("stringProperty", new StringSchema()); p.required(Arrays.asList("stringProperty")); final String json = "{\"required\":[\"stringProperty\"],\"type\":\"object\",\"properties\":{\"stringProperty\":{\"type\":\"string\"}}}"; assertEquals(m.writeValueAsString(p), json); }
public Schema modelFromProperty(ObjectSchema object, String path) { String description = object.getDescription(); String example = null; Object obj = object.getExample(); if (obj != null) { example = obj.toString(); } String name = object.getName(); XML xml = object.getXml(); Map<String, Schema> properties = object.getProperties(); Schema model = new Schema();//TODO Verify this! model.setDescription(description); model.setExample(example); model.setName(name); model.setXml(xml); model.setType(object.getType()); if (properties != null) { flattenProperties(properties, path); model.setProperties(properties); } return model; }
if(obj.getProperties() != null) { Map<String, Schema> updated = new LinkedHashMap<>(); for(String propertyName : obj.getProperties().keySet()) { Schema innerProperty = obj.getProperties().get(propertyName); obj.setProperties(updated); if (op.getProperties() != model.getProperties()) { if (property.getType() == null) { property.setType("object"); } else { LOGGER.debug("not adding recursive properties, using generic object"); ObjectSchema newSchema = new ObjectSchema(); model.addProperties(key, newSchema);
for (String key : properties.keySet()) { Schema property = properties.get(key); if (property instanceof ObjectSchema && ((ObjectSchema) property).getProperties() != null && ((ObjectSchema) property).getProperties().size() > 0) { String modelName = resolveModelName(op.getTitle(), path + "_" + key); Schema model = modelFromProperty(op, modelName); if (op.getProperties() != null && op.getProperties().size() > 0) { flattenProperties(op.getProperties(), path); String modelName = resolveModelName(op.getTitle(), path + "_" + key); Schema innerModel = modelFromProperty(op, modelName); String existing = matchGenerated(innerModel); if (op.getProperties() != null && op.getProperties().size() > 0) { flattenProperties(op.getProperties(), path); String modelName = resolveModelName(op.getTitle(), path + "_" + key); Schema innerModel = modelFromProperty(op, modelName); String existing = matchGenerated(innerModel);
public Schema modelFromProperty(ObjectSchema object, String path) { String description = object.getDescription(); String example = null; Object obj = object.getExample(); if (obj != null) { example = obj.toString(); } XML xml = object.getXml(); Map<String, Schema> properties = object.getProperties(); Schema model = new Schema(); model.setDescription(description); model.setExample(example); model.setName(object.getName()); model.setXml(xml); model.setRequired(object.getRequired()); if (properties != null) { flattenProperties(properties, path); model.setProperties(properties); } return model; }
Schema mergedSchema = new ObjectSchema(); for (Parameter formParam: formParameters) { mergedSchema.addProperties(formParam.getName(), formParam.getSchema());
for (String key : properties.keySet()) { Schema property = properties.get(key); if (property instanceof ObjectSchema && ((ObjectSchema) property).getProperties() != null && ((ObjectSchema) property).getProperties().size() > 0) { ObjectSchema op = (ObjectSchema) property; String modelName = resolveModelName(op.getTitle(), path + "_" + key); Schema model = modelFromProperty(op, modelName); String existing = matchGenerated(model); if (existing != null) { Schema schema = new Schema().$ref(existing); schema.setRequired(op.getRequired()); propsToUpdate.put(key, schema); } else { Schema schema = new Schema().$ref(modelName); schema.setRequired(op.getRequired()); propsToUpdate.put(key, schema); modelsToAdd.put(modelName, model); if (inner instanceof ObjectSchema) { ObjectSchema op = (ObjectSchema) inner; if (op.getProperties() != null && op.getProperties().size() > 0) { flattenProperties(op.getProperties(), path); String modelName = resolveModelName(op.getTitle(), path + "_" + key); Schema innerModel = modelFromProperty(op, modelName); String existing = matchGenerated(innerModel); if (existing != null) { Schema schema = new Schema().$ref(existing); schema.setRequired(op.getRequired()); ap.setItems(schema);
ObjectSchema model = new ObjectSchema(); String operationId = getOrGenerateOperationId(operation, pathname, method.name()); model.setDescription("Query parameters for " + operationId); model.setProperties(schemas); model.setRequired(requiredProperties);
if(objProp.getProperties() != null ){ processProperties(objProp.getProperties(),file);
@Test(description = "it should serialize a boolean additionalProperties") public void testBooleanAdditionalPropertiesSerialization() throws Exception { Operation operation = Json.mapper().readValue(json, Operation.class); ApiResponse response = operation.getResponses().get("200"); assertNotNull(response); Schema responseSchema = response.getContent().get("*/*").getSchema(); Schema schema = new ObjectSchema().additionalProperties(true); assertEquals(normalizeLineEnds(Json.pretty(schema)), "{\n" + " \"type\" : \"object\",\n" + " \"additionalProperties\" : true\n" + "}"); schema = new ObjectSchema().additionalProperties(responseSchema); assertEquals(normalizeLineEnds(Json.pretty(schema)), "{\n" + " \"type\" : \"object\",\n" + " \"additionalProperties\" : {\n" + " \"type\" : \"object\",\n" + " \"additionalProperties\" : {\n" + " \"type\" : \"integer\",\n" + " \"format\" : \"int32\"\n" + " },\n" + " \"x-foo\" : \"vendor x\"\n" + " }\n" + "}"); }
public Schema modelFromProperty(ObjectSchema object, String path) { String description = object.getDescription(); String example = null; Object obj = object.getExample(); if (obj != null) { example = obj.toString(); } String name = object.getName(); XML xml = object.getXml(); Map<String, Schema> properties = object.getProperties(); Schema model = new Schema();//TODO Verify this! model.setDescription(description); model.setExample(example); model.setName(name); model.setXml(xml); model.setType(object.getType()); if (properties != null) { flattenProperties(properties, path); model.setProperties(properties); } return model; }
if(obj.getProperties() != null) { Map<String, Schema> updated = new LinkedHashMap<>(); for(String propertyName : obj.getProperties().keySet()) { Schema innerProperty = obj.getProperties().get(propertyName); obj.setProperties(updated); if (op.getProperties() != model.getProperties()) { if (property.getType() == null) { property.setType("object"); } else { LOGGER.debug("not adding recursive properties, using generic object"); ObjectSchema newSchema = new ObjectSchema(); model.addProperties(key, newSchema);
for (String key : properties.keySet()) { Schema property = properties.get(key); if (property instanceof ObjectSchema && ((ObjectSchema) property).getProperties() != null && ((ObjectSchema) property).getProperties().size() > 0) { String modelName = resolveModelName(op.getTitle(), path + "_" + key); Schema model = modelFromProperty(op, modelName); if (op.getProperties() != null && op.getProperties().size() > 0) { flattenProperties(op.getProperties(), path); String modelName = resolveModelName(op.getTitle(), path + "_" + key); Schema innerModel = modelFromProperty(op, modelName); String existing = matchGenerated(innerModel); if (op.getProperties() != null && op.getProperties().size() > 0) { flattenProperties(op.getProperties(), path); String modelName = resolveModelName(op.getTitle(), path + "_" + key); Schema innerModel = modelFromProperty(op, modelName); String existing = matchGenerated(innerModel);
public static Schema getAdditionalProperties(Schema schema) { if (schema.getAdditionalProperties() instanceof Schema) { return (Schema) schema.getAdditionalProperties(); } if (schema.getAdditionalProperties() instanceof Boolean && (Boolean) schema.getAdditionalProperties()) { return new ObjectSchema(); } return null; }
if (inner instanceof ObjectSchema) { ObjectSchema op = (ObjectSchema) inner; if (op.getProperties() != null && op.getProperties().size() > 0) { flattenProperties(op.getProperties(), pathname); String modelName = resolveModelName(op.getTitle(), null); Schema innerModel = modelFromProperty(op, modelName); String existing = matchGenerated(innerModel); if (existing != null) { Schema schema = new Schema().$ref(existing); schema.setRequired(op.getRequired()); am.setItems(schema); } else { Schema schema = new Schema().$ref(modelName); schema.setRequired(op.getRequired()); am.setItems(schema); addGenerated(modelName, innerModel); if (inner instanceof ObjectSchema) { ObjectSchema op = (ObjectSchema) inner; if (op.getProperties() != null && op.getProperties().size() > 0) { flattenProperties(op.getProperties(), pathname); String modelName = resolveModelName(op.getTitle(), parameter.getName()); Schema innerModel = modelFromProperty(op, modelName); String existing = matchGenerated(innerModel); if (existing != null) { Schema schema = new Schema().$ref(existing); schema.setRequired(op.getRequired()); am.setItems(schema); } else {
@Test(description = "it should deserialize an object property with required set") public void deserializeObjectPropertyWithRequiredProperties() throws IOException { final Schema p = new ObjectSchema() .addProperties("stringProperty", new StringSchema()); p.required(Arrays.asList("stringProperty")); final String json = "{\"type\":\"object\",\"properties\":{\"stringProperty\":{\"type\":\"string\"}},\"required\":[\"stringProperty\"]}"; assertEquals(p, m.readValue(json, Schema.class)); } }
if(objProp.getProperties() != null ){ processProperties(objProp.getProperties(),file);
public Schema modelFromProperty(ObjectSchema object, String path) { String description = object.getDescription(); String example = null; Object obj = object.getExample(); if (obj != null) { example = obj.toString(); } String name = object.getName(); XML xml = object.getXml(); Map<String, Schema> properties = object.getProperties(); Schema model = new Schema();//TODO Verify this! model.setDescription(description); model.setExample(example); model.setName(name); model.setXml(xml); model.setType(object.getType()); if (properties != null) { flattenProperties(properties, path); model.setProperties(properties); } return model; }