import java.net.HttpURLConnection;
import java.net.URL;
import java.nio.charset.StandardCharsets;
+import java.util.ArrayList;
import java.util.Base64;
import java.util.List;
JsonNode root = mapper.readTree(request.getReader());
PolicyRestAdapter policyData = (PolicyRestAdapter)mapper.readValue(root.get("policyData").get("policy").toString(), PolicyRestAdapter.class);
- policyData.setDomainDir(root.get("policyData").get("model").get("name").toString().replace("\"", ""));
+
if(root.get("policyData").get("model").get("type").toString().replace("\"", "").equals("file")){
policyData.isEditPolicy = true;
}
+ if(root.get("policyData").get("model").get("path").size() != 0){
+ String dirName = "";
+ for(int i = 0; i < root.get("policyData").get("model").get("path").size(); i++){
+ dirName = dirName.replace("\"", "") + root.get("policyData").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("policyData").get("model").get("name").toString().replace("\"", ""));
+ }
+ }else{
+ String domain = root.get("policyData").get("model").get("name").toString();
+ if(domain.contains("/")){
+ domain = domain.substring(0, domain.lastIndexOf("/")).replace("/", File.separator);
+ }
+ domain = domain.replace("\"", "");
+ policyData.setDomainDir(domain);
+ }
+
if(policyData.getConfigPolicyType() != null){
if(policyData.getConfigPolicyType().equalsIgnoreCase("ClosedLoop_Fault")){
CreateClosedLoopFaultController faultController = new CreateClosedLoopFaultController();
policyData.setUserId(userId);
- if(root.get("policyData").get("model").get("path").size() != 0){
- String dirName = "";
- for(int i = 0; i < root.get("policyData").get("model").get("path").size(); i++){
- dirName = dirName.replace("\"", "") + root.get("policyData").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("policyData").get("model").get("name").toString().replace("\"", ""));
- }
- }else{
- policyData.setDomainDir(root.get("policyData").get("model").get("name").toString().replace("\"", ""));
- }
String result;
String body = PolicyUtils.objectToJsonString(policyData);
String uri = request.getRequestURI();
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);
}
}
connection.setDoOutput(true);
connection.setDoInput(true);
- if(!uri.contains("searchPolicy")){
+ if(!uri.contains("searchPolicy?action=delete&")){
+
if(!(uri.endsWith("set_BRMSParamData") || uri.contains("import_dictionary"))){
connection.setRequestProperty("Content-Type","application/json");
ObjectMapper mapper = new ObjectMapper();
try {
root = mapper.readTree(request.getReader());
}catch (Exception e1) {
- e1.printStackTrace();
+ LOGGER.error("Exception Occured while calling PAP"+e1);
}
ObjectMapper mapper1 = new ObjectMapper();
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);
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);
+ }
}
}
}
}
} catch (Exception e) {
- e.printStackTrace();
+ LOGGER.error("Exception Occured"+e);
}finally{
if(file != null){
if(file.exists()){
return null;
}
+ @RequestMapping(value={"/searchDictionary"}, method={RequestMethod.POST})
+ public ModelAndView searchDictionaryController(HttpServletRequest request, HttpServletResponse response) throws Exception{
+ Object resultList = null;
+ String uri = request.getRequestURI();
+ String body = callPAP(request, response, "POST", uri.replaceFirst("/", "").trim());
+ if(body.contains("CouldNotConnectException")){
+ List<String> data = new ArrayList<>();
+ data.add("Elastic Search Server is down");
+ resultList = data;
+ }else{
+ JSONObject json = new JSONObject(body);
+ resultList = json.get("policyresult");
+ }
+
+ response.setCharacterEncoding("UTF-8");
+ response.setContentType("application / json");
+ PrintWriter out = response.getWriter();
+ JSONObject j = new JSONObject("{result: " + resultList + "}");
+ out.write(j.toString());
+ return null;
+ }
+
+ @RequestMapping(value={"/searchPolicy"}, method={RequestMethod.POST})
+ public ModelAndView searchPolicy(HttpServletRequest request, HttpServletResponse response) throws Exception{
+ Object resultList = null;
+ String uri = request.getRequestURI()+"?action=search";
+ String body = callPAP(request, response, "POST", uri.replaceFirst("/", "").trim());
+
+ JSONObject json = new JSONObject(body);
+ try{
+ resultList = json.get("policyresult");
+ }catch(Exception e){
+ List<String> data = new ArrayList<>();
+ data.add("Elastic Search Server is down");
+ resultList = data;
+ }
+
+ response.setCharacterEncoding("UTF-8");
+ response.setContentType("application / json");
+ request.setCharacterEncoding("UTF-8");
+
+ PrintWriter out = response.getWriter();
+ JSONObject j = new JSONObject("{result: " + resultList + "}");
+ out.write(j.toString());
+ return null;
+ }
+
public void deleteElasticData(String fileName){
String uri = "searchPolicy?action=delete&policyName='"+fileName+"'";
callPAP(null, null, "POST", uri.trim());