private static Object generateExampleForArrayModel(ArrayModel model, Map<String, Model> definitions, DocumentResolver definitionDocumentResolver, MarkupDocBuilder markupDocBuilder, Map<String, Integer> refStack) { if (model.getExample() != null) { return model.getExample(); } else if (model.getProperties() != null) { return new Object[]{exampleMapForProperties(model.getProperties(), definitions, definitionDocumentResolver, markupDocBuilder, refStack)}; } else { Property itemProperty = model.getItems(); return getExample(itemProperty, definitions, definitionDocumentResolver, markupDocBuilder, refStack); } }
@Override public Property getArrayItem() { if (model instanceof ArrayModel) { return ((ArrayModel) model).getItems(); } return null; }
@Override public JavaType doConvert(SwaggerToClassGenerator swaggerToClassGenerator, Object model) { ArrayModel arrayModel = (ArrayModel) model; if (arrayModel.getItems() != null) { return ArrayPropertyConverter.findJavaType(swaggerToClassGenerator, arrayModel.getItems(), false); } // don't know when will this happen. throw new Error("not support null array model items."); } }
ArrayModel arrayModel = ((ArrayModel) model); return new ArrayType(null, new PropertyAdapter(arrayModel.getItems()).getType(definitionDocumentResolver));
private Parameter replaceArrayModelForOctetStream(Operation operation, Parameter parameter) { if (parameter instanceof BodyParameter && operation.getConsumes() != null && operation.getConsumes().contains("application/octet-stream")) { BodyParameter bodyParam = (BodyParameter) parameter; Model schema = bodyParam.getSchema(); if (schema instanceof ArrayModel) { ArrayModel arrayModel = (ArrayModel) schema; Property items = arrayModel.getItems(); if (items != null && items.getFormat() == "byte" && items.getType() == "string") { ModelImpl model = new ModelImpl(); model.setFormat("byte"); model.setType("string"); bodyParam.setSchema(model); } } } return parameter; }
@Override public Property getArrayItem() { if (model instanceof ArrayModel) { return ((ArrayModel) model).getItems(); } return null; }
@Override public JavaType doConvert(SwaggerToClassGenerator swaggerToClassGenerator, Object model) { ArrayModel arrayModel = (ArrayModel) model; if (arrayModel.getItems() != null) { return ArrayPropertyConverter.findJavaType(swaggerToClassGenerator, arrayModel.getItems(), false); } // don't know when will this happen. throw new Error("not support null array model items."); } }
private void processArrayModel(ArrayModel arrayModel) { final Property items = arrayModel.getItems(); // ArrayModel has a properties map, but my reading of the swagger spec makes me think it should be ignored if (items != null) { propertyProcessor.processProperty(items); } }
protected String _schemaLabel(final String context, final ArrayModel model) { final boolean atLeastOne = false; return this.arrayTypeLabel(context, model.getItems(), atLeastOne); }
/** * Check if the given model is an {@link ArrayModel} of {@link PropertyBox} type using the * {@link SwaggerExtensions#MODEL_TYPE} extension name. * @param model Model to check * @return if the model is of {@link PropertyBox} type, return such model casted to {@link ArrayModel}, * <code>null</code> otherwise */ private static ArrayModel isPropertyBoxArrayModelType(Model model) { if (model != null && ArrayModel.class.isAssignableFrom(model.getClass())) { final Property items = ((ArrayModel) model).getItems(); if (isPropertyBoxPropertyType(items)) { return (ArrayModel) model; } } return null; }
private static boolean schemaIsNotSpecified(final Model schema) { if (schema == null) { return true; } if (schema instanceof ArrayModel) { return ((ArrayModel) schema).getItems() == null; } final Map<String, Property> properties = schema.getProperties(); final boolean noProperties = properties == null || properties.isEmpty(); final boolean noReference = schema.getReference() == null; return noProperties && noReference; }
private static boolean schemaIsNotSpecified(final Model schema) { if (schema == null) { return true; } if (schema instanceof ArrayModel) { return ((ArrayModel) schema).getItems() == null; } final Map<String, Property> properties = schema.getProperties(); final boolean noProperties = properties == null || properties.isEmpty(); final boolean noReference = schema.getReference() == null; return noProperties && noReference; }
private static boolean schemaIsNotSpecified(final Model schema) { if (schema == null) { return true; } if (schema instanceof ArrayModel) { return ((ArrayModel) schema).getItems() == null; } final Map<String, Property> properties = schema.getProperties(); final boolean noProperties = properties == null || properties.isEmpty(); final boolean noReference = schema.getReference() == null; return noProperties && noReference; }
private static ObjectNode createSchemaFromModel(final ObjectNode json, final String name, final Model schema) { if (schema instanceof ArrayModel) { final Property items = ((ArrayModel) schema).getItems(); final ObjectNode itemSchema = createSchemaFromProperty(json, name, items); itemSchema.remove(Arrays.asList("$schema", "title")); final ObjectNode jsonSchema = JsonNodeFactory.instance.objectNode(); jsonSchema.put("type", "array"); jsonSchema.set("items", itemSchema); return jsonSchema; } else if (schema instanceof ModelImpl) { return createSchemaFromModelImpl(name, schema); } final String title = determineTitleOf(name, schema); return JsonSchemaHelper.resolveSchemaForReference(json, title, schema.getReference()); }
private static JsonNode createSchemaFromModel(final String specification, final Model schema) { if (schema instanceof ArrayModel) { final Property items = ((ArrayModel) schema).getItems(); return createSchemaFromProperty(specification, items); } else if (schema instanceof ModelImpl) { return createSchemaFromModelImpl(schema); } final String title = Optional.ofNullable(schema.getTitle()).orElse(schema.getReference().replaceAll("^.*/", "")); return createSchemaFromReference(specification, title, schema.getReference()); }
private void walkArrayModel(ArrayModel model) { // model has already been visited both as model and as array model Property items = model.getItems(); if (items != null) { callbacks.arrayItems(items); callbacks.any(items); walkProperty(items); } }
private static JsonNode createSchemaFromModel(final String specification, final Model schema) { if (schema instanceof ArrayModel) { final Property items = ((ArrayModel) schema).getItems(); return createSchemaFromProperty(specification, items); } else if (schema instanceof ModelImpl) { return createSchemaFromModelImpl(schema); } final String title = Optional.ofNullable(schema.getTitle()).orElse(schema.getReference().replaceAll("^.*/", "")); return createSchemaFromReference(specification, title, schema.getReference()); }
protected DataProvider collectRefProperty(Swagger swagger, RefProperty schema, boolean clean) { Model model = swagger.getDefinitions() != null ? swagger.getDefinitions().get(schema.getSimpleRef()) : null; if (model == null) throw new IllegalArgumentException("CAN'T find model for " + schema.getSimpleRef()); if (model instanceof ArrayModel) { DataProvider itemProvider = collect(swagger, ((ArrayModel) model).getItems(), clean); return new ListDataProvider(itemProvider, schema.getSimpleRef()); } else if (model instanceof ModelImpl) { Map<String, DataProvider> fields = (model.getProperties() != null ? model.getProperties() : Collections.<String, Property>emptyMap()).entrySet().stream() .map(e -> entry(e.getKey(), collect(swagger, e.getValue(), clean))) .collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue)); return new ObjectDataProvider(fields, schema.getSimpleRef()); } throw new IllegalArgumentException("Unsupported model type: " + model.getClass()); }
private static ObjectNode createSchemaFromModel(final ObjectNode json, final String name, final Model schema) { if (schema instanceof ArrayModel) { final Property items = ((ArrayModel) schema).getItems(); return createSchemaFromProperty(json, name, items); } else if (schema instanceof ModelImpl) { return createSchemaFromModelImpl(name, schema); } final String title = determineTitleOf(name, schema); return resolveSchemaForReference(json, title, schema.getReference()); }
private static Object generateExampleForArrayModel(ArrayModel model, Map<String, Model> definitions, DocumentResolver definitionDocumentResolver, MarkupDocBuilder markupDocBuilder, Map<String, Integer> refStack) { if (model.getExample() != null) { return model.getExample(); } else if (model.getProperties() != null) { return new Object[]{exampleMapForProperties(model.getProperties(), definitions, definitionDocumentResolver, markupDocBuilder, refStack)}; } else { Property itemProperty = model.getItems(); return getExample(itemProperty, definitions, definitionDocumentResolver, markupDocBuilder, refStack); } }