- /*PolicyDBDaoTransaction addPolicyToGroupTransaction = XACMLPapServlet.getDbDaoTransaction();
- try{
- if (selectedPolicy != null) {
- // Add Current policies from container
- currentPoliciesInGroup = selectedPDPGroup.getPolicies();
- // copy policy to PAP
- addPolicyToGroupTransaction.addPolicyToGroup(selectedPDPGroup.getId(), policyName,"XACMLPapServlet.pushPolicyController");
- ((StdPDPGroup) selectedPDPGroup).copyPolicyToFile(policyName, policyID, new FileInputStream(temp));
- addPolicyToGroupTransaction.commitTransaction();
- }
- }catch (Exception e) {
- addPolicyToGroupTransaction.rollbackTransaction();
- String message = "Policy '" + policyName + "' not copied to group '" + pdpGroup +"': " + e;
- PolicyLogger.error(MessageCodes.ERROR_PROCESS_FLOW + " " + message);
- PolicyLogger.audit("Transaction Failed - See Error.log");
- response.addHeader("error", "policyCopyError");
- response.addHeader("message", message);
- response.setStatus(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
- return;
- }
- //If the selected policy is in the group we must remove it because the name is default
- for (PDPPolicy existingPolicy : currentPoliciesInGroup) {
- if (existingPolicy.getId().equals(selectedPolicy.getId())) {
- selectedPDPGroup.removePolicyFromGroup(existingPolicy);
- LOGGER.debug("Removing existing policy: " + existingPolicy);
- break;
- }
- }
- //Update the PDP Group after removing old version of policy
- //Set<PDPPolicy> updatedPoliciesInGroup = selectedPDPGroup.getPolicies();
- //need to remove the policy with default name from group
- for (PDPPolicy updatedPolicy : currentPoliciesInGroup) {
- if (updatedPolicy.getName().equalsIgnoreCase("default")) {
- selectedPDPGroup.removePolicyFromGroup(updatedPolicy);
- }
- }
- Set<PDPPolicy> policies = selectedPDPGroup.getPolicies();
- policies.add(selectedPolicy);
- selectedPDPGroup.setPolicies(policies);
- // Update now.
- try {
- XACMLPapServlet.getPAPEngine().updateGroup(selectedPDPGroup);
- } catch (PAPException e) {
- // TODO Auto-generated catch block
- logger.error("Exception Occured"+e);
- }
- // policy file copied ok and the Group was updated on the PDP
- response.setStatus(HttpServletResponse.SC_NO_CONTENT);
- response.addHeader("operation", "push");
- response.addHeader("policyId", policyName);
- response.addHeader("groupId", pdpGroup);
- return;*/