* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.File;
-import java.io.PrintWriter;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashSet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-
+import lombok.Getter;
+import lombok.Setter;
import org.json.JSONObject;
import org.onap.policy.admin.RESTfulPAPEngine;
import org.onap.policy.common.logging.flexlogger.FlexLogger;
import org.onap.policy.common.logging.flexlogger.Logger;
import org.onap.policy.model.PDPGroupContainer;
+import org.onap.policy.utils.PolicyUtils;
import org.onap.policy.utils.UserUtils.Pair;
import org.onap.policy.xacml.api.XACMLErrorConstants;
import org.onap.policy.xacml.api.pap.OnapPDPGroup;
-import org.onap.policy.xacml.api.pap.PAPPolicyEngine;
import org.onap.policy.xacml.std.pap.StdPDP;
import org.onap.policy.xacml.std.pap.StdPDPGroup;
import org.onap.portalsdk.core.controller.RestrictedBaseController;
this.policyController = policyController;
}
+ /**
+ * refreshGroups.
+ *
+ * @param request HttpServletRequest
+ */
public synchronized void refreshGroups(HttpServletRequest request) {
synchronized (this.groups) {
this.groups.clear();
String userId = isJunit() ? "Test" : UserUtils.getUserSession(request).getOrgUserId();
List<Object> userRoles = controller.getRoles(userId);
Pair<Set<String>, List<String>> pair = org.onap.policy.utils.UserUtils.checkRoleAndScope(userRoles);
- roles = pair.u;
- scopes = pair.t;
+ roles = pair.second;
+ scopes = pair.first;
if (!junit && controller.getPapEngine() == null) {
- setPAPEngine(request);
+ setPapEngine(request);
}
if (roles.contains(SUPERADMIN) || roles.contains(SUPEREDITOR) || roles.contains(SUPERGUEST)) {
if (!junit) {
}
}
- private void setPAPEngine(HttpServletRequest request) {
- String myRequestURL = request.getRequestURL().toString();
+ private void setPapEngine(HttpServletRequest request) {
try {
//
// Set the URL for the RESTful PAP Engine
//
- PolicyController.setPapEngine((PAPPolicyEngine) new RESTfulPAPEngine(myRequestURL));
+ PolicyController.setPapEngine(new RESTfulPAPEngine(request.getRequestURL().toString()));
} catch (Exception e) {
policyLogger.error(XACMLErrorConstants.ERROR_SYSTEM_ERROR + "Exception Occured while loading PAP", e);
}
}
+ /**
+ * getPDPGroupEntityData.
+ *
+ * @param request HttpServletRequest
+ * @param response HttpServletResponse
+ */
@RequestMapping(
value = {"/get_PDPGroupData"},
method = {org.springframework.web.bind.annotation.RequestMethod.GET},
produces = MediaType.APPLICATION_JSON_VALUE)
public void getPDPGroupEntityData(HttpServletRequest request, HttpServletResponse response) {
try {
- ObjectMapper mapper = new ObjectMapper();
refreshGroups(request);
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
- JSONObject j = new JSONObject(msg);
- response.getWriter().write(j.toString());
+ response.getWriter().write(new JSONObject(new JsonMessage(
+ new ObjectMapper().writeValueAsString(groups))).toString());
} catch (Exception e) {
policyLogger.error(
XACMLErrorConstants.ERROR_DATA_ISSUE + "Error Occured while retrieving the PDP Group data" + e);
}
}
+ /**
+ * savePDPGroup.
+ *
+ * @param request HttpServletRequest
+ * @param response HttpServletResponse
+ */
@RequestMapping(
value = {"/pdp_Group/save_pdp_group"},
method = {org.springframework.web.bind.annotation.RequestMethod.POST})
public void savePDPGroup(HttpServletRequest request, HttpServletResponse response) {
try {
+ response.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
+ request.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
+ //
+ //
+ //
ObjectMapper mapper = new ObjectMapper();
PolicyController controller = getPolicyControllerInstance();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
String userId = UserUtils.getUserSession(request).getOrgUserId();
policyLogger.info(
- "****************************************Logging UserID for Save PDP Group Function*****************************************");
+ "*******************Logging UserID for Save PDP Group Function*******************************");
policyLogger.info("UserId: " + userId + "PDP Group Data: " + root.get("pdpGroupData").toString());
policyLogger.info(
- "***************************************************************************************************************************");
+ "********************************************************************************************");
StdPDPGroup pdpGroupData = mapper
.readValue(root.get("pdpGroupData").toString().replace("groupName", "name"), StdPDPGroup.class);
+ message + e);
}
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
+ response.setContentType(PolicyUtils.APPLICATION_JSON);
- PrintWriter out = response.getWriter();
refreshGroups(request);
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
- JSONObject j = new JSONObject(msg);
- out.write(j.toString());
+ response.getWriter().write(new JSONObject(new JsonMessage(mapper.writeValueAsString(groups))).toString());
} catch (Exception e) {
policyLogger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Error Occured while Saving the PDP Group" + e);
- response.setCharacterEncoding("UTF-8");
- PrintWriter out = null;
try {
- request.setCharacterEncoding("UTF-8");
- out = response.getWriter();
- out.write(e.getMessage());
+ response.getWriter().write(e.getMessage());
} catch (Exception e1) {
policyLogger
.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Error Occured while Saving the PDP Group" + e1);
}
}
+ /**
+ * removePDPGroup.
+ *
+ * @param request HttpServletRequest
+ * @param response HttpServletResponse
+ */
@RequestMapping(
value = {"/pdp_Group/remove_pdp_group"},
method = {org.springframework.web.bind.annotation.RequestMethod.POST})
public void removePDPGroup(HttpServletRequest request, HttpServletResponse response) {
try {
+ response.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
+ request.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
+ //
+ //
+ //
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
JsonNode root = mapper.readTree(request.getReader());
String userId = UserUtils.getUserSession(request).getOrgUserId();
policyLogger.info(
- "****************************************Logging UserID for Remove PDP Group Function*****************************************");
+ "*********************Logging UserID for Remove PDP Group Function*******************************");
policyLogger.info("UserId: " + userId + "PDP Group Data: " + root.get("pdpGroupData").toString());
policyLogger.info(
- "*****************************************************************************************************************************");
+ "************************************************************************************************");
StdPDPGroup pdpGroupData = mapper.readValue(root.get("pdpGroupData").toString(), StdPDPGroup.class);
if ("Default".equals(pdpGroupData.getName())) {
this.container.removeGroup(pdpGroupData, null);
}
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
-
+ response.setContentType(PolicyUtils.APPLICATION_JSON);
refreshGroups(request);
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
- JSONObject j = new JSONObject(msg);
- out.write(j.toString());
+ response.getWriter().write(new JSONObject(new JsonMessage(mapper.writeValueAsString(groups))).toString());
} catch (Exception e) {
policyLogger.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Error Occured while Removing the PDP Group" + e);
- PrintWriter out;
try {
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- out = response.getWriter();
- out.write(e.getMessage());
+ response.getWriter().write(e.getMessage());
} catch (Exception e1) {
policyLogger.error("Exception Occured" + e1);
}
}
}
+ /**
+ * savePDPToGroup.
+ *
+ * @param request HttpServletRequest
+ * @param response HttpServletResponse
+ */
@RequestMapping(
value = {"/pdp_Group/save_pdpTogroup"},
method = {org.springframework.web.bind.annotation.RequestMethod.POST})
public void savePDPToGroup(HttpServletRequest request, HttpServletResponse response) {
try {
+ response.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
+ request.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
+ //
+ //
+ //
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
JsonNode root = mapper.readTree(request.getReader());
String userId = UserUtils.getUserSession(request).getOrgUserId();
policyLogger.info(
- "****************************************Logging UserID while Saving pdp in PDP Group*****************************************");
+ "*************Logging UserID while Saving pdp in PDP Group***********************************");
policyLogger.info("UserId: " + userId + "PDP Group Data: " + root.get("pdpInGroup").toString()
+ "Active Group Data: " + root.get("activePDP").toString());
policyLogger.info(
- "*******************************************************************************************************************************");
+ "**********************************************************************************************");
try {
+ "Error Occured while Creating Pdp in PDP Group" + message + e);
}
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
-
- PrintWriter out = response.getWriter();
+ response.setContentType(PolicyUtils.APPLICATION_JSON);
refreshGroups(request);
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
- JSONObject j = new JSONObject(msg);
- out.write(j.toString());
+ response.getWriter().write(new JSONObject(new JsonMessage(mapper.writeValueAsString(groups))).toString());
} catch (Exception e) {
policyLogger
.error(XACMLErrorConstants.ERROR_DATA_ISSUE + "Error Occured while Creating Pdp in PDP Group" + e);
- PrintWriter out;
try {
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- out = response.getWriter();
- out.write(e.getMessage());
+ response.getWriter().write(e.getMessage());
} catch (Exception e1) {
policyLogger.error("Exception Occured" + e1);
}
}
}
+ /**
+ * removePDPFromGroup.
+ *
+ * @param request HttpServletRequest
+ * @param response HttpServletResponse
+ */
@RequestMapping(
value = {"/pdp_Group/remove_pdpFromGroup"},
method = {org.springframework.web.bind.annotation.RequestMethod.POST})
public void removePDPFromGroup(HttpServletRequest request, HttpServletResponse response) {
try {
+ response.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
+ request.setCharacterEncoding(PolicyUtils.CHARACTER_ENCODING);
+ //
+ //
+ //
ObjectMapper mapper = new ObjectMapper();
mapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
JsonNode root = mapper.readTree(request.getReader());
PolicyController controller = getPolicyControllerInstance();
this.container = new PDPGroupContainer(controller.getPapEngine());
- StdPDP deletePdp = mapper.readValue(root.get("data").toString(), StdPDP.class);
- StdPDPGroup activeGroupData = mapper.readValue(root.get("activePDP").toString(), StdPDPGroup.class);
String userId = UserUtils.getUserSession(request).getOrgUserId();
policyLogger.info(
- "****************************************Logging UserID while Removing pdp from PDP Group*****************************************");
+ "********************Logging UserID while Removing pdp from PDP Group**************************");
policyLogger.info("UserId: " + userId + "Delete PDP Group Data: " + root.get("data").toString()
+ "Active Group Data: " + root.get("activePDP").toString());
policyLogger.info(
- "***********************************************************************************************************************************");
+ "************************************************************************************************");
+ StdPDP deletePdp = mapper.readValue(root.get("data").toString(), StdPDP.class);
+ StdPDPGroup activeGroupData = mapper.readValue(root.get("activePDP").toString(), StdPDPGroup.class);
this.container.removePDP(deletePdp, activeGroupData);
- response.setCharacterEncoding("UTF-8");
- response.setContentType("application / json");
- request.setCharacterEncoding("UTF-8");
+ response.setContentType(PolicyUtils.APPLICATION_JSON);
- PrintWriter out = response.getWriter();
refreshGroups(request);
- JsonMessage msg = new JsonMessage(mapper.writeValueAsString(groups));
- JSONObject j = new JSONObject(msg);
- out.write(j.toString());
+ response.getWriter().write(new JSONObject(new JsonMessage(mapper.writeValueAsString(groups))).toString());
} catch (Exception e) {
policyLogger.error(
XACMLErrorConstants.ERROR_DATA_ISSUE + "Error Occured while Removing Pdp from PDP Group" + e);
- PrintWriter out;
try {
- response.setCharacterEncoding("UTF-8");
- request.setCharacterEncoding("UTF-8");
- out = response.getWriter();
- out.write(e.getMessage());
+ response.getWriter().write(e.getMessage());
} catch (Exception e1) {
policyLogger.error("Exception Occured" + e1);
}
}
}
-
+@Getter
+@Setter
class PdpData {
String id;
int jmxPort;
String name;
String description;
-
- public String getId() {
- return id;
- }
-
- public void setId(String id) {
- this.id = id;
- }
-
- public int getJmxPort() {
- return jmxPort;
- }
-
- public void setJmxPort(int jmxPort) {
- this.jmxPort = jmxPort;
- }
-
- public String getName() {
- return name;
- }
-
- public void setName(String name) {
- this.name = name;
- }
-
- public String getDescription() {
- return description;
- }
-
- public void setDescription(String description) {
- this.description = description;
- }
-
}