Merge "update release-note"
authorSébastien Determe <sebastien.determe@intl.att.com>
Thu, 2 Apr 2020 14:12:37 +0000 (14:12 +0000)
committerGerrit Code Review <gerrit@onap.org>
Thu, 2 Apr 2020 14:12:37 +0000 (14:12 +0000)
src/main/java/org/onap/clamp/clds/tosca/update/execution/cds/ToscaMetadataCdsProcess.java
src/main/java/org/onap/clamp/clds/tosca/update/parser/ToscaConverterToJsonSchema.java
src/test/resources/tosca/new-converter/tca-with-metadata.json
src/test/resources/tosca/new-converter/tosca_apex_with_metadata.json
ui-react/src/api/TemplateService.js
ui-react/src/components/dialogs/Loop/CreateLoopModal.js
ui-react/src/components/dialogs/ManageDictionaries/ManageDictionaries.test.js
ui-react/src/components/dialogs/Tosca/ViewLoopTemplatesModal.js
ui-react/src/components/dialogs/Tosca/ViewLoopTemplatesModal.test.js
ui-react/src/components/dialogs/Tosca/ViewToscaPolicyModal.test.js

index b81e46b..81e30cf 100644 (file)
@@ -60,6 +60,7 @@ public class ToscaMetadataCdsProcess extends ToscaMetadataProcess {
     private static void generatePayload(JsonObject childObject, Service serviceModel) {
         generatePayloadPerResource(childObject, "VF", serviceModel);
         generatePayloadPerResource(childObject, "PNF", serviceModel);
+        addToJsonArray(childObject, "anyOf", createBlankEntry());
     }
 
     private static void generateOperation(JsonObject childObject, Service serviceModel) {
@@ -113,6 +114,15 @@ public class ToscaMetadataCdsProcess extends ToscaMetadataProcess {
         addToJsonArray(childObject, "anyOf", schemaAnyOf);
     }
 
+    private static JsonArray createBlankEntry() {
+        JsonArray result = new JsonArray();
+        JsonObject blankObject = new JsonObject();
+        blankObject.addProperty("title", "User defined");
+        blankObject.add("properties", new JsonObject());
+        result.add(blankObject);
+        return result;
+    }
+
     private static JsonObject createPayloadProperty(JsonObject workFlow, JsonObject controllerProperties) {
         JsonObject payloadResult = new JsonObject();
 
index e1d493a..9721e33 100644 (file)
@@ -259,6 +259,7 @@ public class ToscaConverterToJsonSchema {
                                 JsonObject componentAsItem = child.getJsonSchemaOfToscaElement(nameComponent);
                                 if (currentPropertyJsonTemplate.hasFields("properties")) {
                                     propertiesInJson.add("items", componentAsItem);
+                                    propertiesInJson.addProperty("format", "tabs-top");
                                 }
                                 break;
                         }
@@ -271,6 +272,7 @@ public class ToscaConverterToJsonSchema {
                                 this.extractSpecificFieldFromMap(toscaElementProperty, "entry_schema");
                         itemContainer.addProperty("type", valueInEntrySchema);
                         propertiesInJson.add("items", itemContainer);
+                        propertiesInJson.addProperty("format", "tabs-top");
                     }
                     // MAP Case, for now nothing
 
index 1b95f8c..3a700c8 100644 (file)
                           "description": "Version number associated with the threshold"
                         }
                       }
-                    }
+                    },
+                    "format": "tabs-top"
                   },
                   "context": {
                     "type": "string",
                     }
                   }
                 }
-              }
+              },
+              "format": "tabs-top"
             }
           }
         }
index 4cb5bd8..58dff23 100644 (file)
                         }
                       }
                     }
+                  },
+                  {
+                    "title": "User defined",
+                    "properties": {}
                   }
                 ]
               },
             "default": "final_success"
           }
         }
-      }
+      },
+      "format": "tabs-top"
     },
     "trigger": {
       "type": "string",
index 615a87e..eddd58d 100644 (file)
@@ -55,19 +55,19 @@ export default class TemplateService {
                });
            }
 
-       static getBlueprintMicroServiceTemplate(templateName) {
+       static getBlueprintMicroServiceTemplateSvg(templateName) {
                return fetch('/restservices/clds/v2/templates/' + templateName + ' /svgRepresentation', { method: 'GET', credentials: 'same-origin', })
                        .then(function (response) {
-                       console.debug("getBlueprintMicroServiceTemplate response received: ", response.status);
+                       console.debug("getBlueprintMicroServiceTemplateSvg response received: ", response.status);
                        if (response.ok) {
                                return response.text();
                        } else {
-                               console.error("getBlueprintMicroServiceTemplates query failed");
+                               console.error("getBlueprintMicroServiceTemplateSvg query failed");
                                return {};
                        }
                })
                .catch(function (error) {
-                       console.error("getBlueprintMicroServiceTemplate error received", error);
+                       console.error("getBlueprintMicroServiceTemplateSvg error received", error);
                        return {};
                });
        }
index e382077..c5762a8 100644 (file)
@@ -72,7 +72,7 @@ export default class CreateLoopModal extends React.Component {
 
        handleDropdownListChange(e) {
                this.setState({ chosenTemplateName: e.value });
-               TemplateService.getBlueprintMicroServiceTemplates(e.value).then(svgXml => {
+               TemplateService.getBlueprintMicroServiceTemplateSvg(e.value).then(svgXml => {
                        if (svgXml.length !== 0) {
                                this.setState({ content: svgXml })
                        } else {
index 4363da9..3a45153 100644 (file)
@@ -78,7 +78,6 @@ describe('Verify ManageDictionaries', () => {
                }),
                100
                );
-               new Promise(resolve => setTimeout(resolve, 200));
                const component = shallow(<ManageDictionaries />);
                expect(myMockFunc.mock.calls.length).toBe(1);
        });
index 18c4440..cec6722 100644 (file)
@@ -113,7 +113,7 @@ export default class ViewLoopTemplatesModal extends React.Component {
 
        getBlueprintMicroServiceTemplate(templateName) {
            if (typeof templateName !== "undefined") {
-                   TemplateService.getBlueprintMicroServiceTemplate(templateName).then(svgXml => {
+                   TemplateService.getBlueprintMicroServiceTemplateSvg(templateName).then(svgXml => {
                                if (svgXml.length !== 0) {
                                        this.setState({ content: svgXml })
                                } else {
index ddfb2a7..e11d86f 100644 (file)
@@ -77,7 +77,6 @@ describe('Verify ViewLoopTemplatesModal', () => {
                }),
                100
                );
-               new Promise(resolve => setTimeout(resolve, 200));
                const component = shallow(<ViewLoopTemplatesModal/>);
                expect(myMockFunc.mock.calls.length).toBe(1);
        });
index 952e888..29127ed 100644 (file)
@@ -82,7 +82,6 @@ describe('Verify ViewToscaPolicyModal', () => {
       }),
     100
   );
-       new Promise(resolve => setTimeout(resolve, 200));
        const component = shallow(<ViewToscaPolicyModal/>);
        expect(myMockFunc.mock.calls.length).toBe(1);
        });