/** * Generate a default example value for parameter. * * @param parameter parameter * @return a generated example for the parameter */ public static Object generateExample(AbstractSerializableParameter<?> parameter) { switch (parameter.getType()) { case "integer": return 0; case "number": return 0.0; case "boolean": return true; case "string": return ExamplesUtil.generateStringExample(parameter.getFormat(), parameter.getEnum()); default: return parameter.getType(); } }
AbstractSerializableParameter serializableParameter = (AbstractSerializableParameter) parameter; @SuppressWarnings("unchecked") List<String> enums = serializableParameter.getEnum();
@Override public JavaType convert(SwaggerToClassGenerator swaggerToClassGenerator, Object def) { AbstractSerializableParameter<?> param = (AbstractSerializableParameter<?>) def; switch (param.getType()) { case ArrayProperty.TYPE: return ArrayPropertyConverter.findJavaType(swaggerToClassGenerator, param.getItems(), param.isUniqueItems()); case StringProperty.TYPE: return StringPropertyConverter.findJavaType(swaggerToClassGenerator, param.getType(), param.getFormat(), param.getEnum()); default: return ConverterMgr.findJavaType(param.getType(), param.getFormat()); } } }
private static void addEnumsTo(final ObjectNode parameterParameter, final AbstractSerializableParameter<?> serializableParameter) { if (serializableParameter.getItems() != null) { final Property items = serializableParameter.getItems(); List<String> enums; try { final Method method = ClassUtils.getPublicMethod(items.getClass(), "getEnum"); @SuppressWarnings("unchecked") final List<String> tmp = (List<String>) method.invoke(items); enums = tmp; } catch (@SuppressWarnings("unused") final ReflectiveOperationException ignored) { enums = Collections.emptyList(); } final ObjectNode itemsNode = parameterParameter.putObject("items"); final String itemType = items.getType(); if (StringUtils.isNotBlank(itemType)) { itemsNode.put("type", itemType); } if (enums != null && !enums.isEmpty()) { final ArrayNode enumArray = itemsNode.putArray("enum"); enums.forEach(enumArray::add); } } else { final List<String> enums = serializableParameter.getEnum(); if (enums != null && !enums.isEmpty()) { final ArrayNode enumArray = parameterParameter.putArray("enum"); enums.forEach(enumArray::add); } } }
/** * Create validation expression using functions according to parameter type and format. * @param parameter * @return */ private String createValidationExpression(AbstractSerializableParameter parameter) { switch (parameter.getType()) { case "integer": return "@isNumber()@"; case "string": if (parameter.getFormat() != null && parameter.getFormat().equals("date")) { return "\"@matchesDatePattern('yyyy-MM-dd')@\""; } else if (parameter.getFormat() != null && parameter.getFormat().equals("date-time")) { return "\"@matchesDatePattern('yyyy-MM-dd'T'hh:mm:ss')@\""; } else if (StringUtils.hasText(parameter.getPattern())) { return "\"@matches(" + parameter.getPattern() + ")@\""; } else if (!CollectionUtils.isEmpty(parameter.getEnum())) { return "\"@matches(" + (parameter.getEnum().stream().collect(Collectors.joining("|"))) + ")@\""; } else { return "@notEmpty()@"; } case "boolean": return "@matches(true|false)@"; default: return "@ignore@"; } }
private static void addEnumsTo(final Element element, final AbstractSerializableParameter<?> serializableParameter) { if (serializableParameter.getItems() != null) { final Property items = serializableParameter.getItems(); List<?> enums; try { final Method method = ClassUtils.getPublicMethod(items.getClass(), "getEnum"); final List<?> tmp = (List<?>) method.invoke(items); enums = tmp; } catch (@SuppressWarnings("unused") final ReflectiveOperationException ignored) { enums = Collections.emptyList(); } if (enums != null && !enums.isEmpty()) { addEnumerationsTo(element, enums); } } else { final List<String> enums = serializableParameter.getEnum(); if (enums != null && !enums.isEmpty()) { addEnumerationsTo(element, enums); } } }
private static void addEnumsTo(final ObjectNode parameterParameter, final AbstractSerializableParameter<?> serializableParameter) { if (serializableParameter.getItems() != null) { final Property items = serializableParameter.getItems(); List<?> enums; try { final Method method = ClassUtils.getPublicMethod(items.getClass(), "getEnum"); enums = (List<?>) method.invoke(items); } catch (@SuppressWarnings("unused") final ReflectiveOperationException ignored) { enums = Collections.emptyList(); } final ObjectNode itemsNode = parameterParameter.putObject("items"); final String itemType = items.getType(); if (StringUtils.isNotBlank(itemType)) { itemsNode.put("type", itemType); } if (enums != null && !enums.isEmpty()) { final ArrayNode enumArray = itemsNode.putArray("enum"); enums.forEach(e -> enumArray.add(String.valueOf(e))); } } else { final List<String> enums = serializableParameter.getEnum(); if (enums != null && !enums.isEmpty()) { final ArrayNode enumArray = parameterParameter.putArray("enum"); enums.forEach(enumArray::add); } } }
private static void addEnumsTo(final Element element, final AbstractSerializableParameter<?> serializableParameter) { if (serializableParameter.getItems() != null) { final Property items = serializableParameter.getItems(); List<?> enums; try { final Method method = ClassUtils.getPublicMethod(items.getClass(), "getEnum"); final List<?> tmp = (List<?>) method.invoke(items); enums = tmp; } catch (@SuppressWarnings("unused") final ReflectiveOperationException ignored) { enums = Collections.emptyList(); } if (enums != null && !enums.isEmpty()) { addEnumerationsTo(element, enums); } } else { final List<String> enums = serializableParameter.getEnum(); if (enums != null && !enums.isEmpty()) { addEnumerationsTo(element, enums); } } }
private static void addEnumsTo(final Element element, final AbstractSerializableParameter<?> serializableParameter) { if (serializableParameter.getItems() != null) { final Property items = serializableParameter.getItems(); List<?> enums; try { final Method method = ClassUtils.getPublicMethod(items.getClass(), "getEnum"); final List<?> tmp = (List<?>) method.invoke(items); enums = tmp; } catch (@SuppressWarnings("unused") final ReflectiveOperationException ignored) { enums = Collections.emptyList(); } if (enums != null && !enums.isEmpty()) { addEnumerationsTo(element, enums); } } else { final List<String> enums = serializableParameter.getEnum(); if (enums != null && !enums.isEmpty()) { addEnumerationsTo(element, enums); } } }
private static void addEnumsTo(final ObjectNode parameterParameter, final AbstractSerializableParameter<?> serializableParameter) { if (serializableParameter.getItems() != null) { final Property items = serializableParameter.getItems(); List<?> enums; try { final Method method = ClassUtils.getPublicMethod(items.getClass(), "getEnum"); enums = (List<?>) method.invoke(items); } catch (@SuppressWarnings("unused") final ReflectiveOperationException ignored) { enums = Collections.emptyList(); } final ObjectNode itemsNode = parameterParameter.putObject("items"); final String itemType = items.getType(); if (StringUtils.isNotBlank(itemType)) { itemsNode.put("type", itemType); } if (enums != null && !enums.isEmpty()) { final ArrayNode enumArray = itemsNode.putArray("enum"); enums.forEach(e -> enumArray.add(String.valueOf(e))); } } else { final List<String> enums = serializableParameter.getEnum(); if (enums != null && !enums.isEmpty()) { final ArrayNode enumArray = parameterParameter.putArray("enum"); enums.forEach(enumArray::add); } } }
public void validate(Object o, Parameter parameter, Iterator<Validator> chain) throws ValidationException { if(o != null && parameter instanceof AbstractSerializableParameter) { AbstractSerializableParameter<?> ap = (AbstractSerializableParameter<?>) parameter; if(ap.getEnum() != null && ap.getEnum().size() > 0) { List<?> values = ap.getEnum(); Set<String> allowable = new LinkedHashSet<String>(); for(Object obj : values) {
public void validate(Object o, Parameter parameter, Iterator<Validator> chain) throws ValidationException { if(o != null && parameter instanceof AbstractSerializableParameter) { AbstractSerializableParameter<?> ap = (AbstractSerializableParameter<?>) parameter; if(ap.getEnum() != null && ap.getEnum().size() > 0) { List<?> values = ap.getEnum(); Set<String> allowable = new LinkedHashSet<String>(); for(Object obj : values) {
propertyBuilder.type(type).javaType(JsonSchemaHelper.javaTypeFor(serializableParameter)); final List<String> enums = serializableParameter.getEnum(); if (enums != null) { propertyBuilder.addAllEnum(createEnums(enums));
propertyBuilder.type(type).javaType(JsonSchemaHelper.javaTypeFor(serializableParameter)); final List<String> enums = serializableParameter.getEnum(); if (enums != null) { propertyBuilder.addAllEnum(createEnums(enums));
propertyBuilder.type(type).javaType(JsonSchemaHelper.javaTypeFor(serializableParameter)); final List<String> enums = serializableParameter.getEnum(); if (enums != null) { propertyBuilder.addAllEnum(createEnums(enums));
propertyBuilder.type(type).javaType(JsonSchemaHelper.javaTypeFor(serializableParameter)); final List<String> enums = serializableParameter.getEnum(); if (enums != null) { propertyBuilder.addAllEnum(createEnums(enums));
@Override public JavaType convert(SwaggerToClassGenerator swaggerToClassGenerator, Object def) { AbstractSerializableParameter<?> param = (AbstractSerializableParameter<?>) def; switch (param.getType()) { case ArrayProperty.TYPE: return ArrayPropertyConverter.findJavaType(swaggerToClassGenerator, param.getItems(), param.isUniqueItems()); case StringProperty.TYPE: return StringPropertyConverter.findJavaType(swaggerToClassGenerator, param.getType(), param.getFormat(), param.getEnum()); default: return ConverterMgr.findJavaType(param.getType(), param.getFormat()); } } }
AbstractSerializableParameter serializableParameter = (AbstractSerializableParameter) parameter; @SuppressWarnings("unchecked") List<String> enums = serializableParameter.getEnum();
break; case "enum": _switchResult = param.getEnum(); break; case "format":
private static void copyFields(AbstractSerializableParameter<?> from, AbstractSerializableParameter<?> to) { copyFields((AbstractParameter) from, (AbstractParameter) to); to.setCollectionFormat(from.getCollectionFormat()); to.setDefault(from.getDefault()); to.setEnum(from.getEnum()); if (from.getExample() != null) { to.setExample(from.getExample().toString()); } to.setExclusiveMaximum(to.isExclusiveMaximum()); to.setExclusiveMinimum(to.isExclusiveMinimum()); to.setFormat(from.getFormat()); to.setItems(from.getItems()); to.setMaximum(from.getMaximum()); to.setMaxItems(from.getMaxItems()); to.setMaxLength(from.getMaxLength()); to.setMinLength(to.getMinLength()); to.setMinimum(from.getMinimum()); to.setMaxItems(from.getMaxItems()); to.setMinLength(from.getMinLength()); to.setMultipleOf(from.getMultipleOf()); to.setType(from.getType()); to.setUniqueItems(from.isUniqueItems()); }