private String propertyType(Property property) { if (property instanceof RefProperty) { return ((RefProperty) property).getSimpleRef(); } // Special handling for uuid type reported by Swagger converter String type = property.getType(); if (property instanceof UUIDProperty) { type = UUID.class.getSimpleName(); } RamlType ramlType = types.get(type); return ramlType == null ? property.getType() : ramlType.getRef().getType(); }
if (exampleObject == null) { if (property.getValue() instanceof RefProperty) { exampleObject = generateExampleForRefModel(true, ((RefProperty) property.getValue()).getSimpleRef(), definitions, definitionDocumentResolver, markupDocBuilder, refStack); } else if (property.getValue() instanceof ArrayProperty) { exampleObject = generateExampleForArrayProperty((ArrayProperty) property.getValue(), definitions, definitionDocumentResolver, markupDocBuilder, refStack);
private List<Parameter> expandParameter(Map<String, Model> models, RouteParameter it, Supplier<SerializableParameter> factory, String typeName, String prefix, boolean optional) { List<Parameter> parameters = new ArrayList<>(); Model model = models.get(typeName); Map<String, Property> properties = model.getProperties(); Optional.ofNullable(properties).ifPresent(props -> props.values().stream() .flatMap(p -> { SerializableParameter result = complement(p, it, factory.get()); String name = prefix + p.getName(); if (p instanceof RefProperty) { return expandParameter(models, it, factory, ((RefProperty) p).getSimpleRef(), name + ".", optional).stream(); } else { result.setName(name); boolean required; if (optional) { required = false; } else { required = p.getRequired(); } String desc = Strings.emptyToNull(p.getDescription()); result.setRequired(required); result.setDescription(desc); return Stream.of(result); } }) .forEach(parameters::add) ); return parameters; }
String simpleRef = ((RefProperty) schema).getSimpleRef(); example = generateExampleForRefModel(generateMissingExamples, simpleRef, definitions, definitionDocumentResolver, markupDocBuilder, new HashMap<>());
/** * Get example from a property * * @param property Property * @param definitions map of definitions * @param definitionDocumentResolver DocumentResolver * @param markupDocBuilder the markup builder * @param refStack reference stack * @return array of Object */ private static Object[] getExample( Property property, Map<String, Model> definitions, DocumentResolver definitionDocumentResolver, MarkupDocBuilder markupDocBuilder, Map<String, Integer> refStack) { if (property.getExample() != null) { return new Object[]{property.getExample()}; } else if (property instanceof ArrayProperty) { return new Object[]{generateExampleForArrayProperty((ArrayProperty) property, definitions, definitionDocumentResolver, markupDocBuilder, refStack)}; } else if (property instanceof RefProperty) { return new Object[]{generateExampleForRefModel(true, ((RefProperty) property).getSimpleRef(), definitions, definitionDocumentResolver, markupDocBuilder, refStack)}; } else { return new Object[]{PropertyAdapter.generateExample(property, markupDocBuilder)}; } }
if (property instanceof RefProperty) { if (logger.isDebugEnabled()) logger.debug("generateExample RefProperty for " + property.getName()); return markupDocBuilder.copy(false).crossReference(((RefProperty) property).getSimpleRef()).toString(); } else { if (logger.isDebugEnabled()) logger.debug("generateExample for ref not RefProperty");
@Override public String getRefType() { if (property instanceof RefProperty) { return ((RefProperty) property).getSimpleRef(); } return null; }
@Override public JavaType doConvert(SwaggerToClassGenerator swaggerToClassGenerator, Object refProperty) { return swaggerToClassGenerator.convertRef(((RefProperty) refProperty).getSimpleRef()); } }
type = new ObjectType(refProperty.getTitle(), null); // FIXME : Workaround for https://github.com/swagger-api/swagger-parser/issues/177 else type = new RefType(definitionDocumentResolver.apply(refProperty.getSimpleRef()), new ObjectType(refProperty.getSimpleRef(), null /* FIXME, not used for now */)); } else if (property instanceof ArrayProperty) { ArrayProperty arrayProperty = (ArrayProperty) property;
private Model getParamModel(OperationGenerator operationGenerator, int paramIndex) { Type paramType = ParamUtils.getGenericParameterType(operationGenerator.getProviderMethod(), paramIndex); Property property = ModelConverters.getInstance().readAsProperty(paramType); // ensure type if (!RefProperty.class.isInstance(property)) { LOGGER.error("Unsupported property type: [{}], paramIndex is [{}]", property.getClass().getName(), paramIndex); return null; } Map<String, Model> models = ModelConverters.getInstance().readAll(paramType); // find param root RefProperty refProperty = (RefProperty) property; String refTypeName = refProperty.getSimpleRef(); Model paramRoot = null; for (Entry<String, Model> entry : models.entrySet()) { if (refTypeName.equals(entry.getKey())) { paramRoot = entry.getValue(); break; } } return paramRoot; }
@Override public String getRefType() { if (property instanceof RefProperty) { return ((RefProperty) property).getSimpleRef(); } return null; }
@Override public JavaType doConvert(SwaggerToClassGenerator swaggerToClassGenerator, Object refProperty) { return swaggerToClassGenerator.convertRef(((RefProperty) refProperty).getSimpleRef()); } }
public static ModelImpl dereference(final RefProperty property, final Swagger swagger) { return (ModelImpl) swagger.getDefinitions().get(property.getSimpleRef()); }
public static ModelImpl dereference(final RefProperty property, final Swagger swagger) { return (ModelImpl) swagger.getDefinitions().get(property.getSimpleRef()); }
public static ModelImpl dereference(final RefProperty property, final Swagger swagger) { return (ModelImpl) swagger.getDefinitions().get(property.getSimpleRef()); }
@Override public void visit(String name, RefProperty property) { parents.add(property); Model model = swagger.getDefinitions().get(property.getSimpleRef()); walkProperties(swagger, parents, model.getProperties(), fqn(namePrefix, name), nis(nisPrefix, name, false), pa); parents.remove(property); } };
public PropertyDiff diff(Property left, Property right) { if ((null == left || left instanceof RefProperty) && (null == right || right instanceof RefProperty)) { Model leftModel = null == left ? null : oldDedinitions.get(((RefProperty) left).getSimpleRef()); Model rightModel = null == right ? null : newDedinitions.get(((RefProperty) right).getSimpleRef()); ModelDiff diff = ModelDiff .buildWithDefinition(oldDedinitions, newDedinitions) .diff(leftModel, rightModel); increased.addAll(diff.getIncreased()); missing.addAll(diff.getMissing()); changed.addAll(diff.getChanged()); } return this; }
private String propertyType(Property property) { if (property instanceof RefProperty) { return ((RefProperty) property).getSimpleRef(); } // Special handling for uuid type reported by Swagger converter String type = property.getType(); if (property instanceof UUIDProperty) { type = UUID.class.getSimpleName(); } RamlType ramlType = types.get(type); return ramlType == null ? property.getType() : ramlType.getRef().getType(); }
protected Object _resolve(final RefProperty ref) { return this.resolve(ref.get$ref(), RefType.DEFINITION, ref.getSimpleRef(), ref.getRefFormat()); }
protected Object _safeResolve(final RefProperty ref) { return this.safeResolve(ref, ref.get$ref(), RefType.DEFINITION, ref.getSimpleRef(), ref.getRefFormat()); }