summaryrefslogtreecommitdiffstats
path: root/POLICY-SDK-APP/src/main/java/org/onap
diff options
context:
space:
mode:
Diffstat (limited to 'POLICY-SDK-APP/src/main/java/org/onap')
-rw-r--r--POLICY-SDK-APP/src/main/java/org/onap/policy/controller/CreateDcaeMicroServiceController.java34
1 files changed, 30 insertions, 4 deletions
diff --git a/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/CreateDcaeMicroServiceController.java b/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/CreateDcaeMicroServiceController.java
index ab4ea6d2d..422c18a31 100644
--- a/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/CreateDcaeMicroServiceController.java
+++ b/POLICY-SDK-APP/src/main/java/org/onap/policy/controller/CreateDcaeMicroServiceController.java
@@ -113,7 +113,7 @@ import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType;
@RequestMapping("/")
public class CreateDcaeMicroServiceController extends RestrictedBaseController {
private static final Logger LOGGER = FlexLogger.getLogger(CreateDcaeMicroServiceController.class);
-
+ private Map<String, String> matchableValues;
private static CommonClassDao commonClassDao;
public static CommonClassDao getCommonClassDao() {
@@ -151,7 +151,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController {
public static final String DEFAULT=".default";
public static final String REQUIRED=".required";
public static final String MANYFALSE=":MANY-false";
-
+ public static final String MATCHABLE=".matchable";
@Autowired
private CreateDcaeMicroServiceController(CommonClassDao commonClassDao){
@@ -520,6 +520,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController {
HashMap<String,String> parseDataNodes(Map<String,String> map){
HashMap<String,String> dataMapForJson=new HashMap <>();
+ matchableValues = new HashMap <>();
for(String uniqueDataKey: uniqueDataKeys){
if(uniqueDataKey.contains("%")){
String[] uniqueDataKeySplit= uniqueDataKey.split("%");
@@ -538,6 +539,15 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController {
String requiredValue= map.get(findRequired);
LOGGER.info("requiredValue is:"+ requiredValue);
+ String matchable =DATATYPE+uniqueDataKeySplit[0]+PROPERTIES+uniqueDataKeySplit[1]+MATCHABLE;
+
+ String matchableValue= map.get(matchable);
+
+ if("true".equalsIgnoreCase(matchableValue)){
+ String key=uniqueDataKeySplit[uniqueDataKeySplit.length -1];
+ matchableValues.put(key, "matching-true");
+ }
+
StringBuilder attributeIndividualStringBuilder= new StringBuilder();
attributeIndividualStringBuilder.append(typeValue+":defaultValue-");
attributeIndividualStringBuilder.append(defaultValue+":required-");
@@ -545,6 +555,8 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController {
dataMapForJson.put(uniqueDataKey, attributeIndividualStringBuilder.toString());
}
else if(typeValue != null && typeValue.equalsIgnoreCase(LIST)){
+
+
String findList= DATATYPE+uniqueDataKeySplit[0]+PROPERTIES+uniqueDataKeySplit[1]+".entry_schema.type";
String listValue=map.get(findList);
if(listValue!=null){
@@ -569,6 +581,9 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController {
break;
}
else{
+ if(constraintsValue.contains("=")){
+ constraintsValue = constraintsValue.replace("=", "equal-sign");
+ }
dataConstraints.add(constraintsValue);
dataListBuffer.append(constraintsValue+",");
}
@@ -588,6 +603,8 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController {
dataMapForJson.put(uniqueDataKey, referenceIndividualStringBuilder.toString());
}
+ }else{
+ matchableValues.put(uniqueDataKey, "matching-true");
}
}
return dataMapForJson;
@@ -695,9 +712,15 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController {
attributeIndividualStringBuilder.append(keyValues.get("default")+":required-");
attributeIndividualStringBuilder.append(keyValues.get("required")+":MANY-false");
attributeStringBuilder.append(attributeIndividualStringBuilder+",");
-
+ if("true".equalsIgnoreCase(keyValues.get("matchable"))){
+ matchableValues.put(keySetString, "matching-true");
+ }
}
else if(keyValues.get("type") != null && keyValues.get("type").equalsIgnoreCase(LIST)){
+
+ if("true".equalsIgnoreCase(keyValues.get("matchable"))){
+ matchableValues.put(keySetString, "matching-true");
+ }
//List Datatype
Set<String> keys= keyValues.keySet();
Iterator<String> itr=keys.iterator();
@@ -731,6 +754,9 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController {
}
}else{
//User defined Datatype.
+ if("true".equalsIgnoreCase(keyValues.get("matchable"))){
+ matchableValues.put(keySetString, "matching-true");
+ }
String value=keyValues.get("type");
if(value != null && !value.isEmpty()){
String trimValue=value.substring(value.lastIndexOf('.')+1);
@@ -1612,7 +1638,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController {
msAttributes.setAttribute(returnAttributeList);
msAttributes.setSubClass(this.retmap);
-
+ msAttributes.setMatchingSet(matchableValues);
HashMap<String, String> returnReferenceList =new HashMap<>();
returnReferenceList.put(className, this.referenceAttributes);
msAttributes.setRefAttribute(returnReferenceList);