summaryrefslogtreecommitdiffstats
path: root/integrity-monitor/src/main/java
diff options
context:
space:
mode:
Diffstat (limited to 'integrity-monitor/src/main/java')
-rw-r--r--integrity-monitor/src/main/java/org/onap/policy/common/im/StateManagement.java283
-rw-r--r--integrity-monitor/src/main/java/org/onap/policy/common/im/StateManagementException.java29
-rw-r--r--integrity-monitor/src/main/java/org/onap/policy/common/im/exceptions/EntityRetrievalException.java31
3 files changed, 179 insertions, 164 deletions
diff --git a/integrity-monitor/src/main/java/org/onap/policy/common/im/StateManagement.java b/integrity-monitor/src/main/java/org/onap/policy/common/im/StateManagement.java
index 1d899dee..5cafd876 100644
--- a/integrity-monitor/src/main/java/org/onap/policy/common/im/StateManagement.java
+++ b/integrity-monitor/src/main/java/org/onap/policy/common/im/StateManagement.java
@@ -23,13 +23,12 @@ package org.onap.policy.common.im;
import java.util.Date;
import java.util.List;
import java.util.Observable;
-
import javax.persistence.EntityManager;
import javax.persistence.EntityManagerFactory;
import javax.persistence.FlushModeType;
import javax.persistence.LockModeType;
-import javax.persistence.Query;
-
+import javax.persistence.TypedQuery;
+import org.onap.policy.common.im.exceptions.EntityRetrievalException;
import org.onap.policy.common.im.jpa.StateManagementEntity;
import org.onap.policy.common.utils.jpa.EntityMgrCloser;
import org.onap.policy.common.utils.jpa.EntityTransCloser;
@@ -44,6 +43,9 @@ import org.slf4j.LoggerFactory;
*
*/
public class StateManagement extends Observable {
+ private static final String RESOURCE_NAME = "resource";
+ private static final String GET_STATE_MANAGEMENT_ENTITY_QUERY =
+ "Select p from StateManagementEntity p where p.resourceName=:" + RESOURCE_NAME;
private static final Logger logger = LoggerFactory.getLogger(StateManagement.class);
public static final String LOCKED = "locked";
public static final String UNLOCKED = "unlocked";
@@ -75,7 +77,7 @@ public class StateManagement extends Observable {
private String opState = null;
private String availStatus = null;
private String standbyStatus = null;
- private EntityManagerFactory emf;
+ private final EntityManagerFactory emf;
private StateTransition st = null;
/*
@@ -98,14 +100,14 @@ public class StateManagement extends Observable {
* @param resourceName
* @throws StateManagementException
*/
- public StateManagement(EntityManagerFactory entityManagerFactory, String resourceName) throws StateManagementException
+ public StateManagement(final EntityManagerFactory entityManagerFactory, final String resourceName) throws StateManagementException
{
emf = entityManagerFactory;
if(logger.isDebugEnabled()){
logger.debug("StateManagement: constructor, resourceName: {}", resourceName);
}
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em);
MyTransaction et = new MyTransaction(em)) {
@@ -120,15 +122,13 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("findStateManagementEntity for {}", this.resourceName);
}
- StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
+ final StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
//persist the administrative state
- if (sm != null) {
- if(logger.isDebugEnabled()){
+ if(logger.isDebugEnabled()){
logger.debug("Persist adminstrative state, resourceName = {}", this.resourceName);
- }
- em.persist(sm);
}
+ em.persist(sm);
et.commit();
//Load the StateTransition hash table
@@ -137,7 +137,7 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("StateManagement: constructor end, resourceName: {}", this.resourceName);
}
- } catch(Exception ex) {
+ } catch(final Exception ex) {
logger.error("StateManagement: constructor caught unexpected exception: ", ex);
throw new StateManagementException("StateManagement: Exception: " + ex.toString(), ex);
}
@@ -154,12 +154,10 @@ public class StateManagement extends Observable {
{
synchronized (SYNCLOCK){
if(logger.isDebugEnabled()){
- logger.debug("\nStateManagement: SYNCLOCK initializeState() operation for resourceName = {}\n", this.resourceName);
- }
- if(logger.isDebugEnabled()){
+ logger.debug("\nStateManagement: SYNCLOCK initializeState() operation for resourceName = {}\n", this.resourceName);
logger.debug("StateManagement: initializeState() operation started, resourceName = {}", this.resourceName);
}
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em);
MyTransaction et = new MyTransaction(em)) {
@@ -167,7 +165,7 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("findStateManagementEntity for {}", this.resourceName);
}
- StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
+ final StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
// set state
sm.setAdminState(sm.getAdminState()); //preserve the Admin state
sm.setOpState(StateManagement.ENABLED);
@@ -182,7 +180,7 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("StateManagement: initializeState() operation completed, resourceName = {}", this.resourceName);
}
- } catch(Exception ex) {
+ } catch(final Exception ex) {
logger.error("StateManagement.initializeState() caught unexpected exception: ", ex);
throw new StateManagementException("StateManagement.initializeState() Exception: " + ex);
}
@@ -197,12 +195,10 @@ public class StateManagement extends Observable {
{
synchronized (SYNCLOCK){
if(logger.isDebugEnabled()){
- logger.debug("\nStateManagement: SYNCLOCK lock() operation for resourceName = {}\n", this.resourceName);
- }
- if(logger.isDebugEnabled()){
+ logger.debug("\nStateManagement: SYNCLOCK lock() operation for resourceName = {}\n", this.resourceName);
logger.debug("StateManagement: lock() operation started, resourceName = {}", this.resourceName);
}
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em);
MyTransaction et = new MyTransaction(em)) {
@@ -210,9 +206,9 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("findStateManagementEntity for {}", this.resourceName);
}
- StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
+ final StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
- StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
+ final StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
sm.getAvailStatus(), sm.getStandbyStatus(), LOCK);
sm.setAdminState(stateElement.getEndingAdminState());
@@ -228,7 +224,7 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("StateManagement: lock() operation completed, resourceName = {}", this.resourceName);
}
- } catch(Exception ex) {
+ } catch(final Exception ex) {
logger.error("StateManagement.lock() caught unexpected exception: ", ex);
throw new StateManagementException("StateManagement.lock() Exception: " + ex.toString());
}
@@ -243,12 +239,10 @@ public class StateManagement extends Observable {
{
synchronized (SYNCLOCK){
if(logger.isDebugEnabled()){
- logger.debug("\nStateManagement: SYNCLOCK unlock() operation for resourceName = {}\n", this.resourceName);
- }
- if(logger.isDebugEnabled()){
+ logger.debug("\nStateManagement: SYNCLOCK unlock() operation for resourceName = {}\n", this.resourceName);
logger.debug("StateManagement: unlock() operation started, resourceName = {}", this.resourceName);
}
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em);
MyTransaction et = new MyTransaction(em)) {
@@ -256,8 +250,8 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("findStateManagementEntity for {}", this.resourceName);
}
- StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
- StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
+ final StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
+ final StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
sm.getAvailStatus(), sm.getStandbyStatus(), UNLOCK);
// set transition state
sm.setAdminState(stateElement.getEndingAdminState());
@@ -273,7 +267,7 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("StateManagement: unlock() operation completed, resourceName = {}", this.resourceName);
}
- } catch(Exception ex) {
+ } catch(final Exception ex) {
logger.error("StateManagement.unlock() caught unexpected exception: ", ex);
throw new StateManagementException("StateManagement.unlock() Exception: " + ex);
}
@@ -289,12 +283,10 @@ public class StateManagement extends Observable {
{
synchronized (SYNCLOCK){
if(logger.isDebugEnabled()){
- logger.debug("\nStateManagement: SYNCLOCK enabledNotFailed() operation for resourceName = {}\n", this.resourceName);
- }
- if(logger.isDebugEnabled()){
+ logger.debug("\nStateManagement: SYNCLOCK enabledNotFailed() operation for resourceName = {}\n", this.resourceName);
logger.debug("StateManagement: enableNotFailed() operation started, resourceName = {}", this.resourceName);
}
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em);
MyTransaction et = new MyTransaction(em)) {
@@ -302,8 +294,8 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("findStateManagementEntity for {}", this.resourceName);
}
- StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
- StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
+ final StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
+ final StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
sm.getAvailStatus(), sm.getStandbyStatus(), ENABLE_NOT_FAILED);
// set transition state
sm.setAdminState(stateElement.getEndingAdminState());
@@ -320,7 +312,7 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("StateManagement enableNotFailed() operation completed, resourceName = {}", this.resourceName);
}
- } catch(Exception ex) {
+ } catch(final Exception ex) {
logger.error("StateManagement.enableNotFailed() caught unexpected exception: ", ex);
throw new StateManagementException("StateManagement.enableNotFailed() Exception: " + ex);
}
@@ -335,12 +327,10 @@ public class StateManagement extends Observable {
{
synchronized (SYNCLOCK){
if(logger.isDebugEnabled()){
- logger.debug("\nStateManagement: SYNCLOCK disabledFailed() operation for resourceName = {}\n", this.resourceName);
- }
- if(logger.isDebugEnabled()){
+ logger.debug("\nStateManagement: SYNCLOCK disabledFailed() operation for resourceName = {}\n", this.resourceName);
logger.debug("StateManagement: disableFailed() operation started, resourceName = {}", this.resourceName);
}
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em);
MyTransaction et = new MyTransaction(em)) {
@@ -348,8 +338,8 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("findStateManagementEntity for {}", this.resourceName);
}
- StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
- StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
+ final StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
+ final StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
sm.getAvailStatus(), sm.getStandbyStatus(), DISABLE_FAILED);
// set transition state
sm.setAdminState(stateElement.getEndingAdminState());
@@ -365,7 +355,7 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("StateManagement: disableFailed() operation completed, resourceName = {}", this.resourceName);
}
- } catch(Exception ex) {
+ } catch(final Exception ex) {
logger.error("StateManagement.disableFailed() caught unexpected exception: ", ex);
throw new StateManagementException("StateManagement.disableFailed() Exception: " + ex);
}
@@ -376,7 +366,7 @@ public class StateManagement extends Observable {
* that remote resource has failed but its state is still showing that it is viable.
* @throws StateManagementException
*/
- public void disableFailed(String otherResourceName) throws StateManagementException
+ public void disableFailed(final String otherResourceName) throws StateManagementException
{
synchronized (SYNCLOCK){
if(otherResourceName == null){
@@ -384,14 +374,12 @@ public class StateManagement extends Observable {
return;
}
if(logger.isDebugEnabled()){
- logger.debug("\nStateManagement: SYNCLOCK disabledFailed(otherResourceName) operation for resourceName = {}\n",
- otherResourceName);
- }
- if(logger.isDebugEnabled()){
+ logger.debug("\nStateManagement: SYNCLOCK disabledFailed(otherResourceName) operation for resourceName = {}\n",
+ otherResourceName);
logger.debug("StateManagement: disableFailed(otherResourceName) operation started, resourceName = {}",
otherResourceName);
}
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em);
MyTransaction et = new MyTransaction(em)) {
@@ -399,8 +387,8 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("findStateManagementEntity for " + otherResourceName);
}
- StateManagementEntity sm = findStateManagementEntity(em, otherResourceName);
- StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
+ final StateManagementEntity sm = findStateManagementEntity(em, otherResourceName);
+ final StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
sm.getAvailStatus(), sm.getStandbyStatus(), DISABLE_FAILED);
// set transition state
sm.setAdminState(stateElement.getEndingAdminState());
@@ -417,7 +405,7 @@ public class StateManagement extends Observable {
logger.debug("StateManagement: disableFailed(otherResourceName) operation completed, resourceName = {}",
otherResourceName);
}
- } catch(Exception ex) {
+ } catch(final Exception ex) {
logger.error("StateManagement.disableFailed(otherResourceName) caught unexpected exception: ", ex);
throw new StateManagementException("StateManagement.disableFailed(otherResourceName) Exception: " + ex);
}
@@ -432,12 +420,10 @@ public class StateManagement extends Observable {
{
synchronized (SYNCLOCK){
if(logger.isDebugEnabled()){
- logger.debug("\nStateManagement: SYNCLOCK disableDependency() operation for resourceName = {}\n", this.resourceName);
- }
- if(logger.isDebugEnabled()){
+ logger.debug("\nStateManagement: SYNCLOCK disableDependency() operation for resourceName = {}\n", this.resourceName);
logger.debug("StateManagement: disableDependency() operation started, resourceName = {}", this.resourceName);
}
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em);
MyTransaction et = new MyTransaction(em)) {
@@ -445,8 +431,8 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("findStateManagementEntity for {}", this.resourceName);
}
- StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
- StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
+ final StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
+ final StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
sm.getAvailStatus(), sm.getStandbyStatus(), DISABLE_DEPENDENCY);
// set transition state
sm.setAdminState(stateElement.getEndingAdminState());
@@ -462,7 +448,7 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("StateManagement: disableDependency() operation completed, resourceName = {}", this.resourceName);
}
- } catch(Exception ex) {
+ } catch(final Exception ex) {
logger.error("StateManagement.disableDependency() caught unexpected exception: ", ex);
throw new StateManagementException("StateManagement.disableDependency() Exception: " + ex);
}
@@ -478,12 +464,10 @@ public class StateManagement extends Observable {
{
synchronized (SYNCLOCK){
if(logger.isDebugEnabled()){
- logger.debug("\nStateManagement: SYNCLOCK enableNoDependency() operation for resourceName = {}\n", this.resourceName);
- }
- if(logger.isDebugEnabled()){
+ logger.debug("\nStateManagement: SYNCLOCK enableNoDependency() operation for resourceName = {}\n", this.resourceName);
logger.debug("StateManagement: enableNoDependency() operation started, resourceName = {}", this.resourceName);
}
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em);
MyTransaction et = new MyTransaction(em)) {
@@ -491,8 +475,8 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("findStateManagementEntity for {}", this.resourceName);
}
- StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
- StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
+ final StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
+ final StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
sm.getAvailStatus(), sm.getStandbyStatus(), ENABLE_NO_DEPENDENCY);
// set transition state
sm.setAdminState(stateElement.getEndingAdminState());
@@ -508,7 +492,7 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("StateManagement: enableNoDependency() operation completed, resourceName = {}", this.resourceName);
}
- } catch(Exception ex) {
+ } catch(final Exception ex) {
logger.error("StateManagement.enableNoDependency() caught unexpected exception: ", ex);
throw new StateManagementException("StateManagement.enableNoDependency() Exception: " + ex);
}
@@ -524,15 +508,13 @@ public class StateManagement extends Observable {
{
synchronized (SYNCLOCK){
if(logger.isDebugEnabled()){
- logger.debug("\nStateManagement: SYNCLOCK promote() operation for resourceName = {}\n", this.resourceName);
- }
- if(logger.isDebugEnabled()){
+ logger.debug("\nStateManagement: SYNCLOCK promote() operation for resourceName = {}\n", this.resourceName);
logger.debug("StateManagement: promote() operation started, resourceName = {}", this.resourceName);
}
StateManagementEntity sm;
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em);
MyTransaction et = new MyTransaction(em)) {
@@ -541,7 +523,7 @@ public class StateManagement extends Observable {
logger.debug("findStateManagementEntity for {}", this.resourceName);
}
sm = findStateManagementEntity(em, this.resourceName);
- StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
+ final StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
sm.getAvailStatus(), sm.getStandbyStatus(), PROMOTE);
// set transition state
sm.setAdminState(stateElement.getEndingAdminState());
@@ -553,7 +535,7 @@ public class StateManagement extends Observable {
et.commit();
setChanged();
notifyObservers(STANDBY_STATUS);
- }catch(Exception ex){
+ }catch(final Exception ex){
logger.error("StateManagement.promote() caught unexpected exception: ", ex);
throw new StateManagementException("StateManagement.promote() Exception: " + ex);
}
@@ -562,7 +544,7 @@ public class StateManagement extends Observable {
logger.debug("StateManagement: promote() operation completed, resourceName = ", this.resourceName);
}
if (sm.getStandbyStatus().equals(StateManagement.COLD_STANDBY)){
- String msg = "Failure to promote " + this.resourceName + " StandbyStatus = " + StateManagement.COLD_STANDBY;
+ final String msg = "Failure to promote " + this.resourceName + " StandbyStatus = " + StateManagement.COLD_STANDBY;
throw new StandbyStatusException(msg);
}
}
@@ -576,12 +558,10 @@ public class StateManagement extends Observable {
{
synchronized (SYNCLOCK){
if(logger.isDebugEnabled()){
- logger.debug("\nStateManagement: SYNCLOCK demote() operation for resourceName = \n", this.resourceName);
- }
- if(logger.isDebugEnabled()){
+ logger.debug("\nStateManagement: SYNCLOCK demote() operation for resourceName = \n", this.resourceName);
logger.debug("StateManagement: demote() operation started, resourceName = {}", this.resourceName);
}
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em);
MyTransaction et = new MyTransaction(em)) {
@@ -589,8 +569,8 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("findStateManagementEntity for {}", this.resourceName);
}
- StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
- StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
+ final StateManagementEntity sm = findStateManagementEntity(em, this.resourceName);
+ final StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
sm.getAvailStatus(), sm.getStandbyStatus(), DEMOTE);
// set transition state
sm.setAdminState(stateElement.getEndingAdminState());
@@ -606,7 +586,7 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("StateManagement: demote() operation completed, resourceName = {}", this.resourceName);
}
- } catch(Exception ex) {
+ } catch(final Exception ex) {
logger.error("StateManagement.demote() caught unexpected exception: ", ex);
throw new StateManagementException("StateManagement.demote() Exception: " + ex);
}
@@ -622,7 +602,7 @@ public class StateManagement extends Observable {
* @param otherResourceName
* @throws StateManagementException
*/
- public void demote(String otherResourceName) throws StateManagementException
+ public void demote(final String otherResourceName) throws StateManagementException
{
synchronized (SYNCLOCK){
if(otherResourceName==null){
@@ -632,7 +612,7 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("\nStateManagement: SYNCLOCK demote(otherResourceName) operation for resourceName = {}\n", otherResourceName);
}
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em);
MyTransaction et = new MyTransaction(em)) {
@@ -640,8 +620,8 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("StateManagement: SYNCLOCK demote(otherResourceName) findStateManagementEntity for {}", otherResourceName);
}
- StateManagementEntity sm = findStateManagementEntity(em, otherResourceName);
- StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
+ final StateManagementEntity sm = findStateManagementEntity(em, otherResourceName);
+ final StateElement stateElement = st.getEndingState(sm.getAdminState(), sm.getOpState(),
sm.getAvailStatus(), sm.getStandbyStatus(), DEMOTE);
// set transition state
sm.setAdminState(stateElement.getEndingAdminState());
@@ -656,7 +636,7 @@ public class StateManagement extends Observable {
if(logger.isDebugEnabled()){
logger.debug("StateManagement: demote(otherResourceName) operation completed, resourceName = {}", otherResourceName);
}
- } catch(Exception ex) {
+ } catch(final Exception ex) {
logger.error("StateManagement.demote(otherResourceName) caught unexpected exception: ", ex);
throw new StateManagementException("StateManagement.demote(otherResourceName) Exception: " + ex);
}
@@ -672,26 +652,26 @@ public String getAdminState()
logger.debug("StateManagement(6/1/16): getAdminState for resourceName {}", this.resourceName);
}
- EntityManager em = emf.createEntityManager();
- try(EntityMgrCloser emc = new EntityMgrCloser(em)) {
- Query query = em.createQuery("Select p from StateManagementEntity p where p.resourceName=:resource");
+ final EntityManager em = emf.createEntityManager();
+ try(final EntityMgrCloser emc = new EntityMgrCloser(em)) {
+ final TypedQuery<StateManagementEntity> query = em.createQuery(GET_STATE_MANAGEMENT_ENTITY_QUERY, StateManagementEntity.class);
- query.setParameter("resource", this.resourceName);
+ query.setParameter(RESOURCE_NAME, this.resourceName);
//Just test that we are retrieving the right object
- @SuppressWarnings("rawtypes")
- List resourceList = query.setLockMode(
+ final
+ List<StateManagementEntity> resourceList = query.setLockMode(
LockModeType.NONE).setFlushMode(FlushModeType.COMMIT).getResultList();
if (!resourceList.isEmpty()) {
// exist
- StateManagementEntity stateManagementEntity = (StateManagementEntity) resourceList.get(0);
+ final StateManagementEntity stateManagementEntity = resourceList.get(0);
// refresh the object from DB in case cached data was returned
em.refresh(stateManagementEntity);
this.adminState = stateManagementEntity.getAdminState();
} else {
this.adminState = null;
}
- } catch(Exception ex) {
+ } catch(final Exception ex) {
logger.error("StateManagement: getAdminState exception: {}", ex.toString(), ex);
}
@@ -707,26 +687,26 @@ public String getOpState()
logger.debug("StateManagement(6/1/16): getOpState for resourceName {}", this.resourceName);
}
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em)) {
- Query query = em.createQuery("Select p from StateManagementEntity p where p.resourceName=:resource");
+ final TypedQuery<StateManagementEntity> query = em.createQuery(GET_STATE_MANAGEMENT_ENTITY_QUERY, StateManagementEntity.class);
- query.setParameter("resource", this.resourceName);
+ query.setParameter(RESOURCE_NAME, this.resourceName);
//Just test that we are retrieving the right object
- @SuppressWarnings("rawtypes")
- List resourceList = query.setLockMode(
+ final
+ List<StateManagementEntity> resourceList = query.setLockMode(
LockModeType.NONE).setFlushMode(FlushModeType.COMMIT).getResultList();
if (!resourceList.isEmpty()) {
// exist
- StateManagementEntity stateManagementEntity = (StateManagementEntity) resourceList.get(0);
+ final StateManagementEntity stateManagementEntity = resourceList.get(0);
// refresh the object from DB in case cached data was returned
em.refresh(stateManagementEntity);
this.opState = stateManagementEntity.getOpState();
} else {
this.opState = null;
}
- } catch(Exception ex) {
+ } catch(final Exception ex) {
logger.error("StateManagement: getOpState exception: {}", ex.toString(), ex);
}
@@ -742,26 +722,26 @@ public String getOpState()
logger.debug("StateManagement(6/1/16): getAvailStatus for resourceName {}", this.resourceName);
}
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em)) {
- Query query = em.createQuery("Select p from StateManagementEntity p where p.resourceName=:resource");
+ final TypedQuery<StateManagementEntity> query = em.createQuery(GET_STATE_MANAGEMENT_ENTITY_QUERY, StateManagementEntity.class);
- query.setParameter("resource", this.resourceName);
+ query.setParameter(RESOURCE_NAME, this.resourceName);
//Just test that we are retrieving the right object
- @SuppressWarnings("rawtypes")
- List resourceList = query.setLockMode(
+ final
+ List<StateManagementEntity> resourceList = query.setLockMode(
LockModeType.NONE).setFlushMode(FlushModeType.COMMIT).getResultList();
if (!resourceList.isEmpty()) {
// exist
- StateManagementEntity stateManagementEntity = (StateManagementEntity) resourceList.get(0);
+ final StateManagementEntity stateManagementEntity = resourceList.get(0);
// refresh the object from DB in case cached data was returned
em.refresh(stateManagementEntity);
this.availStatus = stateManagementEntity.getAvailStatus();
} else {
this.availStatus = null;
}
- } catch(Exception ex) {
+ } catch(final Exception ex) {
logger.error("StateManagement: getAvailStatus exception: {}", ex.toString(), ex);
}
@@ -777,26 +757,26 @@ public String getOpState()
logger.debug("StateManagement(6/1/16): getStandbyStatus for resourceName {}", this.resourceName);
}
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em)) {
- Query query = em.createQuery("Select p from StateManagementEntity p where p.resourceName=:resource");
+ final TypedQuery<StateManagementEntity> query = em.createQuery(GET_STATE_MANAGEMENT_ENTITY_QUERY, StateManagementEntity.class);
- query.setParameter("resource", this.resourceName);
+ query.setParameter(RESOURCE_NAME, this.resourceName);
//Just test that we are retrieving the right object
- @SuppressWarnings("rawtypes")
- List resourceList = query.setLockMode(
+ final
+ List<StateManagementEntity> resourceList = query.setLockMode(
LockModeType.NONE).setFlushMode(FlushModeType.COMMIT).getResultList();
if (!resourceList.isEmpty()) {
// exist
- StateManagementEntity stateManagementEntity = (StateManagementEntity) resourceList.get(0);
+ final StateManagementEntity stateManagementEntity = resourceList.get(0);
// refresh the object from DB in case cached data was returned
em.refresh(stateManagementEntity);
this.standbyStatus = stateManagementEntity.getStandbyStatus();
} else {
this.standbyStatus = null;
}
- } catch(Exception ex) {
+ } catch(final Exception ex) {
logger.error("StateManagement: getStandbyStatus exception: {}", ex.toString(), ex);
}
@@ -809,40 +789,43 @@ public String getOpState()
* @param otherResourceName
* @return
*/
- private static StateManagementEntity findStateManagementEntity(EntityManager em, String otherResourceName)
+ private static StateManagementEntity findStateManagementEntity(final EntityManager em, final String otherResourceName)
{
if(logger.isDebugEnabled()){
logger.debug("StateManagementEntity: findStateManagementEntity: Entry");
}
- StateManagementEntity stateManagementEntity = null;
try {
- Query query = em.createQuery("Select p from StateManagementEntity p where p.resourceName=:resource");
-
- query.setParameter("resource", otherResourceName);
+ final TypedQuery<StateManagementEntity> query =
+ em.createQuery(GET_STATE_MANAGEMENT_ENTITY_QUERY, StateManagementEntity.class);
+
+ query.setParameter(RESOURCE_NAME, otherResourceName);
//Just test that we are retrieving the right object
- @SuppressWarnings("rawtypes")
- List resourceList = query.setLockMode(
+ final
+ List<StateManagementEntity> resourceList = query.setLockMode(
LockModeType.NONE).setFlushMode(FlushModeType.COMMIT).getResultList();
if (!resourceList.isEmpty()) {
- // exist
- stateManagementEntity = (StateManagementEntity) resourceList.get(0);
- // refresh the object from DB in case cached data was returned
- em.refresh(stateManagementEntity);
- stateManagementEntity.setModifiedDate(new Date());
+ // exist
+ final StateManagementEntity stateManagementEntity = resourceList.get(0);
+ // refresh the object from DB in case cached data was returned
+ em.refresh(stateManagementEntity);
+ stateManagementEntity.setModifiedDate(new Date());
+ return stateManagementEntity;
} else {
// not exist - create one
- stateManagementEntity = new StateManagementEntity();
+ final StateManagementEntity stateManagementEntity = new StateManagementEntity();
stateManagementEntity.setResourceName(otherResourceName);
stateManagementEntity.setAdminState(UNLOCKED);
stateManagementEntity.setOpState(ENABLED);
stateManagementEntity.setAvailStatus(NULL_VALUE);
stateManagementEntity.setStandbyStatus(NULL_VALUE); // default
+ return stateManagementEntity;
}
- } catch(Exception ex) {
- logger.error("findStateManagementEntity exception: {}", ex.toString(), ex);
+ } catch(final Exception ex) {
+ final String message = "findStateManagementEntity exception";
+ logger.error("{}: {}", message, ex.toString(), ex);
+ throw new EntityRetrievalException(message, ex);
}
- return stateManagementEntity;
}
/**
@@ -850,7 +833,7 @@ public String getOpState()
* @param otherResourceName
* @return
*/
- public String getStandbyStatus(String otherResourceName) {
+ public String getStandbyStatus(final String otherResourceName) {
if (logger.isDebugEnabled()) {
logger.debug("StateManagement: getStandbyStatus: Entering, resourceName='{}'", otherResourceName);
@@ -859,20 +842,18 @@ public String getOpState()
String tempStandbyStatus = null;
// The transaction is required for the LockModeType
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em);
MyTransaction et = new MyTransaction(em)) {
- Query stateManagementListQuery = em
- .createQuery("SELECT p FROM StateManagementEntity p WHERE p.resourceName=:resource");
- stateManagementListQuery.setParameter("resource", otherResourceName);
- List<?> stateManagementList = stateManagementListQuery.setLockMode(
+ final TypedQuery<StateManagementEntity> stateManagementListQuery = em
+ .createQuery(GET_STATE_MANAGEMENT_ENTITY_QUERY, StateManagementEntity.class);
+ stateManagementListQuery.setParameter(RESOURCE_NAME, otherResourceName);
+ final List<StateManagementEntity> stateManagementList = stateManagementListQuery.setLockMode(
LockModeType.NONE).setFlushMode(FlushModeType.COMMIT).getResultList();
- if (stateManagementList.size() == 1
- && stateManagementList.get(0) instanceof StateManagementEntity) {
- StateManagementEntity stateManagementEntity = (StateManagementEntity) stateManagementList
- .get(0);
+ if (!stateManagementList.isEmpty()) {
+ final StateManagementEntity stateManagementEntity = stateManagementList.get(0);
// refresh the object from DB in case cached data was returned
em.refresh(stateManagementEntity);
tempStandbyStatus = stateManagementEntity.getStandbyStatus();
@@ -884,7 +865,7 @@ public String getOpState()
}
et.commit();
- } catch (Exception e) {
+ } catch (final Exception e) {
logger.error("getStandbyStatus: Caught Exception attempting to get statemanagemententity record, message='{}'", e.getMessage(), e);
}
if (logger.isDebugEnabled()) {
@@ -906,19 +887,19 @@ public String getOpState()
/*
* Start transaction
*/
- EntityManager em = emf.createEntityManager();
+ final EntityManager em = emf.createEntityManager();
try(EntityMgrCloser emc = new EntityMgrCloser(em);
MyTransaction et = new MyTransaction(em)) {
- Query stateManagementEntityListQuery = em
- .createQuery("SELECT p FROM StateManagementEntity p");
- @SuppressWarnings("unchecked")
+ final TypedQuery<StateManagementEntity> stateManagementEntityListQuery = em
+ .createQuery("SELECT p FROM StateManagementEntity p", StateManagementEntity.class);
+ final
List<StateManagementEntity> stateManagementEntityList = stateManagementEntityListQuery.setLockMode(
LockModeType.NONE).setFlushMode(FlushModeType.COMMIT).getResultList();
if(logger.isDebugEnabled()){
logger.debug("deleteAllStateManagementEntities: Deleting {} StateManagementEntity records", stateManagementEntityList.size());
}
- for (StateManagementEntity stateManagementEntity : stateManagementEntityList) {
+ for (final StateManagementEntity stateManagementEntity : stateManagementEntityList) {
if(logger.isDebugEnabled()){
logger.debug("deleteAllStateManagementEntities: Deleting statemanagemententity with resourceName={} and standbyStatus={}",
stateManagementEntity.getResourceName(),
@@ -928,7 +909,7 @@ public String getOpState()
}
et.commit();
- }catch(Exception ex){
+ }catch(final Exception ex){
logger.error("StateManagement.deleteAllStateManagementEntities() caught Exception: ", ex);
}
if(logger.isDebugEnabled()){
@@ -941,7 +922,7 @@ public String getOpState()
/**
* @param em
*/
- public MyTransaction(EntityManager em) {
+ public MyTransaction(final EntityManager em) {
super(em.getTransaction());
}
diff --git a/integrity-monitor/src/main/java/org/onap/policy/common/im/StateManagementException.java b/integrity-monitor/src/main/java/org/onap/policy/common/im/StateManagementException.java
index 0a375b07..05597a2a 100644
--- a/integrity-monitor/src/main/java/org/onap/policy/common/im/StateManagementException.java
+++ b/integrity-monitor/src/main/java/org/onap/policy/common/im/StateManagementException.java
@@ -21,19 +21,22 @@
package org.onap.policy.common.im;
public class StateManagementException extends IntegrityMonitorException {
- private static final long serialVersionUID = 1L;
- public StateManagementException() {
- super();
- }
- public StateManagementException(String message) {
- super(message);
- }
+ private static final long serialVersionUID = 1L;
- public StateManagementException(Throwable cause) {
- super(cause);
- }
- public StateManagementException(String message, Throwable cause) {
- super(message, cause);
- }
+ public StateManagementException() {
+ super();
+ }
+
+ public StateManagementException(final String message) {
+ super(message);
+ }
+
+ public StateManagementException(final Throwable cause) {
+ super(cause);
+ }
+
+ public StateManagementException(final String message, final Throwable cause) {
+ super(message, cause);
+ }
}
diff --git a/integrity-monitor/src/main/java/org/onap/policy/common/im/exceptions/EntityRetrievalException.java b/integrity-monitor/src/main/java/org/onap/policy/common/im/exceptions/EntityRetrievalException.java
new file mode 100644
index 00000000..9387805c
--- /dev/null
+++ b/integrity-monitor/src/main/java/org/onap/policy/common/im/exceptions/EntityRetrievalException.java
@@ -0,0 +1,31 @@
+/*-
+ * ============LICENSE_START=======================================================
+ * Integrity Monitor
+ * ================================================================================
+ * Copyright (C) 2018 Ericsson. 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.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ * ============LICENSE_END=========================================================
+ */
+
+package org.onap.policy.common.im.exceptions;
+
+public class EntityRetrievalException extends RuntimeException {
+
+ private static final long serialVersionUID = 8761143697306009072L;
+
+ public EntityRetrievalException(final String message, final Throwable cause) {
+ super(message, cause);
+ }
+
+}