Fixed the missing function of matching fields for TOSCA Model
Issue-ID: POLICY-655
Change-Id: I41017a4cf01df7f4c36e086f76d169e3e216dc34
Signed-off-by: guangxingwang <gw1218@att.com>
Signed-off-by: Wang,Frank(gw1218) <gw1218@att.com>
@RequestMapping("/")
public class CreateDcaeMicroServiceController extends RestrictedBaseController {
private static final Logger LOGGER = FlexLogger.getLogger(CreateDcaeMicroServiceController.class);
@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() {
private static CommonClassDao commonClassDao;
public static CommonClassDao getCommonClassDao() {
public static final String DEFAULT=".default";
public static final String REQUIRED=".required";
public static final String MANYFALSE=":MANY-false";
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){
@Autowired
private CreateDcaeMicroServiceController(CommonClassDao commonClassDao){
HashMap<String,String> parseDataNodes(Map<String,String> map){
HashMap<String,String> dataMapForJson=new HashMap <>();
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("%");
for(String uniqueDataKey: uniqueDataKeys){
if(uniqueDataKey.contains("%")){
String[] uniqueDataKeySplit= uniqueDataKey.split("%");
String requiredValue= map.get(findRequired);
LOGGER.info("requiredValue is:"+ requiredValue);
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-");
StringBuilder attributeIndividualStringBuilder= new StringBuilder();
attributeIndividualStringBuilder.append(typeValue+":defaultValue-");
attributeIndividualStringBuilder.append(defaultValue+":required-");
dataMapForJson.put(uniqueDataKey, attributeIndividualStringBuilder.toString());
}
else if(typeValue != null && typeValue.equalsIgnoreCase(LIST)){
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){
String findList= DATATYPE+uniqueDataKeySplit[0]+PROPERTIES+uniqueDataKeySplit[1]+".entry_schema.type";
String listValue=map.get(findList);
if(listValue!=null){
+ if(constraintsValue.contains("=")){
+ constraintsValue = constraintsValue.replace("=", "equal-sign");
+ }
dataConstraints.add(constraintsValue);
dataListBuffer.append(constraintsValue+",");
}
dataConstraints.add(constraintsValue);
dataListBuffer.append(constraintsValue+",");
}
dataMapForJson.put(uniqueDataKey, referenceIndividualStringBuilder.toString());
}
dataMapForJson.put(uniqueDataKey, referenceIndividualStringBuilder.toString());
}
+ }else{
+ matchableValues.put(uniqueDataKey, "matching-true");
}
}
return dataMapForJson;
}
}
return dataMapForJson;
attributeIndividualStringBuilder.append(keyValues.get("default")+":required-");
attributeIndividualStringBuilder.append(keyValues.get("required")+":MANY-false");
attributeStringBuilder.append(attributeIndividualStringBuilder+",");
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)){
}
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();
//List Datatype
Set<String> keys= keyValues.keySet();
Iterator<String> itr=keys.iterator();
}
}else{
//User defined Datatype.
}
}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);
String value=keyValues.get("type");
if(value != null && !value.isEmpty()){
String trimValue=value.substring(value.lastIndexOf('.')+1);
msAttributes.setAttribute(returnAttributeList);
msAttributes.setSubClass(this.retmap);
msAttributes.setAttribute(returnAttributeList);
msAttributes.setSubClass(this.retmap);
+ msAttributes.setMatchingSet(matchableValues);
HashMap<String, String> returnReferenceList =new HashMap<>();
returnReferenceList.put(className, this.referenceAttributes);
msAttributes.setRefAttribute(returnReferenceList);
HashMap<String, String> returnReferenceList =new HashMap<>();
returnReferenceList.put(className, this.referenceAttributes);
msAttributes.setRefAttribute(returnReferenceList);
}
for (i=0; i < listemunerateValues.length; i += 1) {
}
for (i=0; i < listemunerateValues.length; i += 1) {
+
+ if(listemunerateValues[i].includes("equal-sign")){
+ listemunerateValues[i] = listemunerateValues[i].replace('equal-sign','=');
+ }
+
option = document.createElement('option');
option.setAttribute('value', listemunerateValues[i]);
option.appendChild(document.createTextNode(listemunerateValues[i]));
option = document.createElement('option');
option.setAttribute('value', listemunerateValues[i]);
option.appendChild(document.createTextNode(listemunerateValues[i]));