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;
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;
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
private static final String DECISIONMS_MODEL = "MicroService_Model";
- public static boolean isJunit = false;
+ private static boolean isJunit = false;
Session session;
/**
/**
* 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:"
}
IOUtils.closeQuietly(policyXmlStream);
- if (PolicyDBDao.isJunit) {
+ if (PolicyDBDao.isJunit()) {
// Using parentPath object to set policy data.
policyDataString = policy.policyAdapter.getParentPath();
}
&& 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 "
+ 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
}
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);
+ }
}