diff options
Diffstat (limited to 'POLICY-SDK-APP/src/main/java')
27 files changed, 510 insertions, 461 deletions
diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyManagerServlet.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyManagerServlet.java index aa8a227d3..a3f4ada0a 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyManagerServlet.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyManagerServlet.java @@ -115,7 +115,7 @@ public class PolicyManagerServlet extends HttpServlet { PolicyManagerServlet.policyNames = policyNames; } - private static List<String> serviceTypeNamesList = new ArrayList<String>(); + private static List<String> serviceTypeNamesList = new ArrayList<>(); private List<Object> policyData; public static List<String> getServiceTypeNamesList() { @@ -142,20 +142,26 @@ public class PolicyManagerServlet extends HttpServlet { String location = closedLoopJsonLocation.toString(); try { inputStream = new FileInputStream(location); + if (location.endsWith("json")) { + JsonReader jsonReader = null; + jsonReader = Json.createReader(inputStream); + policyNames = jsonReader.readArray(); + serviceTypeNamesList = new ArrayList<>(); + for (int i = 0; i < policyNames.size(); i++) { + javax.json.JsonObject policyName = policyNames.getJsonObject(i); + String name = policyName.getJsonString("serviceTypePolicyName").getString(); + serviceTypeNamesList.add(name); + } + jsonReader.close(); + } } catch (FileNotFoundException e) { LOGGER.error("Exception Occured while initializing the JSONConfig file"+e); - } - if (location.endsWith("json")) { - JsonReader jsonReader = null; - jsonReader = Json.createReader(inputStream); - policyNames = jsonReader.readArray(); - serviceTypeNamesList = new ArrayList<String>(); - for (int i = 0; i < policyNames.size(); i++) { - javax.json.JsonObject policyName = policyNames.getJsonObject(i); - String name = policyName.getJsonString("serviceTypePolicyName").getString(); - serviceTypeNamesList.add(name); + }finally{ + try { + inputStream.close(); + } catch (IOException e) { + LOGGER.error("Exception Occured while closing the File InputStream"+e); } - jsonReader.close(); } } @@ -185,6 +191,7 @@ public class PolicyManagerServlet extends HttpServlet { out.print(responseJsonObject); out.flush(); } catch (Exception x) { + LOGGER.error("Exception Occured"+x); response.sendError(HttpStatus.SC_INTERNAL_SERVER_ERROR, x.getMessage()); } } @@ -193,7 +200,7 @@ public class PolicyManagerServlet extends HttpServlet { private void uploadFile(HttpServletRequest request, HttpServletResponse response) throws ServletException { try { String newFile; - Map<String, InputStream> files = new HashMap<String, InputStream>(); + Map<String, InputStream> files = new HashMap<>(); List<FileItem> items = new ServletFileUpload(new DiskFileItemFactory()).parseRequest(request); for (FileItem item : items) { @@ -218,7 +225,7 @@ public class PolicyManagerServlet extends HttpServlet { JSONObject responseJsonObject = null; responseJsonObject = this.success(); - response.setContentType("application/json"); + response.setContentType(CONTENTTYPE); PrintWriter out = response.getWriter(); out.print(responseJsonObject); out.flush(); @@ -286,7 +293,7 @@ public class PolicyManagerServlet extends HttpServlet { LOGGER.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Exception Occured While doing File Operation" + e); responseJsonObject = error(e.getMessage()); } - response.setContentType("application/json"); + response.setContentType(CONTENTTYPE); PrintWriter out = response.getWriter(); out.print(responseJsonObject); out.flush(); @@ -295,20 +302,20 @@ public class PolicyManagerServlet extends HttpServlet { private JSONObject searchPolicyList(JSONObject params, HttpServletRequest request) { Set<String> scopes = null; List<String> roles = null; - policyData = new ArrayList<Object>(); + policyData = new ArrayList<>(); JSONArray policyList = null; if(params.has("policyList")){ policyList = (JSONArray) params.get("policyList"); } PolicyController controller = new PolicyController(); - List<JSONObject> resultList = new ArrayList<JSONObject>(); + List<JSONObject> resultList = new ArrayList<>(); try { //Get the Login Id of the User from Request String userId = UserUtils.getUserSession(request).getOrgUserId(); //Check if the Role and Scope Size are Null get the values from db. List<Object> userRoles = PolicyController.getRoles(userId); - roles = new ArrayList<String>(); - scopes = new HashSet<String>(); + roles = new ArrayList<>(); + scopes = new HashSet<>(); for(Object role: userRoles){ Roles userRole = (Roles) role; roles.add(userRole.getRole()); @@ -352,7 +359,7 @@ public class PolicyManagerServlet extends HttpServlet { } } }else{ - if (roles.contains("super-admin") || roles.contains("super-editor") || roles.contains("super-guest") ){ + if (roles.contains(SUPERADMIN) || roles.contains(SUPEREDITOR) || roles.contains(SUPERGUEST) ){ policyData = controller.getData(PolicyVersion.class); }else{ List<Object> filterdatas = controller.getData(PolicyVersion.class); @@ -494,7 +501,9 @@ public class PolicyManagerServlet extends HttpServlet { } catch (IOException e) { LOGGER.error("Exception Occured while Describing the Policy"+e); }finally{ - temp.delete(); + if(temp != null){ + temp.delete(); + } } }else{ return error("Error Occured while Describing the Policy"); @@ -512,8 +521,8 @@ public class PolicyManagerServlet extends HttpServlet { String userId = UserUtils.getUserSession(request).getOrgUserId(); //Check if the Role and Scope Size are Null get the values from db. List<Object> userRoles = PolicyController.getRoles(userId); - roles = new ArrayList<String>(); - scopes = new HashSet<String>(); + roles = new ArrayList<>(); + scopes = new HashSet<>(); for(Object role: userRoles){ Roles userRole = (Roles) role; roles.add(userRole.getRole()); @@ -534,7 +543,7 @@ public class PolicyManagerServlet extends HttpServlet { } } - List<JSONObject> resultList = new ArrayList<JSONObject>(); + List<JSONObject> resultList = new ArrayList<>(); boolean onlyFolders = params.getBoolean("onlyFolders"); String path = params.getString("path"); if(path.contains("..xml")){ @@ -680,7 +689,7 @@ public class PolicyManagerServlet extends HttpServlet { PolicyController controller = new PolicyController(); UserInfo userInfo = (UserInfo) controller.getEntityItem(UserInfo.class, "userLoginId", loginId); if(userInfo == null){ - return "super-admin"; + return SUPERADMIN; } return userInfo.getUserName(); } @@ -688,13 +697,19 @@ public class PolicyManagerServlet extends HttpServlet { //Rename Policy private JSONObject rename(JSONObject params, HttpServletRequest request) throws ServletException { try { + boolean isActive = false; + List<String> policyActiveInPDP = new ArrayList<>(); + Set<String> scopeOfPolicyActiveInPDP = new HashSet<>(); String userId = UserUtils.getUserSession(request).getOrgUserId(); String oldPath = params.getString("path"); String newPath = params.getString("newPath"); oldPath = oldPath.substring(oldPath.indexOf("/")+1); newPath = newPath.substring(newPath.indexOf("/")+1); if(oldPath.endsWith(".xml")){ - policyRename(oldPath, newPath, userId); + JSONObject result = policyRename(oldPath, newPath, userId); + if(!(Boolean)(result.getJSONObject("result").get("success"))){ + return result; + } }else{ String scopeName = oldPath; String newScopeName = newPath; @@ -715,18 +730,36 @@ public class PolicyManagerServlet extends HttpServlet { PolicyVersion activeVersion = (PolicyVersion) object; String policyOldPath = activeVersion.getPolicyName().replace(File.separator, "/") + "." + activeVersion.getActiveVersion() + ".xml"; String policyNewPath = policyOldPath.replace(oldPath, newPath); - policyRename(policyOldPath, policyNewPath, userId); + JSONObject result = policyRename(policyOldPath, policyNewPath, userId); + if(!(Boolean)(result.getJSONObject("result").get("success"))){ + isActive = true; + policyActiveInPDP.add(policyOldPath); + String scope = policyOldPath.substring(0, policyOldPath.lastIndexOf("/")); + scopeOfPolicyActiveInPDP.add(scope.replace("/", File.separator)); + } + } + boolean rename = false; + if(activePolicies.size() != policyActiveInPDP.size()){ + rename = true; } - for(Object object : scopesList){ - PolicyEditorScopes editorScopeEntity = (PolicyEditorScopes) object; - if(scopeName.contains("\\\\\\\\")){ - scopeName = scopeName.replace("\\\\\\\\", File.separator); - newScopeName = newScopeName.replace("\\\\\\\\", File.separator); + + UserInfo userInfo = new UserInfo(); + userInfo.setUserLoginId(userId); + if(policyActiveInPDP.size() == 0){ + renameScope(scopesList, scopeName, newScopeName, controller); + }else if(rename){ + renameScope(scopesList, scopeName, newScopeName, controller); + for(String scope : scopeOfPolicyActiveInPDP){ + PolicyEditorScopes editorScopeEntity = new PolicyEditorScopes(); + editorScopeEntity.setScopeName(scope.replace("\\", "\\\\\\\\")); + editorScopeEntity.setUserCreatedBy(userInfo); + editorScopeEntity.setUserModifiedBy(userInfo); + controller.saveData(editorScopeEntity); } - String scope = editorScopeEntity.getScopeName().replace(scopeName, newScopeName); - editorScopeEntity.setScopeName(scope); - controller.updateData(editorScopeEntity); } + if(isActive){ + return error("The Following policies rename failed. Since they are active in PDP Groups" +policyActiveInPDP); + } } return success(); } catch (Exception e) { @@ -735,11 +768,24 @@ public class PolicyManagerServlet extends HttpServlet { } } + private void renameScope(List<Object> scopesList, String scopeName, String newScopeName, PolicyController controller){ + for(Object object : scopesList){ + PolicyEditorScopes editorScopeEntity = (PolicyEditorScopes) object; + if(scopeName.contains("\\\\\\\\")){ + scopeName = scopeName.replace("\\\\\\\\", File.separator); + newScopeName = newScopeName.replace("\\\\\\\\", File.separator); + } + String scope = editorScopeEntity.getScopeName().replace(scopeName, newScopeName); + editorScopeEntity.setScopeName(scope); + controller.updateData(editorScopeEntity); + } + } + private JSONObject policyRename(String oldPath, String newPath, String userId) throws ServletException { try { PolicyEntity entity = null; PolicyController controller = new PolicyController(); - + String policyVersionName = newPath.replace(".xml", ""); String policyName = policyVersionName.substring(0, policyVersionName.lastIndexOf(".")).replace("/", File.separator); @@ -767,51 +813,42 @@ public class PolicyManagerServlet extends HttpServlet { oldPolicyCheck = oldPolicyCheck.replace(".Decision_", ":Decision_"); } String[] oldPolicySplit = oldPolicyCheck.split(":"); - + //Check PolicyEntity table with newPolicy Name String policyEntityquery = "FROM PolicyEntity where policyName = '"+newPolicySplit[1]+"' and scope ='"+newPolicySplit[0]+"'"; - System.out.println(policyEntityquery); List<Object> queryData = controller.getDataByQuery(policyEntityquery); if(!queryData.isEmpty()){ entity = (PolicyEntity) queryData.get(0); + return error("Policy rename failed. Since, the policy with same name already exists."); } - - if(entity != null){ - //if a policy exists with new name check if it is deleted or not - if(entity.isDeleted()){ - //Check Policy Group Entity table if policy has been pushed or not - String query = "from PolicyGroupEntity where policyid = '"+entity.getPolicyId()+"'"; - List<Object> object = controller.getDataByQuery(query); - if(object.isEmpty()){ - //if PolicyGroupEntity data is empty delete the entry from database - controller.deleteData(entity); - //Query the Policy Entity with oldPolicy Name - String oldpolicyEntityquery = "FROM PolicyEntity where policyName = '"+oldPolicySplit[1]+"' and scope ='"+oldPolicySplit[0]+"'"; - System.out.println(oldpolicyEntityquery); - List<Object> oldEntityData = controller.getDataByQuery(oldpolicyEntityquery); - if(!oldEntityData.isEmpty()){ - entity = (PolicyEntity) oldEntityData.get(0); - } - checkOldPolicyEntryAndUpdate(entity, newPolicySplit[0], newPolicySplit[1], oldPolicySplit[0], oldPolicySplit[1], policyName, newpolicyName, oldpolicyName, userId); + + //Query the Policy Entity with oldPolicy Name + String policyEntityCheck = oldPolicySplit[1].substring(0, oldPolicySplit[1].indexOf(".")); + String oldpolicyEntityquery = "FROM PolicyEntity where policyName like '"+policyEntityCheck+"%' and scope ='"+oldPolicySplit[0]+"'"; + List<Object> oldEntityData = controller.getDataByQuery(oldpolicyEntityquery); + if(!oldEntityData.isEmpty()){ + String groupQuery = "FROM PolicyGroupEntity where ("; + for(int i=0; i<oldEntityData.size(); i++){ + entity = (PolicyEntity) oldEntityData.get(i); + if(i == 0){ + groupQuery = groupQuery + "policyid =" + entity.getPolicyId(); }else{ - return error("Policy rename failed due to policy with new name existing in PDP Group."); + groupQuery = groupQuery + " or policyid =" + entity.getPolicyId(); } - }else{ - return error("Policy rename failed due to same name existing."); } - }else{ - //Query the Policy Entity with oldPolicy Name - String policyEntityCheck = oldPolicySplit[1].substring(0, oldPolicySplit[1].indexOf(".")); - String oldpolicyEntityquery = "FROM PolicyEntity where policyName like '"+policyEntityCheck+"%' and scope ='"+oldPolicySplit[0]+"'"; - List<Object> oldEntityData = controller.getDataByQuery(oldpolicyEntityquery); - if(!oldEntityData.isEmpty()){ - for(int i=0; i<oldEntityData.size(); i++){ - entity = (PolicyEntity) oldEntityData.get(i); - checkOldPolicyEntryAndUpdate(entity, newPolicySplit[0] , newPolicySplit[1], oldPolicySplit[0], oldPolicySplit[1], policyName, newpolicyName, oldpolicyName, userId); - } + groupQuery = groupQuery + ")"; + List<Object> groupEntityData = controller.getDataByQuery(groupQuery); + if(groupEntityData.size() > 0){ + return error("Policy rename failed. Since the policy or its version is active in PDP Groups."); } + for(int i=0; i<oldEntityData.size(); i++){ + entity = (PolicyEntity) oldEntityData.get(i); + checkOldPolicyEntryAndUpdate(entity, newPolicySplit[0] , newPolicySplit[1], oldPolicySplit[0], oldPolicySplit[1], policyName, newpolicyName, oldpolicyName, userId); + } + }else{ + return error("Policy rename failed due to policy not able to retrieve from database. Please, contact super-admin."); } - + return success(); } catch (Exception e) { LOGGER.error(XACMLErrorConstants.ERROR_DATA_ISSUE+"Exception Occured While Renaming Policy"+e); @@ -822,60 +859,54 @@ public class PolicyManagerServlet extends HttpServlet { private JSONObject checkOldPolicyEntryAndUpdate(PolicyEntity entity, String newScope, String removenewPolicyExtension, String oldScope, String removeoldPolicyExtension, String policyName, String newpolicyName, String oldpolicyName, String userId) throws ServletException{ try { - ConfigurationDataEntity configEntity; - ActionBodyEntity actionEntity; + ConfigurationDataEntity configEntity = entity.getConfigurationData(); + ActionBodyEntity actionEntity = entity.getActionBodyEntity(); PolicyController controller = new PolicyController(); - configEntity = entity.getConfigurationData(); - actionEntity = entity.getActionBodyEntity(); - if(entity != null){ - //Check Policy Group Entity table if policy has been pushed or not - String query = "from PolicyGroupEntity where policyid = '"+entity.getPolicyId()+"'"; - List<Object> object = controller.getDataByQuery(query); - if(object.isEmpty()){ - String oldPolicyNameWithoutExtension = removeoldPolicyExtension; - String newPolicyNameWithoutExtension = removenewPolicyExtension; - if(removeoldPolicyExtension.endsWith(".xml")){ - oldPolicyNameWithoutExtension = oldPolicyNameWithoutExtension.substring(0, oldPolicyNameWithoutExtension.indexOf(".")); - newPolicyNameWithoutExtension = newPolicyNameWithoutExtension.substring(0, newPolicyNameWithoutExtension.indexOf(".")); - } - entity.setPolicyName(entity.getPolicyName().replace(oldPolicyNameWithoutExtension, newPolicyNameWithoutExtension)); - entity.setPolicyData(entity.getPolicyData().replace(oldScope +"."+oldPolicyNameWithoutExtension, newScope+"."+newPolicyNameWithoutExtension)); - entity.setScope(newScope); - entity.setModifiedBy(userId); - if(newpolicyName.contains("Config_")){ - configEntity.setConfigurationName(configEntity.getConfigurationName().replace(oldScope +"."+oldPolicyNameWithoutExtension, newScope+"."+newPolicyNameWithoutExtension)); - controller.updateData(configEntity); - }else if(newpolicyName.contains("Action_")){ - actionEntity.setActionBody(actionEntity.getActionBody().replace(oldScope +"."+oldPolicyNameWithoutExtension, newScope+"."+newPolicyNameWithoutExtension)); - controller.updateData(actionEntity); - } - controller.updateData(entity); - }else{ - //Mark as Deleted in PolicyEntiy table - entity.setDeleted(true); - controller.updateData(entity); - //Mark as Deleted in ConfigurationDataEntity table - configEntity.setDeleted(true); - controller.updateData(configEntity); - //Mark as Deleted in ActionDataEntity table - actionEntity.setDeleted(true); - controller.updateData(actionEntity); - //Clone New Copy - cloneRecord(newpolicyName, oldScope, removeoldPolicyExtension, newScope, removenewPolicyExtension, entity, userId); - } - PolicyVersion versionEntity = (PolicyVersion) controller.getEntityItem(PolicyVersion.class, "policyName", oldpolicyName); - versionEntity.setPolicyName(policyName); - versionEntity.setModifiedBy(userId); - controller.updateData(versionEntity); - String movePolicyCheck = policyName.substring(policyName.lastIndexOf(File.separator)+1); - String moveOldPolicyCheck = oldpolicyName.substring(oldpolicyName.lastIndexOf(File.separator)+1); - if(movePolicyCheck.equals(moveOldPolicyCheck)){ - controller.watchPolicyFunction(versionEntity, oldpolicyName, "Move"); - }else{ - controller.watchPolicyFunction(versionEntity, oldpolicyName, "Rename"); + String oldPolicyNameWithoutExtension = removeoldPolicyExtension; + String newPolicyNameWithoutExtension = removenewPolicyExtension; + if(removeoldPolicyExtension.endsWith(".xml")){ + oldPolicyNameWithoutExtension = oldPolicyNameWithoutExtension.substring(0, oldPolicyNameWithoutExtension.indexOf(".")); + newPolicyNameWithoutExtension = newPolicyNameWithoutExtension.substring(0, newPolicyNameWithoutExtension.indexOf(".")); + } + entity.setPolicyName(entity.getPolicyName().replace(oldPolicyNameWithoutExtension, newPolicyNameWithoutExtension)); + entity.setPolicyData(entity.getPolicyData().replace(oldScope +"."+oldPolicyNameWithoutExtension, newScope+"."+newPolicyNameWithoutExtension)); + entity.setScope(newScope); + entity.setModifiedBy(userId); + if(newpolicyName.contains("Config_")){ + String oldConfigurationName = configEntity.getConfigurationName(); + configEntity.setConfigurationName(configEntity.getConfigurationName().replace(oldScope +"."+oldPolicyNameWithoutExtension, newScope+"."+newPolicyNameWithoutExtension)); + controller.updateData(configEntity); + String newConfigurationName = configEntity.getConfigurationName(); + File file = new File(PolicyController.configHome + File.separator + oldConfigurationName); + if(file.exists()){ + File renamefile = new File(PolicyController.configHome + File.separator + newConfigurationName); + file.renameTo(renamefile); + } + }else if(newpolicyName.contains("Action_")){ + String oldConfigurationName = actionEntity.getActionBodyName(); + actionEntity.setActionBody(actionEntity.getActionBody().replace(oldScope +"."+oldPolicyNameWithoutExtension, newScope+"."+newPolicyNameWithoutExtension)); + controller.updateData(actionEntity); + String newConfigurationName = actionEntity.getActionBodyName(); + File file = new File(PolicyController.actionHome + File.separator + oldConfigurationName); + if(file.exists()){ + File renamefile = new File(PolicyController.actionHome + File.separator + newConfigurationName); + file.renameTo(renamefile); } } + controller.updateData(entity); + + PolicyVersion versionEntity = (PolicyVersion) controller.getEntityItem(PolicyVersion.class, "policyName", oldpolicyName); + versionEntity.setPolicyName(policyName); + versionEntity.setModifiedBy(userId); + controller.updateData(versionEntity); + String movePolicyCheck = policyName.substring(policyName.lastIndexOf(File.separator)+1); + String moveOldPolicyCheck = oldpolicyName.substring(oldpolicyName.lastIndexOf(File.separator)+1); + if(movePolicyCheck.equals(moveOldPolicyCheck)){ + controller.watchPolicyFunction(versionEntity, oldpolicyName, "Move"); + }else{ + controller.watchPolicyFunction(versionEntity, oldpolicyName, "Rename"); + } return success(); } catch (Exception e) { LOGGER.error("Exception Occured"+e); @@ -970,7 +1001,6 @@ public class PolicyManagerServlet extends HttpServlet { //Check PolicyEntity table with newPolicy Name String policyEntityquery = "FROM PolicyEntity where policyName = '"+newPolicySplit[1]+"' and scope ='"+newPolicySplit[0]+"'"; - System.out.println(policyEntityquery); List<Object> queryData = controller.getDataByQuery(policyEntityquery); if(!queryData.isEmpty()){ entity = (PolicyEntity) queryData.get(0); @@ -986,7 +1016,6 @@ public class PolicyManagerServlet extends HttpServlet { controller.deleteData(entity); //Query the Policy Entity with oldPolicy Name policyEntityquery = "FROM PolicyEntity where policyName = '"+oldPolicySplit[1]+"' and scope ='"+oldPolicySplit[0]+"'"; - System.out.println(policyEntityquery); queryData = controller.getDataByQuery(policyEntityquery); if(!queryData.isEmpty()){ entity = (PolicyEntity) queryData.get(0); @@ -1004,7 +1033,6 @@ public class PolicyManagerServlet extends HttpServlet { }else{ //Query the Policy Entity with oldPolicy Name policyEntityquery = "FROM PolicyEntity where policyName = '"+oldPolicySplit[1]+"' and scope ='"+oldPolicySplit[0]+"'"; - System.out.println(policyEntityquery); queryData = controller.getDataByQuery(policyEntityquery); if(!queryData.isEmpty()){ entity = (PolicyEntity) queryData.get(0); diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyNotificationMail.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyNotificationMail.java index 3aee634fd..5d8460bf6 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyNotificationMail.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyNotificationMail.java @@ -63,7 +63,6 @@ public class PolicyNotificationMail{ return mailSender; } - @SuppressWarnings("resource") public void sendMail(PolicyVersion entityItem, String policyName, String mode, CommonClassDao policyNotificationDao) throws MessagingException { String from = PolicyController.smtpUsername; String to = ""; @@ -71,37 +70,37 @@ public class PolicyNotificationMail{ String message = ""; DateFormat dateFormat = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); Date date = new Date(); - if(mode.equalsIgnoreCase("EditPolicy")){ + if("EditPolicy".equalsIgnoreCase(mode)){ subject = "Policy has been Updated : "+entityItem.getPolicyName(); message = "The Policy Which you are watching in " + PolicyController.smtpApplicationName + " has been Updated" + '\n' + '\n' + '\n'+ "Scope + Policy Name : " + policyName + '\n' + "Active Version : " +entityItem.getActiveVersion() + '\n' + '\n' + "Modified By : " +entityItem.getModifiedBy() + '\n' + "Modified Time : " +dateFormat.format(date) + '\n' + '\n' + '\n' + '\n' + "Policy Notification System (please don't respond to this email)"; } - if(mode.equalsIgnoreCase("Rename")){ + if("Rename".equalsIgnoreCase(mode)){ subject = "Policy has been Renamed : "+entityItem.getPolicyName(); message = "The Policy Which you are watching in " + PolicyController.smtpApplicationName + " has been Renamed" + '\n' + '\n' + '\n'+ "Scope + Policy Name : " + policyName + '\n' + "Active Version : " +entityItem.getActiveVersion() + '\n' + '\n' + "Renamed By : " +entityItem.getModifiedBy() + '\n' + "Renamed Time : " +dateFormat.format(date) + '\n' + '\n' + '\n' + '\n' + "Policy Notification System (please don't respond to this email)"; } - if(mode.equalsIgnoreCase("DeleteAll")){ + if("DeleteAll".equalsIgnoreCase(mode)){ subject = "Policy has been Deleted : "+entityItem.getPolicyName(); message = "The Policy Which you are watching in " + PolicyController.smtpApplicationName + " has been Deleted with All Versions" + '\n' + '\n' + '\n'+ "Scope + Policy Name : " + policyName + '\n' + '\n' + '\n' + "Deleted By : " +entityItem.getModifiedBy() + '\n' + "Deleted Time : " +dateFormat.format(date) + '\n' + '\n' + '\n' + '\n' + "Policy Notification System (please don't respond to this email)"; } - if(mode.equalsIgnoreCase("DeleteOne")){ + if("DeleteOne".equalsIgnoreCase(mode)){ subject = "Policy has been Deleted : "+entityItem.getPolicyName(); message = "The Policy Which you are watching in " + PolicyController.smtpApplicationName + " has been Deleted" + '\n' + '\n' + '\n'+ "Scope + Policy Name : " + policyName + '\n' +"Policy Version : " +entityItem.getActiveVersion() + '\n' + '\n' + "Deleted By : " +entityItem.getModifiedBy() + '\n' + "Deleted Time : " +dateFormat.format(date) + '\n' + '\n' + '\n' + '\n' + "Policy Notification System (please don't respond to this email)"; } - if(mode.equalsIgnoreCase("DeleteScope")){ + if("DeleteScope".equalsIgnoreCase(mode)){ subject = "Scope has been Deleted : "+entityItem.getPolicyName(); message = "The Scope Which you are watching in " + PolicyController.smtpApplicationName + " has been Deleted" + '\n' + '\n' + '\n'+ "Scope + Scope Name : " + policyName + '\n' + '\n' + '\n' + "Deleted By : " +entityItem.getModifiedBy() + '\n' + "Deleted Time : " +dateFormat.format(date) + '\n' + '\n' + '\n' + '\n' + "Policy Notification System (please don't respond to this email)"; } - if(mode.equalsIgnoreCase("SwitchVersion")){ + if("SwitchVersion".equalsIgnoreCase(mode)){ subject = "Policy has been SwitchedVersion : "+entityItem.getPolicyName(); message = "The Policy Which you are watching in " + PolicyController.smtpApplicationName + " has been SwitchedVersion" + '\n' + '\n' + '\n'+ "Scope + Policy Name : " + policyName + '\n' + "Active Version : " +entityItem.getActiveVersion() + '\n' + '\n' + "Switched By : " +entityItem.getModifiedBy() + '\n' + "Switched Time : " +dateFormat.format(date) + '\n' + '\n' + '\n' + '\n' + "Policy Notification System (please don't respond to this email)"; } - if(mode.equalsIgnoreCase("Move")){ + if("Move".equalsIgnoreCase(mode)){ subject = "Policy has been Moved to Other Scope : "+entityItem.getPolicyName(); message = "The Policy Which you are watching in " + PolicyController.smtpApplicationName + " has been Moved to Other Scope" + '\n' + '\n' + '\n'+ "Scope + Policy Name : " + policyName + '\n' + "Active Version : " +entityItem.getActiveVersion() + '\n' + '\n' + "Moved By : " +entityItem.getModifiedBy() + '\n' + "Moved Time : " +dateFormat.format(date) + '\n' + '\n' + '\n' + '\n' + "Policy Notification System (please don't respond to this email)"; @@ -141,23 +140,26 @@ public class PolicyNotificationMail{ sendFlag = true; } if(sendFlag){ - to = list.getLoginIds()+"@"+PolicyController.smtpEmailExtension; - to = to.trim(); - AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext(); - ctx.register(PolicyNotificationMail.class); - ctx.refresh(); - JavaMailSenderImpl mailSender = ctx.getBean(JavaMailSenderImpl.class); - MimeMessage mimeMessage = mailSender.createMimeMessage(); - MimeMessageHelper mailMsg = new MimeMessageHelper(mimeMessage); + AnnotationConfigApplicationContext ctx = null; try { + to = list.getLoginIds()+"@"+PolicyController.smtpEmailExtension; + to = to.trim(); + ctx = new AnnotationConfigApplicationContext(); + ctx.register(PolicyNotificationMail.class); + ctx.refresh(); + JavaMailSenderImpl mailSender = ctx.getBean(JavaMailSenderImpl.class); + MimeMessage mimeMessage = mailSender.createMimeMessage(); + MimeMessageHelper mailMsg = new MimeMessageHelper(mimeMessage); mailMsg.setFrom(new InternetAddress(from, "Policy Notification System")); + mailMsg.setTo(to); + mailMsg.setSubject(subject); + mailMsg.setText(message); + mailSender.send(mimeMessage); } catch (Exception e) { LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW+"Exception Occured in Policy Notification" +e); + }finally{ + ctx.close(); } - mailMsg.setTo(to); - mailMsg.setSubject(subject); - mailMsg.setText(message); - mailSender.send(mimeMessage); } } } diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyRestController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyRestController.java index 75e3d0b8a..4f0710b3e 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyRestController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyRestController.java @@ -246,7 +246,7 @@ public class PolicyRestController extends RestrictedBaseController{ String newFile = file.toString(); uri = uri +"&dictionaryName="+newFile; } catch (Exception e2) { - e2.printStackTrace(); + LOGGER.error("Exception Occured while calling PAP with import dictionary request"+e2); } } @@ -270,7 +270,7 @@ public class PolicyRestController extends RestrictedBaseController{ try { root = mapper.readTree(request.getReader()); }catch (Exception e1) { - e1.printStackTrace(); + LOGGER.error("Exception Occured while calling PAP"+e1); } ObjectMapper mapper1 = new ObjectMapper(); @@ -281,7 +281,7 @@ public class PolicyRestController extends RestrictedBaseController{ Object content = new ByteArrayInputStream(json.getBytes()); - if (content != null && (content instanceof InputStream)) { + if (content instanceof InputStream) { // send current configuration try (OutputStream os = connection.getOutputStream()) { int count = IOUtils.copy((InputStream) content, os); @@ -300,7 +300,9 @@ public class PolicyRestController extends RestrictedBaseController{ boundary = "===" + System.currentTimeMillis() + "==="; connection.setRequestProperty("Content-Type","multipart/form-data; boundary=" + boundary); try (OutputStream os = connection.getOutputStream()) { - IOUtils.copy((InputStream) item.getInputStream(), os); + if(item != null){ + IOUtils.copy((InputStream) item.getInputStream(), os); + } } } } @@ -385,7 +387,7 @@ public class PolicyRestController extends RestrictedBaseController{ String uri = request.getRequestURI(); String body = callPAP(request, response, "POST", uri.replaceFirst("/", "").trim()); if(body.contains("CouldNotConnectException")){ - List<String> data = new ArrayList<String>(); + List<String> data = new ArrayList<>(); data.add("Elastic Search Server is down"); resultList = data; }else{ @@ -411,7 +413,7 @@ public class PolicyRestController extends RestrictedBaseController{ try{ resultList = json.get("policyresult"); }catch(Exception e){ - List<String> data = new ArrayList<String>(); + List<String> data = new ArrayList<>(); data.add("Elastic Search Server is down"); resultList = data; } diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyUserInfoController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyUserInfoController.java index a170b34aa..4e6201880 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyUserInfoController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/PolicyUserInfoController.java @@ -48,7 +48,7 @@ public class PolicyUserInfoController extends RestrictedBaseController{ JsonMessage msg = null; try { String userId = UserUtils.getUserSession(request).getOrgUserId(); - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); ObjectMapper mapper = new ObjectMapper(); model.put("userid", userId); msg = new JsonMessage(mapper.writeValueAsString(model)); diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/RESTfulPAPEngine.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/RESTfulPAPEngine.java index d9fe9fa11..6c970ad59 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/RESTfulPAPEngine.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/admin/RESTfulPAPEngine.java @@ -438,7 +438,7 @@ public class RESTfulPAPEngine extends StdPDPItemSetChangeNotifier implements PAP LOGGER.info("Success. We have a return object."); String isValidData = connection.getHeaderField("isValidData"); String isSuccess = connection.getHeaderField("successMapKey"); - Map<String, String> successMap = new HashMap<String, String>(); + Map<String, String> successMap = new HashMap<>(); if (isValidData != null && isValidData.equalsIgnoreCase("true")){ LOGGER.info("Policy Data is valid."); return true; diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/components/HumanPolicyComponent.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/components/HumanPolicyComponent.java index c80ccd6a6..f788fb673 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/components/HumanPolicyComponent.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/components/HumanPolicyComponent.java @@ -121,12 +121,9 @@ public class HumanPolicyComponent{ JSONObject result = new JSONObject(); result.put("html", html); return result; - //ByteArrayInputStream is = new ByteArrayInputStream(html.getBytes(StandardCharsets.UTF_8)); } catch (IllegalArgumentException e) { LOGGER.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "cannot build html area por policy", e); - /*AdminNotification.warn("An error has occurred. Cannot describe this policy: " + - e.getMessage());*/ } return null; } @@ -179,7 +176,7 @@ class HtmlProcessor extends SimpleCallback { private static Map<String, String> function2human; static { - function2human = new HashMap<String, String>(); + function2human = new HashMap<>(); function2human.put(HumanPolicyComponent.FUNCTION_STRING_EQUAL, "equal"); function2human.put(HumanPolicyComponent.FUNCTION_STRING_EQUAL_IGNORE, "equal"); function2human.put(HumanPolicyComponent.FUNCTION_STRING_ONE_AND_ONLY, "one-and-only"); @@ -189,7 +186,7 @@ class HtmlProcessor extends SimpleCallback { private static Map<String, String> combiningAlgo2human; static { - combiningAlgo2human = new HashMap<String, String>(); + combiningAlgo2human = new HashMap<>(); combiningAlgo2human.put("deny-overrides", "to deny if any $placeholder$ below evaluates to <i>deny</i>"); combiningAlgo2human.put("permit-overrides", "to permit if any $placeholder$ below evaluates to <i>permit</i>"); diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/components/PolicyImportWindow.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/components/PolicyImportWindow.java index 6e40c2be2..f5cc5d0fa 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/components/PolicyImportWindow.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/components/PolicyImportWindow.java @@ -86,11 +86,11 @@ public class PolicyImportWindow{ try { extractFile = new TarArchiveInputStream (new FileInputStream(this.newfile.toFile())); } catch (FileNotFoundException e1) { - e1.printStackTrace(); + LOGGER.error(XACMLErrorConstants.ERROR_PROCESS_FLOW+"Exception while Importing Polcies"+e1); } //Create a loop to read every single entry in TAR file try { - while ((entry = extractFile.getNextTarEntry()) != null) { + while (extractFile!=null && (entry = extractFile.getNextTarEntry()) != null) { this.superadmin = true; try{ copyFileToLocation(extractFile, entry, xacmlFiles, null, superadmin); @@ -100,6 +100,14 @@ public class PolicyImportWindow{ } } catch (IOException e) { LOGGER.error("Exception Occured"+e); + }finally{ + try { + if(extractFile != null){ + extractFile.close(); + } + } catch (IOException e) { + LOGGER.error("Exception Occured"+e); + } } } @@ -149,7 +157,9 @@ public class PolicyImportWindow{ // Close Output Stream try { - outputFile.close(); + if(outputFile != null){ + outputFile.close(); + } } catch (IOException e) { LOGGER.info("IOException:" +e); LOGGER.error("Exception Occured"+e); diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/conf/HibernateSession.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/conf/HibernateSession.java index b3db51df4..9f7659d15 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/conf/HibernateSession.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/conf/HibernateSession.java @@ -26,16 +26,19 @@ package org.openecomp.policy.conf; * */ import java.util.Properties; -import org.hibernate.HibernateException; import org.hibernate.Session; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; +import org.openecomp.policy.common.logging.flexlogger.FlexLogger; +import org.openecomp.policy.common.logging.flexlogger.Logger; import org.openecomp.policy.controller.PolicyController; import org.openecomp.policy.rest.jpa.SystemLogDB; @SuppressWarnings("deprecation") public class HibernateSession{ + private static final Logger LOGGER = FlexLogger.getLogger(HibernateSession.class); + private static SessionFactory logSessionFactory; static { @@ -49,11 +52,11 @@ public class HibernateSession{ prop.setProperty("show_sql", "false"); logSessionFactory = new Configuration().addPackage("org.openecomp.policy.*").addProperties(prop) .addAnnotatedClass(SystemLogDB.class).buildSessionFactory(); - } catch (Throwable ex) { - throw new ExceptionInInitializerError(ex); + } catch (Exception ex) { + LOGGER.error("Exception Occured while creating Log database Hibernate session"+ex); } } - public static Session getSession() throws HibernateException { + public static Session getSession(){ return logSessionFactory.openSession(); } diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/ActionPolicyController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/ActionPolicyController.java index b0bbaf9cf..2c68df65f 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/ActionPolicyController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/ActionPolicyController.java @@ -63,12 +63,12 @@ public class ActionPolicyController extends RestrictedBaseController{ private ArrayList<Object> attributeList; protected LinkedList<Integer> ruleAlgoirthmTracker; public static final String PERFORMER_ATTRIBUTEID = "performer"; - protected Map<String, String> performer = new HashMap<String, String>(); + protected Map<String, String> performer = new HashMap<>(); private ArrayList<Object> ruleAlgorithmList; public void prePopulateActionPolicyData(PolicyRestAdapter policyAdapter, PolicyEntity entity) { - attributeList = new ArrayList<Object>(); - ruleAlgorithmList = new ArrayList<Object>(); + attributeList = new ArrayList<>(); + ruleAlgorithmList = new ArrayList<>(); performer.put("PDP", "PDPAction"); performer.put("PEP", "PEPAction"); @@ -116,7 +116,7 @@ public class ActionPolicyController extends RestrictedBaseController{ String attributeId = designator.getAttributeId(); // Component attributes are saved under Target here we are fetching them back. // One row is default so we are not adding dynamic component at index 0. - Map<String, String> attribute = new HashMap<String, String>(); + Map<String, String> attribute = new HashMap<>(); attribute.put("key", attributeId); attribute.put("value", value); attributeList.add(attribute); @@ -137,7 +137,7 @@ public class ActionPolicyController extends RestrictedBaseController{ if (condition != null) { int index = 0; ApplyType actionApply = (ApplyType) condition.getExpression().getValue(); - ruleAlgoirthmTracker = new LinkedList<Integer>(); + ruleAlgoirthmTracker = new LinkedList<>(); // Populating Rule Algorithms starting from compound. prePopulateCompoundRuleAlgorithm(index, actionApply); } diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/AdminTabController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/AdminTabController.java index 46fb2bbfe..6824101df 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/AdminTabController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/AdminTabController.java @@ -57,7 +57,7 @@ public class AdminTabController extends RestrictedBaseController{ @RequestMapping(value={"/get_LockDownData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) public void getAdminTabEntityData(HttpServletRequest request, HttpServletResponse response){ try{ - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); ObjectMapper mapper = new ObjectMapper(); model.put("lockdowndata", mapper.writeValueAsString(commonClassDao.getData(GlobalRoleSettings.class))); JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model)); diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/AutoPushController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/AutoPushController.java index 8751d735c..17e8f89f2 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/AutoPushController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/AutoPushController.java @@ -108,11 +108,11 @@ public class AutoPushController extends RestrictedBaseController{ List<String> roles = null; data = new ArrayList<Object>(); String userId = UserUtils.getUserSession(request).getOrgUserId(); - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); ObjectMapper mapper = new ObjectMapper(); List<Object> userRoles = PolicyController.getRoles(userId); - roles = new ArrayList<String>(); - scopes = new HashSet<String>(); + roles = new ArrayList<>(); + scopes = new HashSet<>(); for(Object role: userRoles){ Roles userRole = (Roles) role; roles.add(userRole.getRole()); @@ -161,8 +161,8 @@ public class AutoPushController extends RestrictedBaseController{ @RequestMapping(value={"/auto_Push/PushPolicyToPDP.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST}) public ModelAndView PushPolicyToPDPGroup(HttpServletRequest request, HttpServletResponse response) throws Exception { try { - ArrayList<Object> selectedPDPS = new ArrayList<Object>(); - ArrayList<String> selectedPoliciesInUI = new ArrayList<String>(); + ArrayList<Object> selectedPDPS = new ArrayList<>(); + ArrayList<String> selectedPoliciesInUI = new ArrayList<>(); this.groups.addAll(PolicyController.getPapEngine().getEcompPDPGroups()); ObjectMapper mapper = new ObjectMapper(); this.container = new PDPGroupContainer(PolicyController.getPapEngine()); @@ -185,8 +185,8 @@ public class AutoPushController extends RestrictedBaseController{ } for (Object pdpDestinationGroupId : selectedPDPS) { - Set<PDPPolicy> currentPoliciesInGroup = new HashSet<PDPPolicy>(); - Set<PDPPolicy> selectedPolicies = new HashSet<PDPPolicy>(); + Set<PDPPolicy> currentPoliciesInGroup = new HashSet<>(); + Set<PDPPolicy> selectedPolicies = new HashSet<>(); for (String policyId : selectedPoliciesInUI) { logger.debug("Handlepolicies..." + pdpDestinationGroupId + policyId); @@ -329,7 +329,7 @@ public class AutoPushController extends RestrictedBaseController{ String data = removePolicyData.get(i).toString(); AutoPushController.policyContainer.removeItem(data); } - Set<PDPPolicy> changedPolicies = new HashSet<PDPPolicy>(); + Set<PDPPolicy> changedPolicies = new HashSet<>(); changedPolicies.addAll((Collection<PDPPolicy>) AutoPushController.policyContainer.getItemIds()); StdPDPGroup updatedGroupObject = new StdPDPGroup(group.getId(), group.isDefaultGroup(), group.getName(), group.getDescription(),null); updatedGroupObject.setPolicies(changedPolicies); diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateBRMSParamController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateBRMSParamController.java index 265b7b7b2..daab6e378 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateBRMSParamController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateBRMSParamController.java @@ -88,7 +88,7 @@ public class CreateBRMSParamController extends RestrictedBaseController { @RequestMapping(value={"/policyController/getBRMSTemplateData.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST}) public ModelAndView getBRMSParamPolicyRuleData(HttpServletRequest request, HttpServletResponse response) throws Exception{ - dynamicLayoutMap = new HashMap<String, String>(); + dynamicLayoutMap = new HashMap<>(); ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); JsonNode root = mapper.readTree(request.getReader()); @@ -211,8 +211,8 @@ public class CreateBRMSParamController extends RestrictedBaseController { @SuppressWarnings("unchecked") public void prePopulateBRMSParamPolicyData(PolicyRestAdapter policyAdapter, PolicyEntity entity) { - attributeList = new ArrayList<Object>(); - dynamicLayoutMap = new HashMap<String, String>(); + attributeList = new ArrayList<>(); + dynamicLayoutMap = new HashMap<>(); if (policyAdapter.getPolicyData() instanceof PolicyType) { PolicyType policy = (PolicyType) policyAdapter.getPolicyData(); policyAdapter.setOldPolicyFileName(policyAdapter.getPolicyName()); @@ -235,7 +235,7 @@ public class CreateBRMSParamController extends RestrictedBaseController { for( AdviceExpressionType adviceExpression: expressionTypes.getAdviceExpression()){ for(AttributeAssignmentExpressionType attributeAssignment: adviceExpression.getAttributeAssignmentExpression()){ if(attributeAssignment.getAttributeId().startsWith("key:")){ - Map<String, String> attribute = new HashMap<String, String>(); + Map<String, String> attribute = new HashMap<>(); String key = attributeAssignment.getAttributeId().replace("key:", ""); attribute.put("key", key); JAXBElement<AttributeValueType> attributevalue = (JAXBElement<AttributeValueType>) attributeAssignment.getExpression(); @@ -258,7 +258,7 @@ public class CreateBRMSParamController extends RestrictedBaseController { // Get the target data under policy. policyAdapter.setDynamicLayoutMap(dynamicLayoutMap); if(policyAdapter.getDynamicLayoutMap().size() > 0){ - LinkedHashMap<String,String> drlRule = new LinkedHashMap<String, String>(); + LinkedHashMap<String,String> drlRule = new LinkedHashMap<>(); for(Object keyValue: policyAdapter.getDynamicLayoutMap().keySet()){ drlRule.put(keyValue.toString(), policyAdapter.getDynamicLayoutMap().get(keyValue).toString()); } diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateBRMSRawController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateBRMSRawController.java index b31f70297..67945e1b9 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateBRMSRawController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateBRMSRawController.java @@ -80,7 +80,7 @@ public class CreateBRMSRawController{ for( AdviceExpressionType adviceExpression: expressionTypes.getAdviceExpression()){ for(AttributeAssignmentExpressionType attributeAssignment: adviceExpression.getAttributeAssignmentExpression()){ if(attributeAssignment.getAttributeId().startsWith("key:")){ - Map<String, String> attribute = new HashMap<String, String>(); + Map<String, String> attribute = new HashMap<>(); String key = attributeAssignment.getAttributeId().replace("key:", ""); attribute.put("key", key); JAXBElement<AttributeValueType> attributevalue = (JAXBElement<AttributeValueType>) attributeAssignment.getExpression(); diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateClosedLoopFaultController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateClosedLoopFaultController.java index d2a2845e8..ccecf5d7f 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateClosedLoopFaultController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateClosedLoopFaultController.java @@ -83,11 +83,11 @@ public class CreateClosedLoopFaultController extends RestrictedBaseController{ ClosedLoopGridJSONData policyJsonData = mapper.readValue(root.get("policyData").get("policy").toString(), ClosedLoopGridJSONData.class); ClosedLoopFaultBody jsonBody = mapper.readValue(root.get("policyData").get("policy").get("jsonBodyData").toString(), ClosedLoopFaultBody.class); - ArrayList<Object> trapSignatureDatas = new ArrayList<Object>(); + ArrayList<Object> trapSignatureDatas = new ArrayList<>(); if(trapDatas.getTrap1() != null){ trapSignatureDatas.add(trapDatas); } - ArrayList<Object> faultSignatureDatas = new ArrayList<Object>(); + ArrayList<Object> faultSignatureDatas = new ArrayList<>(); if(faultDatas.getTrap1() != null){ faultSignatureDatas.add(faultDatas); } diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateDcaeMicroServiceController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateDcaeMicroServiceController.java index ce6531f38..c3daf6d94 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateDcaeMicroServiceController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateDcaeMicroServiceController.java @@ -101,23 +101,23 @@ import oasis.names.tc.xacml._3_0.core.schema.wd_17.TargetType; @Controller @RequestMapping("/") public class CreateDcaeMicroServiceController extends RestrictedBaseController { - private static final Logger logger = FlexLogger.getLogger(CreateDcaeMicroServiceController.class); + private static final Logger LOGGER = FlexLogger.getLogger(CreateDcaeMicroServiceController.class); private static CommonClassDao commonClassDao; private MicroServiceModels newModel; private String newFile; private String directory; - private List<String> modelList = new ArrayList<String>(); - private List<String> dirDependencyList = new ArrayList<String>(); - private HashMap<String,MSAttributeObject > classMap = new HashMap<String,MSAttributeObject>(); + private List<String> modelList = new ArrayList<>(); + private List<String> dirDependencyList = new ArrayList<>(); + private HashMap<String,MSAttributeObject > classMap = new HashMap<>(); //Tosca Model related Datastructure. String referenceAttributes; String attributeString; String listConstraints; String subAttributeString; - HashMap<String, Object> retmap = new HashMap<String, Object>(); - Set<String> uniqueKeys= new HashSet<String>(); - Set<String> uniqueDataKeys= new HashSet<String>(); + HashMap<String, Object> retmap = new HashMap<>(); + Set<String> uniqueKeys= new HashSet<>(); + Set<String> uniqueDataKeys= new HashSet<>(); @Autowired private CreateDcaeMicroServiceController(CommonClassDao commonClassDao){ @@ -128,8 +128,8 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { protected PolicyRestAdapter policyAdapter = null; private int priorityCount; - private Map<String, String> attributesListRefMap = new HashMap<String, String>(); - private Map<String, LinkedList<String>> arrayTextList = new HashMap<String, LinkedList<String>>(); + private Map<String, String> attributesListRefMap = new HashMap<>(); + private Map<String, LinkedList<String>> arrayTextList = new HashMap<>(); public PolicyRestAdapter setDataToPolicyRestAdapter(PolicyRestAdapter policyData, JsonNode root) { @@ -138,7 +138,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { jsonContent = decodeContent(root.get("policyJSON")).toString(); constructJson(policyData, jsonContent); }catch(Exception e){ - logger.error("Error while decoding microservice content"); + LOGGER.error("Error while decoding microservice content"); } return policyData; @@ -202,9 +202,9 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { try { json = om.writeValueAsString(microServiceObject); } catch (JsonProcessingException e) { - logger.error("Error writing out the object"); + LOGGER.error("Error writing out the object"); } - logger.info(json); + LOGGER.info(json); String cleanJson = cleanUPJson(json); cleanJson = removeNullAttributes(cleanJson); policyAdapter.setJsonBody(cleanJson); @@ -232,7 +232,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { cleanJson = returnNode.toString(); } } catch (IOException e) { - logger.error("Error writing out the JsonNode"); + LOGGER.error("Error writing out the JsonNode"); } return cleanJson; } @@ -268,14 +268,14 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { try { is = new FileInputStream(newConfiguration); } catch (FileNotFoundException e) { - logger.error(e); + LOGGER.error(e); } Yaml yaml = new Yaml(); @SuppressWarnings("unchecked") Map<Object, Object> yamlMap = (Map<Object, Object>) yaml.load(is); StringBuilder sb = new StringBuilder(); - Map<String, String> settings = new HashMap<String, String>(); + Map<String, String> settings = new HashMap<>(); if (yamlMap == null) { return settings; } @@ -348,12 +348,11 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { public void parseTosca (String fileName){ - Map<String,String> map= new HashMap<String, String>(); + Map<String,String> map= new HashMap<>(); try { map=load(fileName); for(String key:map.keySet()){ - if(key.contains("policy.nodes.Root")) - { + if(key.contains("policy.nodes.Root")){ continue; } else if(key.contains("policy.nodes")){ @@ -369,21 +368,11 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { String subNodeString= key.substring(indexForPolicyNode+12, key.length()); stringBetweenDotsForDataFields(subNodeString,map.get(key)); - Iterator<String> itr= uniqueDataKeys.iterator(); - while(itr.hasNext()){ - logger.info(itr.next()); - } } } - String attributeIndividualString=""; String userDefinedIndividualString=""; - String referenceIndividualAttributes=""; - - String attributeString=""; String userDefinedString=""; - String referenceAttributes=""; - String listConstraints=""; for(String uniqueDataKey: uniqueDataKeys){ String[] uniqueDataKeySplit= uniqueDataKey.split("%"); @@ -405,7 +394,6 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } } } - } if(userDefinedString!=""){ userDefinedString=userDefinedString+","+userDefinedIndividualString; @@ -414,9 +402,9 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } userDefinedIndividualString=""; } - logger.info("userDefinedString :"+userDefinedString); + LOGGER.info("userDefinedString :"+userDefinedString); - HashMap<String,ArrayList<String>> mapKey= new HashMap<String,ArrayList<String>>(); + HashMap<String,ArrayList<String>> mapKeyUserdefined= new HashMap<>(); String secondPartString=""; String firstPartString=""; for(String value: userDefinedString.split(",")){ @@ -424,30 +412,27 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { secondPartString=splitWithEquals[0].substring(splitWithEquals[0].indexOf("%")+1); firstPartString=splitWithEquals[0].substring(0, splitWithEquals[0].indexOf("%")); ArrayList<String> list; - if(mapKey.containsKey(firstPartString)){ - list = mapKey.get(firstPartString); + if(mapKeyUserdefined.containsKey(firstPartString)){ + list = mapKeyUserdefined.get(firstPartString); list.add(secondPartString+"<"+splitWithEquals[1]); } else { list = new ArrayList<String>(); list.add(secondPartString+"<"+splitWithEquals[1]); - mapKey.put(firstPartString, list); + mapKeyUserdefined.put(firstPartString, list); } } JSONObject mainObject= new JSONObject();; JSONObject json; - for(String s: mapKey.keySet()){ + for(String s: mapKeyUserdefined.keySet()){ json= new JSONObject(); - List<String> value=mapKey.get(s); + List<String> value=mapKeyUserdefined.get(s); for(String listValue:value){ String[] splitValue=listValue.split("<"); json.put(splitValue[0], splitValue[1]); } mainObject.put(s,json); } - - logger.info(mainObject); - Iterator<String> keysItr = mainObject.keys(); while(keysItr.hasNext()) { String key = keysItr.next(); @@ -455,138 +440,116 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { retmap.put(key, value); } - for(String str:retmap.keySet()){ - logger.info(str+":"+retmap.get(str)); - } + LOGGER.info("#############################################################################"); + LOGGER.info(mainObject); + LOGGER.info("###############################################################################"); - String typeValueFromKey=""; - boolean userDefinedDataType=false; - boolean isList=false; + HashMap<String,HashMap<String,String>> mapKey= new HashMap<>(); for(String uniqueKey: uniqueKeys){ - List<String> constraints= new ArrayList<String>(); - logger.info("===================="); - attributeIndividualString=attributeIndividualString+uniqueKey+"="; - attributeIndividualString=attributeIndividualString+"#A:defaultValue-#B:required-#C:MANY-false"; + HashMap<String,String> hm; - logger.info("UniqueStrings: "+uniqueKey); for(String key:map.keySet()){ - if(key.contains("policy.nodes.Root")|| - key.contains("policy.data")) - { - continue; - } - else if(key.contains("policy.nodes")){ - if(key.contains(uniqueKey)){ - int p=key.lastIndexOf("."); - String firstLastOccurance=key.substring(0,p); - int p1=firstLastOccurance.lastIndexOf("."); - String secondLastOccurance= firstLastOccurance.substring(p1+1,firstLastOccurance.length()); - if(secondLastOccurance.equals(uniqueKey)){ - String checkTypeString= firstLastOccurance+".type"; - typeValueFromKey= map.get(checkTypeString); - }//Its a list. - else if (key.contains("entry_schema")){ - if(key.contains("constraints")){ - constraints.add(map.get(key)); - } - if(key.contains("type")){ - isList=true; - String value= map.get(key); - if(! (value.contains("string")) || - (value.contains("integer")) || - (value.contains("boolean")) ) - { - if(!key.contains("valid_values")){ - String trimValue=value.substring(value.lastIndexOf(".")+1); - referenceIndividualAttributes=referenceIndividualAttributes+uniqueKey+"="+trimValue+":MANY-true"; - attributeIndividualString=""; - } - - } - } - } - - if(!(typeValueFromKey.equals("string")|| - typeValueFromKey.equals("integer") || - typeValueFromKey.equals("boolean"))) - { - if(typeValueFromKey.equals("list")){ - isList=true; - userDefinedDataType=false; - } - else{ - userDefinedDataType=true; - } - } - if(userDefinedDataType==false && isList==false){ - if(key.contains("default")){ - attributeIndividualString=attributeIndividualString.replace("#B", map.get(key)); - } - else if(key.contains("required")){ - attributeIndividualString=attributeIndividualString.replace("#C", map.get(key)); + if(key.contains(uniqueKey)){ + if(mapKey.containsKey(uniqueKey)){ + hm = mapKey.get(uniqueKey); + String keyStr= key.substring(key.lastIndexOf(".")+1); + String valueStr= map.get(key); + if(keyStr.equals("type")){ + if(!key.contains("entry_schema")){ + hm.put(keyStr,valueStr); } - else if(key.contains("type")){ - String typeValue= map.get(key); - attributeIndividualString=attributeIndividualString.replace("#A", typeValue); - } + }else{ + hm.put(keyStr,valueStr); } - else if(userDefinedDataType==true){ - String checkTypeAndUpdate=key.substring(p+1); - if(checkTypeAndUpdate.equals("type")){ - String value=map.get(key); - String trimValue=value.substring(value.lastIndexOf(".")+1); - referenceIndividualAttributes=referenceIndividualAttributes+uniqueKey+"="+trimValue+":MANY-false"; + } else { + hm = new HashMap<>(); + String keyStr= key.substring(key.lastIndexOf(".")+1); + String valueStr= map.get(key); + if(keyStr.equals("type")){ + if(!key.contains("entry_schema")){ + hm.put(keyStr,valueStr); } - attributeIndividualString=""; + }else{ + hm.put(keyStr,valueStr); } + mapKey.put(uniqueKey, hm); } } } + } + StringBuilder attributeStringBuilder= new StringBuilder(); + StringBuilder referenceStringBuilder= new StringBuilder(); + StringBuilder listBuffer= new StringBuilder(); + + List<String> constraints= new ArrayList<>(); + for(String keySetString: mapKey.keySet()){ + HashMap<String,String> keyValues=mapKey.get(keySetString); + if(keyValues.get("type").equalsIgnoreCase("string")|| keyValues.get("type").equalsIgnoreCase("integer")){ + StringBuilder attributeIndividualStringBuilder= new StringBuilder(); + attributeIndividualStringBuilder.append(keySetString+"="); + attributeIndividualStringBuilder.append(keyValues.get("type")+":defaultValue-"); + attributeIndividualStringBuilder.append(keyValues.get("default")+":required-"); + attributeIndividualStringBuilder.append(keyValues.get("required")+":MANY-false"); + attributeStringBuilder.append(attributeIndividualStringBuilder+","); + } + else if(keyValues.get("type").equalsIgnoreCase("list")){ + //List Datatype + Set<String> keys= keyValues.keySet(); + Iterator<String> itr=keys.iterator(); + while(itr.hasNext()){ + String key= itr.next().toString(); + if((!key.equals("type"))){ + String value= keyValues.get(key); + //The "." in the value determines if its a string or a user defined type. + if (!value.contains(".")){ + //This is string + constraints.add(keyValues.get(key)); + }else{ + //This is user defined string + String trimValue=value.substring(value.lastIndexOf(".")+1); + StringBuilder referenceIndividualStringBuilder= new StringBuilder(); + referenceIndividualStringBuilder.append(keySetString+"="+trimValue+":MANY-true"); + referenceStringBuilder.append(referenceIndividualStringBuilder+","); + } + } + } + }else{ + //User defined Datatype. + String value=keyValues.get("type"); + String trimValue=value.substring(value.lastIndexOf(".")+1); + StringBuilder referenceIndividualStringBuilder= new StringBuilder(); + referenceIndividualStringBuilder.append(keySetString+"="+trimValue+":MANY-false"); + referenceStringBuilder.append(referenceIndividualStringBuilder+","); + } if(constraints!=null &&constraints.isEmpty()==false){ //List handling. - listConstraints=uniqueKey.toUpperCase()+"=["; - isList=true; + listBuffer.append(keySetString.toUpperCase()+"=["); for(String str:constraints){ - listConstraints=listConstraints+str+","; + listBuffer.append(str+","); } - listConstraints+="],"; - logger.info(listConstraints); - attributeIndividualString=""; - referenceIndividualAttributes=referenceIndividualAttributes+uniqueKey+"="+uniqueKey.toUpperCase()+":MANY-false"; - constraints=null; + listBuffer.append("]#"); + LOGGER.info(listBuffer); - } - if(userDefinedDataType==false && isList==false){ - if(attributeString!=""){ - attributeString=attributeString+","+attributeIndividualString; - }else{ - attributeString=attributeString+attributeIndividualString; - } - } - if(isList==true || userDefinedDataType==true){ - if(referenceAttributes!=""){ - referenceAttributes=referenceAttributes+","+referenceIndividualAttributes; - }else{ - referenceAttributes=referenceAttributes+referenceIndividualAttributes; - } - logger.info("ReferenceAttributes: "+referenceAttributes); - } - logger.info("AttributeString: "+ attributeString); - logger.info("ListConstraints is: "+listConstraints); + StringBuilder referenceIndividualStringBuilder= new StringBuilder(); + referenceIndividualStringBuilder.append(keySetString+"="+keySetString.toUpperCase()+":MANY-false"); + referenceStringBuilder.append(referenceIndividualStringBuilder+","); + constraints.clear(); + } + } - attributeIndividualString=""; - referenceIndividualAttributes=""; - userDefinedDataType=false; - isList=false; + LOGGER.info("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"); + LOGGER.info("Whole attribute String is:"+attributeStringBuilder); + LOGGER.info("Whole reference String is:"+referenceStringBuilder); + LOGGER.info("List String is:"+listBuffer); + LOGGER.info("$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$"); + this.listConstraints=listBuffer.toString(); + this.referenceAttributes=referenceStringBuilder.toString(); + this.attributeString=attributeStringBuilder.toString(); - } - this.listConstraints=listConstraints; - this.referenceAttributes=referenceAttributes; - this.attributeString=attributeString; } catch (IOException e) { - logger.error(e); + LOGGER.error(e); } } @@ -611,7 +574,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { private JSONObject decodeContent(JsonNode jsonNode){ Iterator<JsonNode> jsonElements = jsonNode.elements(); Iterator<String> jsonKeys = jsonNode.fieldNames(); - Map<String,String> element = new TreeMap<String,String>(); + Map<String,String> element = new TreeMap<>(); while(jsonElements.hasNext() && jsonKeys.hasNext()){ element.put(jsonKeys.next(), jsonElements.next().toString()); } @@ -634,7 +597,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { presKey = key; } // first check if we are different from old. - logger.info(key+"\n"); + LOGGER.info(key+"\n"); if(jsonArray!=null && jsonArray.length()>0 && key.contains("@") && !key.contains(".") && oldValue!=null){ if(!oldValue.equals(key.substring(0,key.indexOf("@")))){ jsonResult.put(oldValue, jsonArray); @@ -664,7 +627,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { isArray = true; jsonArray = new JSONArray(); } - if(arryKey.equals(nodeKey.substring(0,nodeKey.indexOf("@")))){ + if(jsonArray != null && arryKey.equals(nodeKey.substring(0,nodeKey.indexOf("@")))){ jsonArray.put(decodeContent(node)); } if(key.contains("@") && !arryKey.equals(key.substring(0,nodeKey.indexOf("@")))){ @@ -696,7 +659,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { isArray = true; jsonArray = new JSONArray(); } - if(arryKey.equals(nodeKey.substring(0,nodeKey.indexOf("@")))){ + if(jsonArray != null && arryKey.equals(nodeKey.substring(0,nodeKey.indexOf("@")))){ jsonArray.put(decodeContent(node)); } jsonResult.put(arryKey, jsonArray); @@ -811,8 +774,8 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { @SuppressWarnings({ "unchecked", "rawtypes" }) private String createMicroSeriveJson(MicroServiceModels returnModel) { - Map<String, String> attributeMap = new HashMap<String, String>(); - Map<String, String> refAttributeMap = new HashMap<String, String>(); + Map<String, String> attributeMap = new HashMap<>(); + Map<String, String> refAttributeMap = new HashMap<>(); String attribute = returnModel.getAttributes(); if(attribute != null){ attribute = attribute.trim(); @@ -882,7 +845,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { @SuppressWarnings("unchecked") private JSONObject recursiveReference(String name, Map<String,String> subAttributeMap, String enumAttribute) { JSONObject object = new JSONObject(); - Map<String, String> map = new HashMap<String, String>(); + Map<String, String> map = new HashMap<>(); Object returnClass = subAttributeMap.get(name); map = (Map<String, String>) returnClass; JSONArray array = new JSONArray(); @@ -935,7 +898,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { private Set<String> getVersionList(String name) { MicroServiceModels workingModel = new MicroServiceModels(); - Set<String> list = new HashSet<String>(); + Set<String> list = new HashSet<>(); List<Object> microServiceModelsData = commonClassDao.getDataById(MicroServiceModels.class, "modelName", name); for (int i = 0; i < microServiceModelsData.size(); i++) { workingModel = (MicroServiceModels) microServiceModelsData.get(i); @@ -972,9 +935,9 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { @RequestMapping(value={"/get_DCAEPriorityValues"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) public void getDCAEPriorityValuesData(HttpServletRequest request, HttpServletResponse response){ try{ - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); ObjectMapper mapper = new ObjectMapper(); - List<String> priorityList = new ArrayList<String>(); + List<String> priorityList = new ArrayList<>(); priorityCount = 10; for (int i = 1; i < priorityCount; i++) { priorityList.add(String.valueOf(i)); @@ -985,7 +948,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { response.getWriter().write(j.toString()); } catch (Exception e){ - logger.error(e); + LOGGER.error(e); } } @@ -1079,7 +1042,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } public static Map<String, String> convert(String str, String split) { - Map<String, String> map = new HashMap<String, String>(); + Map<String, String> map = new HashMap<>(); for(final String entry : str.split(split)) { String[] parts = entry.split("="); map.put(parts[0], parts[1]); @@ -1106,14 +1069,14 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { policyAdapter.setServiceType(msBody.getService()); } if(msBody.getContent() != null){ - LinkedHashMap<String, Object> data = new LinkedHashMap<String, Object>(); + LinkedHashMap<String, Object> data = new LinkedHashMap<>(); LinkedHashMap<String, ?> map = (LinkedHashMap<String, ?>) msBody.getContent(); readRecursivlyJSONContent(map, data); policyAdapter.setRuleData(data); } } catch (Exception e) { - logger.error(e); + LOGGER.error(e); } } @@ -1124,7 +1087,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { Object key = iterator.next(); Object value = map.get(key); if(value instanceof LinkedHashMap<?, ?>){ - LinkedHashMap<String, Object> secondObjec = new LinkedHashMap<String, Object>(); + LinkedHashMap<String, Object> secondObjec = new LinkedHashMap<>(); readRecursivlyJSONContent((LinkedHashMap<String, ?>) value, secondObjec); for(String objKey: secondObjec.keySet()){ data.put(key+"." +objKey, secondObjec.get(objKey)); @@ -1134,7 +1097,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { for(int i = 0; i < jsonArrayVal.size(); i++){ Object arrayvalue = jsonArrayVal.get(i); if(arrayvalue instanceof LinkedHashMap<?, ?>){ - LinkedHashMap<String, Object> newData = new LinkedHashMap<String, Object>(); + LinkedHashMap<String, Object> newData = new LinkedHashMap<>(); readRecursivlyJSONContent((LinkedHashMap<String, ?>) arrayvalue, newData); for(String objKey: newData.keySet()){ data.put(key+"@"+i+"." +objKey, newData.get(objKey)); @@ -1171,7 +1134,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { //Convert the map values and set into JSON body public Map<String, String> convertMap(Map<String, String> attributesMap, Map<String, String> attributesRefMap) { - Map<String, String> attribute = new HashMap<String, String>(); + Map<String, String> attribute = new HashMap<>(); String temp = null; String key; String value; @@ -1236,12 +1199,12 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } }catch(Exception e){ - logger.error("Upload error : " + e); + LOGGER.error("Upload error : " + e); } } } - List<File> fileList = new ArrayList<File>();; + List<File> fileList = new ArrayList<>();; this.directory = "model"; if (zip){ extractFolder(this.newFile); @@ -1256,7 +1219,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { if(yml==false){ modelType="xmi"; //Process Main Model file first - classMap = new HashMap<String,MSAttributeObject>(); + classMap = new HashMap<>(); for (File file : fileList) { if(!file.isDirectory() && file.getName().endsWith(".xmi")){ retreiveDependency(file.toString(), true); @@ -1274,25 +1237,30 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { MSAttributeObject msAttributes= new MSAttributeObject(); msAttributes.setClassName(className); - HashMap<String, String> returnAttributeList =new HashMap<String, String>(); + HashMap<String, String> returnAttributeList =new HashMap<>(); returnAttributeList.put(className, this.attributeString); msAttributes.setAttribute(returnAttributeList); msAttributes.setSubClass(this.retmap); - HashMap<String, String> returnReferenceList =new HashMap<String, String>(); + HashMap<String, String> returnReferenceList =new HashMap<>(); //String[] referenceArray=this.referenceAttributes.split("="); returnReferenceList.put(className, this.referenceAttributes); msAttributes.setRefAttribute(returnReferenceList); if(this.listConstraints!=""){ - HashMap<String, String> enumList =new HashMap<String, String>(); - String[] listArray=this.listConstraints.split("="); - enumList.put(listArray[0], listArray[1]); + HashMap<String, String> enumList =new HashMap<>(); + String[] listArray=this.listConstraints.split("#"); + for(String str:listArray){ + String[] strArr= str.split("="); + if(strArr.length>1){ + enumList.put(strArr[0], strArr[1]); + } + } msAttributes.setEnumType(enumList); } - classMap=new HashMap<String,MSAttributeObject>(); + classMap=new HashMap<>(); classMap.put(className, msAttributes); } @@ -1319,7 +1287,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { int BUFFER = 2048; File file = new File(zipFile); - ZipFile zip; + ZipFile zip = null; try { zip = new ZipFile(file); String newPath = "model" + File.separator + zipFile.substring(0, zipFile.length() - 4); @@ -1357,19 +1325,26 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } } } catch (IOException e) { - logger.error("Failed to unzip model file " + zipFile); + LOGGER.error("Failed to unzip model file " + zipFile); + }finally{ + try { + if(zip != null) + zip.close(); + } catch (IOException e) { + LOGGER.error("Exception Occured While closing zipfile " + e); + } } } private void retreiveDependency(String workingFile, Boolean modelClass) { MSModelUtils utils = new MSModelUtils(PolicyController.msEcompName, PolicyController.msPolicyName); - HashMap<String, MSAttributeObject> tempMap = new HashMap<String, MSAttributeObject>(); + HashMap<String, MSAttributeObject> tempMap = new HashMap<>(); tempMap = utils.processEpackage(workingFile, MODEL_TYPE.XMI); classMap.putAll(tempMap); - logger.info(tempMap); + LOGGER.info(tempMap); return; @@ -1377,7 +1352,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { private List<File> listModelFiles(String directoryName) { File directory = new File(directoryName); - List<File> resultList = new ArrayList<File>(); + List<File> resultList = new ArrayList<>(); File[] fList = directory.listFiles(); for (File file : fList) { if (file.isFile()) { @@ -1395,7 +1370,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { try { FileUtils.forceDelete(new File(path)); } catch (IOException e) { - logger.error("Failed to delete folder " + path); + LOGGER.error("Failed to delete folder " + path); } } } @@ -1409,7 +1384,7 @@ public class CreateDcaeMicroServiceController extends RestrictedBaseController { } private List<String> createList() { - List<String> list = new ArrayList<String>(); + List<String> list = new ArrayList<>(); for (Entry<String, MSAttributeObject> cMap : classMap.entrySet()){ if (cMap.getValue().isPolicyTempalate()){ list.add(cMap.getKey()); diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateFirewallController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateFirewallController.java index 1326aba7d..4aea6370b 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateFirewallController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreateFirewallController.java @@ -41,6 +41,7 @@ import org.openecomp.policy.rest.adapter.AddressGroupJson; import org.openecomp.policy.rest.adapter.AddressJson; import org.openecomp.policy.rest.adapter.AddressMembers; import org.openecomp.policy.rest.adapter.DeployNowJson; +import org.openecomp.policy.rest.adapter.IdMap; import org.openecomp.policy.rest.adapter.PolicyRestAdapter; import org.openecomp.policy.rest.adapter.PrefixIPList; import org.openecomp.policy.rest.adapter.ServiceGroupJson; @@ -51,6 +52,7 @@ import org.openecomp.policy.rest.adapter.TagDefines; import org.openecomp.policy.rest.adapter.Tags; import org.openecomp.policy.rest.adapter.Term; import org.openecomp.policy.rest.adapter.TermCollector; +import org.openecomp.policy.rest.adapter.VendorSpecificData; import org.openecomp.policy.rest.dao.CommonClassDao; import org.openecomp.policy.rest.jpa.AddressGroup; import org.openecomp.policy.rest.jpa.FWTagPicker; @@ -94,8 +96,8 @@ public class CreateFirewallController extends RestrictedBaseController { private List<String> tagCollectorList; private String jsonBody; - List<String> expandablePrefixIPList = new ArrayList<String>(); - List<String> expandableServicesList= new ArrayList<String>(); + List<String> expandablePrefixIPList = new ArrayList<>(); + List<String> expandableServicesList= new ArrayList<>(); @Autowired private CreateFirewallController(CommonClassDao commonClassDao){ CreateFirewallController.commonClassDao = commonClassDao; @@ -122,9 +124,8 @@ public class CreateFirewallController extends RestrictedBaseController { } } jsonBody = constructJson(policyData); - if (jsonBody != null || jsonBody.equalsIgnoreCase("")) { + if (jsonBody != null && !jsonBody.equalsIgnoreCase("")) { policyData.setJsonBody(jsonBody); - } else { policyData.setJsonBody("{}"); } @@ -136,7 +137,7 @@ public class CreateFirewallController extends RestrictedBaseController { private List<String> mapping(String expandableList) { String value = new String(); String desc = new String(); - List <String> valueDesc= new ArrayList<String>(); + List <String> valueDesc= new ArrayList<>(); List<Object> prefixListData = commonClassDao.getData(PrefixList.class); for (int i = 0; i< prefixListData.size(); i++) { PrefixList prefixList = (PrefixList) prefixListData.get(i); @@ -190,7 +191,7 @@ public class CreateFirewallController extends RestrictedBaseController { } public void prePopulateFWPolicyData(PolicyRestAdapter policyAdapter, PolicyEntity entity) { - attributeList = new ArrayList<Object>(); + attributeList = new ArrayList<>(); if (policyAdapter.getPolicyData() instanceof PolicyType) { Object policyData = policyAdapter.getPolicyData(); PolicyType policy = (PolicyType) policyData; @@ -232,14 +233,15 @@ public class CreateFirewallController extends RestrictedBaseController { } Map<String, String> termTagMap=null; - - for(int i=0;i<tc1.getFirewallRuleList().size();i++){ - termTagMap = new HashMap<String, String>(); - String ruleName= tc1.getFirewallRuleList().get(i).getRuleName(); - String tagPickerName=tc1.getRuleToTag().get(i).getTagPickerName(); - termTagMap.put("key", ruleName); - termTagMap.put("value", tagPickerName); - attributeList.add(termTagMap); + if(tc1 != null){ + for(int i=0;i<tc1.getFirewallRuleList().size();i++){ + termTagMap = new HashMap<String, String>(); + String ruleName= tc1.getFirewallRuleList().get(i).getRuleName(); + String tagPickerName=tc1.getRuleToTag().get(i).getTagPickerName(); + termTagMap.put("key", ruleName); + termTagMap.put("value", tagPickerName); + attributeList.add(termTagMap); + } } policyAdapter.setAttributes(attributeList); // Get the target data under policy. @@ -317,7 +319,7 @@ public class CreateFirewallController extends RestrictedBaseController { @RequestMapping(value={"/policyController/ViewFWPolicyRule.htm"}, method={org.springframework.web.bind.annotation.RequestMethod.POST}) public ModelAndView setFWViewRule(HttpServletRequest request, HttpServletResponse response) throws Exception{ try { - termCollectorList = new ArrayList<String>(); + termCollectorList = new ArrayList<>(); ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); JsonNode root = mapper.readTree(request.getReader()); @@ -336,7 +338,7 @@ public class CreateFirewallController extends RestrictedBaseController { String ruleSrcPort=null; String ruleDestPort=null; String ruleAction=null; - List <String> valueDesc= new ArrayList<String>(); + List <String> valueDesc= new ArrayList<>(); StringBuffer displayString = new StringBuffer(); for (String id : termCollectorList) { List<Object> tmList = commonClassDao.getDataById(TermList.class, "termName", id); @@ -497,14 +499,14 @@ public class CreateFirewallController extends RestrictedBaseController { String json = null; - List<String> expandableList = new ArrayList<String>(); + List<String> expandableList = new ArrayList<>(); TermList jpaTermList; TermCollector tc = new TermCollector(); SecurityZone jpaSecurityZone; - List<Term> termList = new ArrayList<Term>(); + List<Term> termList = new ArrayList<>(); Tags tags=null; - List<Tags>tagsList= new ArrayList<Tags>(); + List<Tags>tagsList= new ArrayList<>(); TagDefines tagDefine= new TagDefines(); List<TagDefines> tagList=null; @@ -519,7 +521,7 @@ public class CreateFirewallController extends RestrictedBaseController { FWTagPicker jpaTagPickerList=(FWTagPicker) tagListData.get(tagCounter); if (jpaTagPickerList.getTagPickerName().equals(tag) ){ String tagValues=jpaTagPickerList.getTagValues(); - tagList= new ArrayList<TagDefines>(); + tagList= new ArrayList<>(); for(String val:tagValues.split("#")) { int index=val.indexOf(":"); String keyToStore=val.substring(0,index); @@ -561,46 +563,46 @@ public class CreateFirewallController extends RestrictedBaseController { ruleFromZone=jpaTermList.getFromZone(); if ((ruleFromZone != null) && (!ruleFromZone.isEmpty())){ - fromZone_map = new HashMap<Integer, String>(); + fromZone_map = new HashMap<>(); fromZone_map.put(tl, ruleFromZone); } ruleToZone=jpaTermList.getToZone(); if ((ruleToZone != null) && (!ruleToZone.isEmpty())){ - toZone_map = new HashMap<Integer, String>(); + toZone_map = new HashMap<>(); toZone_map.put(tl, ruleToZone); } ruleSrcPrefixList=jpaTermList.getSrcIPList(); if ((ruleSrcPrefixList != null) && (!ruleSrcPrefixList.isEmpty())){ - srcIP_map = new HashMap<Integer, String>(); + srcIP_map = new HashMap<>(); srcIP_map.put(tl, ruleSrcPrefixList); } ruleDestPrefixList= jpaTermList.getDestIPList(); if ((ruleDestPrefixList != null) && (!ruleDestPrefixList.isEmpty())){ - destIP_map = new HashMap<Integer, String>(); + destIP_map = new HashMap<>(); destIP_map.put(tl, ruleDestPrefixList); } ruleSrcPort=jpaTermList.getSrcPortList(); if (ruleSrcPort != null && (!ruleSrcPort.isEmpty())){ - srcPort_map = new HashMap<Integer, String>(); + srcPort_map = new HashMap<>(); srcPort_map.put(tl, ruleSrcPort); } ruleDestPort= jpaTermList.getDestPortList(); if (ruleDestPort!= null && (!jpaTermList.getDestPortList().isEmpty())){ - destPort_map = new HashMap<Integer, String>(); + destPort_map = new HashMap<>(); destPort_map.put(tl, ruleDestPort); } ruleAction=jpaTermList.getAction(); if (( ruleAction!= null) && (!ruleAction.isEmpty())){ - action_map = new HashMap<Integer, String>(); + action_map = new HashMap<>(); action_map.put(tl, ruleAction); } } @@ -616,7 +618,7 @@ public class CreateFirewallController extends RestrictedBaseController { //FromZone arrays if(fromZone_map!=null){ - List<String> fromZone= new ArrayList<String>(); + List<String> fromZone= new ArrayList<>(); for(String fromZoneStr:fromZone_map.get(tl).split(",") ){ fromZone.add(fromZoneStr); } @@ -625,7 +627,7 @@ public class CreateFirewallController extends RestrictedBaseController { //ToZone arrays if(toZone_map!=null){ - List<String> toZone= new ArrayList<String>(); + List<String> toZone= new ArrayList<>(); for(String toZoneStr:toZone_map.get(tl).split(",") ){ toZone.add(toZoneStr); } @@ -634,7 +636,7 @@ public class CreateFirewallController extends RestrictedBaseController { //Destination Services. if(destPort_map!=null){ - Set<ServicesJson> destServicesJsonList= new HashSet<ServicesJson>(); + Set<ServicesJson> destServicesJsonList= new HashSet<>(); for(String destServices:destPort_map.get(tl).split(",") ){ ServicesJson destServicesJson= new ServicesJson(); destServicesJson.setType("REFERENCE"); @@ -665,7 +667,7 @@ public class CreateFirewallController extends RestrictedBaseController { if(srcIP_map!=null){ //Source List - List<AddressJson> sourceListArrayJson= new ArrayList<AddressJson>(); + List<AddressJson> sourceListArrayJson= new ArrayList<>(); for(String srcList:srcIP_map.get(tl).split(",") ){ AddressJson srcListJson= new AddressJson(); if(srcList.equals("ANY")){ @@ -686,7 +688,7 @@ public class CreateFirewallController extends RestrictedBaseController { } if(destIP_map!=null){ //Destination List - List<AddressJson> destListArrayJson= new ArrayList<AddressJson>(); + List<AddressJson> destListArrayJson= new ArrayList<>(); for(String destList:destIP_map.get(tl).split(",")){ AddressJson destListJson= new AddressJson(); if(destList.equals("ANY")){ @@ -727,25 +729,32 @@ public class CreateFirewallController extends RestrictedBaseController { jpaSecurityZone = (SecurityZone) securityZoneData.get(j); if (jpaSecurityZone.getZoneName().equals(policyData.getSecurityZone())){ tc.setSecurityZoneId(jpaSecurityZone.getZoneValue()); - //setParentSecurityZone(jpaSecurityZone.getZoneValue());//For storing the securityZone IDs to the DB + IdMap idMapInstance= new IdMap(); + idMapInstance.setAstraId(jpaSecurityZone.getZoneValue()); + idMapInstance.setVendorId("deviceGroup:dev"); + + List<IdMap> idMap = new ArrayList<IdMap>(); + idMap.add(idMapInstance); + + VendorSpecificData vendorStructure= new VendorSpecificData(); + vendorStructure.setIdMap(idMap); + tc.setVendorSpecificData(vendorStructure); break; } } tc.setServiceTypeId("/v0/firewall/pan"); tc.setConfigName(policyData.getConfigName()); + tc.setVendorServiceId("vipr"); - //Astra is rejecting the packet when it sees a new JSON field, so removing it for now. - //tc.setTemplateVersion(XACMLProperties.getProperty(XACMLRestProperties.TemplateVersion_FW)); - DeployNowJson deployNow= new DeployNowJson(); deployNow.setDeployNow(false); tc.setDeploymentOption(deployNow); - Set<ServiceListJson> servListArray = new HashSet<ServiceListJson>(); - Set<ServiceGroupJson> servGroupArray= new HashSet<ServiceGroupJson>(); - Set<AddressGroupJson> addrGroupArray= new HashSet<AddressGroupJson>(); + Set<ServiceListJson> servListArray = new HashSet<>(); + Set<ServiceGroupJson> servGroupArray= new HashSet<>(); + Set<AddressGroupJson> addrGroupArray= new HashSet<>(); ServiceGroupJson targetSg= null; AddressGroupJson addressSg=null; @@ -801,7 +810,7 @@ public class CreateFirewallController extends RestrictedBaseController { String name=sg.getGroupName(); //Removing the "Group_" prepending string before packing the JSON targetSg.setName(name.substring(6,name.length())); - List<ServiceMembers> servMembersList= new ArrayList<ServiceMembers>(); + List<ServiceMembers> servMembersList= new ArrayList<>(); for(String groupString: sg.getServiceList().split(",")){ ServiceMembers serviceMembers= new ServiceMembers(); @@ -828,13 +837,13 @@ public class CreateFirewallController extends RestrictedBaseController { } } - Set<PrefixIPList> prefixIPList = new HashSet<PrefixIPList>(); + Set<PrefixIPList> prefixIPList = new HashSet<>(); for(String prefixList:expandablePrefixIPList){ for(String prefixIP: prefixList.split(",")){ if((!prefixIP.startsWith("Group_"))){ if(!prefixIP.equals("ANY")){ - List<AddressMembers> addMembersList= new ArrayList<AddressMembers>(); - List<String> valueDesc= new ArrayList<String>(); + List<AddressMembers> addMembersList= new ArrayList<>(); + List<String> valueDesc= new ArrayList<>(); PrefixIPList targetAddressList = new PrefixIPList(); AddressMembers addressMembers= new AddressMembers(); targetAddressList.setName(prefixIP); @@ -866,9 +875,9 @@ public class CreateFirewallController extends RestrictedBaseController { //Removing the "Group_" prepending string before packing the JSON addressSg.setName(name.substring(6,name.length())); - List<AddressMembers> addrMembersList= new ArrayList<AddressMembers>(); + List<AddressMembers> addrMembersList= new ArrayList<>(); for(String groupString: ag.getPrefixList().split(",")){ - List<String> valueDesc= new ArrayList<String>(); + List<String> valueDesc= new ArrayList<>(); AddressMembers addressMembers= new AddressMembers(); valueDesc= mapping (groupString); if(valueDesc.size() > 0){ @@ -886,7 +895,7 @@ public class CreateFirewallController extends RestrictedBaseController { } } - Set<Object> serviceGroup= new HashSet<Object>(); + Set<Object> serviceGroup= new HashSet<>(); for(Object obj1:servGroupArray){ serviceGroup.add(obj1); @@ -896,7 +905,7 @@ public class CreateFirewallController extends RestrictedBaseController { serviceGroup.add(obj); } - Set<Object> addressGroup= new HashSet<Object>(); + Set<Object> addressGroup= new HashSet<>(); for(Object addObj:prefixIPList){ addressGroup.add(addObj); diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreatePolicyController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreatePolicyController.java index bca63eb0f..5049d2652 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreatePolicyController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/CreatePolicyController.java @@ -67,7 +67,7 @@ public class CreatePolicyController extends RestrictedBaseController{ } public void prePopulateBaseConfigPolicyData(PolicyRestAdapter policyAdapter, PolicyEntity entity) { - attributeList = new ArrayList<Object>(); + attributeList = new ArrayList<>(); if (policyAdapter.getPolicyData() instanceof PolicyType) { Object policyData = policyAdapter.getPolicyData(); PolicyType policy = (PolicyType) policyData; @@ -136,7 +136,7 @@ public class CreatePolicyController extends RestrictedBaseController{ // After Ecomp and Config it is optional to have attributes, so // check weather dynamic values or there or not. if (index >= 7) { - Map<String, String> attribute = new HashMap<String, String>(); + Map<String, String> attribute = new HashMap<>(); attribute.put("key", attributeId); attribute.put("value", value); attributeList.add(attribute); diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/DashboardController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/DashboardController.java index 7ba1e847c..707a65d62 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/DashboardController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/DashboardController.java @@ -91,7 +91,7 @@ public class DashboardController extends RestrictedBaseController{ @RequestMapping(value={"/get_DashboardLoggingData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) public void getData(HttpServletRequest request, HttpServletResponse response){ try{ - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); ObjectMapper mapper = new ObjectMapper(); model.put("availableLoggingDatas", mapper.writeValueAsString(systemDAO.getLoggingData())); JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model)); @@ -106,7 +106,7 @@ public class DashboardController extends RestrictedBaseController{ @RequestMapping(value={"/get_DashboardSystemAlertData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) public void getSystemAlertData(HttpServletRequest request, HttpServletResponse response){ try{ - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); ObjectMapper mapper = new ObjectMapper(); model.put("systemAlertsTableDatas", mapper.writeValueAsString(systemDAO.getSystemAlertData())); JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model)); @@ -121,7 +121,7 @@ public class DashboardController extends RestrictedBaseController{ @RequestMapping(value={"/get_DashboardPAPStatusData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) public void getPAPStatusData(HttpServletRequest request, HttpServletResponse response){ try{ - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); ObjectMapper mapper = new ObjectMapper(); mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY); addPAPToTable(); @@ -138,7 +138,7 @@ public class DashboardController extends RestrictedBaseController{ @RequestMapping(value={"/get_DashboardPDPStatusData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) public void getPDPStatusData(HttpServletRequest request, HttpServletResponse response){ try{ - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); ObjectMapper mapper = new ObjectMapper(); mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY); this.pdpConatiner = new PDPGroupContainer(PolicyController.getPapEngine()); @@ -156,7 +156,7 @@ public class DashboardController extends RestrictedBaseController{ @RequestMapping(value={"/get_DashboardPolicyActivityData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) public void getPolicyActivityData(HttpServletRequest request, HttpServletResponse response){ try{ - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); ObjectMapper mapper = new ObjectMapper(); mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY); this.pdpConatiner = new PDPGroupContainer(PolicyController.getPapEngine()); @@ -175,7 +175,7 @@ public class DashboardController extends RestrictedBaseController{ * Add the PAP information to the PAP Table */ public void addPAPToTable(){ - papStatusData = new ArrayList<Object>(); + papStatusData = new ArrayList<>(); String papStatus = null; try { Set<EcompPDPGroup> groups = PolicyController.getPapEngine().getEcompPDPGroups(); @@ -205,7 +205,7 @@ public class DashboardController extends RestrictedBaseController{ */ public void addPDPToTable(){ pdpCount = 0; - pdpStatusData = new ArrayList<Object>(); + pdpStatusData = new ArrayList<>(); long naCount; long denyCount = 0; long permitCount = 0; @@ -305,7 +305,7 @@ public class DashboardController extends RestrictedBaseController{ * Add the information to the Policy Table */ private void addPolicyToTable() { - policyActivityData = new ArrayList<Object>(); + policyActivityData = new ArrayList<>(); int i = 1; String policyID = null; int policyFireCount = 0; diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/DecisionPolicyController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/DecisionPolicyController.java index 82fc24b40..2fecd7eea 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/DecisionPolicyController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/DecisionPolicyController.java @@ -68,9 +68,9 @@ public class DecisionPolicyController extends RestrictedBaseController { @SuppressWarnings("unchecked") public void prePopulateDecisionPolicyData(PolicyRestAdapter policyAdapter, PolicyEntity entity) { - attributeList = new ArrayList<Object>(); - decisionList = new ArrayList<Object>(); - ruleAlgorithmList = new ArrayList<Object>(); + attributeList = new ArrayList<>(); + decisionList = new ArrayList<>(); + ruleAlgorithmList = new ArrayList<>(); if (policyAdapter.getPolicyData() instanceof PolicyType) { Object policyData = policyAdapter.getPolicyData(); PolicyType policy = (PolicyType) policyData; @@ -121,7 +121,7 @@ public class DecisionPolicyController extends RestrictedBaseController { // Component attributes are saved under Target here we are fetching them back. // One row is default so we are not adding dynamic component at index 0. if (index >= 1) { - Map<String, String> attribute = new HashMap<String, String>(); + Map<String, String> attribute = new HashMap<>(); attribute.put("key", attributeId); attribute.put("value", value); attributeList.add(attribute); @@ -165,7 +165,7 @@ public class DecisionPolicyController extends RestrictedBaseController { if (condition != null) { ApplyType decisionApply = (ApplyType) condition.getExpression().getValue(); decisionApply = (ApplyType) decisionApply.getExpression().get(0).getValue(); - ruleAlgoirthmTracker = new LinkedList<Integer>(); + ruleAlgoirthmTracker = new LinkedList<>(); if(policyAdapter.getRuleProvider()!=null && policyAdapter.getRuleProvider().equals("GUARD_YAML")){ YAMLParams yamlParams = new YAMLParams(); for(int i=0; i<attributeList.size() ; i++){ @@ -201,7 +201,7 @@ public class DecisionPolicyController extends RestrictedBaseController { } private void prePopulateDecisionRuleAlgorithms(int index, ApplyType decisionApply, List<JAXBElement<?>> jaxbDecisionTypes) { - Map<String, String> ruleMap = new HashMap<String, String>(); + Map<String, String> ruleMap = new HashMap<>(); ruleMap.put("id", "A" + (index +1)); Map<String, String> dropDownMap = PolicyController.getDropDownMap(); for (String key : dropDownMap.keySet()) { @@ -262,7 +262,7 @@ public class DecisionPolicyController extends RestrictedBaseController { if (logger.isDebugEnabled()) { logger.debug("Prepopulating Compound rule algorithm: " + index); } - Map<String, String> rule = new HashMap<String, String>(); + Map<String, String> rule = new HashMap<>(); for (String key : PolicyController.getDropDownMap().keySet()) { String keyValue = PolicyController.getDropDownMap().get(key); if (keyValue.equals(decisionApply.getFunctionId())) { diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PDPController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PDPController.java index 87b32206e..80820c129 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PDPController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PDPController.java @@ -26,6 +26,7 @@ import java.io.PrintWriter; import java.util.ArrayList; import java.util.Collections; import java.util.HashSet; +import java.util.Iterator; import java.util.List; import java.util.Set; @@ -71,13 +72,13 @@ public class PDPController extends RestrictedBaseController { synchronized(this.groups) { this.groups.clear(); try { - Set<PDPPolicy> filteredPolicies = new HashSet<PDPPolicy>(); + Set<PDPPolicy> filteredPolicies = new HashSet<>(); Set<String> scopes = null; List<String> roles = null; String userId = UserUtils.getUserSession(request).getOrgUserId(); List<Object> userRoles = PolicyController.getRoles(userId); - roles = new ArrayList<String>(); - scopes = new HashSet<String>(); + roles = new ArrayList<>(); + scopes = new HashSet<>(); for(Object role: userRoles){ Roles userRole = (Roles) role; roles.add(userRole.getRole()); @@ -98,8 +99,11 @@ public class PDPController extends RestrictedBaseController { if(!userRoles.isEmpty()){ if(!scopes.isEmpty()){ this.groups.addAll(PolicyController.getPapEngine().getEcompPDPGroups()); + List<EcompPDPGroup> tempGroups = new ArrayList<EcompPDPGroup>(); if(!groups.isEmpty()){ - for(EcompPDPGroup group : groups){ + Iterator<EcompPDPGroup> pdpGroup = groups.iterator(); + while(pdpGroup.hasNext()){ + EcompPDPGroup group = pdpGroup.next(); Set<PDPPolicy> policies = group.getPolicies(); for(PDPPolicy policy : policies){ for(String scope : scopes){ @@ -117,11 +121,13 @@ public class PDPController extends RestrictedBaseController { } } } - groups.remove(group); + pdpGroup.remove(); StdPDPGroup newGroup = (StdPDPGroup) group; newGroup.setPolicies(filteredPolicies); - groups.add(newGroup); - } + tempGroups.add(newGroup); + } + groups.clear(); + groups = tempGroups; } } } diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyController.java index a9eb40b4f..42e4483ca 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyController.java @@ -85,7 +85,7 @@ public class PolicyController extends RestrictedBaseController { public static String logTableLimit; public static String systemAlertTableLimit; - protected static Map<String, String> dropDownMap = new HashMap<String, String>(); + protected static Map<String, String> dropDownMap = new HashMap<>(); public static Map<String, String> getDropDownMap() { return dropDownMap; } @@ -134,6 +134,10 @@ public class PolicyController extends RestrictedBaseController { //MicroService Model Properties public static String msEcompName; public static String msPolicyName; + + //WebApp directories + public static String configHome; + public static String actionHome; @Autowired private PolicyController(CommonClassDao commonClassDao){ @@ -179,6 +183,9 @@ public class PolicyController extends RestrictedBaseController { //Micro Service Properties msEcompName=prop.getProperty("xacml.policy.msEcompName"); msPolicyName=prop.getProperty("xacml.policy.msPolicyName"); + //WebApp directories + configHome = prop.getProperty("xacml.rest.config.webapps") + "Config"; + actionHome = prop.getProperty("xacml.rest.config.webapps") + "Action"; //Get the Property Values for Dashboard tab Limit try{ logTableLimit = prop.getProperty("xacml.ecomp.dashboard.logTableLimit"); @@ -231,8 +238,8 @@ public class PolicyController extends RestrictedBaseController { } private static void buildFunctionMaps() { - mapDatatype2Function = new HashMap<Datatype, List<FunctionDefinition>>(); - mapID2Function = new HashMap<String, FunctionDefinition>(); + mapDatatype2Function = new HashMap<>(); + mapID2Function = new HashMap<>(); List<Object> functiondefinitions = commonClassDao.getData(FunctionDefinition.class); for (int i = 0; i < functiondefinitions.size(); i ++) { FunctionDefinition value = (FunctionDefinition) functiondefinitions.get(i); @@ -247,7 +254,7 @@ public class PolicyController extends RestrictedBaseController { @RequestMapping(value={"/get_FunctionDefinitionDataByName"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) public void getFunctionDefinitionData(HttpServletRequest request, HttpServletResponse response){ try{ - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); ObjectMapper mapper = new ObjectMapper(); model.put("functionDefinitionDatas", mapper.writeValueAsString(commonClassDao.getDataByColumn(FunctionDefinition.class, "shortname"))); JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model)); @@ -267,7 +274,7 @@ public class PolicyController extends RestrictedBaseController { } public static Map<String, Roles> getUserRoles(String userId) { - Map<String, Roles> scopes = new HashMap<String, Roles>(); + Map<String, Roles> scopes = new HashMap<>(); List<Object> roles = commonClassDao.getDataById(Roles.class, "loginId", userId); if (roles != null && roles.size() > 0) { for (Object role : roles) { @@ -295,7 +302,7 @@ public class PolicyController extends RestrictedBaseController { public void getUserRolesEntityData(HttpServletRequest request, HttpServletResponse response){ try{ String userId = UserUtils.getUserSession(request).getOrgUserId(); - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); ObjectMapper mapper = new ObjectMapper(); model.put("userRolesDatas", mapper.writeValueAsString(getRolesOfUser(userId))); JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model)); @@ -320,7 +327,7 @@ public class PolicyController extends RestrictedBaseController { } catch (Exception e) { LOGGER.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR+"Exception Occured while loading PAP"+e); } - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); return new ModelAndView("policy_Editor","model", model); } @@ -404,7 +411,7 @@ public class PolicyController extends RestrictedBaseController { String[] splitDBCheckName = dbCheckName.split(":"); String query = "FROM PolicyEntity where policyName like'"+splitDBCheckName[1]+"%' and scope ='"+splitDBCheckName[0]+"'"; List<Object> policyEntity = commonClassDao.getDataByQuery(query); - List<String> av = new ArrayList<String>(); + List<String> av = new ArrayList<>(); for(Object entity : policyEntity){ PolicyEntity pEntity = (PolicyEntity) entity; String removeExtension = pEntity.getPolicyName().replace(".xml", ""); diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyExportAndImportController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyExportAndImportController.java index b6899e041..68a65fc5e 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyExportAndImportController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyExportAndImportController.java @@ -101,7 +101,7 @@ public class PolicyExportAndImportController extends RestrictedBaseController { public void ExportPolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{ try{ String file = null; - selectedPolicy = new ArrayList<String>(); + selectedPolicy = new ArrayList<>(); ObjectMapper mapper = new ObjectMapper(); mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false); JsonNode root = mapper.readTree(request.getReader()); @@ -196,8 +196,8 @@ public class PolicyExportAndImportController extends RestrictedBaseController { //Check if the Role and Scope Size are Null get the values from db. List<Object> userRoles = PolicyController.getRoles(userId); - roles = new ArrayList<String>(); - scopes = new HashSet<String>(); + roles = new ArrayList<>(); + scopes = new HashSet<>(); for(Object role: userRoles){ Roles userRole = (Roles) role; roles.add(userRole.getRole()); diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyRolesController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyRolesController.java index 9a4f52dbb..219342063 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyRolesController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyRolesController.java @@ -65,7 +65,7 @@ public class PolicyRolesController extends RestrictedBaseController{ @RequestMapping(value={"/get_RolesData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) public void getPolicyRolesEntityData(HttpServletRequest request, HttpServletResponse response){ try{ - Map<String, Object> model = new HashMap<String, Object>(); + Map<String, Object> model = new HashMap<>(); ObjectMapper mapper = new ObjectMapper(); model.put("rolesDatas", mapper.writeValueAsString(commonClassDao.getUserRoles())); JsonMessage msg = new JsonMessage(mapper.writeValueAsString(model)); @@ -117,8 +117,8 @@ public class PolicyRolesController extends RestrictedBaseController{ @RequestMapping(value={"/get_PolicyRolesScopeData"}, method={org.springframework.web.bind.annotation.RequestMethod.GET} , produces=MediaType.APPLICATION_JSON_VALUE) public void getPolicyScopesEntityData(HttpServletRequest request, HttpServletResponse response){ try{ - scopelist = new ArrayList<String>(); - Map<String, Object> model = new HashMap<String, Object>(); + scopelist = new ArrayList<>(); + Map<String, Object> model = new HashMap<>(); ObjectMapper mapper = new ObjectMapper(); mapper.setVisibility(PropertyAccessor.FIELD, Visibility.ANY); List<String> scopesData = commonClassDao.getDataByColumn(PolicyEditorScopes.class, "scopeName"); diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyValidationController.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyValidationController.java index d9d0fc97b..ff91e9381 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyValidationController.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/controller/PolicyValidationController.java @@ -90,8 +90,8 @@ public class PolicyValidationController extends RestrictedBaseController { private Pattern pattern; private Matcher matcher; - private static Map<String, String> rangeMap = new HashMap<String,String>(); - private static Map<String, String> mapAttribute = new HashMap<String,String>(); + private static Map<String, String> rangeMap = new HashMap<>(); + private static Map<String, String> mapAttribute = new HashMap<>(); private static final String EMAIL_PATTERN = "^[_A-Za-z0-9-\\+]+(\\.[_A-Za-z0-9-]+)*@" @@ -642,14 +642,24 @@ public class PolicyValidationController extends RestrictedBaseController { // Validation for json. protected static boolean isJSONValid(String data) { + InputStream stream = null; + JsonReader jsonReader = null; try { new JSONObject(data); - InputStream stream = new ByteArrayInputStream(data.getBytes(StandardCharsets.UTF_8)); - JsonReader jsonReader = Json.createReader(stream); - System.out.println("Json Value is: " + jsonReader.read().toString() ); + stream = new ByteArrayInputStream(data.getBytes(StandardCharsets.UTF_8)); + jsonReader = Json.createReader(stream); } catch (Exception e) { LOGGER.error("Exception Occured"+e); return false; + }finally{ + try { + if(stream != null && jsonReader != null){ + jsonReader.close(); + stream.close(); + } + } catch (IOException e) { + LOGGER.error("Exception Occured while closing the input stream"+e); + } } return true; } diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/daoImp/CommonClassDaoImpl.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/daoImp/CommonClassDaoImpl.java index 9cb41eeab..477850a11 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/daoImp/CommonClassDaoImpl.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/daoImp/CommonClassDaoImpl.java @@ -353,7 +353,7 @@ public class CommonClassDaoImpl implements CommonClassDao{ try { Criteria cr = session.createCriteria(className); Disjunction disjunction = Restrictions.disjunction(); - List<Conjunction> conjunctionList = new ArrayList<Conjunction>(); + List<Conjunction> conjunctionList = new ArrayList<>(); String[] columNames = columnName.split(":"); for(int i =0; i < data.size(); i++){ String[] entiySplit = data.get(i).split(":"); diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/model/PDPGroupContainer.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/model/PDPGroupContainer.java index 9d001b3ab..a0b47bb7d 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/model/PDPGroupContainer.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/model/PDPGroupContainer.java @@ -208,7 +208,7 @@ public class PDPGroupContainer extends PolicyItemSetChangeNotifier implements Po @Override public Collection<?> getItemIds() { - final Collection<Object> items = new ArrayList<Object>(); + final Collection<Object> items = new ArrayList<>(); items.addAll(this.groups); if (LOGGER.isTraceEnabled()) { LOGGER.trace("getItemIds: " + items); diff --git a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/model/PDPPolicyContainer.java b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/model/PDPPolicyContainer.java index 353a903be..372a416c6 100644 --- a/POLICY-SDK-APP/src/main/java/org/openecomp/policy/model/PDPPolicyContainer.java +++ b/POLICY-SDK-APP/src/main/java/org/openecomp/policy/model/PDPPolicyContainer.java @@ -177,7 +177,7 @@ public class PDPPolicyContainer extends PolicyItemSetChangeNotifier implements P @Override public Collection<?> getItemIds() { - final Collection<Object> items = new ArrayList<Object>(); + final Collection<Object> items = new ArrayList<>(); items.addAll(this.policies); return Collections.unmodifiableCollection(items); } |