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%2FPolicyDBDaoTransaction.java;h=250029a89f35070a2fd71d5c4ad73319a161fe80;hp=d6ace7cf3896b7fdb23669f5e05dedf82e9a6f84;hb=1e61676b77dd09659027b8984f050df7e8538526;hpb=f0fec2a861ea0a92b27b40882ea38f9422cde0c6 diff --git a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDaoTransaction.java b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDaoTransaction.java index d6ace7cf3..250029a89 100644 --- a/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDaoTransaction.java +++ b/ONAP-PAP-REST/src/main/java/org/onap/policy/pap/xacml/rest/components/PolicyDBDaoTransaction.java @@ -2,14 +2,14 @@ * ============LICENSE_START======================================================= * ONAP-PAP-REST * ================================================================================ - * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved. + * Copyright (C) 2017-2019 AT&T Intellectual Property. All rights reserved. * ================================================================================ * 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. @@ -20,6 +20,8 @@ package org.onap.policy.pap.xacml.rest.components; +import com.att.research.xacml.api.pap.PAPException; + import java.util.List; import javax.persistence.PersistenceException; @@ -31,12 +33,12 @@ import org.onap.policy.xacml.api.pap.OnapPDP; import org.onap.policy.xacml.api.pap.OnapPDPGroup; import org.onap.policy.xacml.std.pap.StdPDPGroup; -import com.att.research.xacml.api.pap.PAPException; - public interface PolicyDBDaoTransaction { /** - * Commits (makes permanent) the current transaction. Also, notifies other PolicyDBDao instances on other PAP servers of the update. + * Commits (makes permanent) the current transaction. Also, notifies other PolicyDBDao instances on other PAP + * servers of the update. + * * @throws IllegalStateException if the PolicyDBDao transaction has not been used or has been committed already. * @throws PersistenceException if the commit fails for some reason */ @@ -44,6 +46,7 @@ public interface PolicyDBDaoTransaction { /** * Create or update a policy + * * @param policy A Policy object representing the policy to store or update * @param username A string of the username you want to be stored for doing this operation * @throws IllegalStateException If a transaction is open that has not yet been committed @@ -54,6 +57,7 @@ public interface PolicyDBDaoTransaction { /** * Check if the PolicyDBDaoTransaction is currently open + * * @return False if the PolicyDBDao transaction has not been used or has been committed already, true if it is open. */ public boolean isTransactionOpen(); @@ -64,13 +68,14 @@ public interface PolicyDBDaoTransaction { public void rollbackTransaction(); /** - * Close the PolicyDBDaoTransaction without rolling back or doing anything. Just used to close the EntityManager + * Close the PolicyDBDaoTransaction without rolling back or doing anything. Just used to close the Hibernate + * session. */ public void close(); - /** * Create a new PDP group in the database + * * @param groupID The ID to name the new group (use PolicyDBDao.createNewPDPGroupId) * @param groupName The name to use for the new group * @param groupDescription Description of the new group (optional) @@ -79,20 +84,25 @@ public interface PolicyDBDaoTransaction { * @throws IllegalStateException If a transaction is already open * @throws PersistenceException If a database error occurs */ - public void createGroup(String groupID, String groupName, String groupDescription, String username) throws PolicyDBException; + public void createGroup(String groupID, String groupName, String groupDescription, String username) + throws PolicyDBException; /** * Updates a group in the database with a new name of description - * @param group The group with updated information. The id must match an existing group, but the name and description can be changed. + * + * @param group The group with updated information. The id must match an existing group, but the name and + * description can be changed. * @param username Username of the user performing the operation + * @param userId needed to store user information in policyAuditlog table during transaction. * @throws IllegalArgumentException If non-optional parameters are null or empty strings * @throws IllegalStateException If a transaction is already open * @throws PersistenceException If a database error occurs or if the group can not be found */ - public void updateGroup(OnapPDPGroup group, String username) throws PolicyDBException; + public void updateGroup(OnapPDPGroup group, String requestType, String userId) throws PolicyDBException; /** * Updates a PDP in the database with new information + * * @param pdp The PDP to update * @param username Username of the user performing the operation * @throws IllegalArgumentException If non-optional parameters are null or empty strings @@ -103,6 +113,7 @@ public interface PolicyDBDaoTransaction { /** * Change the default group in the database to the group provided. + * * @param group The new group which should be set as default in the database * @param username Username of the user performing the operation * @throws IllegalArgumentException If non-optional parameters are null or empty strings @@ -113,6 +124,7 @@ public interface PolicyDBDaoTransaction { /** * Moves a PDP to a new group. + * * @param pdp The PDP which is to be moved to a new group * @param group The new group which the PDP should be added to * @param username Username of the user performing the operation @@ -124,6 +136,7 @@ public interface PolicyDBDaoTransaction { /** * Add a new PDP to an existing group + * * @param pdpID The ID to name the new PDP * @param groupID The ID of the existing group to add the PDP to * @param pdpName The name to use for the new PDP @@ -134,10 +147,12 @@ public interface PolicyDBDaoTransaction { * @throws IllegalStateException If a transaction is already open * @throws PersistenceException If a database error occurs */ - public void addPdpToGroup(String pdpID, String groupID, String pdpName, String pdpDescription, int pdpJmxPort, String username) throws PolicyDBException; + public void addPdpToGroup(String pdpID, String groupID, String pdpName, String pdpDescription, int pdpJmxPort, + String username) throws PolicyDBException; /** * Add an existing policy to an existing group + * * @param group The ID of the existing group to add the policy to * @param policyID The ID of an existing policy * @return @@ -146,22 +161,25 @@ public interface PolicyDBDaoTransaction { * @throws PersistenceException If a database error occurs * @throws PolicyDBException */ - public StdPDPGroup addPolicyToGroup(String group, String policyID, String username) throws PolicyDBException; - + public StdPDPGroup addPolicyToGroup(String group, String policyID, String requestType, String username) + throws PolicyDBException; /** * Delete an existing PDP groupPolicyDBException + * * @param group A PDPGroup object representing the group to delete - * @param moveToGroup A PDPGroup object representing another existing group which PDPs in the group being deleted should be moved to + * @param moveToGroup A PDPGroup object representing another existing group which PDPs in the group being deleted + * should be moved to * @throws IllegalArgumentException If non-optional parameters are null or empty strings * @throws IllegalStateException If a transaction is already open * @throws PersistenceException If a database error occurs * @throws PAPException If an error relating to how groups are handled occurs */ - public void deleteGroup(OnapPDPGroup group, OnapPDPGroup moveToGroup, String username)throws PolicyDBException; + public void deleteGroup(OnapPDPGroup group, OnapPDPGroup moveToGroup, String username) throws PolicyDBException; /** * Removes an existing PDP from its group and deletes it. + * * @param pdpID The ID of the existing PDP which should be deleted * @throws IllegalArgumentException If non-optional parameters are null or empty strings * @throws IllegalStateException If a transaction is already open @@ -170,7 +188,10 @@ public interface PolicyDBDaoTransaction { public void removePdpFromGroup(String pdpID, String username) throws PolicyDBException; public GroupEntity getGroup(long groupKey); + public GroupEntity getGroup(String groupId); + public List getPdpsInGroup(long groupKey); + public PdpEntity getPdp(long pdpKey); }