X-Git-Url: https://gerrit.onap.org/r/gitweb?a=blobdiff_plain;f=ONAP-PAP-REST%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fpap%2Fxacml%2Frest%2Fcomponents%2FPolicyDbDaoTransactionInstance.java;h=f63649ddc14e81a8df3b6cd64074f9543653a439;hb=1b1640ae538cfdb3667fd3222dc4dec469b0e3f7;hp=bc6c795838fa2b18a7f2c88ed92135c5c5a66e0a;hpb=2903daf20f5e473a96a36342151a26e9f2e55005;p=policy%2Fengine.git diff --git a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/PolicyDbDaoTransactionInstance.java b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/PolicyDbDaoTransactionInstance.java index bc6c79583..f63649ddc 100644 --- a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/PolicyDbDaoTransactionInstance.java +++ b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/PolicyDbDaoTransactionInstance.java @@ -42,6 +42,8 @@ import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.xpath.XPath; import javax.xml.xpath.XPathFactory; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicySetType; +import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType; import org.apache.commons.io.FilenameUtils; import org.apache.commons.io.IOUtils; import org.hibernate.Query; @@ -58,6 +60,7 @@ import org.onap.policy.rest.jpa.ActionBodyEntity; import org.onap.policy.rest.jpa.ConfigurationDataEntity; import org.onap.policy.rest.jpa.GroupEntity; import org.onap.policy.rest.jpa.PdpEntity; +import org.onap.policy.rest.jpa.PolicyAuditlog; import org.onap.policy.rest.jpa.PolicyEntity; import org.onap.policy.xacml.api.pap.OnapPDP; import org.onap.policy.xacml.api.pap.OnapPDPGroup; @@ -67,8 +70,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import org.w3c.dom.Document; import org.xml.sax.InputSource; -import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicySetType; -import oasis.names.tc.xacml._3_0.core.schema.wd_17.PolicyType; @Component @@ -89,7 +90,7 @@ public class PolicyDbDaoTransactionInstance implements PolicyDBDaoTransaction { private static final String DECISIONMS_MODEL = "MicroService_Model"; - public static boolean isJunit = false; + private static boolean isJunit = false; Session session; /** @@ -118,10 +119,8 @@ public class PolicyDbDaoTransactionInstance implements PolicyDBDaoTransaction { /** * Instantiates a new policy DB dao transaction instance. * - * @param transactionTimeout the transaction timeout is how long the transaction can sit before - * rolling back - * @param transactionWaitTime the transaction wait time is how long to wait for the transaction - * to start before + * @param transactionTimeout the transaction timeout is how long the transaction can sit before rolling back + * @param transactionWaitTime the transaction wait time is how long to wait for the transaction to start before */ public PolicyDbDaoTransactionInstance(int transactionTimeout, int transactionWaitTime) { logger.info("\n\nPolicyDBDaoTransactionInstance() as PolicyDBDaoTransactionInstance() called:" @@ -542,7 +541,7 @@ public class PolicyDbDaoTransactionInstance implements PolicyDBDaoTransaction { } IOUtils.closeQuietly(policyXmlStream); - if (PolicyDBDao.isJunit) { + if (PolicyDBDao.isJunit()) { // Using parentPath object to set policy data. policyDataString = policy.policyAdapter.getParentPath(); } @@ -976,6 +975,8 @@ public class PolicyDbDaoTransactionInstance implements PolicyDBDaoTransaction { && policyDbDaoVar.getPolicyNameAndVersionFromPolicyFileName( dbpolicy.getPolicyName())[0].equals(policyName)) { dbPolicyIt.remove(); + auditPdpOperations(username, + dbpolicy.getScope() + "." + dbpolicy.getPolicyName(), "Delete"); logger.info("PolicyDBDao: deleting policy from the existing group:\n " + "policyName is " + policyToDelete.getScope() + "." + policyToDelete.getPolicyName() + "\n" + "group is " @@ -1456,6 +1457,7 @@ public class PolicyDbDaoTransactionInstance implements PolicyDBDaoTransaction { + policy.getPolicyId()); } group.addPolicyToGroup(policy); + auditPdpOperations(username, policy.getScope() + "." + policy.getPolicyName(), "Push"); session.flush(); // After adding policy to the db group we need to make sure the @@ -1535,4 +1537,28 @@ public class PolicyDbDaoTransactionInstance implements PolicyDBDaoTransaction { } return description; } + + public static boolean isJunit() { + return isJunit; + } + + public static void setJunit(boolean isJunit) { + PolicyDbDaoTransactionInstance.isJunit = isJunit; + } + + /** + * Audit pdp operations. + * + * @param username the username + * @param policyID the policy ID + * @param action the action + */ + public void auditPdpOperations(String username, String policyID, String action) { + PolicyAuditlog log = new PolicyAuditlog(); + log.setUserName(username); + log.setActions(action); + log.setPolicyName(policyID); + log.setDateAndTime(new Date()); + session.save(log); + } }