X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=POLICY-SDK-APP%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fcontroller%2FCreateDcaeMicroServiceController.java;h=c4c822005c7ed2d1945782af1a9e4219e48ab584;hb=ff0146fb327dbe5f27b0bd29640f3ace54006d92;hp=a40b48aa2cafba75d94b5cc85d290d5b116a4fad;hpb=aa9e865ccf191e814b50b8b4b51d516fc359d948;p=policy%2Fengine.git 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 a40b48aa2..c4c822005 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 @@ -2,7 +2,7 @@ * ============LICENSE_START======================================================= * ONAP Policy Engine * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved. * ================================================================================ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -24,11 +24,8 @@ package org.onap.policy.controller; import java.io.BufferedInputStream; import java.io.BufferedOutputStream; import java.io.File; -import java.io.FileInputStream; -import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; -import java.io.InputStream; import java.io.OutputStream; import java.io.PrintWriter; import java.io.StringReader; @@ -36,7 +33,6 @@ import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.ArrayList; -import java.util.Arrays; import java.util.Enumeration; import java.util.HashMap; import java.util.HashSet; @@ -78,6 +74,7 @@ import org.onap.policy.rest.adapter.PolicyRestAdapter; import org.onap.policy.rest.dao.CommonClassDao; import org.onap.policy.rest.jpa.GroupPolicyScopeList; import org.onap.policy.rest.jpa.MicroServiceModels; +import org.onap.policy.rest.jpa.MicroserviceHeaderdeFaults; import org.onap.policy.rest.jpa.PolicyEntity; import org.onap.policy.rest.util.MSAttributeObject; import org.onap.policy.rest.util.MSModelUtils; @@ -89,8 +86,6 @@ import org.springframework.http.MediaType; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.servlet.ModelAndView; -import org.yaml.snakeyaml.Yaml; - import com.att.research.xacml.util.XACMLProperties; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.DeserializationFeature; @@ -129,19 +124,11 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { private String directory; private List modelList = new ArrayList<>(); private List dirDependencyList = new ArrayList<>(); - private HashMap classMap = new HashMap<>(); - //Tosca Model related Datastructure. + private LinkedHashMap classMap = new LinkedHashMap<>(); String referenceAttributes; String attributeString; - String listConstraints; - String subAttributeString; - HashMap retmap = new HashMap<>(); - Set uniqueKeys= new HashSet<>(); - Set uniqueDataKeys= new HashSet<>(); - StringBuilder dataListBuffer=new StringBuilder(); - List dataConstraints= new ArrayList <>(); Set allManyTrueKeys= new HashSet <>(); - + public static final String DATATYPE = "data_types.policy.data."; public static final String PROPERTIES=".properties."; public static final String TYPE=".type"; @@ -150,6 +137,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { public static final String LIST="list"; public static final String DEFAULT=".default"; public static final String REQUIRED=".required"; + public static final String MATCHABLE=".matchable"; public static final String MANYFALSE=":MANY-false"; @@ -158,7 +146,9 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { CreateDcaeMicroServiceController.commonClassDao = commonClassDao; } - public CreateDcaeMicroServiceController(){} + public CreateDcaeMicroServiceController(){ + // Empty Constructor + } protected PolicyRestAdapter policyAdapter = null; private int priorityCount; @@ -189,8 +179,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } private GroupPolicyScopeList getPolicyObject(String policyScope) { - GroupPolicyScopeList groupList= (GroupPolicyScopeList) commonClassDao.getEntityItem(GroupPolicyScopeList.class, "name", policyScope); - return groupList; + return (GroupPolicyScopeList) commonClassDao.getEntityItem(GroupPolicyScopeList.class, "name", policyScope); } private PolicyRestAdapter constructJson(PolicyRestAdapter policyAdapter, String jsonContent, String dummyValue) { @@ -259,7 +248,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { return policyAdapter; } - private String removeNullAttributes(String cleanJson) { + public String removeNullAttributes(String cleanJson) { ObjectMapper mapper = new ObjectMapper(); try { @@ -384,419 +373,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { return builder.build(); } - // Second index of dot should be returned. - public int stringBetweenDots(String str){ - String stringToSearch=str; - String[]ss=stringToSearch.split("\\."); - if(ss!=null){ - int len= ss.length; - if(len>2){ - uniqueKeys.add(ss[2]); - } - } - - return uniqueKeys.size(); - } - - public void stringBetweenDotsForDataFields(String str){ - String stringToSearch=str; - String[]ss=stringToSearch.split("\\."); - if(ss!=null){ - int len= ss.length; - - if(len>2){ - uniqueDataKeys.add(ss[0]+"%"+ss[2]); - } - } - } - - - @SuppressWarnings("unchecked") - public Map load(String fileName) throws IOException { - File newConfiguration = new File(fileName); - Yaml yaml = new Yaml(); - Map yamlMap = null; - try(InputStream is = new FileInputStream(newConfiguration)){ - yamlMap = (Map) yaml.load(is); - } catch (FileNotFoundException e) { - LOGGER.error(e); - } - - StringBuilder sb = new StringBuilder(); - Map settings = new HashMap<>(); - if (yamlMap == null) { - return settings; - } - List path = new ArrayList <>(); - serializeMap(settings, sb, path, yamlMap); - return settings; - } - - public Map load(byte[] source) throws IOException { - Yaml yaml = new Yaml(); - @SuppressWarnings("unchecked") - Map yamlMap = (Map) yaml.load(Arrays.toString(source)); - StringBuilder sb = new StringBuilder(); - Map settings = new HashMap <>(); - if (yamlMap == null) { - return settings; - } - List path = new ArrayList <>(); - serializeMap(settings, sb, path, yamlMap); - return settings; - } - - @SuppressWarnings({ "unchecked", "rawtypes" }) - private void serializeMap(Map settings, StringBuilder sb, List path, Map yamlMap) { - for (Map.Entry entry : yamlMap.entrySet()) { - if (entry.getValue() instanceof Map) { - path.add((String) entry.getKey()); - serializeMap(settings, sb, path, (Map) entry.getValue()); - path.remove(path.size() - 1); - } else if (entry.getValue() instanceof List) { - path.add((String) entry.getKey()); - serializeList(settings, sb, path, (List) entry.getValue()); - path.remove(path.size() - 1); - } else { - serializeValue(settings, sb, path, (String) entry.getKey(), entry.getValue()); - } - } - } - - @SuppressWarnings("unchecked") - private void serializeList(Map settings, StringBuilder sb, List path, List yamlList) { - int counter = 0; - for (Object listEle : yamlList) { - if (listEle instanceof Map) { - path.add(Integer.toString(counter)); - serializeMap(settings, sb, path, (Map) listEle); - path.remove(path.size() - 1); - } else if (listEle instanceof List) { - path.add(Integer.toString(counter)); - serializeList(settings, sb, path, (List) listEle); - path.remove(path.size() - 1); - } else { - serializeValue(settings, sb, path, Integer.toString(counter), listEle); - } - counter++; - } - } - - private void serializeValue(Map settings, StringBuilder sb, List path, String name, Object value) { - if (value == null) { - return; - } - sb.setLength(0); - for (String pathEle : path) { - sb.append(pathEle).append('.'); - } - sb.append(name); - settings.put(sb.toString(), value.toString()); - } - - void parseDataAndPolicyNodes(Map map){ - for(String key:map.keySet()){ - if(key.contains("policy.nodes.Root")) - { - continue; - } - else if(key.contains("policy.nodes")){ - String wordToFind = "policy.nodes."; - int indexForPolicyNode=key.indexOf(wordToFind); - String subNodeString= key.substring(indexForPolicyNode+13, key.length()); - - stringBetweenDots(subNodeString); - } - else if(key.contains("policy.data")){ - String wordToFind="policy.data."; - int indexForPolicyNode=key.indexOf(wordToFind); - String subNodeString= key.substring(indexForPolicyNode+12, key.length()); - - stringBetweenDotsForDataFields(subNodeString); - } - } - } - - HashMap parseDataNodes(Map map){ - HashMap dataMapForJson=new HashMap <>(); - for(String uniqueDataKey: uniqueDataKeys){ - if(uniqueDataKey.contains("%")){ - String[] uniqueDataKeySplit= uniqueDataKey.split("%"); - String findType=DATATYPE+uniqueDataKeySplit[0]+PROPERTIES+uniqueDataKeySplit[1]+TYPE; - String typeValue=map.get(findType); - LOGGER.info(typeValue); - if(typeValue != null && typeValue.equalsIgnoreCase(STRING)|| - typeValue.equalsIgnoreCase(INTEGER) - ) - { - String findDefault=DATATYPE+uniqueDataKeySplit[0]+PROPERTIES+uniqueDataKeySplit[1]+DEFAULT; - String defaultValue= map.get(findDefault); - LOGGER.info("defaultValue is:"+ defaultValue); - - String findRequired=DATATYPE+uniqueDataKeySplit[0]+PROPERTIES+uniqueDataKeySplit[1]+REQUIRED; - String requiredValue= map.get(findRequired); - LOGGER.info("requiredValue is:"+ requiredValue); - - StringBuilder attributeIndividualStringBuilder= new StringBuilder(); - attributeIndividualStringBuilder.append(typeValue+":defaultValue-"); - attributeIndividualStringBuilder.append(defaultValue+":required-"); - attributeIndividualStringBuilder.append(requiredValue+MANYFALSE); - 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){ - LOGGER.info("Type of list is:"+ listValue); - //Its userdefined - if(listValue.contains(".")){ - String trimValue=listValue.substring(listValue.lastIndexOf('.')+1); - StringBuilder referenceIndividualStringBuilder= new StringBuilder(); - referenceIndividualStringBuilder.append(trimValue+":MANY-true"); - dataMapForJson.put(uniqueDataKey, referenceIndividualStringBuilder.toString()); - }//Its string - else{ - StringBuilder stringListItems= new StringBuilder(); - stringListItems.append(uniqueDataKeySplit[1].toUpperCase()+":MANY-false"); - dataMapForJson.put(uniqueDataKey, stringListItems.toString()); - dataListBuffer.append(uniqueDataKeySplit[1].toUpperCase()+"=["); - for(int i=0;i<10;i++){ - String findConstraints= DATATYPE+uniqueDataKeySplit[0]+PROPERTIES+uniqueDataKeySplit[1]+".entry_schema.constraints.0.valid_values."+i; - String constraintsValue=map.get(findConstraints); - LOGGER.info(constraintsValue); - if(constraintsValue==null){ - break; - } - else{ - dataConstraints.add(constraintsValue); - dataListBuffer.append(constraintsValue+","); - } - } - dataListBuffer.append("]#"); - - LOGGER.info(dataListBuffer); - } - } - } - else{ - String findUserDefined="data_types.policy.data."+uniqueDataKeySplit[0]+"."+"properties"+"."+uniqueDataKeySplit[1]+".type"; - String userDefinedValue=map.get(findUserDefined); - String trimValue=userDefinedValue.substring(userDefinedValue.lastIndexOf('.')+1); - StringBuilder referenceIndividualStringBuilder= new StringBuilder(); - referenceIndividualStringBuilder.append(trimValue+":MANY-false"); - dataMapForJson.put(uniqueDataKey, referenceIndividualStringBuilder.toString()); - - } - } - } - return dataMapForJson; - } - - void constructJsonForDataFields(HashMap dataMapForJson){ - HashMap> dataMapKey= new HashMap <>(); - HashMap hmSub; - for(Map.Entry entry: dataMapForJson.entrySet()){ - String uniqueDataKey= entry.getKey(); - String[] uniqueDataKeySplit=uniqueDataKey.split("%"); - String value= dataMapForJson.get(uniqueDataKey); - if(dataMapKey.containsKey(uniqueDataKeySplit[0])){ - hmSub = dataMapKey.get(uniqueDataKeySplit[0]); - hmSub.put(uniqueDataKeySplit[1], value); - } - else{ - hmSub=new HashMap <>(); - hmSub.put(uniqueDataKeySplit[1], value); - } - - dataMapKey.put(uniqueDataKeySplit[0], hmSub); - } - - JSONObject mainObject= new JSONObject(); - JSONObject json; - for(Map.Entry> entry: dataMapKey.entrySet()){ - String s=entry.getKey(); - json= new JSONObject(); - HashMap jsonHm=dataMapKey.get(s); - for(Map.Entry entryMap:jsonHm.entrySet()){ - String key=entryMap.getKey(); - json.put(key, jsonHm.get(key)); - } - mainObject.put(s,json); - } - Iterator keysItr = mainObject.keys(); - while(keysItr.hasNext()) { - String key = keysItr.next(); - String value = mainObject.get(key).toString(); - retmap.put(key, value); - } - - LOGGER.info("#############################################################################"); - LOGGER.info(mainObject); - LOGGER.info("###############################################################################"); - } - - - HashMap> parsePolicyNodes(Map map){ - HashMap> mapKey= new HashMap <>(); - for(String uniqueKey: uniqueKeys){ - HashMap hm; - - for(Map.Entry entry:map.entrySet()){ - String key=entry.getKey(); - if(key.contains(uniqueKey) && key.contains("policy.nodes")){ - if(mapKey.containsKey(uniqueKey)){ - hm = mapKey.get(uniqueKey); - String keyStr= key.substring(key.lastIndexOf('.')+1); - String valueStr= map.get(key); - if(("type").equals(keyStr)){ - if(!key.contains("entry_schema")) - { - hm.put(keyStr,valueStr); - } - }else{ - hm.put(keyStr,valueStr); - } - - } else { - hm = new HashMap <>(); - String keyStr= key.substring(key.lastIndexOf('.')+1); - String valueStr= map.get(key); - if(("type").equals(keyStr)){ - if(!key.contains("entry_schema")) - { - hm.put(keyStr,valueStr); - } - }else{ - hm.put(keyStr,valueStr); - } - mapKey.put(uniqueKey, hm); - } - } - } - } - return mapKey; - } - - void createAttributes(HashMap> mapKey){ - StringBuilder attributeStringBuilder= new StringBuilder(); - StringBuilder referenceStringBuilder= new StringBuilder(); - StringBuilder listBuffer= new StringBuilder(); - List constraints= new ArrayList<>(); - for(Map.Entry> entry: mapKey.entrySet()){ - String keySetString= entry.getKey(); - HashMap keyValues=mapKey.get(keySetString); - if(keyValues.get("type") != null && keyValues.get("type").equalsIgnoreCase(STRING)|| - keyValues.get("type") != null && keyValues.get("type").equalsIgnoreCase(INTEGER) - ){ - StringBuilder attributeIndividualStringBuilder= new StringBuilder(); - attributeIndividualStringBuilder.append(keySetString+"="); - attributeIndividualStringBuilder.append(keyValues.get("type")+":defaultValue-"); - attributeIndividualStringBuilder.append(keyValues.get("default")+":required-"); - attributeIndividualStringBuilder.append(keyValues.get("required")+":MANY-false"); - attributeStringBuilder.append(attributeIndividualStringBuilder+","); - - } - else if(keyValues.get("type") != null && keyValues.get("type").equalsIgnoreCase(LIST)){ - //List Datatype - Set keys= keyValues.keySet(); - Iterator itr=keys.iterator(); - while(itr.hasNext()){ - String key= itr.next(); - if((!("type").equals(key) ||("required").equals(key))) - { - String value= keyValues.get(key); - //The "." in the value determines if its a string or a user defined type. - if (!value.contains(".")){ - //This is string - if(StringUtils.isNumeric(key) ){ //only integer key for the value of Constrains - constraints.add(keyValues.get(key)); - } - }else{ - //This is user defined string - String trimValue=value.substring(value.lastIndexOf('.')+1); - StringBuilder referenceIndividualStringBuilder= new StringBuilder(); - referenceIndividualStringBuilder.append(keySetString+"="+trimValue+":MANY-true"); - referenceStringBuilder.append(referenceIndividualStringBuilder+","); - } - } - - } - - if(keyValues.get("type").equalsIgnoreCase(LIST)){ - if(constraints == null || constraints.isEmpty()){ - referenceStringBuilder.append(keySetString+"=MANY-true"+","); - } - } - }else{ - //User defined Datatype. - String value=keyValues.get("type"); - if(value != null && !value.isEmpty()){ - String trimValue=value.substring(value.lastIndexOf('.')+1); - StringBuilder referenceIndividualStringBuilder= new StringBuilder(); - referenceIndividualStringBuilder.append(keySetString+"="+trimValue+":MANY-false"); - referenceStringBuilder.append(referenceIndividualStringBuilder+","); - }else{ - LOGGER.info("keyValues.get(type) is null/empty"); - } - - } - if(constraints!=null &&constraints.isEmpty()==false){ - //List handling. - listBuffer.append(keySetString.toUpperCase()+"=["); - for(String str:constraints){ - listBuffer.append(str+","); - } - listBuffer.append("]#"); - LOGGER.info(listBuffer); - - - StringBuilder referenceIndividualStringBuilder= new StringBuilder(); - referenceIndividualStringBuilder.append(keySetString+"="+keySetString.toUpperCase()+":MANY-false"); - referenceStringBuilder.append(referenceIndividualStringBuilder+","); - constraints.clear(); - } - } - - dataListBuffer.append(listBuffer); - - - LOGGER.info("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"); - LOGGER.info("Whole attribute String is:"+attributeStringBuilder); - LOGGER.info("Whole reference String is:"+referenceStringBuilder); - LOGGER.info("List String is:"+listBuffer); - LOGGER.info("Data list buffer is:"+dataListBuffer); - LOGGER.info("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"); - - this.listConstraints=dataListBuffer.toString(); - this.referenceAttributes=referenceStringBuilder.toString(); - this.attributeString=attributeStringBuilder.toString(); - } - - - - public void parseTosca (String fileName){ - Map map= new HashMap<>(); - - try { - map=load(fileName); - - parseDataAndPolicyNodes(map); - - HashMap dataMapForJson=parseDataNodes(map); - - constructJsonForDataFields(dataMapForJson); - - HashMap> mapKey= parsePolicyNodes(map); - - createAttributes(mapKey); - - } catch (IOException e) { - LOGGER.error(e); - } - - } - - private String cleanUPJson(String json) { + public String cleanUPJson(String json) { String cleanJson = StringUtils.replaceEach(json, new String[]{"\\\\", "\\\\\\", "\\\\\\\\"}, new String[]{"\\", "\\", "\\"}); cleanJson = StringUtils.replaceEach(cleanJson, new String[]{"\\\\\\"}, new String[]{"\\"}); cleanJson = StringUtils.replaceEach(cleanJson, new String[]{"\\\\", "[[", "]]"}, new String[]{"\\", "[", "]"}); @@ -814,7 +391,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { return cleanJson; } - private JSONObject decodeContent(JsonNode jsonNode){ + public JSONObject decodeContent(JsonNode jsonNode){ Iterator jsonElements = jsonNode.elements(); Iterator jsonKeys = jsonNode.fieldNames(); Map element = new TreeMap<>(); @@ -830,19 +407,21 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { JsonNodeFactory nodeFactory = JsonNodeFactory.instance; ObjectNode node = nodeFactory.objectNode(); String prevKey = null; - String presKey = null; - for(String key: element.keySet()){ + String presKey; + for(Entry entry: element.entrySet()){ + String key = entry.getKey(); + String value = entry.getValue(); if(key.contains(".")){ - presKey = key.substring(0,key.indexOf(".")); + presKey = key.substring(0,key.indexOf('.')); }else if(key.contains("@")){ - presKey = key.substring(0,key.indexOf("@")); + presKey = key.substring(0,key.indexOf('@')); }else{ presKey = key; } // first check if we are different from old. LOGGER.info(key+"\n"); if(jsonArray!=null && jsonArray.length()>0 && key.contains("@") && !key.contains(".") && oldValue!=null){ - if(!oldValue.equals(key.substring(0,key.indexOf("@")))){ + if(!oldValue.equals(key.substring(0,key.indexOf('@')))){ jsonResult.put(oldValue, jsonArray); jsonArray = new JSONArray(); } @@ -856,86 +435,62 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { // if(key.contains(".")){ if(nodeKey==null){ - nodeKey = key.substring(0,key.indexOf(".")); + nodeKey = key.substring(0,key.indexOf('.')); } - if(nodeKey.equals(key.substring(0,key.indexOf(".")))){ - node.put(key.substring(key.indexOf(".")+1), element.get(key)); + if(nodeKey.equals(key.substring(0,key.indexOf('.')))){ + node.put(key.substring(key.indexOf('.')+1), value); }else{ if(node.size()!=0){ if(nodeKey.contains("@")){ if(arryKey==null){ - arryKey = nodeKey.substring(0,nodeKey.indexOf("@")); + arryKey = nodeKey.substring(0,nodeKey.indexOf('@')); } if(nodeKey.endsWith("@0")){ isArray = true; jsonArray = new JSONArray(); } - if(jsonArray != null && arryKey.equals(nodeKey.substring(0,nodeKey.indexOf("@")))){ + if(jsonArray != null && arryKey.equals(nodeKey.substring(0,nodeKey.indexOf('@')))){ jsonArray.put(decodeContent(node)); } - if((key.contains("@") && !arryKey.equals(key.substring(0,nodeKey.indexOf("@")))) || !key.contains("@")){ + if((key.contains("@") && !arryKey.equals(key.substring(0,nodeKey.indexOf('@')))) || !key.contains("@")){ jsonResult.put(arryKey, jsonArray); jsonArray = new JSONArray(); } - arryKey = nodeKey.substring(0,nodeKey.indexOf("@")); + arryKey = nodeKey.substring(0,nodeKey.indexOf('@')); }else{ isArray = false; jsonResult.put(nodeKey, decodeContent(node)); } node = nodeFactory.objectNode(); } - nodeKey = key.substring(0,key.indexOf(".")); + nodeKey = key.substring(0,key.indexOf('.')); if(nodeKey.contains("@")){ - arryKey = nodeKey.substring(0,nodeKey.indexOf("@")); - } - node.put(key.substring(key.indexOf(".")+1), element.get(key)); - } - }else if(node.size()!=0){ - if(nodeKey.contains("@")){ - if(arryKey==null){ - arryKey = nodeKey.substring(0,nodeKey.indexOf("@")); - } - if(nodeKey.endsWith("@0")){ - isArray = true; - jsonArray = new JSONArray(); - } - if(jsonArray != null && arryKey.equals(nodeKey.substring(0,nodeKey.indexOf("@")))){ - jsonArray.put(decodeContent(node)); + arryKey = nodeKey.substring(0,nodeKey.indexOf('@')); } - jsonResult.put(arryKey, jsonArray); - jsonArray = new JSONArray(); - arryKey = nodeKey.substring(0,nodeKey.indexOf("@")); - }else{ - isArray = false; - jsonResult.put(nodeKey, decodeContent(node)); + node.put(key.substring(key.indexOf('.')+1), value); } - node = nodeFactory.objectNode(); - if(key.contains("@")){ - isArray = true; - if(key.endsWith("@0")|| jsonArray==null){ + }else { + if(node.size()!=0){ + if(nodeKey.contains("@")){ + if(arryKey==null){ + arryKey = nodeKey.substring(0,nodeKey.indexOf('@')); + } + if(nodeKey.endsWith("@0")){ + isArray = true; + jsonArray = new JSONArray(); + } + if(jsonArray != null && arryKey.equals(nodeKey.substring(0,nodeKey.indexOf('@')))){ + jsonArray.put(decodeContent(node)); + } + jsonResult.put(arryKey, jsonArray); jsonArray = new JSONArray(); - } - }else if(!key.contains("@")){ - isArray = false; - } - if(isArray){ - if(oldValue==null){ - oldValue = key.substring(0,key.indexOf("@")); - } - if(oldValue!=prevKey){ - oldValue = key.substring(0,key.indexOf("@")); - } - if(oldValue.equals(key.substring(0,key.indexOf("@")))){ - jsonArray.put(element.get(key)); + arryKey = nodeKey.substring(0,nodeKey.indexOf('@')); }else{ - jsonResult.put(oldValue, jsonArray); - jsonArray = new JSONArray(); + isArray = false; + jsonResult.put(nodeKey, decodeContent(node)); } - oldValue = key.substring(0,key.indexOf("@")); - }else{ - jsonResult.put(key, element.get(key)); + node = nodeFactory.objectNode(); } - }else{ if(key.contains("@")){ isArray = true; if(key.endsWith("@0")|| jsonArray==null){ @@ -946,20 +501,20 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } if(isArray){ if(oldValue==null){ - oldValue = key.substring(0,key.indexOf("@")); + oldValue = key.substring(0,key.indexOf('@')); } if(oldValue!=prevKey){ - oldValue = key.substring(0,key.indexOf("@")); + oldValue = key.substring(0,key.indexOf('@')); } - if(oldValue.equals(key.substring(0,key.indexOf("@")))){ - jsonArray.put(element.get(key)); + if(oldValue.equals(key.substring(0,key.indexOf('@')))){ + jsonArray.put(value); }else{ jsonResult.put(oldValue, jsonArray); jsonArray = new JSONArray(); } - oldValue = key.substring(0,key.indexOf("@")); + oldValue = key.substring(0,key.indexOf('@')); }else{ - jsonResult.put(key, element.get(key)); + jsonResult.put(key, value); } } } @@ -969,7 +524,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { jsonArray = new JSONArray(); } if(arryKey==null){ - arryKey = nodeKey.substring(0,nodeKey.indexOf("@")); + arryKey = nodeKey.substring(0,nodeKey.indexOf('@')); } jsonArray.put(decodeContent(node)); jsonResult.put(arryKey, jsonArray); @@ -991,13 +546,29 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { JsonNode root = mapper.readTree(request.getReader()); String value = root.get("policyData").toString().replaceAll("^\"|\"$", ""); - String servicename = value.toString().split("-v")[0]; + String servicename = value.split("-v")[0]; String version = null; - if (value.toString().contains("-v")){ - version = value.toString().split("-v")[1]; + if (value.contains("-v")){ + version = value.split("-v")[1]; } MicroServiceModels returnModel = getAttributeObject(servicename, version); + MicroserviceHeaderdeFaults returnHeaderDefauls = getHeaderDefaultsObject(value); + JSONObject jsonHdDefaultObj = null; + if(returnHeaderDefauls != null){ + jsonHdDefaultObj = new JSONObject(); + jsonHdDefaultObj.put("onapName", returnHeaderDefauls.getOnapName()); + jsonHdDefaultObj.put("guard", returnHeaderDefauls.getGuard()); + jsonHdDefaultObj.put("riskLevel", returnHeaderDefauls.getRiskLevel()); + jsonHdDefaultObj.put("riskType", returnHeaderDefauls.getRiskType()); + jsonHdDefaultObj.put("priority", returnHeaderDefauls.getPriority()); + } + String headDefautlsData = ""; + if(jsonHdDefaultObj != null){ + headDefautlsData = jsonHdDefaultObj.toString(); + }else{ + headDefautlsData = "null"; + } //Get all keys with "MANY-true" defined in their value from subAttribute Set allkeys = null; @@ -1009,6 +580,9 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { LOGGER.info("allkeys : " + allkeys); } + //Get element order info + String dataOrderInfo = returnModel.getDataOrderInfo(); + String allManyTrueKeys = ""; if(allkeys != null){ allManyTrueKeys = allkeys.toString(); @@ -1054,11 +628,13 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { List list = new ArrayList<>(); PrintWriter out = response.getWriter(); String responseString = mapper.writeValueAsString(returnModel); + JSONObject j = null; + if("".equals(allManyTrueKeys)){ - j = new JSONObject("{dcaeModelData: " + responseString + ",jsonValue: " + jsonModel + "}"); + j = new JSONObject("{dcaeModelData: " + responseString + ",jsonValue: " + jsonModel + ",dataOrderInfo:" + dataOrderInfo + ",headDefautlsData:" + headDefautlsData +"}"); }else{ - j = new JSONObject("{dcaeModelData: " + responseString + ",jsonValue: " + jsonModel + ",allManyTrueKeys: " + allManyTrueKeys+ "}"); + j = new JSONObject("{dcaeModelData: " + responseString + ",jsonValue: " + jsonModel + ",allManyTrueKeys: " + allManyTrueKeys+",dataOrderInfo:" + dataOrderInfo + ",headDefautlsData:" + headDefautlsData+ "}"); } list.add(j); out.write(list.toString()); @@ -1096,6 +672,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { }else{ subAttributes = ""; } + Map gsonObject = (Map) gson.fromJson(subAttributes, Object.class); JSONObject object = new JSONObject(); @@ -1104,7 +681,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { for (Entry keySet : attributeMap.entrySet()){ array = new JSONArray(); String value = keySet.getValue(); - if (keySet.getValue().split("MANY-")[1].equalsIgnoreCase("true")){ + if ("true".equalsIgnoreCase(keySet.getValue().split("MANY-")[1])){ array.put(value); object.put(keySet.getKey().trim(), array); }else { @@ -1116,14 +693,14 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { array = new JSONArray(); String value = keySet.getValue().split(":")[0]; if (gsonObject.containsKey(value)){ - if (keySet.getValue().split("MANY-")[1].equalsIgnoreCase("true")){ + if ("true".equalsIgnoreCase(keySet.getValue().split("MANY-")[1])){ array.put(recursiveReference(value, gsonObject, enumAttribute)); object.put(keySet.getKey().trim(), array); }else { object.put(keySet.getKey().trim(), recursiveReference(value, gsonObject, enumAttribute)); } }else { - if (keySet.getValue().split("MANY-")[1].equalsIgnoreCase("true")){ + if ("true".equalsIgnoreCase(keySet.getValue().split("MANY-")[1])){ array.put(value.trim()); object.put(keySet.getKey().trim(), array); }else { @@ -1131,8 +708,6 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } } } - - return object.toString(); } @@ -1140,23 +715,23 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { @SuppressWarnings("unchecked") private JSONObject recursiveReference(String name, Map subAttributeMap, String enumAttribute) { JSONObject object = new JSONObject(); - Map map = new HashMap<>(); + Map map; Object returnClass = subAttributeMap.get(name); map = (Map) returnClass; - JSONArray array = new JSONArray(); + JSONArray array; for( Entry m:map.entrySet()){ String[] splitValue = m.getValue().split(":"); array = new JSONArray(); if (subAttributeMap.containsKey(splitValue[0])){ - if (m.getValue().split("MANY-")[1].equalsIgnoreCase("true")){ + if ("true".equalsIgnoreCase(m.getValue().split("MANY-")[1])){ array.put(recursiveReference(splitValue[0], subAttributeMap, enumAttribute)); object.put(m.getKey().trim(), array); }else { object.put(m.getKey().trim(), recursiveReference(splitValue[0], subAttributeMap, enumAttribute)); } } else{ - if (m.getValue().split("MANY-")[1].equalsIgnoreCase("true")){ + if ("true".equalsIgnoreCase(m.getValue().split("MANY-")[1])){ array.put(splitValue[0].trim()); object.put(m.getKey().trim(), array); }else { @@ -1234,6 +809,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { return keys; } + // this method returns a set of keys with "MANY-true" defined in their value. private Set getAllKeys(JSONObject json, Set keys) { for (String key : json.keySet()) { @@ -1258,7 +834,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { JsonNode root = mapper.readTree(request.getReader()); String value = root.get("policyData").toString().replaceAll("^\"|\"$", ""); - String servicename = value.toString().split("-v")[0]; + String servicename = value.split("-v")[0]; Set returnList = getVersionList(servicename); response.setCharacterEncoding("UTF-8"); @@ -1274,7 +850,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } private Set getVersionList(String name) { - MicroServiceModels workingModel = new MicroServiceModels(); + MicroServiceModels workingModel; Set list = new HashSet<>(); List microServiceModelsData = commonClassDao.getDataById(MicroServiceModels.class, "modelName", name); for (int i = 0; i < microServiceModelsData.size(); i++) { @@ -1308,6 +884,10 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } return workingModel; } + + private MicroserviceHeaderdeFaults getHeaderDefaultsObject(String modelName) { + return (MicroserviceHeaderdeFaults) commonClassDao.getEntityItem(MicroserviceHeaderdeFaults.class, "modelName", modelName); + } @RequestMapping(value={"/get_DCAEPriorityValues"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) public void getDCAEPriorityValuesData(HttpServletRequest request, HttpServletResponse response){ @@ -1374,28 +954,28 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { AttributeDesignatorType designator = match.getAttributeDesignator(); String attributeId = designator.getAttributeId(); // First match in the target is OnapName, so set that value. - if (attributeId.equals("ONAPName")) { + if ("ONAPName".equals(attributeId)) { policyAdapter.setOnapName(value); } - if (attributeId.equals("ConfigName")){ + if ("ConfigName".equals(attributeId)){ policyAdapter.setConfigName(value); } - if (attributeId.equals("uuid")){ + if ("uuid".equals(attributeId)){ policyAdapter.setUuid(value); } - if (attributeId.equals("location")){ + if ("location".equals(attributeId)){ policyAdapter.setLocation(value); } - if (attributeId.equals("RiskType")){ + if ("RiskType".equals(attributeId)){ policyAdapter.setRiskType(value); } - if (attributeId.equals("RiskLevel")){ + if ("RiskLevel".equals(attributeId)){ policyAdapter.setRiskLevel(value); } - if (attributeId.equals("guard")){ + if ("guard".equals(attributeId)){ policyAdapter.setGuard(value); } - if (attributeId.equals("TTLDate") && !value.contains("NA")){ + if ("TTLDate".equals(attributeId) && !value.contains("NA")){ PolicyController controller = new PolicyController(); String newDate = controller.convertDate(value); policyAdapter.setTtlDate(newDate); @@ -1426,7 +1006,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { String policyScopeName = null; ObjectMapper mapper = new ObjectMapper(); try { - DCAEMicroServiceObject msBody = (DCAEMicroServiceObject) mapper.readValue(entity.getConfigurationData().getConfigBody(), DCAEMicroServiceObject.class); + DCAEMicroServiceObject msBody = mapper.readValue(entity.getConfigurationData().getConfigBody(), DCAEMicroServiceObject.class); policyScopeName = getPolicyScope(msBody.getPolicyScope()); policyAdapter.setPolicyScope(policyScopeName); @@ -1451,16 +1031,16 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } - @SuppressWarnings({ "rawtypes", "unchecked" }) - private void readRecursivlyJSONContent(LinkedHashMap map, LinkedHashMap data){ + @SuppressWarnings({ "rawtypes", "unchecked" }) + public void readRecursivlyJSONContent(LinkedHashMap map, LinkedHashMap data){ for (Iterator iterator = map.keySet().iterator(); iterator.hasNext();) { Object key = iterator.next(); Object value = map.get(key); if(value instanceof LinkedHashMap){ LinkedHashMap secondObjec = new LinkedHashMap<>(); readRecursivlyJSONContent((LinkedHashMap) value, secondObjec); - for(String objKey: secondObjec.keySet()){ - data.put(key+"." +objKey, secondObjec.get(objKey)); + for( Entry entry : secondObjec.entrySet()){ + data.put(key+"." + entry.getKey(), entry.getValue()); } }else if(value instanceof ArrayList){ ArrayList jsonArrayVal = (ArrayList)value; @@ -1469,8 +1049,8 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { if(arrayvalue instanceof LinkedHashMap){ LinkedHashMap newData = new LinkedHashMap<>(); readRecursivlyJSONContent((LinkedHashMap) arrayvalue, newData); - for(String objKey: newData.keySet()){ - data.put(key+"@"+i+"." +objKey, newData.get(objKey)); + for(Entry entry: newData.entrySet()){ + data.put(key+"@"+i+"." +entry.getKey(), entry.getValue()); } }else if(arrayvalue instanceof ArrayList){ ArrayList jsonArrayVal1 = (ArrayList)value; @@ -1488,7 +1068,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } } - private String getPolicyScope(String value) { + public String getPolicyScope(String value) { List groupList= commonClassDao.getDataById(GroupPolicyScopeList.class, "groupList", value); if(groupList != null && !groupList.isEmpty()){ GroupPolicyScopeList pScope = (GroupPolicyScopeList) groupList.get(0); @@ -1500,7 +1080,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { //Convert the map values and set into JSON body public Map convertMap(Map attributesMap, Map attributesRefMap) { Map attribute = new HashMap<>(); - String temp = null; + StringBuilder temp; String key; String value; for (Entry entry : attributesMap.entrySet()) { @@ -1510,12 +1090,12 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } for (Entry entryRef : attributesRefMap.entrySet()) { key = entryRef.getKey(); - value = entryRef.getValue().toString(); + value = entryRef.getValue(); attribute.put(key, value); } for (Entry entryList : attributesListRefMap.entrySet()) { key = entryList.getKey(); - value = entryList.getValue().toString(); + value = entryList.getValue(); attribute.put(key, value); } for (Entry> arrayList : arrayTextList.entrySet()){ @@ -1523,9 +1103,10 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { temp = null; for (Object textList : arrayList.getValue()){ if (temp == null){ - temp = "[" + textList; + temp = new StringBuilder(); + temp.append("[" + textList); }else{ - temp = temp + "," + textList; + temp.append("," + textList); } } attribute.put(key, temp+ "]"); @@ -1538,12 +1119,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { public void SetMSModelData(HttpServletRequest request, HttpServletResponse response) throws IOException, FileUploadException{ modelList = new ArrayList<>(); dirDependencyList = new ArrayList<>(); - classMap = new HashMap<>(); - retmap = new HashMap<>(); - uniqueKeys= new HashSet<>(); - uniqueDataKeys= new HashSet<>(); - dataListBuffer=new StringBuilder(); - dataConstraints= new ArrayList <>(); + classMap = new LinkedHashMap<>(); List items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); boolean zip = false; boolean yml= false; @@ -1557,18 +1133,18 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { IOUtils.copy(item.getInputStream(), outputStream); outputStream.close(); this.newFile = file.toString(); - this.newModel.setModelName(this.newFile.toString().split("-v")[0]); + this.newModel.setModelName(this.newFile.split("-v")[0]); - if (this.newFile.toString().contains("-v")){ + if (this.newFile.contains("-v")){ if (item.getName().endsWith(".zip")){ - this.newModel.setVersion(this.newFile.toString().split("-v")[1].replace(".zip", "")); + this.newModel.setVersion(this.newFile.split("-v")[1].replace(".zip", "")); zip = true; }else if(item.getName().endsWith(".yml")){ - this.newModel.setVersion(this.newFile.toString().split("-v")[1].replace(".yml", "")); + this.newModel.setVersion(this.newFile.split("-v")[1].replace(".yml", "")); yml = true; } else { - this.newModel.setVersion(this.newFile.toString().split("-v")[1].replace(".xmi", "")); + this.newModel.setVersion(this.newFile.split("-v")[1].replace(".xmi", "")); } } }catch(Exception e){ @@ -1586,7 +1162,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { response.setCharacterEncoding("UTF-8"); response.setContentType("application / json"); request.setCharacterEncoding("UTF-8"); - + JSONObject j = new JSONObject(); j.put("errorMsg", errorMsg); out.write(j.toString()); @@ -1594,21 +1170,34 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } List fileList = new ArrayList<>(); + MSModelUtils msMLUtils = new MSModelUtils(); this.directory = "model"; if (zip){ extractFolder(this.newFile); fileList = listModelFiles(this.directory); }else if (yml==true){ - parseTosca(this.newFile); + + errorMsg = msMLUtils.parseTosca(this.newFile); + if(errorMsg != null){ + PrintWriter out = response.getWriter(); + response.setCharacterEncoding("UTF-8"); + response.setContentType("application / json"); + request.setCharacterEncoding("UTF-8"); + JSONObject j = new JSONObject(); + j.put("errorMsg", errorMsg); + out.write(j.toString()); + return; + } + }else { File file = new File(this.newFile); fileList.add(file); } String modelType= ""; - if(yml==false){ + if(!yml){ modelType="xmi"; //Process Main Model file first - classMap = new HashMap<>(); + classMap = new LinkedHashMap<>(); for (File file : fileList) { if(!file.isDirectory() && file.getName().endsWith(".xmi")){ retreiveDependency(file.toString(), true); @@ -1626,20 +1215,22 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { MSAttributeObject msAttributes= new MSAttributeObject(); msAttributes.setClassName(className); - HashMap returnAttributeList =new HashMap<>(); - returnAttributeList.put(className, this.attributeString); + LinkedHashMap returnAttributeList =new LinkedHashMap<>(); + returnAttributeList.put(className, msMLUtils.getAttributeString()); msAttributes.setAttribute(returnAttributeList); - msAttributes.setSubClass(this.retmap); + msAttributes.setSubClass(msMLUtils.getRetmap()); - HashMap returnReferenceList =new HashMap<>(); - //String[] referenceArray=this.referenceAttributes.split("="); - returnReferenceList.put(className, this.referenceAttributes); + msAttributes.setMatchingSet(msMLUtils.getMatchableValues()); + + LinkedHashMap returnReferenceList =new LinkedHashMap<>(); + + returnReferenceList.put(className, msMLUtils.getReferenceAttributes()); msAttributes.setRefAttribute(returnReferenceList); - if(this.listConstraints!=""){ - HashMap enumList =new HashMap<>(); - String[] listArray=this.listConstraints.split("#"); + if(msMLUtils.getListConstraints()!=""){ + LinkedHashMap enumList =new LinkedHashMap<>(); + String[] listArray=msMLUtils.getListConstraints().split("#"); for(String str:listArray){ String[] strArr= str.split("="); if(strArr.length>1){ @@ -1649,7 +1240,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { msAttributes.setEnumType(enumList); } - classMap=new HashMap<>(); + classMap=new LinkedHashMap<>(); classMap.put(className, msAttributes); } @@ -1665,6 +1256,8 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { j.put("classListDatas", modelList); j.put("modelDatas", mapper.writeValueAsString(classMap)); j.put("modelType", modelType); + j.put("dataOrderInfo", msMLUtils.getDataOrderInfo()); + out.write(j.toString()); } @@ -1676,9 +1269,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { int BUFFER = 2048; File file = new File(zipFile); - ZipFile zip = null; - try { - zip = new ZipFile(file); + try (ZipFile zip = new ZipFile(file)) { String newPath = "model" + File.separator + zipFile.substring(0, zipFile.length() - 4); this.directory = "model" + File.separator + zipFile.substring(0, zipFile.length() - 4); checkZipDirectory(this.directory); @@ -1698,15 +1289,20 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { if (!entry.isDirectory()){ BufferedInputStream is = new BufferedInputStream(zip.getInputStream(entry)); int currentByte; - byte data[] = new byte[BUFFER]; - FileOutputStream fos = new FileOutputStream(destFile); - BufferedOutputStream dest = new BufferedOutputStream(fos, BUFFER); - while ((currentByte = is.read(data, 0, BUFFER)) != -1) { - dest.write(data, 0, currentByte); + byte[] data = new byte[BUFFER]; + try (FileOutputStream fos = new FileOutputStream(destFile); + BufferedOutputStream dest = new BufferedOutputStream(fos, BUFFER)) { + while ((currentByte = is.read(data, 0, BUFFER)) != -1) { + dest.write(data, 0, currentByte); + } + dest.flush(); + } catch (IOException e) { + LOGGER.error("Failed to write zip contents to {}" + destFile + e); + // + // PLD should I throw e? + // + throw e; } - dest.flush(); - dest.close(); - is.close(); } if (currentEntry.endsWith(".zip")){ @@ -1715,20 +1311,13 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } } catch (IOException e) { LOGGER.error("Failed to unzip model file " + zipFile, e); - }finally{ - try { - if(zip != null) - zip.close(); - } catch (IOException e) { - LOGGER.error("Exception Occured While closing zipfile " + e); - } } } private void retreiveDependency(String workingFile, Boolean modelClass) { MSModelUtils utils = new MSModelUtils(PolicyController.getMsOnapName(), PolicyController.getMsPolicyName()); - HashMap tempMap = new HashMap<>(); + Map tempMap; tempMap = utils.processEpackage(workingFile, MODEL_TYPE.XMI); @@ -1740,9 +1329,9 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } private List listModelFiles(String directoryName) { - File directory = new File(directoryName); + File fileDirectory = new File(directoryName); List resultList = new ArrayList<>(); - File[] fList = directory.listFiles(); + File[] fList = fileDirectory.listFiles(); for (File file : fList) { if (file.isFile()) { resultList.add(file); @@ -1754,7 +1343,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { return resultList; } - private void cleanUp(String path) { + public void cleanUp(String path) { if (path!=null){ try { FileUtils.forceDelete(new File(path)); @@ -1764,7 +1353,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } } - private void checkZipDirectory(String zipDirectory) { + public void checkZipDirectory(String zipDirectory) { Path path = Paths.get(zipDirectory); if (Files.exists(path)) {