From 9f953d7fdfd0c0943e3be31658d7995442001265 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Ben=20Zeller=C3=B6hr?= Date: Tue, 9 Sep 2025 08:16:03 +0200 Subject: [PATCH] Make OpenAPI YAML more compliant with the standards MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit - 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 --- .../onap/aai/schemagen/genxsd/NodesYAMLfromOXM.java | 11 +++++------ .../org/onap/aai/schemagen/genxsd/YAMLfromOXM.java | 6 +----- .../aai/schemagen/genxsd/NodesYAMLfromOXMTest.java | 19 ++++++++++++------- .../onap/aai/schemagen/genxsd/YAMLfromOXMTest.java | 2 -- 4 files changed, 18 insertions(+), 20 deletions(-) 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 f4d15b23..8075c929 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 71baa9cc..f452e1b4 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 da01cf00..238d48c7 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 eb21fbc8..1be6ff68 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(); } -- 2.16.6