summaryrefslogtreecommitdiffstats
path: root/src/main
diff options
context:
space:
mode:
Diffstat (limited to 'src/main')
-rw-r--r--src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java24
-rw-r--r--src/main/resources/META-INF/resources/designer/partials/portfolios/PolicyWindow_properties.html38
2 files changed, 46 insertions, 16 deletions
diff --git a/src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java b/src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java
index bb14b235f..337a97633 100644
--- a/src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java
+++ b/src/main/java/org/onap/clamp/clds/model/properties/PolicyItem.java
@@ -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);
+ }
}
/**
diff --git a/src/main/resources/META-INF/resources/designer/partials/portfolios/PolicyWindow_properties.html b/src/main/resources/META-INF/resources/designer/partials/portfolios/PolicyWindow_properties.html
index 7dd2c4dd7..f63fb53a9 100644
--- a/src/main/resources/META-INF/resources/designer/partials/portfolios/PolicyWindow_properties.html
+++ b/src/main/resources/META-INF/resources/designer/partials/portfolios/PolicyWindow_properties.html
@@ -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();
})