X-Git-Url: https://gerrit.onap.org/r/gitweb?p=policy%2Fengine.git;a=blobdiff_plain;f=ONAP-PAP-REST%2Fsrc%2Fmain%2Fjava%2Forg%2Fonap%2Fpolicy%2Fpap%2Fxacml%2Frest%2Fcomponents%2FPolicyDbDaoTransactionInstance.java;h=347db92d7102260395bf6d6863857089996a8882;hp=bc6c795838fa2b18a7f2c88ed92135c5c5a66e0a;hb=1e61676b77dd09659027b8984f050df7e8538526;hpb=97ce3b94390c10a1af43ed5614ca976095c0097d 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..347db92d7 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 @@ -23,6 +23,7 @@ package org.onap.policy.pap.xacml.rest.components; import com.att.research.xacml.api.pap.PAPException; import com.att.research.xacml.api.pap.PDPPolicy; import com.att.research.xacml.util.XACMLProperties; + import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; @@ -36,12 +37,17 @@ import java.util.HashSet; import java.util.Iterator; import java.util.List; import java.util.Set; + import javax.persistence.PersistenceException; import javax.persistence.RollbackException; 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 +64,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,9 +74,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 public class PolicyDbDaoTransactionInstance implements PolicyDBDaoTransaction { @@ -87,9 +91,8 @@ public class PolicyDbDaoTransactionInstance implements PolicyDBDaoTransaction { private static final String PDP_NOTIFICATION = "pdp"; private static final String GROUP_NOTIFICATION = "group"; - private static final String DECISIONMS_MODEL = "MicroService_Model"; - public static boolean isJunit = false; + private static boolean isJunit = false; Session session; /** @@ -114,14 +117,11 @@ public class PolicyDbDaoTransactionInstance implements PolicyDBDaoTransaction { private static SessionFactory sessionfactory; - /** * 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 +542,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(); } @@ -630,7 +630,6 @@ public class PolicyDbDaoTransactionInstance implements PolicyDBDaoTransaction { } } - public PolicyEntity getPolicy(int policyId) { return getPolicy(policyId, null, null); } @@ -836,7 +835,6 @@ public class PolicyDbDaoTransactionInstance implements PolicyDBDaoTransaction { return configDataString; } - @Override public void close() { synchronized (emLock) { @@ -976,6 +974,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 +1456,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 +1536,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); + } }