Merge changes from topics 'bugfix/improve-UI-op-policy', 'bugfix/op-policy', 'bugfix...
authorSébastien Determe <sd378r@intl.att.com>
Fri, 18 May 2018 13:50:36 +0000 (13:50 +0000)
committerGerrit Code Review <gerrit@onap.org>
Fri, 18 May 2018 13:50:36 +0000 (13:50 +0000)
* changes:
  Help added to targetResourceId
  Fix op policy
  Update version to 2.0.1

docs/release-notes.rst
pom.xml
src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java
src/main/resources/META-INF/resources/designer/partials/portfolios/PolicyWindow_properties.html
src/test/resources/example/model-properties/policy/modelBpmnProperties.json
src/test/resources/example/operational-policy/yaml-policy-chain-1.yaml
src/test/resources/example/operational-policy/yaml-policy-chain-2.yaml
version.properties

index 2e6fd47..fa5d8b6 100644 (file)
@@ -5,7 +5,7 @@
 Release Notes
 =============
 
-Version: 2.0.0
+Version: 2.0.1
 --------------
 
 :Release Date: 2018-06-25
diff --git a/pom.xml b/pom.xml
index c79fb90..894f620 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -26,7 +26,7 @@
                <modelVersion>4.0.0</modelVersion>
                <groupId>org.onap.clamp</groupId>
                <artifactId>clds</artifactId>
-               <version>2.0.0-SNAPSHOT</version>
+               <version>2.0.1-SNAPSHOT</version>
                <name>clamp</name>
 
                <parent>
index bb14b23..337a976 100644 (file)
@@ -48,17 +48,17 @@ import java.util.List;
  * "targetResourceId","value":["Eace933104d443b496b8.nodes.heat.vpg"]}]]}]
  */
 public class PolicyItem implements Cloneable {
-    protected static final EELFLogger logger      = EELFManager.getInstance().getLogger(PolicyItem.class);
-    protected static final EELFLogger auditLogger = EELFManager.getInstance().getAuditLogger();
 
-    private String                    id;
-    private String                    recipe;
-    private int                       maxRetries;
-    private int                       retryTimeLimit;
-    private String                    parentPolicy;
-    private List<String>              parentPolicyConditions;
-    private String                    actor;
-    private String                    targetResourceId;
+    protected static final EELFLogger logger = EELFManager.getInstance().getLogger(PolicyItem.class);
+    protected static final EELFLogger auditLogger = EELFManager.getInstance().getAuditLogger();
+    private String id;
+    private String recipe;
+    private int maxRetries;
+    private int retryTimeLimit;
+    private String parentPolicy;
+    private List<String> parentPolicyConditions;
+    private String actor;
+    private String targetResourceId;
 
     /**
      * Parse Policy given json node.
@@ -73,7 +73,9 @@ public class PolicyItem implements Cloneable {
         parentPolicy = AbstractModelElement.getValueByName(node, "parentPolicy");
         parentPolicyConditions = AbstractModelElement.getValuesByName(node, "parentPolicyConditions");
         targetResourceId = AbstractModelElement.getValueByName(node, "targetResourceId");
-
+        if (targetResourceId != null && targetResourceId.isEmpty()) {
+            this.setTargetResourceId(null);
+        }
     }
 
     /**
index 7dd2c4d..f63fb53 100644 (file)
@@ -286,9 +286,13 @@ label {
                                                        <label for="targetResourceId" class="col-sm-4 control-label">
                                                                Target ResourceId</label>
                                                        <div class="col-sm-8">
-                                                               <input type="text" class="form-control" id="targetResourceId"
-                                                                       name="targetResourceId"> </input>
+                                                               <select class="form-control" name="targetResourceId" id="targetResourceId" enableFilter="true" onchange="changeTargetResourceIdOther();">
+                                                                       <option value=""></option>
+                                                                       <option value="Other:">Other:</option>
+                                                               </select>
                                                        </div>
+                                                       <input type="text" style="display:none" class="form-control" id="targetResourceIdOther"
+                                                               name="targetResourceIdOther" value=""></input>
                                                </div>
                                        </div>
                                </form>
@@ -304,6 +308,14 @@ label {
        </div>
 
        <script>
+       function changeTargetResourceIdOther() {
+               if ($("#targetResourceId").val()==="Other:") {
+                       $("#targetResourceIdOther").show();
+               } else {
+                       $("#targetResourceIdOther").hide();
+                       $("#targetResourceIdOther").val("");
+               }
+       }
                //Basically this method will add a new form. All forms share the same class. When you want one form to show(active form) the other forms get the 
                // css attribute display:none
                $("#add_one_more").click(function(event) {
@@ -345,6 +357,11 @@ label {
                        $(".formId").remove();
                        
                        if (policyObj !== undefined) {
+                               // Set all the Resource Invariant UUID in the target resource ID list (+Empty and other) 
+                               Object.keys(vf_Services["shared"]["byVf"]).forEach(function(key){
+                                       $('#targetResourceId').append($('<option></option>').val(key).html(key));
+                               });
+
                                var el = policyObj[id][3]['policyConfigurations']
                                for (var i = 0; i < el.length; i++) {
                                        loadingId=true;
@@ -360,7 +377,13 @@ label {
                                                                parent_policy[num]=el[i][j].value 
                                                        if(el[i][j].name==='recipe' && el[i][j].value.toString()!==''){
                                                                $("#go_properties_tab"+num).text(el[i][j].value)
-                                                       }       
+                                                       }
+                                                       if(el[i][j].name==="targetResourceIdOther" && el[i][j].value.toString()!=='') {
+                                                               // Add the entry and set it
+                                                               $('#targetResourceId').append($('<option></option>').val($('#targetResourceIdOther').val()).html($('#targetResourceIdOther').val()));
+                                                               $('#targetResourceId').val($('#targetResourceIdOther').val());
+                                                       }
+                                                       
                                                }
                                        }
                                }
@@ -385,13 +408,14 @@ label {
                                        $("#formId"+k+" #parentPolicy").change();
                                }
                                
+                               // Now load all component with the right value defined in policyObj JSON
                                for (headInd in policyObj[id]){
                                        if (!(policyObj[id][headInd].hasOwnProperty("policyConfigurations"))){
                                                $("#" + policyObj[id][headInd].name).val(policyObj[id][headInd].value);
                                        }
                                }
                        }
-                       
+
                        setMultiSelect();
                        
                        if (readMOnly){
@@ -454,6 +478,10 @@ label {
                }
                
                $("#savePropsBtn").click(function(event) {
+                       if($("#targetResourceIdOther").is(":visible")) {
+                               $('#targetResourceId').append($('<option></option>').val($("#targetResourceIdOther").val()).html($("#targetResourceIdOther").val()))
+                               $("#targetResourceId").val($("#targetResourceIdOther").val());
+                       }
                        $(".idError").hide();
                        if ($("#policyTable .highlight td").html() !== $("#pname").val()){
                                //repeated name
@@ -483,7 +511,7 @@ label {
                                        finalSaveList[tableVal] = allPolicies[tableVal];
                                }
                        });
-                       
+
                        saveProperties(finalSaveList);
                        $("#close_button").click();
                })              
index 5c2214e..0ef3875 100644 (file)
                             "name": "targetResourceId",
                             "value":
                             [
-                                "resource-id"
+                                ""
+                            ]
+                        },
+                        {
+                            "name": "targetResourceIdOther",
+                            "value":
+                            [
+                                ""
                             ]
                         }
                     ],
                             [
                                 "resource-id"
                             ]
+                        },
+                        {
+                            "name": "targetResourceIdOther",
+                            "value":
+                            [
+                                "resource-idOther"
+                            ]
                         }
                     ]
                 ]
                             [
                                 ""
                             ]
-                        },
-                        {
-                            "name": "targetResourceId",
-                            "value":
-                            [
-                                "resource-id"
-                            ]
                         }
                     ],
 
                             [
                                 "resource-id"
                             ]
+                        },
+                        {
+                            "name": "targetResourceIdOther",
+                            "value":
+                            [
+                                "resource-idOther"
+                            ]
                         }
                     ]
                 ]
index fec0e1e..3d0252a 100644 (file)
@@ -31,7 +31,7 @@ policies:
   retry: 3
   success: <generatedId>
   target:
-    resourceID: resource-id
+    resourceID: null
     type: VM
   timeout: 180
 - actor: APPC
index fec0e1e..3d0252a 100644 (file)
@@ -31,7 +31,7 @@ policies:
   retry: 3
   success: <generatedId>
   target:
-    resourceID: resource-id
+    resourceID: null
     type: VM
   timeout: 180
 - actor: APPC
index a81893c..93dca4b 100644 (file)
@@ -2,7 +2,7 @@
 # ============LICENSE_START=======================================================
 # ONAP CLAMP
 # ================================================================================
-# Copyright (C) 2017 AT&T Intellectual Property. All rights
+# Copyright (C) 2017-2018 AT&T Intellectual Property. All rights
 #                             reserved.
 # ================================================================================
 # Licensed under the Apache License, Version 2.0 (the "License"); 
@@ -27,7 +27,7 @@
 
 major=2
 minor=0
-patch=0
+patch=1
 
 base_version=${major}.${minor}.${patch}