- @Override
- public Put pathParams(List<Parameter> params) {
- List<Parameter> parameters = new ArrayList<>(params);
- for (DataSchemaNode node : dataNodeContainer.getChildNodes()) {
- if (node instanceof ListSchemaNode || node instanceof ContainerSchemaNode) {
- Parameter payload = new Parameter();
- payload.setParamType("body");
- payload.setType(CONFIG + node.getQName().getLocalName());
- payload.setName("**" + CONFIG + node.getQName().getLocalName());
- parameters.add(payload);
+ private static void insertRequestBodyParameter(final ArrayNode parameters, final ObjectNode operation,
+ final String defName, final String xmlDefName, final String name, final OAversion oaversion) {
+ final ObjectNode payload = JsonNodeFactory.instance.objectNode();
+ if (oaversion.equals(OAversion.V3_0)) {
+ final ObjectNode content = JsonNodeFactory.instance.objectNode();
+ content.set(MediaType.APPLICATION_JSON, buildMimeTypeValue(defName));
+ content.set(MediaType.APPLICATION_XML, buildMimeTypeValue(xmlDefName));
+ payload.set(CONTENT_KEY, content);
+ payload.put(DESCRIPTION_KEY, name);
+ operation.set(REQUEST_BODY_KEY, payload);
+ } else {
+ payload.put(IN_KEY, BODY);
+ payload.put(NAME_KEY, name);
+ payload.set(SCHEMA_KEY, buildRefSchema(defName, OAversion.V2_0));
+ parameters.add(payload);
+ }
+ }
+
+ private static ObjectNode buildRefSchema(final String defName, final OAversion oaversion) {
+ final ObjectNode schema = JsonNodeFactory.instance.objectNode();
+ schema.put(REF_KEY, getAppropriateModelPrefix(oaversion) + defName);
+ return schema;
+ }
+
+ private static ObjectNode buildMimeTypeValue(final String defName) {
+ final ObjectNode mimeTypeValue = JsonNodeFactory.instance.objectNode();
+ mimeTypeValue.set(SCHEMA_KEY, buildRefSchema(defName, OAversion.V3_0));
+ return mimeTypeValue;
+ }
+
+ public static ObjectNode buildResponse(final String description, final Optional<ObjectNode> schema,
+ final OAversion oaversion) {
+ final ObjectNode response = JsonNodeFactory.instance.objectNode();
+
+ if (schema.isPresent()) {
+ final ObjectNode schemaValue = schema.get();
+ if (oaversion.equals(OAversion.V3_0)) {
+ final ObjectNode content = JsonNodeFactory.instance.objectNode();
+ final ObjectNode body = JsonNodeFactory.instance.objectNode();
+ for (final String mimeType : MIME_TYPES) {
+ content.set(mimeType, body);