From: Ben Zelleröhr Date: Tue, 9 Sep 2025 06:16:03 +0000 (+0200) Subject: Make OpenAPI YAML more compliant with the standards X-Git-Tag: 1.13.1~2 X-Git-Url: https://gerrit.onap.org/r/gitweb?a=commitdiff_plain;h=9f953d7fdfd0c0943e3be31658d7995442001265;p=aai%2Fschema-service.git Make OpenAPI YAML more compliant with the standards - remove colon after list entries - remove 'type: object' next to '$ref: ' - wrap array in object Issue-ID: AAI-4203 Change-Id: I75b5a46a34fb49ea5ba7e17a758b7f47b3cce144 Signed-off-by: Ben Zelleröhr --- diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXM.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXM.java index f4d15b2..8075c92 100644 --- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXM.java +++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXM.java @@ -361,7 +361,7 @@ public class NodesYAMLfromOXM extends OxmFileProcessor { } else { for (int k = 0; k < addTypeV.size(); ++k) { sbRequired.append(" - ") - .append(getXmlRootElementName(addTypeV.elementAt(k))).append(":\n"); + .append(getXmlRootElementName(addTypeV.elementAt(k))).append("\n"); } } } @@ -408,12 +408,13 @@ public class NodesYAMLfromOXM extends OxmFileProcessor { sbProperties.append(" ").append(getXmlRootElementName(addType)) .append(":\n"); if ("RelationshipList".equals(addType)) { - sbProperties.append(" type: object\n"); sbProperties.append(" $ref: \"#/definitions/").append(itemName) .append("\"\n"); } else { - sbProperties.append(" type: array\n items:\n"); - sbProperties.append(" $ref: \"#/definitions/") + sbProperties.append(" type: object\n properties:\n"); + sbProperties.append(" " + itemName + ":\n"); + sbProperties.append(" type: array\n items:\n"); + sbProperties.append(" $ref: \"#/definitions/") .append("".equals(itemName) ? "aai-internal" : itemName) .append("\"\n"); } @@ -440,7 +441,6 @@ public class NodesYAMLfromOXM extends OxmFileProcessor { useName = getXmlRootElementName(addType); sbProperties.append(" ").append(useName).append(":\n"); if ("relationship".equals(useName)) { - sbProperties.append(" type: object\n"); sbProperties.append(" $ref: \"#/definitions/relationship\"\n"); } else { sbProperties.append(" type: array\n items: \n"); @@ -457,7 +457,6 @@ public class NodesYAMLfromOXM extends OxmFileProcessor { if (!nodeFilter.contains(getXmlRootElementName(addType))) { sbProperties.append(" ").append(getXmlRootElementName(addType)) .append(":\n"); - sbProperties.append(" type: object\n"); sbProperties.append(" $ref: \"#/definitions/") .append(getXmlRootElementName(addType)).append("\"\n"); } diff --git a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/YAMLfromOXM.java b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/YAMLfromOXM.java index 71baa9c..f452e1b 100644 --- a/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/YAMLfromOXM.java +++ b/aai-schema-gen/src/main/java/org/onap/aai/schemagen/genxsd/YAMLfromOXM.java @@ -390,7 +390,7 @@ public class YAMLfromOXM extends OxmFileProcessor { } else { for (int k = 0; k < addTypeV.size(); ++k) { sbRequired.append(" - ") - .append(getXmlRootElementName(addTypeV.elementAt(k))).append(":\n"); + .append(getXmlRootElementName(addTypeV.elementAt(k))).append("\n"); } } } @@ -441,7 +441,6 @@ public class YAMLfromOXM extends OxmFileProcessor { .append("\"\n"); sbPropertiesPatch.append(" ") .append(getXmlRootElementName(addType)).append(":\n"); - sbPropertiesPatch.append(" type: object\n"); sbPropertiesPatch.append(" $ref: \"#/definitions/") .append(itemName).append("\"\n"); ++patchPropertyCnt; @@ -475,9 +474,7 @@ public class YAMLfromOXM extends OxmFileProcessor { useName = getXmlRootElementName(addType); sbProperties.append(" ").append(useName).append(":\n"); if ("relationship".equals(useName)) { - sbProperties.append(" type: object\n"); sbProperties.append(" $ref: \"#/definitions/relationship\"\n"); - sbPropertiesPatch.append(" type: object\n"); sbPropertiesPatch .append(" $ref: \"#/definitions/relationship\"\n"); ++patchPropertyCnt; @@ -496,7 +493,6 @@ public class YAMLfromOXM extends OxmFileProcessor { if (!nodeFilter.contains(getXmlRootElementName(addType))) { sbProperties.append(" ").append(getXmlRootElementName(addType)) .append(":\n"); - sbProperties.append(" type: object\n"); sbProperties.append(" $ref: \"#/definitions/") .append(getXmlRootElementName(addType)).append("\"\n"); } diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java index da01cf0..238d48c 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/NodesYAMLfromOXMTest.java @@ -420,9 +420,12 @@ public class NodesYAMLfromOXMTest { sb.append(" Namespace for business related constructs\n"); sb.append(" properties:\n"); sb.append(" customers:\n"); - sb.append(" type: array\n"); - sb.append(" items:\n"); - sb.append(" $ref: \"#/definitions/customer\"\n"); + sb.append(" type: object\n"); + sb.append(" properties:\n"); + sb.append(" customer:\n"); + sb.append(" type: array\n"); + sb.append(" items:\n"); + sb.append(" $ref: \"#/definitions/customer\"\n"); sb.append(" customer:\n"); sb.append(" description: |\n"); sb.append(" customer identifiers to provide linkage back to BSS information.\n"); @@ -453,9 +456,12 @@ public class NodesYAMLfromOXMTest { sb.append( " description: Used for optimistic concurrency. Must be empty on create, valid on update and delete.\n"); sb.append(" service-subscriptions:\n"); - sb.append(" type: array\n"); - sb.append(" items:\n"); - sb.append(" $ref: \"#/definitions/service-subscription\"\n"); + sb.append(" type: object\n"); + sb.append(" properties:\n"); + sb.append(" service-subscription:\n"); + sb.append(" type: array\n"); + sb.append(" items:\n"); + sb.append(" $ref: \"#/definitions/service-subscription\"\n"); sb.append(" customers:\n"); sb.append(" description: |\n"); sb.append( @@ -468,7 +474,6 @@ public class NodesYAMLfromOXMTest { sb.append(" inventory:\n"); sb.append(" properties:\n"); sb.append(" business:\n"); - sb.append(" type: object\n"); sb.append(" $ref: \"#/definitions/business\"\n"); sb.append(" nodes:" + OxmFileProcessor.LINE_SEPARATOR); sb.append(" properties:" + OxmFileProcessor.LINE_SEPARATOR); diff --git a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java index eb21fbc..1be6ff6 100644 --- a/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java +++ b/aai-schema-gen/src/test/java/org/onap/aai/schemagen/genxsd/YAMLfromOXMTest.java @@ -770,7 +770,6 @@ public class YAMLfromOXMTest { sb.append(" inventory:\n"); sb.append(" properties:\n"); sb.append(" business:\n"); - sb.append(" type: object\n"); sb.append(" $ref: \"#/definitions/business\"\n"); sb.append(" nodes:" + OxmFileProcessor.LINE_SEPARATOR); sb.append(" properties:" + OxmFileProcessor.LINE_SEPARATOR); @@ -873,7 +872,6 @@ public class YAMLfromOXMTest { sb.append(" relationship-list:\n"); sb.append(" properties:\n"); sb.append(" relationship:\n"); - sb.append(" type: object\n"); sb.append(" $ref: \"#/definitions/relationship\"\n"); return sb.toString(); }