diff options
Diffstat (limited to 'ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/controller/DictionaryImportController.java')
-rw-r--r-- | ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/controller/DictionaryImportController.java | 1388 |
1 files changed, 694 insertions, 694 deletions
diff --git a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/controller/DictionaryImportController.java b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/controller/DictionaryImportController.java index 9423017c3..7093cd514 100644 --- a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/controller/DictionaryImportController.java +++ b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/controller/DictionaryImportController.java @@ -75,704 +75,704 @@ import au.com.bytecode.opencsv.CSVReader; @Controller public class DictionaryImportController { - private static final Logger LOGGER = FlexLogger.getLogger(DictionaryImportController.class); - - private static CommonClassDao commonClassDao; - private static final String DESCRIPTION= "description"; - private static final String ERROR= "Error"; - private static final String DEPENDENCY= "dependency"; - - @Autowired - public DictionaryImportController(CommonClassDao commonClassDao){ - setCommonClassDao(commonClassDao); - } - - public static void setCommonClassDao(CommonClassDao commonClassDao) { - DictionaryImportController.commonClassDao = commonClassDao; - } - - public DictionaryImportController(){ - super(); - } + private static final Logger LOGGER = FlexLogger.getLogger(DictionaryImportController.class); - @RequestMapping(value={"/dictionary/import_dictionary"}, method={RequestMethod.POST}) - public void importDictionaryData(HttpServletRequest request, HttpServletResponse response) throws IOException{ - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - String userId = request.getParameter("userId"); - String dictionaryName = request.getParameter("dictionaryName"); - - if(dictionaryName == null || dictionaryName.isEmpty()){ - LOGGER.error("dictionaryName is null/empty"); - response.setStatus(HttpServletResponse.SC_BAD_REQUEST); - response.getWriter().write(ERROR); - return; - } - - // fix Fortify Path Manipulation issue - if(!isValidDictionaryName(dictionaryName)){ - LOGGER.error("dictionaryName is invalid"); - response.setStatus(HttpServletResponse.SC_BAD_REQUEST); - response.getWriter().write(ERROR); - return; - } - File file = new File(dictionaryName); - try(OutputStream outputStream = new FileOutputStream(file); FileReader fileReader = new FileReader(file.toString())){ - IOUtils.copy(request.getInputStream(), outputStream); - CSVReader csvReader = new CSVReader(fileReader); - List<String[]> dictSheet = csvReader.readAll(); - if(dictionaryName.startsWith("Attribute")){ - for(int i = 1; i< dictSheet.size(); i++){ - Attribute attribute = new Attribute(""); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - attribute.setUserModifiedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("xacml_id".equalsIgnoreCase(dictSheet.get(0)[j]) || "Attribute ID".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setXacmlId(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - if("priority".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setPriority(rows[j]); - } - if("datatype".equalsIgnoreCase(dictSheet.get(0)[j]) || "Data Type".equalsIgnoreCase(dictSheet.get(0)[j])){ - Datatype dataType = new Datatype(); - if("string".equalsIgnoreCase(rows[j])){ - dataType.setId(26); - }else if("integer".equalsIgnoreCase(rows[j])){ - dataType.setId(12); - }else if("double".equalsIgnoreCase(rows[j])){ - dataType.setId(25); - }else if("boolean".equalsIgnoreCase(rows[j])){ - dataType.setId(18); - }else if("user".equalsIgnoreCase(rows[j])){ - dataType.setId(29); - } - attribute.setDatatypeBean(dataType); - Category category = new Category(); - category.setId(5); - attribute.setCategoryBean(category); - } - if("attribute_value".equalsIgnoreCase(dictSheet.get(0)[j]) || "Attribute Value".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setAttributeValue(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("ActionPolicyDictionary")){ - for(int i = 1; i< dictSheet.size(); i++){ - ActionPolicyDict attribute = new ActionPolicyDict(); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - attribute.setUserModifiedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("attribute_name".equalsIgnoreCase(dictSheet.get(0)[j]) || "Attribute Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setAttributeName(rows[j]); - } - if("body".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setBody(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - if("headers".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setHeader(rows[j]); - } - if("method".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setMethod(rows[j]); - } - if("type".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setType(rows[j]); - } - if("url".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setUrl(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("OnapName")){ - for(int i = 1; i< dictSheet.size(); i++){ - OnapName attribute = new OnapName(); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - attribute.setUserModifiedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("onap_name".equalsIgnoreCase(dictSheet.get(0)[j]) || "Onap Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setOnapName(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - } - commonClassDao.save(attribute); - } - } + private static CommonClassDao commonClassDao; + private static final String DESCRIPTION= "description"; + private static final String ERROR= "Error"; + private static final String DEPENDENCY= "dependency"; - if(dictionaryName.startsWith("MSPolicyDictionary")){ - for(int i = 1; i< dictSheet.size(); i++){ - MicroServiceModels attribute = new MicroServiceModels(); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("modelName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Micro Service Model".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setModelName(rows[j]); - } - if("version".equalsIgnoreCase(dictSheet.get(0)[j]) || "Model Version".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setVersion(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - if(DEPENDENCY.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDependency(rows[j]); - } - if("attributes".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setAttributes(rows[j]); - } - if("enumValues".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setEnumValues(rows[j]); - } - if("Ref Attributes".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setRef_attributes(rows[j]); - } - if("Sub Attributes".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setSub_attributes(rows[j]); - } - if("annotations".equalsIgnoreCase(dictSheet.get(0)[j])) { - attribute.setAnnotation(rows[j]); - } - } + @Autowired + public DictionaryImportController(CommonClassDao commonClassDao){ + setCommonClassDao(commonClassDao); + } - commonClassDao.save(attribute); - } - } + public static void setCommonClassDao(CommonClassDao commonClassDao) { + DictionaryImportController.commonClassDao = commonClassDao; + } - if(dictionaryName.startsWith("OptimizationPolicyDictionary")){ - for(int i = 1; i< dictSheet.size(); i++){ - MicroServiceModels attribute = new MicroServiceModels(); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("modelName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Optimization Service Model".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setModelName(rows[j]); - } - if("version".equalsIgnoreCase(dictSheet.get(0)[j]) || "Model Version".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setVersion(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - if(DEPENDENCY.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDependency(rows[j]); - } - if("attributes".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setAttributes(rows[j]); - } - if("enumValues".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setEnumValues(rows[j]); - } - if("Ref Attributes".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setRef_attributes(rows[j]); - } - if("Sub Attributes".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setSub_attributes(rows[j]); - } - if("annotations".equalsIgnoreCase(dictSheet.get(0)[j])) { - attribute.setAnnotation(rows[j]); - } - } + public DictionaryImportController(){ + super(); + } - commonClassDao.save(attribute); - } - } + @RequestMapping(value={"/dictionary/import_dictionary"}, method={RequestMethod.POST}) + public void importDictionaryData(HttpServletRequest request, HttpServletResponse response) throws IOException{ + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + String userId = request.getParameter("userId"); + String dictionaryName = request.getParameter("dictionaryName"); - if(dictionaryName.startsWith("VNFType")){ - for(int i = 1; i< dictSheet.size(); i++){ - VNFType attribute = new VNFType(); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - attribute.setUserModifiedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("vnf_type".equalsIgnoreCase(dictSheet.get(0)[j]) || "VNF Type".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setVnftype(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("VSCLAction")){ - for(int i = 1; i< dictSheet.size(); i++){ - VSCLAction attribute = new VSCLAction(); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - attribute.setUserModifiedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("vscl_action".equalsIgnoreCase(dictSheet.get(0)[j]) || "VSCL Action".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setVsclaction(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("ClosedLoopService")){ - for(int i = 1; i< dictSheet.size(); i++){ - ClosedLoopD2Services attribute = new ClosedLoopD2Services(); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - attribute.setUserModifiedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("serviceName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Service Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setServiceName(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("ClosedLoopSite")){ - for(int i = 1; i< dictSheet.size(); i++){ - ClosedLoopSite attribute = new ClosedLoopSite(); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - attribute.setUserModifiedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("siteName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Site Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setSiteName(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("PEPOptions")){ - for(int i = 1; i< dictSheet.size(); i++){ - PEPOptions attribute = new PEPOptions(); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - attribute.setUserModifiedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("PEP_NAME".equalsIgnoreCase(dictSheet.get(0)[j]) || "PEP Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setPepName(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - if("Actions".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setActions(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("VarbindDictionary")){ - for(int i = 1; i< dictSheet.size(); i++){ - VarbindDictionary attribute = new VarbindDictionary(); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - attribute.setUserModifiedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("varbind_Name".equalsIgnoreCase(dictSheet.get(0)[j]) || "Varbind Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setVarbindName(rows[j]); - } - if("varbind_Description".equalsIgnoreCase(dictSheet.get(0)[j]) || "Varbind Description".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setVarbindDescription(rows[j]); - } - if("varbind_oid".equalsIgnoreCase(dictSheet.get(0)[j]) || "Varbind OID".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setVarbindOID(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("BRMSParamDictionary")){ - for(int i = 1; i< dictSheet.size(); i++){ - BRMSParamTemplate attribute = new BRMSParamTemplate(); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("param_template_name".equalsIgnoreCase(dictSheet.get(0)[j]) || "Rule Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setRuleName(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - if("rule".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setRule(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("BRMSControllerDictionary")){ - for(int i = 1; i< dictSheet.size(); i++){ - BRMSController attribute = new BRMSController(); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("controllerName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Controller Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setControllerName(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - if("controller".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setController(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("BRMSDependencyDictionary")){ - for(int i = 1; i< dictSheet.size(); i++){ - BRMSDependency attribute = new BRMSDependency(); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("dependencyName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Dependency Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDependencyName(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - if(DEPENDENCY.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDependency(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("Settings")){ - for(int i = 1; i< dictSheet.size(); i++){ - DecisionSettings attribute = new DecisionSettings(); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - attribute.setUserModifiedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("xacml_id".equalsIgnoreCase(dictSheet.get(0)[j]) || "Settings ID".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setXacmlId(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - if("priority".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setPriority(rows[j]); - } - if("datatype".equalsIgnoreCase(dictSheet.get(0)[j]) || "Data Type".equalsIgnoreCase(dictSheet.get(0)[j])){ - Datatype dataType = new Datatype(); - if("string".equalsIgnoreCase(rows[j])){ - dataType.setId(26); - }else if("integer".equalsIgnoreCase(rows[j])){ - dataType.setId(12); - }else if("double".equalsIgnoreCase(rows[j])){ - dataType.setId(25); - }else if("boolean".equalsIgnoreCase(rows[j])){ - dataType.setId(18); - }else if("user".equalsIgnoreCase(rows[j])){ - dataType.setId(29); - } - attribute.setDatatypeBean(dataType); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("PrefixList")){ - for(int i = 1; i< dictSheet.size(); i++){ - PrefixList attribute = new PrefixList(); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("prefixListName".equalsIgnoreCase(dictSheet.get(0)[j]) || "PrefixList Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setPrefixListName(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setPrefixListValue(rows[j]); - } - if("prefixListValue".equalsIgnoreCase(dictSheet.get(0)[j]) || "PrefixList Value".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("SecurityZone")){ - for(int i = 1; i< dictSheet.size(); i++){ - SecurityZone attribute = new SecurityZone(); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("zoneName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Zone Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setZoneName(rows[j]); - } - if("zoneValue".equalsIgnoreCase(dictSheet.get(0)[j]) || "Zone Value".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setZoneValue(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("Zone")){ - for(int i = 1; i< dictSheet.size(); i++){ - Zone attribute = new Zone(); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("zoneName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Zone Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setZoneName(rows[j]); - } - if("zoneValue".equalsIgnoreCase(dictSheet.get(0)[j]) || "Zone Value".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setZoneValue(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("ServiceList")){ - for(int i = 1; i< dictSheet.size(); i++){ - ServiceList attribute = new ServiceList(); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("serviceName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Service Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setServiceName(rows[j]); - } - if("serviceDesc".equalsIgnoreCase(dictSheet.get(0)[j]) || DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setServiceDescription(rows[j]); - } - if("serviceType".equalsIgnoreCase(dictSheet.get(0)[j]) || "Service Type".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setServiceType(rows[j]); - } - if("serviceTrasProtocol".equalsIgnoreCase(dictSheet.get(0)[j]) || "Transport Protocol".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setServiceTransProtocol(rows[j]); - } - if("serviceAppProtocol".equalsIgnoreCase(dictSheet.get(0)[j]) || "APP Protocol".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setServiceAppProtocol(rows[j]); - } - if("servicePorts".equalsIgnoreCase(dictSheet.get(0)[j]) || "Ports".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setServicePorts(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("ServiceGroup")){ - for(int i = 1; i< dictSheet.size(); i++){ - GroupServiceList attribute = new GroupServiceList(); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("name".equalsIgnoreCase(dictSheet.get(0)[j]) || "Group Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setGroupName(rows[j]); - } - if("serviceList".equalsIgnoreCase(dictSheet.get(0)[j]) || "Service List".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setServiceList(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("AddressGroup")){ - for(int i = 1; i< dictSheet.size(); i++){ - AddressGroup attribute = new AddressGroup(); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("name".equalsIgnoreCase(dictSheet.get(0)[j]) || "Group Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setGroupName(rows[j]); - } - if("serviceList".equalsIgnoreCase(dictSheet.get(0)[j]) || "Prefix List".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setServiceList(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("ProtocolList")){ - for(int i = 1; i< dictSheet.size(); i++){ - ProtocolList attribute = new ProtocolList(); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("protocolName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Protocol Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setProtocolName(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("ActionList")){ - for(int i = 1; i< dictSheet.size(); i++){ - ActionList attribute = new ActionList(); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("actionName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Action Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setActionName(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("TermList")){ - for(int i = 1; i< dictSheet.size(); i++){ - TermList attribute = new TermList(); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - attribute.setUserModifiedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("termName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Term-Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setTermName(rows[j]); - } - if("Term-Description".equalsIgnoreCase(dictSheet.get(0)[j]) || "termDescription".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - if("fromZone".equalsIgnoreCase(dictSheet.get(0)[j]) || "From Zone".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setFromZones(rows[j]); - } - if("toZone".equalsIgnoreCase(dictSheet.get(0)[j]) || "To Zone".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setToZones(rows[j]); - } - if("srcIPList".equalsIgnoreCase(dictSheet.get(0)[j]) || "Source-IP-List".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setSrcIPList(rows[j]); - } - if("destIPList".equalsIgnoreCase(dictSheet.get(0)[j]) || "Destination-IP-List".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDestIPList(rows[j]); - } - if("srcPortList".equalsIgnoreCase(dictSheet.get(0)[j]) || "Source-Port-List".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setSrcPortList(rows[j]); - } - if("destPortList".equalsIgnoreCase(dictSheet.get(0)[j]) || "Destination-Port-List".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDestPortList(rows[j]); - } - if("action".equalsIgnoreCase(dictSheet.get(0)[j]) || "Action List".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setAction(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - if(dictionaryName.startsWith("SearchCriteria")){ - for(int i = 1; i< dictSheet.size(); i++){ - DescriptiveScope attribute = new DescriptiveScope(); - UserInfo userinfo = new UserInfo(); - userinfo.setUserLoginId(userId); - attribute.setUserCreatedBy(userinfo); - attribute.setUserModifiedBy(userinfo); - String[] rows = dictSheet.get(i); - for (int j=0 ; j<rows.length; j++ ){ - if("descriptiveScopeName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Descriptive Scope Name".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setScopeName(rows[j]); - } - if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setDescription(rows[j]); - } - if("search".equalsIgnoreCase(dictSheet.get(0)[j]) || "Search Criteria".equalsIgnoreCase(dictSheet.get(0)[j])){ - attribute.setSearch(rows[j]); - } - } - commonClassDao.save(attribute); - } - } - csvReader.close(); - response.setStatus(HttpServletResponse.SC_OK); - response.getWriter().write("Success"); - }catch(Exception e){ - LOGGER.error("Exception Occured while importing dictionary"+e); - response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); - response.getWriter().write(ERROR); - }finally{ - if(file != null && file.exists()){ - boolean deleted = file.delete(); - LOGGER.error("Imported File has been deleted: "+deleted); - } - } - } - - public boolean isValidDictionaryName(String dictionaryName){ - - String nameCheck = dictionaryName.replace(".csv", ""); - try{ - DictionaryNames mode = DictionaryNames.valueOf(nameCheck); - switch (mode){ - case Attribute: - case ActionPolicyDictionary: - case OnapName: - case MSPolicyDictionary: - case OptimizationPolicyDictionary: - case VNFType: - case VSCLAction: - case ClosedLoopService: - case ClosedLoopSite: - case PEPOptions: - case VarbindDictionary: - case BRMSParamDictionary: - case BRMSControllerDictionary: - case BRMSDependencyDictionary: - case Settings: - case PrefixList: - case SecurityZone: - case Zone: - case ServiceList: - case ServiceGroup: - case AddressGroup: - case ProtocolList: - case ActionList: - case TermList: - case SearchCriteria: - return true; - default: - return false; - } - }catch(Exception e){ - LOGGER.error("Dictionary not exits: " +dictionaryName +e); - return false; - } - } + if(dictionaryName == null || dictionaryName.isEmpty()){ + LOGGER.error("dictionaryName is null/empty"); + response.setStatus(HttpServletResponse.SC_BAD_REQUEST); + response.getWriter().write(ERROR); + return; + } + + // fix Fortify Path Manipulation issue + if(!isValidDictionaryName(dictionaryName)){ + LOGGER.error("dictionaryName is invalid"); + response.setStatus(HttpServletResponse.SC_BAD_REQUEST); + response.getWriter().write(ERROR); + return; + } + File file = new File(dictionaryName); + try(OutputStream outputStream = new FileOutputStream(file); FileReader fileReader = new FileReader(file.toString())){ + IOUtils.copy(request.getInputStream(), outputStream); + CSVReader csvReader = new CSVReader(fileReader); + List<String[]> dictSheet = csvReader.readAll(); + if(dictionaryName.startsWith("Attribute")){ + for(int i = 1; i< dictSheet.size(); i++){ + Attribute attribute = new Attribute(""); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + attribute.setUserModifiedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("xacml_id".equalsIgnoreCase(dictSheet.get(0)[j]) || "Attribute ID".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setXacmlId(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + if("priority".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setPriority(rows[j]); + } + if("datatype".equalsIgnoreCase(dictSheet.get(0)[j]) || "Data Type".equalsIgnoreCase(dictSheet.get(0)[j])){ + Datatype dataType = new Datatype(); + if("string".equalsIgnoreCase(rows[j])){ + dataType.setId(26); + }else if("integer".equalsIgnoreCase(rows[j])){ + dataType.setId(12); + }else if("double".equalsIgnoreCase(rows[j])){ + dataType.setId(25); + }else if("boolean".equalsIgnoreCase(rows[j])){ + dataType.setId(18); + }else if("user".equalsIgnoreCase(rows[j])){ + dataType.setId(29); + } + attribute.setDatatypeBean(dataType); + Category category = new Category(); + category.setId(5); + attribute.setCategoryBean(category); + } + if("attribute_value".equalsIgnoreCase(dictSheet.get(0)[j]) || "Attribute Value".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setAttributeValue(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("ActionPolicyDictionary")){ + for(int i = 1; i< dictSheet.size(); i++){ + ActionPolicyDict attribute = new ActionPolicyDict(); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + attribute.setUserModifiedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("attribute_name".equalsIgnoreCase(dictSheet.get(0)[j]) || "Attribute Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setAttributeName(rows[j]); + } + if("body".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setBody(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + if("headers".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setHeader(rows[j]); + } + if("method".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setMethod(rows[j]); + } + if("type".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setType(rows[j]); + } + if("url".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setUrl(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("OnapName")){ + for(int i = 1; i< dictSheet.size(); i++){ + OnapName attribute = new OnapName(); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + attribute.setUserModifiedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("onap_name".equalsIgnoreCase(dictSheet.get(0)[j]) || "Onap Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setOnapName(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + + if(dictionaryName.startsWith("MSPolicyDictionary")){ + for(int i = 1; i< dictSheet.size(); i++){ + MicroServiceModels attribute = new MicroServiceModels(); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("modelName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Micro Service Model".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setModelName(rows[j]); + } + if("version".equalsIgnoreCase(dictSheet.get(0)[j]) || "Model Version".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setVersion(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + if(DEPENDENCY.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDependency(rows[j]); + } + if("attributes".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setAttributes(rows[j]); + } + if("enumValues".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setEnumValues(rows[j]); + } + if("Ref Attributes".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setRef_attributes(rows[j]); + } + if("Sub Attributes".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setSub_attributes(rows[j]); + } + if("annotations".equalsIgnoreCase(dictSheet.get(0)[j])) { + attribute.setAnnotation(rows[j]); + } + } + + commonClassDao.save(attribute); + } + } + + if(dictionaryName.startsWith("OptimizationPolicyDictionary")){ + for(int i = 1; i< dictSheet.size(); i++){ + MicroServiceModels attribute = new MicroServiceModels(); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("modelName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Optimization Service Model".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setModelName(rows[j]); + } + if("version".equalsIgnoreCase(dictSheet.get(0)[j]) || "Model Version".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setVersion(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + if(DEPENDENCY.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDependency(rows[j]); + } + if("attributes".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setAttributes(rows[j]); + } + if("enumValues".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setEnumValues(rows[j]); + } + if("Ref Attributes".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setRef_attributes(rows[j]); + } + if("Sub Attributes".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setSub_attributes(rows[j]); + } + if("annotations".equalsIgnoreCase(dictSheet.get(0)[j])) { + attribute.setAnnotation(rows[j]); + } + } + + commonClassDao.save(attribute); + } + } + + if(dictionaryName.startsWith("VNFType")){ + for(int i = 1; i< dictSheet.size(); i++){ + VNFType attribute = new VNFType(); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + attribute.setUserModifiedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("vnf_type".equalsIgnoreCase(dictSheet.get(0)[j]) || "VNF Type".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setVnftype(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("VSCLAction")){ + for(int i = 1; i< dictSheet.size(); i++){ + VSCLAction attribute = new VSCLAction(); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + attribute.setUserModifiedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("vscl_action".equalsIgnoreCase(dictSheet.get(0)[j]) || "VSCL Action".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setVsclaction(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("ClosedLoopService")){ + for(int i = 1; i< dictSheet.size(); i++){ + ClosedLoopD2Services attribute = new ClosedLoopD2Services(); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + attribute.setUserModifiedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("serviceName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Service Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setServiceName(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("ClosedLoopSite")){ + for(int i = 1; i< dictSheet.size(); i++){ + ClosedLoopSite attribute = new ClosedLoopSite(); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + attribute.setUserModifiedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("siteName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Site Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setSiteName(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("PEPOptions")){ + for(int i = 1; i< dictSheet.size(); i++){ + PEPOptions attribute = new PEPOptions(); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + attribute.setUserModifiedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("PEP_NAME".equalsIgnoreCase(dictSheet.get(0)[j]) || "PEP Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setPepName(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + if("Actions".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setActions(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("VarbindDictionary")){ + for(int i = 1; i< dictSheet.size(); i++){ + VarbindDictionary attribute = new VarbindDictionary(); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + attribute.setUserModifiedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("varbind_Name".equalsIgnoreCase(dictSheet.get(0)[j]) || "Varbind Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setVarbindName(rows[j]); + } + if("varbind_Description".equalsIgnoreCase(dictSheet.get(0)[j]) || "Varbind Description".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setVarbindDescription(rows[j]); + } + if("varbind_oid".equalsIgnoreCase(dictSheet.get(0)[j]) || "Varbind OID".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setVarbindOID(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("BRMSParamDictionary")){ + for(int i = 1; i< dictSheet.size(); i++){ + BRMSParamTemplate attribute = new BRMSParamTemplate(); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("param_template_name".equalsIgnoreCase(dictSheet.get(0)[j]) || "Rule Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setRuleName(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + if("rule".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setRule(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("BRMSControllerDictionary")){ + for(int i = 1; i< dictSheet.size(); i++){ + BRMSController attribute = new BRMSController(); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("controllerName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Controller Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setControllerName(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + if("controller".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setController(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("BRMSDependencyDictionary")){ + for(int i = 1; i< dictSheet.size(); i++){ + BRMSDependency attribute = new BRMSDependency(); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("dependencyName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Dependency Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDependencyName(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + if(DEPENDENCY.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDependency(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("Settings")){ + for(int i = 1; i< dictSheet.size(); i++){ + DecisionSettings attribute = new DecisionSettings(); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + attribute.setUserModifiedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("xacml_id".equalsIgnoreCase(dictSheet.get(0)[j]) || "Settings ID".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setXacmlId(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + if("priority".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setPriority(rows[j]); + } + if("datatype".equalsIgnoreCase(dictSheet.get(0)[j]) || "Data Type".equalsIgnoreCase(dictSheet.get(0)[j])){ + Datatype dataType = new Datatype(); + if("string".equalsIgnoreCase(rows[j])){ + dataType.setId(26); + }else if("integer".equalsIgnoreCase(rows[j])){ + dataType.setId(12); + }else if("double".equalsIgnoreCase(rows[j])){ + dataType.setId(25); + }else if("boolean".equalsIgnoreCase(rows[j])){ + dataType.setId(18); + }else if("user".equalsIgnoreCase(rows[j])){ + dataType.setId(29); + } + attribute.setDatatypeBean(dataType); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("PrefixList")){ + for(int i = 1; i< dictSheet.size(); i++){ + PrefixList attribute = new PrefixList(); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("prefixListName".equalsIgnoreCase(dictSheet.get(0)[j]) || "PrefixList Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setPrefixListName(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setPrefixListValue(rows[j]); + } + if("prefixListValue".equalsIgnoreCase(dictSheet.get(0)[j]) || "PrefixList Value".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("SecurityZone")){ + for(int i = 1; i< dictSheet.size(); i++){ + SecurityZone attribute = new SecurityZone(); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("zoneName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Zone Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setZoneName(rows[j]); + } + if("zoneValue".equalsIgnoreCase(dictSheet.get(0)[j]) || "Zone Value".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setZoneValue(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("Zone")){ + for(int i = 1; i< dictSheet.size(); i++){ + Zone attribute = new Zone(); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("zoneName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Zone Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setZoneName(rows[j]); + } + if("zoneValue".equalsIgnoreCase(dictSheet.get(0)[j]) || "Zone Value".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setZoneValue(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("ServiceList")){ + for(int i = 1; i< dictSheet.size(); i++){ + ServiceList attribute = new ServiceList(); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("serviceName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Service Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setServiceName(rows[j]); + } + if("serviceDesc".equalsIgnoreCase(dictSheet.get(0)[j]) || DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setServiceDescription(rows[j]); + } + if("serviceType".equalsIgnoreCase(dictSheet.get(0)[j]) || "Service Type".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setServiceType(rows[j]); + } + if("serviceTrasProtocol".equalsIgnoreCase(dictSheet.get(0)[j]) || "Transport Protocol".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setServiceTransProtocol(rows[j]); + } + if("serviceAppProtocol".equalsIgnoreCase(dictSheet.get(0)[j]) || "APP Protocol".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setServiceAppProtocol(rows[j]); + } + if("servicePorts".equalsIgnoreCase(dictSheet.get(0)[j]) || "Ports".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setServicePorts(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("ServiceGroup")){ + for(int i = 1; i< dictSheet.size(); i++){ + GroupServiceList attribute = new GroupServiceList(); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("name".equalsIgnoreCase(dictSheet.get(0)[j]) || "Group Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setGroupName(rows[j]); + } + if("serviceList".equalsIgnoreCase(dictSheet.get(0)[j]) || "Service List".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setServiceList(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("AddressGroup")){ + for(int i = 1; i< dictSheet.size(); i++){ + AddressGroup attribute = new AddressGroup(); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("name".equalsIgnoreCase(dictSheet.get(0)[j]) || "Group Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setGroupName(rows[j]); + } + if("serviceList".equalsIgnoreCase(dictSheet.get(0)[j]) || "Prefix List".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setServiceList(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("ProtocolList")){ + for(int i = 1; i< dictSheet.size(); i++){ + ProtocolList attribute = new ProtocolList(); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("protocolName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Protocol Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setProtocolName(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("ActionList")){ + for(int i = 1; i< dictSheet.size(); i++){ + ActionList attribute = new ActionList(); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("actionName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Action Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setActionName(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("TermList")){ + for(int i = 1; i< dictSheet.size(); i++){ + TermList attribute = new TermList(); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + attribute.setUserModifiedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("termName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Term-Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setTermName(rows[j]); + } + if("Term-Description".equalsIgnoreCase(dictSheet.get(0)[j]) || "termDescription".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + if("fromZone".equalsIgnoreCase(dictSheet.get(0)[j]) || "From Zone".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setFromZones(rows[j]); + } + if("toZone".equalsIgnoreCase(dictSheet.get(0)[j]) || "To Zone".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setToZones(rows[j]); + } + if("srcIPList".equalsIgnoreCase(dictSheet.get(0)[j]) || "Source-IP-List".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setSrcIPList(rows[j]); + } + if("destIPList".equalsIgnoreCase(dictSheet.get(0)[j]) || "Destination-IP-List".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDestIPList(rows[j]); + } + if("srcPortList".equalsIgnoreCase(dictSheet.get(0)[j]) || "Source-Port-List".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setSrcPortList(rows[j]); + } + if("destPortList".equalsIgnoreCase(dictSheet.get(0)[j]) || "Destination-Port-List".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDestPortList(rows[j]); + } + if("action".equalsIgnoreCase(dictSheet.get(0)[j]) || "Action List".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setAction(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + if(dictionaryName.startsWith("SearchCriteria")){ + for(int i = 1; i< dictSheet.size(); i++){ + DescriptiveScope attribute = new DescriptiveScope(); + UserInfo userinfo = new UserInfo(); + userinfo.setUserLoginId(userId); + attribute.setUserCreatedBy(userinfo); + attribute.setUserModifiedBy(userinfo); + String[] rows = dictSheet.get(i); + for (int j=0 ; j<rows.length; j++ ){ + if("descriptiveScopeName".equalsIgnoreCase(dictSheet.get(0)[j]) || "Descriptive Scope Name".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setScopeName(rows[j]); + } + if(DESCRIPTION.equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setDescription(rows[j]); + } + if("search".equalsIgnoreCase(dictSheet.get(0)[j]) || "Search Criteria".equalsIgnoreCase(dictSheet.get(0)[j])){ + attribute.setSearch(rows[j]); + } + } + commonClassDao.save(attribute); + } + } + csvReader.close(); + response.setStatus(HttpServletResponse.SC_OK); + response.getWriter().write("Success"); + }catch(Exception e){ + LOGGER.error("Exception Occured while importing dictionary"+e); + response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); + response.getWriter().write(ERROR); + }finally{ + if(file != null && file.exists()){ + boolean deleted = file.delete(); + LOGGER.error("Imported File has been deleted: "+deleted); + } + } + } + + public boolean isValidDictionaryName(String dictionaryName){ + + String nameCheck = dictionaryName.replace(".csv", ""); + try{ + DictionaryNames mode = DictionaryNames.valueOf(nameCheck); + switch (mode){ + case Attribute: + case ActionPolicyDictionary: + case OnapName: + case MSPolicyDictionary: + case OptimizationPolicyDictionary: + case VNFType: + case VSCLAction: + case ClosedLoopService: + case ClosedLoopSite: + case PEPOptions: + case VarbindDictionary: + case BRMSParamDictionary: + case BRMSControllerDictionary: + case BRMSDependencyDictionary: + case Settings: + case PrefixList: + case SecurityZone: + case Zone: + case ServiceList: + case ServiceGroup: + case AddressGroup: + case ProtocolList: + case ActionList: + case TermList: + case SearchCriteria: + return true; + default: + return false; + } + }catch(Exception e){ + LOGGER.error("Dictionary not exits: " +dictionaryName +e); + return false; + } + } }
\ No newline at end of file |