* ============LICENSE_START=======================================================
* ONAP Policy Engine
* ================================================================================
- * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2017-2018 AT&T Intellectual Property. All rights reserved.
* ================================================================================
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
import org.onap.policy.controller.CreateClosedLoopFaultController;
import org.onap.policy.controller.CreateDcaeMicroServiceController;
import org.onap.policy.controller.CreateFirewallController;
+import org.onap.policy.controller.CreateOptimizationController;
import org.onap.policy.controller.PolicyController;
import org.onap.policy.rest.XACMLRestProperties;
import org.onap.policy.rest.adapter.PolicyRestAdapter;
import org.springframework.web.client.HttpClientErrorException;
import org.springframework.web.client.RestTemplate;
import org.springframework.web.servlet.ModelAndView;
-
+import org.onap.policy.utils.CryptoUtils;
import com.att.research.xacml.util.XACMLProperties;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.JsonNode;
private static final Logger policyLogger = FlexLogger.getLogger(PolicyRestController.class);
- private static final String modal = "model";
+ private static final String model = "model";
private static final String importDictionary = "import_dictionary";
private static CommonClassDao commonClassDao;
PolicyRestAdapter policyData = mapper.readValue(root.get(PolicyController.getPolicydata()).get("policy").toString(), PolicyRestAdapter.class);
- if("file".equals(root.get(PolicyController.getPolicydata()).get(modal).get("type").toString().replace("\"", ""))){
+ if("file".equals(root.get(PolicyController.getPolicydata()).get(model).get("type").toString().replace("\"", ""))){
policyData.setEditPolicy(true);
}
- if(root.get(PolicyController.getPolicydata()).get(modal).get("path").size() != 0){
+ if(root.get(PolicyController.getPolicydata()).get(model).get("path").size() != 0){
String dirName = "";
- for(int i = 0; i < root.get(PolicyController.getPolicydata()).get(modal).get("path").size(); i++){
- dirName = dirName.replace("\"", "") + root.get(PolicyController.getPolicydata()).get(modal).get("path").get(i).toString().replace("\"", "") + File.separator;
+ for(int i = 0; i < root.get(PolicyController.getPolicydata()).get(model).get("path").size(); i++){
+ dirName = dirName.replace("\"", "") + root.get(PolicyController.getPolicydata()).get(model).get("path").get(i).toString().replace("\"", "") + File.separator;
}
if(policyData.isEditPolicy()){
policyData.setDomainDir(dirName.substring(0, dirName.lastIndexOf(File.separator)));
}else{
- policyData.setDomainDir(dirName + root.get(PolicyController.getPolicydata()).get(modal).get("name").toString().replace("\"", ""));
+ policyData.setDomainDir(dirName + root.get(PolicyController.getPolicydata()).get(model).get("name").toString().replace("\"", ""));
}
}else{
- String domain = root.get(PolicyController.getPolicydata()).get(modal).get("name").toString();
+ String domain = root.get(PolicyController.getPolicydata()).get(model).get("name").toString();
if(domain.contains("/")){
domain = domain.substring(0, domain.lastIndexOf('/')).replace("/", File.separator);
}
policyData = new CreateFirewallController().setDataToPolicyRestAdapter(policyData);
}else if("Micro Service".equalsIgnoreCase(policyData.getConfigPolicyType())){
policyData = new CreateDcaeMicroServiceController().setDataToPolicyRestAdapter(policyData, root);
+ }else if("Optimization".equalsIgnoreCase(policyData.getConfigPolicyType())){
+ policyData = new CreateOptimizationController().setDataToPolicyRestAdapter(policyData, root);
}
}
private ResponseEntity<?> sendToPAP(String body, String requestURI, HttpMethod method){
String papUrl = PolicyController.getPapUrl();
String papID = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_USERID);
- String papPass = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_PASS);
+ String papPass = CryptoUtils.decryptTxtNoExStr(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_PASS));
Base64.Encoder encoder = Base64.getEncoder();
String encoding = encoder.encodeToString((papID+":"+papPass).getBytes(StandardCharsets.UTF_8));
String boundary = null;
String papUrl = PolicyController.getPapUrl();
String papID = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_USERID);
- String papPass = XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_PASS);
+ String papPass = CryptoUtils.decryptTxtNoExStr(XACMLProperties.getProperty(XACMLRestProperties.PROP_PAP_PASS));
Base64.Encoder encoder = Base64.getEncoder();
String encoding = encoder.encodeToString((papID+":"+papPass).getBytes(StandardCharsets.UTF_8));
}
@RequestMapping(value={"/saveDictionary/*/*"}, method={RequestMethod.POST})
- public ModelAndView saveDictionaryController(HttpServletRequest request, HttpServletResponse response) throws IOException{
+ public void saveDictionaryController(HttpServletRequest request, HttpServletResponse response) throws IOException{
String userId = "";
String uri = request.getRequestURI().replace("/saveDictionary", "");
if(uri.startsWith("/")){
policyLogger.info("***********************************************************************************************************************************");
String body = callPAP(request, "POST", uri.replaceFirst("/", "").trim());
- response.getWriter().write(body);
- return null;
+ if(body != null && !body.isEmpty()){
+ response.getWriter().write(body);
+ }else{
+ response.getWriter().write("Failed");
+ }
}
@RequestMapping(value={"/deleteDictionary/*/*"}, method={RequestMethod.POST})
- public ModelAndView deletetDictionaryController(HttpServletRequest request, HttpServletResponse response) throws IOException {
+ public void deletetDictionaryController(HttpServletRequest request, HttpServletResponse response) throws IOException {
String uri = request.getRequestURI().replace("/deleteDictionary", "");
if(uri.startsWith("/")){
uri = uri.substring(uri.indexOf('/')+1);
policyLogger.info("*************************************************************************************************************************************");
String body = callPAP(request, "POST", uri.replaceFirst("/", "").trim());
- response.getWriter().write(body);
- return null;
+ if(body != null && !body.isEmpty()){
+ response.getWriter().write(body);
+ }else{
+ response.getWriter().write("Failed");
+ }
}
@RequestMapping(value={"/searchDictionary"}, method={RequestMethod.POST})
resultList = json.get("policyresult");
}catch(Exception e){
List<String> data = new ArrayList<>();
- data.add("Elastic Search Server is down");
+ resultList = json.get("data");
+ data.add("Exception");
+ data.add(resultList.toString());
resultList = data;
policyLogger.error("Exception Occured while searching for Policy in Elastic Database" +e);
}
String uri = "searchPolicy?action=delete&policyName='"+fileName+"'";
callPAP(null, "POST", uri.trim());
}
+
+ public String notifyOtherPAPSToUpdateConfigurations(String mode, String newName, String oldName){
+ String uri = "onap/notifyOtherPAPs?action="+mode+"&newPolicyName="+newName+"&oldPolicyName="+oldName+"";
+ return callPAP(null, "POST", uri.trim());
+ }
}