X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ONAP-PAP-REST%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fpap%2Fxacml%2Frest%2Fcontroller%2FFirewallDictionaryController.java;h=891787fa000e7d49c7174792404a0b36fee43db8;hb=f0fec2a861ea0a92b27b40882ea38f9422cde0c6;hp=bd1fb0e3221e569c73f13bfdc1941123a18f64f2;hpb=95a5bc9816c0bdf56b4ea6699004eb29940ddc6a;p=policy%2Fengine.git diff --git a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/controller/FirewallDictionaryController.java b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/controller/FirewallDictionaryController.java index bd1fb0e32..891787fa0 100644 --- a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/controller/FirewallDictionaryController.java +++ b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/controller/FirewallDictionaryController.java @@ -65,1078 +65,1078 @@ import com.fasterxml.jackson.databind.ObjectMapper; @Controller public class FirewallDictionaryController { - private static final Logger LOGGER = FlexLogger.getLogger(FirewallDictionaryController.class); - - private static CommonClassDao commonClassDao; - private static String prefixListName = "prefixListName"; - private static String successMessage = "success"; - private static String operation = "operation"; - private static String errorMsg = "error"; - private static String dictionaryFields ="dictionaryFields"; - private static String duplicateResponseString = "Duplicate"; - private static String utf8 = "UTF-8"; - private static String applicationJsonContentType = "application / json"; - private static String protocolName = "protocolName"; - private static String groupNameStart = "Group_"; - private static String option = "option"; - private static String zoneName = "zoneName"; - private static String serviceName = "serviceName"; - private static String termName = "termName"; - private static String userid = "userid"; - private static String tagPickerName = "tagPickerName"; - private static String pfListDatas = "prefixListDictionaryDatas"; - private static String portListDatas = "portListDictionaryDatas"; - private static String protocolListDatas = "protocolListDictionaryDatas"; - private static String addressGroupDatas = "addressGroupDictionaryDatas"; - private static String actionListDatas = "actionListDictionaryDatas"; - private static String serviceGroupDatas = "serviceGroupDictionaryDatas"; - private static String securityZoneDatas = "securityZoneDictionaryDatas"; - private static String serviceListDatas = "serviceListDictionaryDatas"; - private static String zoneDatas = "zoneDictionaryDatas"; - private static String termListDictDatas = "termListDictionaryDatas"; - private static String fwDictListDatas = "fwDictListDictionaryDatas"; - private static String fwTagPickerDatas = "fwTagPickerDictionaryDatas"; - private static String fwTagDatas = "fwTagDictionaryDatas"; - - - @Autowired - public FirewallDictionaryController(CommonClassDao commonClassDao){ - FirewallDictionaryController.commonClassDao = commonClassDao; - } - - public static void setCommonClassDao(CommonClassDao clDao){ - commonClassDao = clDao; - } - - public FirewallDictionaryController(){ - super(); - } - - private DictionaryUtils getDictionaryUtilsInstance(){ - return DictionaryUtils.getDictionaryUtils(); - } - - @RequestMapping(value={"/get_PrefixListDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getPrefixListDictionaryEntityDataByName(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getDataByEntity(response, pfListDatas, prefixListName, PrefixList.class); - } - - @RequestMapping(value={"/get_PrefixListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getPrefixListDictionaryEntityData(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getData(response, pfListDatas, PrefixList.class); - } - - @RequestMapping(value={"/fw_dictionary/save_prefixList"}, method={RequestMethod.POST}) - public ModelAndView savePrefixListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - try { - boolean fromAPI = utils.isRequestFromAPI(request); - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - JsonNode root = mapper.readTree(request.getReader()); - PrefixList prefixList; - if (fromAPI) { - prefixList = mapper.readValue(root.get(dictionaryFields).toString(), PrefixList.class); - } else { - prefixList = mapper.readValue(root.get("prefixListDictionaryData").toString(), PrefixList.class); - } - - List duplicateData = commonClassDao.checkDuplicateEntry(prefixList.getPrefixListName(), prefixListName, PrefixList.class); - boolean duplicateflag = false; - if(!duplicateData.isEmpty()){ - PrefixList data = (PrefixList) duplicateData.get(0); - if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ - prefixList.setId(data.getId()); - }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || - (request.getParameter(operation) == null && (data.getId() != prefixList.getId()))){ - duplicateflag = true; - } - } - String responseString = null; - if(!duplicateflag){ - if(prefixList.getId() == 0){ - commonClassDao.save(prefixList); - }else{ - commonClassDao.update(prefixList); - } - responseString = mapper.writeValueAsString(commonClassDao.getData(PrefixList.class)); - }else{ - responseString = duplicateResponseString; - } - if(fromAPI){ - return utils.getResultForApi(responseString); - }else{ - utils.setResponseData(response, pfListDatas, responseString); - } - }catch (Exception e){ - utils.setErrorResponseData(response, e); - } - return null; - } - - @RequestMapping(value={"/fw_dictionary/remove_PrefixList"}, method={RequestMethod.POST}) - public void removePrefixListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.removeData(request, response, pfListDatas, PrefixList.class); - } - - @RequestMapping(value={"/fw_dictionary/validate_prefixList"}, method={RequestMethod.POST}) - public void validatePrefixListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - try { - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - JsonNode root = mapper.readTree(request.getReader()); - PrefixList prefixList = mapper.readValue(root.get("prefixListDictionaryData").toString(), PrefixList.class); - String responseValidation = successMessage; - try{ - CIDR.newCIDR(prefixList.getPrefixListValue()); - }catch(UnknownHostException e){ - LOGGER.error(e); - responseValidation = errorMsg; - } - response.setCharacterEncoding(utf8); - response.setContentType(applicationJsonContentType); - request.setCharacterEncoding(utf8); - - PrintWriter out = response.getWriter(); - JSONObject j = new JSONObject("{result: " + responseValidation + "}"); - out.write(j.toString()); - } - catch (Exception e){ - utils.setErrorResponseData(response, e); - } - } - - @RequestMapping(value={"/get_PortListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getPortListDictionaryEntityData(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getData(response, portListDatas, PortList.class); - } - - @RequestMapping(value={"/fw_dictionary/save_portName"}, method={RequestMethod.POST}) - public ModelAndView savePortListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - try { - boolean fromAPI = utils.isRequestFromAPI(request); - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - JsonNode root = mapper.readTree(request.getReader()); - PortList portList; - if(fromAPI){ - portList = mapper.readValue(root.get(dictionaryFields).toString(), PortList.class); - }else{ - portList = mapper.readValue(root.get("portListDictionaryData").toString(), PortList.class); - } - List duplicateData = commonClassDao.checkDuplicateEntry(portList.getPortName(), "portName", PortList.class); - boolean duplicateflag = false; - if(!duplicateData.isEmpty()){ - PortList data = (PortList) duplicateData.get(0); - if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ - portList.setId(data.getId()); - }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || - (request.getParameter(operation) == null && (data.getId() != portList.getId()))){ - duplicateflag = true; - } - } - String responseString = null; - if(!duplicateflag){ - if(portList.getId() == 0){ - commonClassDao.save(portList); - }else{ - commonClassDao.update(portList); - } - responseString = mapper.writeValueAsString(commonClassDao.getData(PortList.class)); - }else{ - responseString = duplicateResponseString; - } - if(fromAPI){ - return utils.getResultForApi(responseString); - }else{ - utils.setResponseData(response, portListDatas, responseString); - } - }catch (Exception e){ - utils.setErrorResponseData(response, e); - } - return null; - } - - @RequestMapping(value={"/fw_dictionary/remove_PortList"}, method={RequestMethod.POST}) - public void removePortListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.removeData(request, response, portListDatas, PortList.class); - } - - @RequestMapping(value={"/get_ProtocolListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getProtocolListDictionaryEntityData(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getData(response, protocolListDatas, ProtocolList.class); - } - - @RequestMapping(value={"/get_ProtocolListDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getProtocolListDictionaryEntityDataByName(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getDataByEntity(response, protocolListDatas, protocolName, ProtocolList.class); - } - - @RequestMapping(value={"/fw_dictionary/save_protocolList"}, method={RequestMethod.POST}) - public ModelAndView saveProtocolListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - try { - boolean fromAPI = utils.isRequestFromAPI(request); - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - JsonNode root = mapper.readTree(request.getReader()); - ProtocolList protocolList; - if(fromAPI){ - protocolList = mapper.readValue(root.get(dictionaryFields).toString(), ProtocolList.class); - }else{ - protocolList = mapper.readValue(root.get("protocolListDictionaryData").toString(), ProtocolList.class); - } - List duplicateData = commonClassDao.checkDuplicateEntry(protocolList.getProtocolName(), protocolName, ProtocolList.class); - boolean duplicateflag = false; - if(!duplicateData.isEmpty()){ - ProtocolList data = (ProtocolList) duplicateData.get(0); - if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ - protocolList.setId(data.getId()); - }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || - (request.getParameter(operation) == null && (data.getId() != protocolList.getId()))){ - duplicateflag = true; - } - } - String responseString = null; - if(!duplicateflag){ - if(protocolList.getId() == 0){ - commonClassDao.save(protocolList); - }else{ - commonClassDao.update(protocolList); - } - responseString = mapper.writeValueAsString(commonClassDao.getData(ProtocolList.class)); - }else{ - responseString = duplicateResponseString; - } - if(fromAPI){ - return utils.getResultForApi(responseString); - }else{ - utils.setResponseData(response, protocolListDatas, responseString); - } - }catch (Exception e){ - utils.setErrorResponseData(response, e); - } - return null; - } - - @RequestMapping(value={"/fw_dictionary/remove_protocol"}, method={RequestMethod.POST}) - public void removeProtocolListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.removeData(request, response, protocolListDatas, ProtocolList.class); - } - - @RequestMapping(value={"/get_AddressGroupDictionaryDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getAddressGroupDictionaryEntityDataByName(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getDataByEntity(response, addressGroupDatas, "name", AddressGroup.class); - } - - @RequestMapping(value={"/get_AddressGroupData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getAddressGroupDictionaryEntityData(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getData(response, addressGroupDatas, AddressGroup.class); - } - - @RequestMapping(value={"/fw_dictionary/save_addressGroup"}, method={RequestMethod.POST}) - public ModelAndView saveAddressGroupDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - try { - boolean fromAPI = utils.isRequestFromAPI(request); - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - JsonNode root = mapper.readTree(request.getReader()); - AddressGroup addressGroup; - GridData gridData; - if(fromAPI){ - addressGroup = mapper.readValue(root.get(dictionaryFields).toString(), AddressGroup.class); - gridData = mapper.readValue(root.get(dictionaryFields).toString(), GridData.class); - }else{ - addressGroup = mapper.readValue(root.get("addressGroupDictionaryData").toString(), AddressGroup.class); - gridData = mapper.readValue(root.get("addressGroupDictionaryData").toString(), GridData.class); - } - if(!addressGroup.getGroupName().startsWith(groupNameStart)){ - String groupName = groupNameStart+addressGroup.getGroupName(); - addressGroup.setGroupName(groupName); - } - addressGroup.setServiceList(utils.appendKey(gridData.getAttributes(), option, ",")); - List duplicateData = commonClassDao.checkDuplicateEntry(addressGroup.getGroupName(), "name", AddressGroup.class); - boolean duplicateflag = false; - if(!duplicateData.isEmpty()){ - AddressGroup data = (AddressGroup) duplicateData.get(0); - if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ - addressGroup.setId(data.getId()); - }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || - (request.getParameter(operation) == null && (data.getId() != addressGroup.getId()))){ - duplicateflag = true; - } - } - String responseString = null; - if(!duplicateflag){ - if(addressGroup.getId() == 0){ - commonClassDao.save(addressGroup); - }else{ - commonClassDao.update(addressGroup); - } - responseString = mapper.writeValueAsString(commonClassDao.getData(AddressGroup.class)); - }else{ - responseString = duplicateResponseString; - } - if(fromAPI){ - return utils.getResultForApi(responseString); - }else{ - utils.setResponseData(response, addressGroupDatas, responseString); - } - }catch (Exception e){ - utils.setErrorResponseData(response, e); - } - return null; - } - - @RequestMapping(value={"/fw_dictionary/remove_AddressGroup"}, method={RequestMethod.POST}) - public void removeAddressGroupDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.removeData(request, response, addressGroupDatas, AddressGroup.class); - } - - @RequestMapping(value={"/get_ActionListDictionaryDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getActionListDictionaryEntityDataByName(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getDataByEntity(response, actionListDatas, "actionName", ActionList.class); - } - - @RequestMapping(value={"/get_ActionListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getActionListDictionaryEntityData(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getData(response, actionListDatas, ActionList.class); - } - - @RequestMapping(value={"/fw_dictionary/save_ActionList"}, method={RequestMethod.POST}) - public ModelAndView saveActionListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - try { - boolean fromAPI = utils.isRequestFromAPI(request); - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - JsonNode root = mapper.readTree(request.getReader()); - ActionList actionList; - if (fromAPI) { - actionList = mapper.readValue(root.get(dictionaryFields).toString(), ActionList.class); - } else { - actionList = mapper.readValue(root.get("actionListDictionaryData").toString(), ActionList.class); - } - List duplicateData = commonClassDao.checkDuplicateEntry(actionList.getActionName(), "actionName", ActionList.class); - boolean duplicateflag = false; - if(!duplicateData.isEmpty()){ - ActionList data = (ActionList) duplicateData.get(0); - if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ - actionList.setId(data.getId()); - }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || - (request.getParameter(operation) == null && (data.getId() != actionList.getId()))){ - duplicateflag = true; - } - } - String responseString = null; - if(!duplicateflag){ - if(actionList.getId() == 0){ - commonClassDao.save(actionList); - }else{ - commonClassDao.update(actionList); - } - responseString = mapper.writeValueAsString(commonClassDao.getData(ActionList.class)); - }else{ - responseString = duplicateResponseString; - } - if(fromAPI){ - return utils.getResultForApi(responseString); - }else{ - utils.setResponseData(response, actionListDatas, responseString); - } - }catch (Exception e){ - utils.setErrorResponseData(response, e); - } - return null; - } - - @RequestMapping(value={"/fw_dictionary/remove_ActionList"}, method={RequestMethod.POST}) - public void removeActionListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.removeData(request, response, actionListDatas, ActionList.class); - } - - @RequestMapping(value={"/get_ServiceGroupData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getServiceGroupDictionaryEntityData(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getData(response, serviceGroupDatas, GroupServiceList.class); - } - - @RequestMapping(value={"/get_ServiceGroupDictionaryDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getServiceGroupDictionaryEntityDataByName(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getDataByEntity(response, serviceGroupDatas, "name", GroupServiceList.class); - } - - @RequestMapping(value={"/fw_dictionary/save_serviceGroup"}, method={RequestMethod.POST}) - public ModelAndView saveServiceGroupDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - try { - boolean fromAPI = utils.isRequestFromAPI(request); - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - JsonNode root = mapper.readTree(request.getReader()); - GroupServiceList groupServiceList; - GridData gridData; - if(fromAPI){ - groupServiceList = mapper.readValue(root.get(dictionaryFields).toString(), GroupServiceList.class); - gridData = mapper.readValue(root.get(dictionaryFields).toString(), GridData.class); - }else{ - groupServiceList = mapper.readValue(root.get("serviceGroupDictionaryData").toString(), GroupServiceList.class); - gridData = mapper.readValue(root.get("serviceGroupDictionaryData").toString(), GridData.class); - } - if(!groupServiceList.getGroupName().startsWith(groupNameStart)){ - String groupName = groupNameStart+groupServiceList.getGroupName(); - groupServiceList.setGroupName(groupName); - } - groupServiceList.setServiceList(utils.appendKey(gridData.getAttributes(), option, ",")); - List duplicateData = commonClassDao.checkDuplicateEntry(groupServiceList.getGroupName(), "name", GroupServiceList.class); - boolean duplicateflag = false; - if(!duplicateData.isEmpty()){ - GroupServiceList data = (GroupServiceList) duplicateData.get(0); - if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ - groupServiceList.setId(data.getId()); - }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || - (request.getParameter(operation) == null && (data.getId() != groupServiceList.getId()))){ - duplicateflag = true; - } - } - String responseString = null; - if(!duplicateflag){ - if(groupServiceList.getId() == 0){ - commonClassDao.save(groupServiceList); - }else{ - commonClassDao.update(groupServiceList); - } - responseString = mapper.writeValueAsString(commonClassDao.getData(GroupServiceList.class)); - }else{ - responseString = duplicateResponseString; - } - if(fromAPI){ - return utils.getResultForApi(responseString); - }else{ - utils.setResponseData(response, serviceGroupDatas, responseString); - } - }catch (Exception e){ - utils.setErrorResponseData(response, e); - } - return null; - } - - @RequestMapping(value={"/fw_dictionary/remove_serviceGroup"}, method={RequestMethod.POST}) - public void removeServiceGroupDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.removeData(request, response, serviceGroupDatas, GroupServiceList.class); - } - - @RequestMapping(value={"/get_SecurityZoneDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getSecurityZoneDictionaryEntityDataByName(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getDataByEntity(response, securityZoneDatas, zoneName, SecurityZone.class); - } - - @RequestMapping(value={"/get_SecurityZoneData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getSecurityZoneDictionaryEntityData(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getData(response, securityZoneDatas, SecurityZone.class); - } - - @RequestMapping(value={"/fw_dictionary/save_securityZone"}, method={RequestMethod.POST}) - public ModelAndView saveSecurityZoneDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - try { - boolean fromAPI = utils.isRequestFromAPI(request); - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - JsonNode root = mapper.readTree(request.getReader()); - SecurityZone securityZone; - if(fromAPI){ - securityZone = mapper.readValue(root.get(dictionaryFields).toString(), SecurityZone.class); - }else{ - securityZone = mapper.readValue(root.get("securityZoneDictionaryData").toString(), SecurityZone.class); - } - List duplicateData = commonClassDao.checkDuplicateEntry(securityZone.getZoneName(), zoneName, SecurityZone.class); - boolean duplicateflag = false; - if(!duplicateData.isEmpty()){ - SecurityZone data = (SecurityZone) duplicateData.get(0); - if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ - securityZone.setId(data.getId()); - }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || - (request.getParameter(operation) == null && (data.getId() != securityZone.getId()))){ - duplicateflag = true; - } - } - String responseString = null; - if(!duplicateflag){ - if(securityZone.getId() == 0){ - commonClassDao.save(securityZone); - }else{ - commonClassDao.update(securityZone); - } - responseString = mapper.writeValueAsString(commonClassDao.getData(SecurityZone.class)); - }else{ - responseString = duplicateResponseString; - } - if(fromAPI){ - return utils.getResultForApi(responseString); - }else{ - utils.setResponseData(response, securityZoneDatas, responseString); - } - }catch (Exception e){ - utils.setErrorResponseData(response, e); - } - return null; - } - - @RequestMapping(value={"/fw_dictionary/remove_securityZone"}, method={RequestMethod.POST}) - public void removeSecurityZoneDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException { - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.removeData(request, response, securityZoneDatas, SecurityZone.class); - } - - - @RequestMapping(value={"/get_ServiceListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getServiceListDictionaryEntityData(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getData(response, serviceListDatas, ServiceList.class); - } - - @RequestMapping(value={"/get_ServiceListDictionaryDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getServiceListDictionaryEntityDataByName(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getDataByEntity(response, serviceListDatas, serviceName, ServiceList.class); - } - - @RequestMapping(value={"/fw_dictionary/save_serviceList"}, method={RequestMethod.POST}) - public ModelAndView saveServiceListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - try { - boolean fromAPI = utils.isRequestFromAPI(request); - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - JsonNode root = mapper.readTree(request.getReader()); - ServiceList serviceList; - GridData serviceListGridData; - if(fromAPI){ - serviceList = mapper.readValue(root.get(dictionaryFields).toString(), ServiceList.class); - serviceListGridData = mapper.readValue(root.get(dictionaryFields).toString(), GridData.class); - }else{ - serviceList = mapper.readValue(root.get("serviceListDictionaryData").toString(), ServiceList.class); - serviceListGridData = mapper.readValue(root.get("serviceListDictionaryData").toString(), GridData.class); - } - serviceList.setServiceTransProtocol(utils.appendKey(serviceListGridData.getTransportProtocols(), option, ",")); - serviceList.setServiceAppProtocol(utils.appendKey(serviceListGridData.getAppProtocols(), option, ",")); - serviceList.setServiceType("SERVICE"); - List duplicateData = commonClassDao.checkDuplicateEntry(serviceList.getServiceName(), serviceName, ServiceList.class); - boolean duplicateflag = false; - if(!duplicateData.isEmpty()){ - ServiceList data = (ServiceList) duplicateData.get(0); - if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ - serviceList.setId(data.getId()); - }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || - (request.getParameter(operation) == null && (data.getId() != serviceList.getId()))){ - duplicateflag = true; - } - } - String responseString = null; - if(!duplicateflag){ - if(serviceList.getId() == 0){ - commonClassDao.save(serviceList); - }else{ - commonClassDao.update(serviceList); - } - responseString = mapper.writeValueAsString(commonClassDao.getData(ServiceList.class)); - }else{ - responseString = duplicateResponseString; - } - if(fromAPI){ - return utils.getResultForApi(responseString); - }else{ - utils.setResponseData(response, serviceListDatas, responseString); - } - }catch (Exception e){ - utils.setErrorResponseData(response, e); - } - return null; - } - - @RequestMapping(value={"/fw_dictionary/remove_serviceList"}, method={RequestMethod.POST}) - public void removeServiceListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException { - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.removeData(request, response, serviceListDatas, ServiceList.class); - } - - @RequestMapping(value={"/get_ZoneData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getZoneDictionaryEntityData(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getData(response, zoneDatas, Zone.class); - } - - @RequestMapping(value={"/get_ZoneDictionaryDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getZoneDictionaryEntityDataByName(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getDataByEntity(response, zoneDatas, zoneName, PrefixList.class); - } - - @RequestMapping(value={"/fw_dictionary/save_zoneName"}, method={RequestMethod.POST}) - public ModelAndView saveZoneDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - try { - boolean fromAPI = utils.isRequestFromAPI(request); - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - JsonNode root = mapper.readTree(request.getReader()); - Zone zone; - if (fromAPI) { - zone = mapper.readValue(root.get(dictionaryFields).toString(), Zone.class); - } else { - zone = mapper.readValue(root.get("zoneDictionaryData").toString(), Zone.class); - } - List duplicateData = commonClassDao.checkDuplicateEntry(zone.getZoneName(), zoneName, Zone.class); - boolean duplicateflag = false; - if(!duplicateData.isEmpty()){ - Zone data = (Zone) duplicateData.get(0); - if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ - zone.setId(data.getId()); - }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || - (request.getParameter(operation) == null && (data.getId() != zone.getId()))){ - duplicateflag = true; - } - } - String responseString = null; - if(!duplicateflag){ - if(zone.getId() == 0){ - commonClassDao.save(zone); - }else{ - commonClassDao.update(zone); - } - responseString = mapper.writeValueAsString(commonClassDao.getData(Zone.class)); - }else{ - responseString = duplicateResponseString; - } - if(fromAPI){ - return utils.getResultForApi(responseString); - }else{ - utils.setResponseData(response, zoneDatas, responseString); - } - }catch (Exception e){ - utils.setErrorResponseData(response, e); - } - return null; - } - - @RequestMapping(value={"/fw_dictionary/remove_zone"}, method={RequestMethod.POST}) - public void removeZoneDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.removeData(request, response, zoneDatas, Zone.class); - } - - @RequestMapping(value={"/get_TermListDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getTermListDictionaryEntityDataByName(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getDataByEntity(response, termListDictDatas, termName, TermList.class); - } - - @RequestMapping(value={"/get_TermListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getTermListDictionaryEntityData(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getData(response, termListDictDatas, TermList.class); - } - - @RequestMapping(value={"/fw_dictionary/save_termList"}, method={RequestMethod.POST}) - public ModelAndView saveTermListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - try { - boolean fromAPI = utils.isRequestFromAPI(request); - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - JsonNode root = mapper.readTree(request.getReader()); - TermList termList; - TermListData termListDatas; - String userId = null; - if(fromAPI){ - termList = mapper.readValue(root.get(dictionaryFields).toString(), TermList.class); - termListDatas = mapper.readValue(root.get(dictionaryFields).toString(), TermListData.class); - userId = "API"; - }else{ - termList = mapper.readValue(root.get("termListDictionaryData").toString(), TermList.class); - termListDatas = mapper.readValue(root.get("termListDictionaryData").toString(), TermListData.class); - userId = root.get(userid).textValue(); - } - - termList.setFromZones(utils.appendKey(termListDatas.getFromZoneDatas(), option, ",")); - termList.setToZones(utils.appendKey(termListDatas.getToZoneDatas(), option, ",")); - termList.setSrcIPList(utils.appendKey(termListDatas.getSourceListDatas(), option, ",")); - termList.setDestIPList(utils.appendKey(termListDatas.getDestinationListDatas(), option, ",")); - termList.setSrcPortList(utils.appendKey(termListDatas.getSourceServiceDatas(), option, ",")); - termList.setDestPortList(utils.appendKey(termListDatas.getDestinationServiceDatas(), option, ",")); - termList.setAction(utils.appendKey(termListDatas.getActionListDatas(), option, ",")); - - UserInfo userInfo = utils.getUserInfo(userId); - List duplicateData = commonClassDao.checkDuplicateEntry(termList.getTermName(), termName, TermList.class); - boolean duplicateflag = false; - if(!duplicateData.isEmpty()){ - TermList data = (TermList) duplicateData.get(0); - if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ - termList.setId(data.getId()); - }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || - (request.getParameter(operation) == null && (data.getId() != termList.getId()))){ - duplicateflag = true; - } - } - String responseString = null; - if(!duplicateflag){ - termList.setUserModifiedBy(userInfo); - if(termList.getId() == 0){ - termList.setUserCreatedBy(userInfo); - commonClassDao.save(termList); - }else{ - termList.setModifiedDate(new Date()); - commonClassDao.update(termList); - } - responseString = mapper.writeValueAsString(commonClassDao.getData(TermList.class)); - }else{ - responseString = duplicateResponseString; - } - if(fromAPI){ - return utils.getResultForApi(responseString); - }else{ - utils.setResponseData(response, termListDictDatas, responseString); - } - }catch (Exception e){ - utils.setErrorResponseData(response, e); - } - return null; - } - - @RequestMapping(value={"/fw_dictionary/remove_termList"}, method={RequestMethod.POST}) - public void removeTermListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.removeData(request, response, termListDictDatas, TermList.class); - } - - //ParentList Dictionary Data - @RequestMapping(value={"/get_FWDictionaryListDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getFWDictListDictionaryEntityDataByName(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getDataByEntity(response, fwDictListDatas, "parentItemName", FirewallDictionaryList.class); - } - - @RequestMapping(value={"/get_FWDictionaryListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getFWDictionaryListEntityData(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getData(response, fwDictListDatas, FirewallDictionaryList.class); - } - - @RequestMapping(value={"/fw_dictionary/save_FWDictionaryList"}, method={RequestMethod.POST}) - public ModelAndView saveFWDictionaryList(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - try { - boolean fromAPI = utils.isRequestFromAPI(request); - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - JsonNode root = mapper.readTree(request.getReader()); - FirewallDictionaryList fwDictList; - GridData gridData; - if (fromAPI) { - fwDictList = mapper.readValue(root.get(dictionaryFields).toString(), FirewallDictionaryList.class); - gridData = mapper.readValue(root.get(dictionaryFields).toString(), GridData.class); - } else { - fwDictList = mapper.readValue(root.get("fwDictListDictionaryData").toString(), FirewallDictionaryList.class); - gridData = mapper.readValue(root.get("fwDictListDictionaryData").toString(), GridData.class); - } - - fwDictList.setServiceList(utils.appendKey(gridData.getAttributes(), option, ",")); - fwDictList.setAddressList(utils.appendKey(gridData.getAlAttributes(), option, ",")); - - List duplicateData = commonClassDao.checkDuplicateEntry(fwDictList.getParentItemName(), "parentItemName", FirewallDictionaryList.class); - boolean duplicateflag = false; - if(!duplicateData.isEmpty()){ - FirewallDictionaryList data = (FirewallDictionaryList) duplicateData.get(0); - if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ - fwDictList.setId(data.getId()); - }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || - (request.getParameter(operation) == null && (data.getId() != fwDictList.getId()))){ - duplicateflag = true; - } - } - String responseString = null; - if(!duplicateflag){ - if(fwDictList.getId() == 0){ - commonClassDao.save(fwDictList); - }else{ - commonClassDao.update(fwDictList); - } - responseString = mapper.writeValueAsString(commonClassDao.getData(FirewallDictionaryList.class)); - }else{ - responseString = duplicateResponseString; - } - if(fromAPI){ - return utils.getResultForApi(responseString); - }else{ - utils.setResponseData(response, fwDictListDatas, responseString); - } - } - catch (Exception e){ - utils.setErrorResponseData(response, e); - } - return null; - } - - @RequestMapping(value={"/fw_dictionary/remove_FWDictionaryList"}, method={RequestMethod.POST}) - public void removeFWDictionaryList(HttpServletRequest request, HttpServletResponse response) throws IOException { - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.removeData(request, response, fwDictListDatas, FirewallDictionaryList.class); - } - - - @RequestMapping(value={"/get_TagPickerNameByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getTagPickerNameEntityDataByName(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getDataByEntity(response, fwTagPickerDatas, tagPickerName, FWTagPicker.class); - } - - @RequestMapping(value={"/get_TagPickerListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getTagPickerDictionaryEntityData(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getData(response, fwTagPickerDatas, FWTagPicker.class); - } - - @RequestMapping(value={"/fw_dictionary/save_fwTagPicker"}, method={RequestMethod.POST}) - public ModelAndView saveFirewallTagPickerDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - try { - boolean fromAPI = utils.isRequestFromAPI(request); - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - JsonNode root = mapper.readTree(request.getReader()); - FWTagPicker fwTagPicker; - TagGridValues data; - String userId = ""; - if (fromAPI) { - fwTagPicker = mapper.readValue(root.get(dictionaryFields).toString(), FWTagPicker.class); - data = mapper.readValue(root.get(dictionaryFields).toString(), TagGridValues.class); - userId = "API"; - } else { - fwTagPicker = mapper.readValue(root.get("fwTagPickerDictionaryData").toString(), FWTagPicker.class); - data = mapper.readValue(root.get("fwTagPickerDictionaryData").toString(), TagGridValues.class); - userId = root.get(userid).textValue(); - } - fwTagPicker.setTagValues(utils.appendKeyValue(data.getTags(), "#", ":")); - - UserInfo userInfo = utils.getUserInfo(userId); - - List duplicateData = commonClassDao.checkDuplicateEntry(fwTagPicker.getTagPickerName(), tagPickerName, FWTagPicker.class); - boolean duplicateflag = false; - if(!duplicateData.isEmpty()){ - FWTagPicker data1 = (FWTagPicker) duplicateData.get(0); - if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ - fwTagPicker.setId(data1.getId()); - }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || - (request.getParameter(operation) == null && (data1.getId() != fwTagPicker.getId()))){ - duplicateflag = true; - } - } - String responseString = null; - if(!duplicateflag){ - fwTagPicker.setUserModifiedBy(userInfo); - if(fwTagPicker.getId() == 0){ - fwTagPicker.setUserCreatedBy(userInfo); - commonClassDao.save(fwTagPicker); - }else{ - fwTagPicker.setModifiedDate(new Date()); - commonClassDao.update(fwTagPicker); - } - responseString = mapper.writeValueAsString(commonClassDao.getData(FWTagPicker.class)); - }else{ - responseString = duplicateResponseString; - } - if(fromAPI){ - return utils.getResultForApi(responseString); - }else{ - utils.setResponseData(response, fwTagPickerDatas, responseString); - } - } - catch (Exception e){ - utils.setErrorResponseData(response, e); - } - return null; - } - - @RequestMapping(value={"/fw_dictionary/remove_tagPicker"}, method={RequestMethod.POST}) - public void removeFirewallTagPickerDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException { - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.removeData(request, response, fwTagPickerDatas, FWTagPicker.class); - } - - @RequestMapping(value={"/get_TagListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getTagDictionaryEntityData(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getData(response, fwTagDatas, FWTag.class); - } - - @RequestMapping(value={"/get_TagNameByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) - public void getTagNameEntityDataByName(HttpServletResponse response){ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.getDataByEntity(response, fwTagDatas, "fwTagName", FWTag.class); - } - - - @RequestMapping(value={"/fw_dictionary/save_fwTag"}, method={RequestMethod.POST}) - public ModelAndView saveFirewallTagDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - try { - boolean fromAPI = utils.isRequestFromAPI(request); - ObjectMapper mapper = new ObjectMapper(); - mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); - JsonNode root = mapper.readTree(request.getReader()); - FWTag fwTag; - TagGridValues tagGridValues; - String userId=""; - if(fromAPI){ - fwTag = mapper.readValue(root.get(dictionaryFields).toString(), FWTag.class); - tagGridValues = mapper.readValue(root.get(dictionaryFields).toString(), TagGridValues.class); - userId = "API"; - }else{ - fwTag = mapper.readValue(root.get("fwTagDictionaryData").toString(), FWTag.class); - tagGridValues = mapper.readValue(root.get("fwTagDictionaryData").toString(), TagGridValues.class); - userId = root.get(userid).textValue(); - } - fwTag.setTagValues(utils.appendKey(tagGridValues.getTags(), "tags", ",")); - - UserInfo userInfo = utils.getUserInfo(userId); - List duplicateData = commonClassDao.checkDuplicateEntry(fwTag.getFwTagName(), "fwTagName", FWTag.class); - boolean duplicateflag = false; - if(!duplicateData.isEmpty()){ - FWTag data = (FWTag) duplicateData.get(0); - if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ - fwTag.setId(data.getId()); - }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || - (request.getParameter(operation) == null && (data.getId() != fwTag.getId()))){ - duplicateflag = true; - } - } - String responseString = null; - if(!duplicateflag){ - fwTag.setUserModifiedBy(userInfo); - if(fwTag.getId() == 0){ - fwTag.setUserCreatedBy(userInfo); - commonClassDao.save(fwTag); - }else{ - fwTag.setModifiedDate(new Date()); - commonClassDao.update(fwTag); - } - responseString = mapper.writeValueAsString(commonClassDao.getData(FWTag.class)); - }else{ - responseString = duplicateResponseString; - } - if(fromAPI){ - return utils.getResultForApi(responseString); - }else{ - utils.setResponseData(response, fwTagDatas, responseString); - } - } - catch (Exception e){ - utils.setErrorResponseData(response, e); - } - return null; - } - - @RequestMapping(value={"/fw_dictionary/remove_tagList"}, method={RequestMethod.POST}) - public void removeFirewallTagDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ - DictionaryUtils utils = getDictionaryUtilsInstance(); - utils.removeData(request, response, fwTagDatas, FWTag.class); - } + private static final Logger LOGGER = FlexLogger.getLogger(FirewallDictionaryController.class); + + private static CommonClassDao commonClassDao; + private static String prefixListName = "prefixListName"; + private static String successMessage = "success"; + private static String operation = "operation"; + private static String errorMsg = "error"; + private static String dictionaryFields ="dictionaryFields"; + private static String duplicateResponseString = "Duplicate"; + private static String utf8 = "UTF-8"; + private static String applicationJsonContentType = "application / json"; + private static String protocolName = "protocolName"; + private static String groupNameStart = "Group_"; + private static String option = "option"; + private static String zoneName = "zoneName"; + private static String serviceName = "serviceName"; + private static String termName = "termName"; + private static String userid = "userid"; + private static String tagPickerName = "tagPickerName"; + private static String pfListDatas = "prefixListDictionaryDatas"; + private static String portListDatas = "portListDictionaryDatas"; + private static String protocolListDatas = "protocolListDictionaryDatas"; + private static String addressGroupDatas = "addressGroupDictionaryDatas"; + private static String actionListDatas = "actionListDictionaryDatas"; + private static String serviceGroupDatas = "serviceGroupDictionaryDatas"; + private static String securityZoneDatas = "securityZoneDictionaryDatas"; + private static String serviceListDatas = "serviceListDictionaryDatas"; + private static String zoneDatas = "zoneDictionaryDatas"; + private static String termListDictDatas = "termListDictionaryDatas"; + private static String fwDictListDatas = "fwDictListDictionaryDatas"; + private static String fwTagPickerDatas = "fwTagPickerDictionaryDatas"; + private static String fwTagDatas = "fwTagDictionaryDatas"; + + + @Autowired + public FirewallDictionaryController(CommonClassDao commonClassDao){ + FirewallDictionaryController.commonClassDao = commonClassDao; + } + + public static void setCommonClassDao(CommonClassDao clDao){ + commonClassDao = clDao; + } + + public FirewallDictionaryController(){ + super(); + } + + private DictionaryUtils getDictionaryUtilsInstance(){ + return DictionaryUtils.getDictionaryUtils(); + } + + @RequestMapping(value={"/get_PrefixListDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getPrefixListDictionaryEntityDataByName(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getDataByEntity(response, pfListDatas, prefixListName, PrefixList.class); + } + + @RequestMapping(value={"/get_PrefixListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getPrefixListDictionaryEntityData(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getData(response, pfListDatas, PrefixList.class); + } + + @RequestMapping(value={"/fw_dictionary/save_prefixList"}, method={RequestMethod.POST}) + public ModelAndView savePrefixListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + try { + boolean fromAPI = utils.isRequestFromAPI(request); + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + JsonNode root = mapper.readTree(request.getReader()); + PrefixList prefixList; + if (fromAPI) { + prefixList = mapper.readValue(root.get(dictionaryFields).toString(), PrefixList.class); + } else { + prefixList = mapper.readValue(root.get("prefixListDictionaryData").toString(), PrefixList.class); + } + + List duplicateData = commonClassDao.checkDuplicateEntry(prefixList.getPrefixListName(), prefixListName, PrefixList.class); + boolean duplicateflag = false; + if(!duplicateData.isEmpty()){ + PrefixList data = (PrefixList) duplicateData.get(0); + if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ + prefixList.setId(data.getId()); + }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || + (request.getParameter(operation) == null && (data.getId() != prefixList.getId()))){ + duplicateflag = true; + } + } + String responseString = null; + if(!duplicateflag){ + if(prefixList.getId() == 0){ + commonClassDao.save(prefixList); + }else{ + commonClassDao.update(prefixList); + } + responseString = mapper.writeValueAsString(commonClassDao.getData(PrefixList.class)); + }else{ + responseString = duplicateResponseString; + } + if(fromAPI){ + return utils.getResultForApi(responseString); + }else{ + utils.setResponseData(response, pfListDatas, responseString); + } + }catch (Exception e){ + utils.setErrorResponseData(response, e); + } + return null; + } + + @RequestMapping(value={"/fw_dictionary/remove_PrefixList"}, method={RequestMethod.POST}) + public void removePrefixListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.removeData(request, response, pfListDatas, PrefixList.class); + } + + @RequestMapping(value={"/fw_dictionary/validate_prefixList"}, method={RequestMethod.POST}) + public void validatePrefixListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + try { + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + JsonNode root = mapper.readTree(request.getReader()); + PrefixList prefixList = mapper.readValue(root.get("prefixListDictionaryData").toString(), PrefixList.class); + String responseValidation = successMessage; + try{ + CIDR.newCIDR(prefixList.getPrefixListValue()); + }catch(UnknownHostException e){ + LOGGER.error(e); + responseValidation = errorMsg; + } + response.setCharacterEncoding(utf8); + response.setContentType(applicationJsonContentType); + request.setCharacterEncoding(utf8); + + PrintWriter out = response.getWriter(); + JSONObject j = new JSONObject("{result: " + responseValidation + "}"); + out.write(j.toString()); + } + catch (Exception e){ + utils.setErrorResponseData(response, e); + } + } + + @RequestMapping(value={"/get_PortListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getPortListDictionaryEntityData(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getData(response, portListDatas, PortList.class); + } + + @RequestMapping(value={"/fw_dictionary/save_portName"}, method={RequestMethod.POST}) + public ModelAndView savePortListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + try { + boolean fromAPI = utils.isRequestFromAPI(request); + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + JsonNode root = mapper.readTree(request.getReader()); + PortList portList; + if(fromAPI){ + portList = mapper.readValue(root.get(dictionaryFields).toString(), PortList.class); + }else{ + portList = mapper.readValue(root.get("portListDictionaryData").toString(), PortList.class); + } + List duplicateData = commonClassDao.checkDuplicateEntry(portList.getPortName(), "portName", PortList.class); + boolean duplicateflag = false; + if(!duplicateData.isEmpty()){ + PortList data = (PortList) duplicateData.get(0); + if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ + portList.setId(data.getId()); + }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || + (request.getParameter(operation) == null && (data.getId() != portList.getId()))){ + duplicateflag = true; + } + } + String responseString = null; + if(!duplicateflag){ + if(portList.getId() == 0){ + commonClassDao.save(portList); + }else{ + commonClassDao.update(portList); + } + responseString = mapper.writeValueAsString(commonClassDao.getData(PortList.class)); + }else{ + responseString = duplicateResponseString; + } + if(fromAPI){ + return utils.getResultForApi(responseString); + }else{ + utils.setResponseData(response, portListDatas, responseString); + } + }catch (Exception e){ + utils.setErrorResponseData(response, e); + } + return null; + } + + @RequestMapping(value={"/fw_dictionary/remove_PortList"}, method={RequestMethod.POST}) + public void removePortListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.removeData(request, response, portListDatas, PortList.class); + } + + @RequestMapping(value={"/get_ProtocolListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getProtocolListDictionaryEntityData(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getData(response, protocolListDatas, ProtocolList.class); + } + + @RequestMapping(value={"/get_ProtocolListDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getProtocolListDictionaryEntityDataByName(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getDataByEntity(response, protocolListDatas, protocolName, ProtocolList.class); + } + + @RequestMapping(value={"/fw_dictionary/save_protocolList"}, method={RequestMethod.POST}) + public ModelAndView saveProtocolListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + try { + boolean fromAPI = utils.isRequestFromAPI(request); + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + JsonNode root = mapper.readTree(request.getReader()); + ProtocolList protocolList; + if(fromAPI){ + protocolList = mapper.readValue(root.get(dictionaryFields).toString(), ProtocolList.class); + }else{ + protocolList = mapper.readValue(root.get("protocolListDictionaryData").toString(), ProtocolList.class); + } + List duplicateData = commonClassDao.checkDuplicateEntry(protocolList.getProtocolName(), protocolName, ProtocolList.class); + boolean duplicateflag = false; + if(!duplicateData.isEmpty()){ + ProtocolList data = (ProtocolList) duplicateData.get(0); + if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ + protocolList.setId(data.getId()); + }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || + (request.getParameter(operation) == null && (data.getId() != protocolList.getId()))){ + duplicateflag = true; + } + } + String responseString = null; + if(!duplicateflag){ + if(protocolList.getId() == 0){ + commonClassDao.save(protocolList); + }else{ + commonClassDao.update(protocolList); + } + responseString = mapper.writeValueAsString(commonClassDao.getData(ProtocolList.class)); + }else{ + responseString = duplicateResponseString; + } + if(fromAPI){ + return utils.getResultForApi(responseString); + }else{ + utils.setResponseData(response, protocolListDatas, responseString); + } + }catch (Exception e){ + utils.setErrorResponseData(response, e); + } + return null; + } + + @RequestMapping(value={"/fw_dictionary/remove_protocol"}, method={RequestMethod.POST}) + public void removeProtocolListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.removeData(request, response, protocolListDatas, ProtocolList.class); + } + + @RequestMapping(value={"/get_AddressGroupDictionaryDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getAddressGroupDictionaryEntityDataByName(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getDataByEntity(response, addressGroupDatas, "name", AddressGroup.class); + } + + @RequestMapping(value={"/get_AddressGroupData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getAddressGroupDictionaryEntityData(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getData(response, addressGroupDatas, AddressGroup.class); + } + + @RequestMapping(value={"/fw_dictionary/save_addressGroup"}, method={RequestMethod.POST}) + public ModelAndView saveAddressGroupDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + try { + boolean fromAPI = utils.isRequestFromAPI(request); + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + JsonNode root = mapper.readTree(request.getReader()); + AddressGroup addressGroup; + GridData gridData; + if(fromAPI){ + addressGroup = mapper.readValue(root.get(dictionaryFields).toString(), AddressGroup.class); + gridData = mapper.readValue(root.get(dictionaryFields).toString(), GridData.class); + }else{ + addressGroup = mapper.readValue(root.get("addressGroupDictionaryData").toString(), AddressGroup.class); + gridData = mapper.readValue(root.get("addressGroupDictionaryData").toString(), GridData.class); + } + if(!addressGroup.getGroupName().startsWith(groupNameStart)){ + String groupName = groupNameStart+addressGroup.getGroupName(); + addressGroup.setGroupName(groupName); + } + addressGroup.setServiceList(utils.appendKey(gridData.getAttributes(), option, ",")); + List duplicateData = commonClassDao.checkDuplicateEntry(addressGroup.getGroupName(), "name", AddressGroup.class); + boolean duplicateflag = false; + if(!duplicateData.isEmpty()){ + AddressGroup data = (AddressGroup) duplicateData.get(0); + if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ + addressGroup.setId(data.getId()); + }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || + (request.getParameter(operation) == null && (data.getId() != addressGroup.getId()))){ + duplicateflag = true; + } + } + String responseString = null; + if(!duplicateflag){ + if(addressGroup.getId() == 0){ + commonClassDao.save(addressGroup); + }else{ + commonClassDao.update(addressGroup); + } + responseString = mapper.writeValueAsString(commonClassDao.getData(AddressGroup.class)); + }else{ + responseString = duplicateResponseString; + } + if(fromAPI){ + return utils.getResultForApi(responseString); + }else{ + utils.setResponseData(response, addressGroupDatas, responseString); + } + }catch (Exception e){ + utils.setErrorResponseData(response, e); + } + return null; + } + + @RequestMapping(value={"/fw_dictionary/remove_AddressGroup"}, method={RequestMethod.POST}) + public void removeAddressGroupDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.removeData(request, response, addressGroupDatas, AddressGroup.class); + } + + @RequestMapping(value={"/get_ActionListDictionaryDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getActionListDictionaryEntityDataByName(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getDataByEntity(response, actionListDatas, "actionName", ActionList.class); + } + + @RequestMapping(value={"/get_ActionListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getActionListDictionaryEntityData(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getData(response, actionListDatas, ActionList.class); + } + + @RequestMapping(value={"/fw_dictionary/save_ActionList"}, method={RequestMethod.POST}) + public ModelAndView saveActionListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + try { + boolean fromAPI = utils.isRequestFromAPI(request); + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + JsonNode root = mapper.readTree(request.getReader()); + ActionList actionList; + if (fromAPI) { + actionList = mapper.readValue(root.get(dictionaryFields).toString(), ActionList.class); + } else { + actionList = mapper.readValue(root.get("actionListDictionaryData").toString(), ActionList.class); + } + List duplicateData = commonClassDao.checkDuplicateEntry(actionList.getActionName(), "actionName", ActionList.class); + boolean duplicateflag = false; + if(!duplicateData.isEmpty()){ + ActionList data = (ActionList) duplicateData.get(0); + if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ + actionList.setId(data.getId()); + }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || + (request.getParameter(operation) == null && (data.getId() != actionList.getId()))){ + duplicateflag = true; + } + } + String responseString = null; + if(!duplicateflag){ + if(actionList.getId() == 0){ + commonClassDao.save(actionList); + }else{ + commonClassDao.update(actionList); + } + responseString = mapper.writeValueAsString(commonClassDao.getData(ActionList.class)); + }else{ + responseString = duplicateResponseString; + } + if(fromAPI){ + return utils.getResultForApi(responseString); + }else{ + utils.setResponseData(response, actionListDatas, responseString); + } + }catch (Exception e){ + utils.setErrorResponseData(response, e); + } + return null; + } + + @RequestMapping(value={"/fw_dictionary/remove_ActionList"}, method={RequestMethod.POST}) + public void removeActionListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.removeData(request, response, actionListDatas, ActionList.class); + } + + @RequestMapping(value={"/get_ServiceGroupData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getServiceGroupDictionaryEntityData(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getData(response, serviceGroupDatas, GroupServiceList.class); + } + + @RequestMapping(value={"/get_ServiceGroupDictionaryDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getServiceGroupDictionaryEntityDataByName(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getDataByEntity(response, serviceGroupDatas, "name", GroupServiceList.class); + } + + @RequestMapping(value={"/fw_dictionary/save_serviceGroup"}, method={RequestMethod.POST}) + public ModelAndView saveServiceGroupDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + try { + boolean fromAPI = utils.isRequestFromAPI(request); + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + JsonNode root = mapper.readTree(request.getReader()); + GroupServiceList groupServiceList; + GridData gridData; + if(fromAPI){ + groupServiceList = mapper.readValue(root.get(dictionaryFields).toString(), GroupServiceList.class); + gridData = mapper.readValue(root.get(dictionaryFields).toString(), GridData.class); + }else{ + groupServiceList = mapper.readValue(root.get("serviceGroupDictionaryData").toString(), GroupServiceList.class); + gridData = mapper.readValue(root.get("serviceGroupDictionaryData").toString(), GridData.class); + } + if(!groupServiceList.getGroupName().startsWith(groupNameStart)){ + String groupName = groupNameStart+groupServiceList.getGroupName(); + groupServiceList.setGroupName(groupName); + } + groupServiceList.setServiceList(utils.appendKey(gridData.getAttributes(), option, ",")); + List duplicateData = commonClassDao.checkDuplicateEntry(groupServiceList.getGroupName(), "name", GroupServiceList.class); + boolean duplicateflag = false; + if(!duplicateData.isEmpty()){ + GroupServiceList data = (GroupServiceList) duplicateData.get(0); + if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ + groupServiceList.setId(data.getId()); + }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || + (request.getParameter(operation) == null && (data.getId() != groupServiceList.getId()))){ + duplicateflag = true; + } + } + String responseString = null; + if(!duplicateflag){ + if(groupServiceList.getId() == 0){ + commonClassDao.save(groupServiceList); + }else{ + commonClassDao.update(groupServiceList); + } + responseString = mapper.writeValueAsString(commonClassDao.getData(GroupServiceList.class)); + }else{ + responseString = duplicateResponseString; + } + if(fromAPI){ + return utils.getResultForApi(responseString); + }else{ + utils.setResponseData(response, serviceGroupDatas, responseString); + } + }catch (Exception e){ + utils.setErrorResponseData(response, e); + } + return null; + } + + @RequestMapping(value={"/fw_dictionary/remove_serviceGroup"}, method={RequestMethod.POST}) + public void removeServiceGroupDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.removeData(request, response, serviceGroupDatas, GroupServiceList.class); + } + + @RequestMapping(value={"/get_SecurityZoneDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getSecurityZoneDictionaryEntityDataByName(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getDataByEntity(response, securityZoneDatas, zoneName, SecurityZone.class); + } + + @RequestMapping(value={"/get_SecurityZoneData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getSecurityZoneDictionaryEntityData(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getData(response, securityZoneDatas, SecurityZone.class); + } + + @RequestMapping(value={"/fw_dictionary/save_securityZone"}, method={RequestMethod.POST}) + public ModelAndView saveSecurityZoneDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + try { + boolean fromAPI = utils.isRequestFromAPI(request); + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + JsonNode root = mapper.readTree(request.getReader()); + SecurityZone securityZone; + if(fromAPI){ + securityZone = mapper.readValue(root.get(dictionaryFields).toString(), SecurityZone.class); + }else{ + securityZone = mapper.readValue(root.get("securityZoneDictionaryData").toString(), SecurityZone.class); + } + List duplicateData = commonClassDao.checkDuplicateEntry(securityZone.getZoneName(), zoneName, SecurityZone.class); + boolean duplicateflag = false; + if(!duplicateData.isEmpty()){ + SecurityZone data = (SecurityZone) duplicateData.get(0); + if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ + securityZone.setId(data.getId()); + }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || + (request.getParameter(operation) == null && (data.getId() != securityZone.getId()))){ + duplicateflag = true; + } + } + String responseString = null; + if(!duplicateflag){ + if(securityZone.getId() == 0){ + commonClassDao.save(securityZone); + }else{ + commonClassDao.update(securityZone); + } + responseString = mapper.writeValueAsString(commonClassDao.getData(SecurityZone.class)); + }else{ + responseString = duplicateResponseString; + } + if(fromAPI){ + return utils.getResultForApi(responseString); + }else{ + utils.setResponseData(response, securityZoneDatas, responseString); + } + }catch (Exception e){ + utils.setErrorResponseData(response, e); + } + return null; + } + + @RequestMapping(value={"/fw_dictionary/remove_securityZone"}, method={RequestMethod.POST}) + public void removeSecurityZoneDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException { + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.removeData(request, response, securityZoneDatas, SecurityZone.class); + } + + + @RequestMapping(value={"/get_ServiceListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getServiceListDictionaryEntityData(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getData(response, serviceListDatas, ServiceList.class); + } + + @RequestMapping(value={"/get_ServiceListDictionaryDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getServiceListDictionaryEntityDataByName(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getDataByEntity(response, serviceListDatas, serviceName, ServiceList.class); + } + + @RequestMapping(value={"/fw_dictionary/save_serviceList"}, method={RequestMethod.POST}) + public ModelAndView saveServiceListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + try { + boolean fromAPI = utils.isRequestFromAPI(request); + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + JsonNode root = mapper.readTree(request.getReader()); + ServiceList serviceList; + GridData serviceListGridData; + if(fromAPI){ + serviceList = mapper.readValue(root.get(dictionaryFields).toString(), ServiceList.class); + serviceListGridData = mapper.readValue(root.get(dictionaryFields).toString(), GridData.class); + }else{ + serviceList = mapper.readValue(root.get("serviceListDictionaryData").toString(), ServiceList.class); + serviceListGridData = mapper.readValue(root.get("serviceListDictionaryData").toString(), GridData.class); + } + serviceList.setServiceTransProtocol(utils.appendKey(serviceListGridData.getTransportProtocols(), option, ",")); + serviceList.setServiceAppProtocol(utils.appendKey(serviceListGridData.getAppProtocols(), option, ",")); + serviceList.setServiceType("SERVICE"); + List duplicateData = commonClassDao.checkDuplicateEntry(serviceList.getServiceName(), serviceName, ServiceList.class); + boolean duplicateflag = false; + if(!duplicateData.isEmpty()){ + ServiceList data = (ServiceList) duplicateData.get(0); + if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ + serviceList.setId(data.getId()); + }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || + (request.getParameter(operation) == null && (data.getId() != serviceList.getId()))){ + duplicateflag = true; + } + } + String responseString = null; + if(!duplicateflag){ + if(serviceList.getId() == 0){ + commonClassDao.save(serviceList); + }else{ + commonClassDao.update(serviceList); + } + responseString = mapper.writeValueAsString(commonClassDao.getData(ServiceList.class)); + }else{ + responseString = duplicateResponseString; + } + if(fromAPI){ + return utils.getResultForApi(responseString); + }else{ + utils.setResponseData(response, serviceListDatas, responseString); + } + }catch (Exception e){ + utils.setErrorResponseData(response, e); + } + return null; + } + + @RequestMapping(value={"/fw_dictionary/remove_serviceList"}, method={RequestMethod.POST}) + public void removeServiceListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException { + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.removeData(request, response, serviceListDatas, ServiceList.class); + } + + @RequestMapping(value={"/get_ZoneData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getZoneDictionaryEntityData(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getData(response, zoneDatas, Zone.class); + } + + @RequestMapping(value={"/get_ZoneDictionaryDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getZoneDictionaryEntityDataByName(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getDataByEntity(response, zoneDatas, zoneName, Zone.class); + } + + @RequestMapping(value={"/fw_dictionary/save_zoneName"}, method={RequestMethod.POST}) + public ModelAndView saveZoneDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + try { + boolean fromAPI = utils.isRequestFromAPI(request); + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + JsonNode root = mapper.readTree(request.getReader()); + Zone zone; + if (fromAPI) { + zone = mapper.readValue(root.get(dictionaryFields).toString(), Zone.class); + } else { + zone = mapper.readValue(root.get("zoneDictionaryData").toString(), Zone.class); + } + List duplicateData = commonClassDao.checkDuplicateEntry(zone.getZoneName(), zoneName, Zone.class); + boolean duplicateflag = false; + if(!duplicateData.isEmpty()){ + Zone data = (Zone) duplicateData.get(0); + if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ + zone.setId(data.getId()); + }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || + (request.getParameter(operation) == null && (data.getId() != zone.getId()))){ + duplicateflag = true; + } + } + String responseString = null; + if(!duplicateflag){ + if(zone.getId() == 0){ + commonClassDao.save(zone); + }else{ + commonClassDao.update(zone); + } + responseString = mapper.writeValueAsString(commonClassDao.getData(Zone.class)); + }else{ + responseString = duplicateResponseString; + } + if(fromAPI){ + return utils.getResultForApi(responseString); + }else{ + utils.setResponseData(response, zoneDatas, responseString); + } + }catch (Exception e){ + utils.setErrorResponseData(response, e); + } + return null; + } + + @RequestMapping(value={"/fw_dictionary/remove_zone"}, method={RequestMethod.POST}) + public void removeZoneDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.removeData(request, response, zoneDatas, Zone.class); + } + + @RequestMapping(value={"/get_TermListDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getTermListDictionaryEntityDataByName(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getDataByEntity(response, termListDictDatas, termName, TermList.class); + } + + @RequestMapping(value={"/get_TermListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getTermListDictionaryEntityData(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getData(response, termListDictDatas, TermList.class); + } + + @RequestMapping(value={"/fw_dictionary/save_termList"}, method={RequestMethod.POST}) + public ModelAndView saveTermListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + try { + boolean fromAPI = utils.isRequestFromAPI(request); + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + JsonNode root = mapper.readTree(request.getReader()); + TermList termList; + TermListData termListDatas; + String userId = null; + if(fromAPI){ + termList = mapper.readValue(root.get(dictionaryFields).toString(), TermList.class); + termListDatas = mapper.readValue(root.get(dictionaryFields).toString(), TermListData.class); + userId = "API"; + }else{ + termList = mapper.readValue(root.get("termListDictionaryData").toString(), TermList.class); + termListDatas = mapper.readValue(root.get("termListDictionaryData").toString(), TermListData.class); + userId = root.get(userid).textValue(); + } + + termList.setFromZones(utils.appendKey(termListDatas.getFromZoneDatas(), option, ",")); + termList.setToZones(utils.appendKey(termListDatas.getToZoneDatas(), option, ",")); + termList.setSrcIPList(utils.appendKey(termListDatas.getSourceListDatas(), option, ",")); + termList.setDestIPList(utils.appendKey(termListDatas.getDestinationListDatas(), option, ",")); + termList.setSrcPortList(utils.appendKey(termListDatas.getSourceServiceDatas(), option, ",")); + termList.setDestPortList(utils.appendKey(termListDatas.getDestinationServiceDatas(), option, ",")); + termList.setAction(utils.appendKey(termListDatas.getActionListDatas(), option, ",")); + + UserInfo userInfo = utils.getUserInfo(userId); + List duplicateData = commonClassDao.checkDuplicateEntry(termList.getTermName(), termName, TermList.class); + boolean duplicateflag = false; + if(!duplicateData.isEmpty()){ + TermList data = (TermList) duplicateData.get(0); + if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ + termList.setId(data.getId()); + }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || + (request.getParameter(operation) == null && (data.getId() != termList.getId()))){ + duplicateflag = true; + } + } + String responseString = null; + if(!duplicateflag){ + termList.setUserModifiedBy(userInfo); + if(termList.getId() == 0){ + termList.setUserCreatedBy(userInfo); + commonClassDao.save(termList); + }else{ + termList.setModifiedDate(new Date()); + commonClassDao.update(termList); + } + responseString = mapper.writeValueAsString(commonClassDao.getData(TermList.class)); + }else{ + responseString = duplicateResponseString; + } + if(fromAPI){ + return utils.getResultForApi(responseString); + }else{ + utils.setResponseData(response, termListDictDatas, responseString); + } + }catch (Exception e){ + utils.setErrorResponseData(response, e); + } + return null; + } + + @RequestMapping(value={"/fw_dictionary/remove_termList"}, method={RequestMethod.POST}) + public void removeTermListDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.removeData(request, response, termListDictDatas, TermList.class); + } + + //ParentList Dictionary Data + @RequestMapping(value={"/get_FWDictionaryListDataByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getFWDictListDictionaryEntityDataByName(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getDataByEntity(response, fwDictListDatas, "parentItemName", FirewallDictionaryList.class); + } + + @RequestMapping(value={"/get_FWDictionaryListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getFWDictionaryListEntityData(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getData(response, fwDictListDatas, FirewallDictionaryList.class); + } + + @RequestMapping(value={"/fw_dictionary/save_FWDictionaryList"}, method={RequestMethod.POST}) + public ModelAndView saveFWDictionaryList(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + try { + boolean fromAPI = utils.isRequestFromAPI(request); + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + JsonNode root = mapper.readTree(request.getReader()); + FirewallDictionaryList fwDictList; + GridData gridData; + if (fromAPI) { + fwDictList = mapper.readValue(root.get(dictionaryFields).toString(), FirewallDictionaryList.class); + gridData = mapper.readValue(root.get(dictionaryFields).toString(), GridData.class); + } else { + fwDictList = mapper.readValue(root.get("fwDictListDictionaryData").toString(), FirewallDictionaryList.class); + gridData = mapper.readValue(root.get("fwDictListDictionaryData").toString(), GridData.class); + } + + fwDictList.setServiceList(utils.appendKey(gridData.getAttributes(), option, ",")); + fwDictList.setAddressList(utils.appendKey(gridData.getAlAttributes(), option, ",")); + + List duplicateData = commonClassDao.checkDuplicateEntry(fwDictList.getParentItemName(), "parentItemName", FirewallDictionaryList.class); + boolean duplicateflag = false; + if(!duplicateData.isEmpty()){ + FirewallDictionaryList data = (FirewallDictionaryList) duplicateData.get(0); + if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ + fwDictList.setId(data.getId()); + }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || + (request.getParameter(operation) == null && (data.getId() != fwDictList.getId()))){ + duplicateflag = true; + } + } + String responseString = null; + if(!duplicateflag){ + if(fwDictList.getId() == 0){ + commonClassDao.save(fwDictList); + }else{ + commonClassDao.update(fwDictList); + } + responseString = mapper.writeValueAsString(commonClassDao.getData(FirewallDictionaryList.class)); + }else{ + responseString = duplicateResponseString; + } + if(fromAPI){ + return utils.getResultForApi(responseString); + }else{ + utils.setResponseData(response, fwDictListDatas, responseString); + } + } + catch (Exception e){ + utils.setErrorResponseData(response, e); + } + return null; + } + + @RequestMapping(value={"/fw_dictionary/remove_FWDictionaryList"}, method={RequestMethod.POST}) + public void removeFWDictionaryList(HttpServletRequest request, HttpServletResponse response) throws IOException { + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.removeData(request, response, fwDictListDatas, FirewallDictionaryList.class); + } + + + @RequestMapping(value={"/get_TagPickerNameByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getTagPickerNameEntityDataByName(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getDataByEntity(response, fwTagPickerDatas, tagPickerName, FWTagPicker.class); + } + + @RequestMapping(value={"/get_TagPickerListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getTagPickerDictionaryEntityData(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getData(response, fwTagPickerDatas, FWTagPicker.class); + } + + @RequestMapping(value={"/fw_dictionary/save_fwTagPicker"}, method={RequestMethod.POST}) + public ModelAndView saveFirewallTagPickerDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + try { + boolean fromAPI = utils.isRequestFromAPI(request); + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + JsonNode root = mapper.readTree(request.getReader()); + FWTagPicker fwTagPicker; + TagGridValues data; + String userId = ""; + if (fromAPI) { + fwTagPicker = mapper.readValue(root.get(dictionaryFields).toString(), FWTagPicker.class); + data = mapper.readValue(root.get(dictionaryFields).toString(), TagGridValues.class); + userId = "API"; + } else { + fwTagPicker = mapper.readValue(root.get("fwTagPickerDictionaryData").toString(), FWTagPicker.class); + data = mapper.readValue(root.get("fwTagPickerDictionaryData").toString(), TagGridValues.class); + userId = root.get(userid).textValue(); + } + fwTagPicker.setTagValues(utils.appendKeyValue(data.getTags(), "#", ":")); + + UserInfo userInfo = utils.getUserInfo(userId); + + List duplicateData = commonClassDao.checkDuplicateEntry(fwTagPicker.getTagPickerName(), tagPickerName, FWTagPicker.class); + boolean duplicateflag = false; + if(!duplicateData.isEmpty()){ + FWTagPicker data1 = (FWTagPicker) duplicateData.get(0); + if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ + fwTagPicker.setId(data1.getId()); + }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || + (request.getParameter(operation) == null && (data1.getId() != fwTagPicker.getId()))){ + duplicateflag = true; + } + } + String responseString = null; + if(!duplicateflag){ + fwTagPicker.setUserModifiedBy(userInfo); + if(fwTagPicker.getId() == 0){ + fwTagPicker.setUserCreatedBy(userInfo); + commonClassDao.save(fwTagPicker); + }else{ + fwTagPicker.setModifiedDate(new Date()); + commonClassDao.update(fwTagPicker); + } + responseString = mapper.writeValueAsString(commonClassDao.getData(FWTagPicker.class)); + }else{ + responseString = duplicateResponseString; + } + if(fromAPI){ + return utils.getResultForApi(responseString); + }else{ + utils.setResponseData(response, fwTagPickerDatas, responseString); + } + } + catch (Exception e){ + utils.setErrorResponseData(response, e); + } + return null; + } + + @RequestMapping(value={"/fw_dictionary/remove_tagPicker"}, method={RequestMethod.POST}) + public void removeFirewallTagPickerDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException { + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.removeData(request, response, fwTagPickerDatas, FWTagPicker.class); + } + + @RequestMapping(value={"/get_TagListData"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getTagDictionaryEntityData(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getData(response, fwTagDatas, FWTag.class); + } + + @RequestMapping(value={"/get_TagNameByName"}, method={RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) + public void getTagNameEntityDataByName(HttpServletResponse response){ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.getDataByEntity(response, fwTagDatas, "fwTagName", FWTag.class); + } + + + @RequestMapping(value={"/fw_dictionary/save_fwTag"}, method={RequestMethod.POST}) + public ModelAndView saveFirewallTagDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + try { + boolean fromAPI = utils.isRequestFromAPI(request); + ObjectMapper mapper = new ObjectMapper(); + mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); + JsonNode root = mapper.readTree(request.getReader()); + FWTag fwTag; + TagGridValues tagGridValues; + String userId=""; + if(fromAPI){ + fwTag = mapper.readValue(root.get(dictionaryFields).toString(), FWTag.class); + tagGridValues = mapper.readValue(root.get(dictionaryFields).toString(), TagGridValues.class); + userId = "API"; + }else{ + fwTag = mapper.readValue(root.get("fwTagDictionaryData").toString(), FWTag.class); + tagGridValues = mapper.readValue(root.get("fwTagDictionaryData").toString(), TagGridValues.class); + userId = root.get(userid).textValue(); + } + fwTag.setTagValues(utils.appendKey(tagGridValues.getTags(), "tags", ",")); + + UserInfo userInfo = utils.getUserInfo(userId); + List duplicateData = commonClassDao.checkDuplicateEntry(fwTag.getFwTagName(), "fwTagName", FWTag.class); + boolean duplicateflag = false; + if(!duplicateData.isEmpty()){ + FWTag data = (FWTag) duplicateData.get(0); + if(request.getParameter(operation) != null && "update".equals(request.getParameter(operation))){ + fwTag.setId(data.getId()); + }else if((request.getParameter(operation) != null && !"update".equals(request.getParameter(operation))) || + (request.getParameter(operation) == null && (data.getId() != fwTag.getId()))){ + duplicateflag = true; + } + } + String responseString = null; + if(!duplicateflag){ + fwTag.setUserModifiedBy(userInfo); + if(fwTag.getId() == 0){ + fwTag.setUserCreatedBy(userInfo); + commonClassDao.save(fwTag); + }else{ + fwTag.setModifiedDate(new Date()); + commonClassDao.update(fwTag); + } + responseString = mapper.writeValueAsString(commonClassDao.getData(FWTag.class)); + }else{ + responseString = duplicateResponseString; + } + if(fromAPI){ + return utils.getResultForApi(responseString); + }else{ + utils.setResponseData(response, fwTagDatas, responseString); + } + } + catch (Exception e){ + utils.setErrorResponseData(response, e); + } + return null; + } + + @RequestMapping(value={"/fw_dictionary/remove_tagList"}, method={RequestMethod.POST}) + public void removeFirewallTagDictionary(HttpServletRequest request, HttpServletResponse response) throws IOException{ + DictionaryUtils utils = getDictionaryUtilsInstance(); + utils.removeData(request, response, fwTagDatas, FWTag.class); + } } class TagGridValues{ - private List tags; + private List tags; - public List getTags() { - return tags; - } + public List getTags() { + return tags; + } - public void setTags(List tags) { - this.tags = tags; - } + public void setTags(List tags) { + this.tags = tags; + } } class AGGridData{ - private List attributes; + private List attributes; - public List getAttributes() { - return attributes; - } + public List getAttributes() { + return attributes; + } - public void setAttributes(List attributes) { - this.attributes = attributes; - } + public void setAttributes(List attributes) { + this.attributes = attributes; + } } class TermListData{ - private List fromZoneDatas; - private List toZoneDatas; - private List sourceListDatas; - private List destinationListDatas; - private List sourceServiceDatas; - private List destinationServiceDatas; - private List actionListDatas; - public List getFromZoneDatas() { - return fromZoneDatas; - } - public void setFromZoneDatas(List fromZoneDatas) { - this.fromZoneDatas = fromZoneDatas; - } - public List getToZoneDatas() { - return toZoneDatas; - } - public void setToZoneDatas(List toZoneDatas) { - this.toZoneDatas = toZoneDatas; - } - public List getSourceListDatas() { - return sourceListDatas; - } - public void setSourceListDatas(List sourceListDatas) { - this.sourceListDatas = sourceListDatas; - } - public List getDestinationListDatas() { - return destinationListDatas; - } - public void setDestinationListDatas(List destinationListDatas) { - this.destinationListDatas = destinationListDatas; - } - public List getSourceServiceDatas() { - return sourceServiceDatas; - } - public void setSourceServiceDatas(List sourceServiceDatas) { - this.sourceServiceDatas = sourceServiceDatas; - } - public List getDestinationServiceDatas() { - return destinationServiceDatas; - } - public void setDestinationServiceDatas(List destinationServiceDatas) { - this.destinationServiceDatas = destinationServiceDatas; - } - public List getActionListDatas() { - return actionListDatas; - } - public void setActionListDatas(List actionListDatas) { - this.actionListDatas = actionListDatas; - } + private List fromZoneDatas; + private List toZoneDatas; + private List sourceListDatas; + private List destinationListDatas; + private List sourceServiceDatas; + private List destinationServiceDatas; + private List actionListDatas; + public List getFromZoneDatas() { + return fromZoneDatas; + } + public void setFromZoneDatas(List fromZoneDatas) { + this.fromZoneDatas = fromZoneDatas; + } + public List getToZoneDatas() { + return toZoneDatas; + } + public void setToZoneDatas(List toZoneDatas) { + this.toZoneDatas = toZoneDatas; + } + public List getSourceListDatas() { + return sourceListDatas; + } + public void setSourceListDatas(List sourceListDatas) { + this.sourceListDatas = sourceListDatas; + } + public List getDestinationListDatas() { + return destinationListDatas; + } + public void setDestinationListDatas(List destinationListDatas) { + this.destinationListDatas = destinationListDatas; + } + public List getSourceServiceDatas() { + return sourceServiceDatas; + } + public void setSourceServiceDatas(List sourceServiceDatas) { + this.sourceServiceDatas = sourceServiceDatas; + } + public List getDestinationServiceDatas() { + return destinationServiceDatas; + } + public void setDestinationServiceDatas(List destinationServiceDatas) { + this.destinationServiceDatas = destinationServiceDatas; + } + public List getActionListDatas() { + return actionListDatas; + } + public void setActionListDatas(List actionListDatas) { + this.actionListDatas = actionListDatas; + } } \ No newline at end of file