diff options
Diffstat (limited to 'api-state-management/src')
-rw-r--r-- | api-state-management/src/main/java/org/onap/policy/drools/statemanagement/StateManagementFeatureAPI.java | 352 |
1 files changed, 178 insertions, 174 deletions
diff --git a/api-state-management/src/main/java/org/onap/policy/drools/statemanagement/StateManagementFeatureAPI.java b/api-state-management/src/main/java/org/onap/policy/drools/statemanagement/StateManagementFeatureAPI.java index 107b207e..3afd0c74 100644 --- a/api-state-management/src/main/java/org/onap/policy/drools/statemanagement/StateManagementFeatureAPI.java +++ b/api-state-management/src/main/java/org/onap/policy/drools/statemanagement/StateManagementFeatureAPI.java @@ -24,185 +24,189 @@ import java.util.Observer; import javax.validation.constraints.NotNull; +import org.onap.policy.common.capabilities.Lockable; import org.onap.policy.common.im.AllSeemsWellException; import org.onap.policy.common.im.StateManagement; -import org.onap.policy.drools.properties.Lockable; import org.onap.policy.drools.utils.OrderedService; import org.onap.policy.drools.utils.OrderedServiceImpl; /** - * This interface provides a way to invoke optional features at various - * points in the code. At appropriate points in the - * application, the code iterates through this list, invoking these optional - * methods. Most of the methods here are notification only -- these tend to - * return a 'void' value. In other cases, such as 'activatePolicySession', - * may + * This interface provides a way to invoke optional features at various points in the code. At + * appropriate points in the application, the code iterates through this list, invoking these + * optional methods. Most of the methods here are notification only -- these tend to return a 'void' + * value. In other cases, such as 'activatePolicySession', may */ -public interface StateManagementFeatureAPI extends OrderedService, Lockable -{ - - public static final String LOCKED = StateManagement.LOCKED; - public static final String UNLOCKED = StateManagement.UNLOCKED; - public static final String ENABLED = StateManagement.ENABLED; - public static final String DISABLED = StateManagement.DISABLED; - public static final String ENABLE_NOT_FAILED = StateManagement.ENABLE_NOT_FAILED; - public static final String DISABLE_FAILED = StateManagement.DISABLE_FAILED; - public static final String FAILED = StateManagement.FAILED; - public static final String DEPENDENCY = StateManagement.DEPENDENCY; - public static final String DEPENDENCY_FAILED = StateManagement.DEPENDENCY_FAILED; - public static final String DISABLE_DEPENDENCY = StateManagement.DISABLE_DEPENDENCY; - public static final String ENABLE_NO_DEPENDENCY = StateManagement.ENABLE_NO_DEPENDENCY; - public static final String NULL_VALUE = StateManagement.NULL_VALUE; - public static final String DO_LOCK = StateManagement.LOCK; - public static final String DO_UNLOCK = StateManagement.UNLOCK; - public static final String DO_PROMOTE = StateManagement.PROMOTE; - public static final String DO_DEMOTE = StateManagement.DEMOTE; - public static final String HOT_STANDBY = StateManagement.HOT_STANDBY; - public static final String COLD_STANDBY = StateManagement.COLD_STANDBY; - public static final String PROVIDING_SERVICE = StateManagement.PROVIDING_SERVICE; - - public static final String ADMIN_STATE = StateManagement.ADMIN_STATE; - public static final String OPERATION_STATE = StateManagement.OPERATION_STATE; - public static final String AVAILABLE_STATUS= StateManagement.AVAILABLE_STATUS; - public static final String STANDBY_STATUS = StateManagement.STANDBY_STATUS; - - public static final Boolean ALLSEEMSWELL_STATE = Boolean.TRUE; - public static final Boolean ALLNOTWELL_STATE = Boolean.FALSE; - - public static final int SEQ_NUM = 0; - /** - * 'FeatureAPI.impl.getList()' returns an ordered list of objects - * implementing the 'FeatureAPI' interface. - */ - public static OrderedServiceImpl<StateManagementFeatureAPI> impl = - new OrderedServiceImpl<>(StateManagementFeatureAPI.class); - - /** - * ALL SEEMS/NOT WELL - * This interface is used to support the concept of All Seems/Not Well. It provides - * a way for client code to indicate to the DroolsPDPIntegrityMonitor that an event - * has occurred which is disabling (or enabling) for the Drools PDP. The call is - * actually implemented in the common modules IntegrityMonitor where it will cause - * the testTransaction to fail if any module has set the value ALLNOTWELL, stopping - * the forward progress counter and eventually causing the operational state to - * become disabled. - * - * ALLSEEMSWELL is passed to the method when the client is healthy - * ALLNOTWELL is passed to the method when the client is disabled - * - * @param key - This should be a unique identifier for the entity making the call (e.g., class name) - * @param asw - This is the indicator of health. See constants: ALLSEEMSWELL or ALLNOTWELL - * @param msg - A message is required. It should indicate why all is not well or a message indicating - * that a component has been restored to health (perhaps indicating the problem that has resolved). - * @throws AllSeemsWellException - */ - public void allSeemsWell(@NotNull String key, @NotNull Boolean asw, @NotNull String msg) - throws AllSeemsWellException; - - /** - * This method is called to add an Observer to receive notifications of state changes - * - * @param stateChangeObserver - */ - public void addObserver(Observer stateChangeObserver); - - /** - * This method returns the X.731 Administrative State for this resource - * - * @return String (locked, unlocked) - */ - public String getAdminState(); - - /** - * This method returns the X.731 Operational State for this resource - * - * @return String (enabled, disabled) - */ - public String getOpState(); - - /** - * This method returns the X.731 Availability Status for this resource - * - * @return String (failed; dependency; dependency,failed) - */ - public String getAvailStatus(); - - /** - * This method returns the X.731 Standby Status for this resource - * - * @return String (providingservice, hotstandby or coldstandby) - */ - public String getStandbyStatus(); - - /** - * This method returns the X.731 Standby Status for the named resource - * @param String (resourceName) - * @return String (providingservice, hotstandby or coldstandby) - */ - public String getStandbyStatus(String resourceName); - - /** - * This method moves the X.731 Operational State for the named resource - * into a value of disabled and the Availability Status to a value of failed. - * As a consequence the Standby Status value will take a value of coldstandby. - * - * @param String (resourceName) - * @throws Exception - */ - public void disableFailed(String resourceName) throws Exception; - - /** - * This method moves the X.731 Operational State for this resource - * into a value of disabled and the Availability Status to a value of failed. - * As a consequence the Standby Status value will take a value of coldstandby. - * - * @param String (resourceName) - * @throws Exception - */ - public void disableFailed() throws Exception; - - /** - * This method moves the X.731 Standby Status for this resource from hotstandby - * to providingservice. If the current value is coldstandby, no change is made. - * If the current value is null, it will move to providingservice assuming the - * Operational State is enabled and Administrative State is unlocked. - * @throws Exception - */ - public void promote() throws Exception; - - /** - * This method moves the X.731 Standby Status for this resource from providingservice - * to hotstandby. If the current value is null, it will move to hotstandby assuming the - * Operational State is enabled and Administrative State is unlocked. Else, it will move - * to coldstandby - * @throws Exception - */ - public void demote() throws Exception; - - /** - * This method returns the resourceName associated with this instance of the StateManagementFeature - * @return String (resourceName) - */ - public String getResourceName(); - - /** - * This Lockable method will lock the StateManagement object Admin state - * @return true if successfull, false otherwise - */ - @Override - public boolean lock(); - - /** - * This Lockable method will unlock the StateManagement object Admin state - * @return true if successfull, false otherwise - */ - @Override - public boolean unlock(); - - /** - * This Lockable method indicates the Admin state StateManagement object - * @return true if locked, false otherwise - */ - @Override - public boolean isLocked(); +public interface StateManagementFeatureAPI extends OrderedService, Lockable { + + public static final String LOCKED = StateManagement.LOCKED; + public static final String UNLOCKED = StateManagement.UNLOCKED; + public static final String ENABLED = StateManagement.ENABLED; + public static final String DISABLED = StateManagement.DISABLED; + public static final String ENABLE_NOT_FAILED = StateManagement.ENABLE_NOT_FAILED; + public static final String DISABLE_FAILED = StateManagement.DISABLE_FAILED; + public static final String FAILED = StateManagement.FAILED; + public static final String DEPENDENCY = StateManagement.DEPENDENCY; + public static final String DEPENDENCY_FAILED = StateManagement.DEPENDENCY_FAILED; + public static final String DISABLE_DEPENDENCY = StateManagement.DISABLE_DEPENDENCY; + public static final String ENABLE_NO_DEPENDENCY = StateManagement.ENABLE_NO_DEPENDENCY; + public static final String NULL_VALUE = StateManagement.NULL_VALUE; + public static final String DO_LOCK = StateManagement.LOCK; + public static final String DO_UNLOCK = StateManagement.UNLOCK; + public static final String DO_PROMOTE = StateManagement.PROMOTE; + public static final String DO_DEMOTE = StateManagement.DEMOTE; + public static final String HOT_STANDBY = StateManagement.HOT_STANDBY; + public static final String COLD_STANDBY = StateManagement.COLD_STANDBY; + public static final String PROVIDING_SERVICE = StateManagement.PROVIDING_SERVICE; + + public static final String ADMIN_STATE = StateManagement.ADMIN_STATE; + public static final String OPERATION_STATE = StateManagement.OPERATION_STATE; + public static final String AVAILABLE_STATUS = StateManagement.AVAILABLE_STATUS; + public static final String STANDBY_STATUS = StateManagement.STANDBY_STATUS; + + public static final Boolean ALLSEEMSWELL_STATE = Boolean.TRUE; + public static final Boolean ALLNOTWELL_STATE = Boolean.FALSE; + + public static final int SEQ_NUM = 0; + /** + * 'FeatureAPI.impl.getList()' returns an ordered list of objects implementing the 'FeatureAPI' + * interface. + */ + public static OrderedServiceImpl<StateManagementFeatureAPI> impl = + new OrderedServiceImpl<>(StateManagementFeatureAPI.class); + + /** + * ALL SEEMS/NOT WELL This interface is used to support the concept of All Seems/Not Well. It + * provides a way for client code to indicate to the DroolsPDPIntegrityMonitor that an event has + * occurred which is disabling (or enabling) for the Drools PDP. The call is actually + * implemented in the common modules IntegrityMonitor where it will cause the testTransaction to + * fail if any module has set the value ALLNOTWELL, stopping the forward progress counter and + * eventually causing the operational state to become disabled. + * + * ALLSEEMSWELL is passed to the method when the client is healthy ALLNOTWELL is passed to the + * method when the client is disabled + * + * @param key - This should be a unique identifier for the entity making the call (e.g., class + * name) + * @param asw - This is the indicator of health. See constants: ALLSEEMSWELL or ALLNOTWELL + * @param msg - A message is required. It should indicate why all is not well or a message + * indicating that a component has been restored to health (perhaps indicating the + * problem that has resolved). + * @throws AllSeemsWellException + */ + public void allSeemsWell(@NotNull String key, @NotNull Boolean asw, @NotNull String msg) + throws AllSeemsWellException; + + /** + * This method is called to add an Observer to receive notifications of state changes + * + * @param stateChangeObserver + */ + public void addObserver(Observer stateChangeObserver); + + /** + * This method returns the X.731 Administrative State for this resource + * + * @return String (locked, unlocked) + */ + public String getAdminState(); + + /** + * This method returns the X.731 Operational State for this resource + * + * @return String (enabled, disabled) + */ + public String getOpState(); + + /** + * This method returns the X.731 Availability Status for this resource + * + * @return String (failed; dependency; dependency,failed) + */ + public String getAvailStatus(); + + /** + * This method returns the X.731 Standby Status for this resource + * + * @return String (providingservice, hotstandby or coldstandby) + */ + public String getStandbyStatus(); + + /** + * This method returns the X.731 Standby Status for the named resource + * + * @param String (resourceName) + * @return String (providingservice, hotstandby or coldstandby) + */ + public String getStandbyStatus(String resourceName); + + /** + * This method moves the X.731 Operational State for the named resource into a value of disabled + * and the Availability Status to a value of failed. As a consequence the Standby Status value + * will take a value of coldstandby. + * + * @param String (resourceName) + * @throws Exception + */ + public void disableFailed(String resourceName) throws Exception; + + /** + * This method moves the X.731 Operational State for this resource into a value of disabled and + * the Availability Status to a value of failed. As a consequence the Standby Status value will + * take a value of coldstandby. + * + * @param String (resourceName) + * @throws Exception + */ + public void disableFailed() throws Exception; + + /** + * This method moves the X.731 Standby Status for this resource from hotstandby to + * providingservice. If the current value is coldstandby, no change is made. If the current + * value is null, it will move to providingservice assuming the Operational State is enabled and + * Administrative State is unlocked. + * + * @throws Exception + */ + public void promote() throws Exception; + + /** + * This method moves the X.731 Standby Status for this resource from providingservice to + * hotstandby. If the current value is null, it will move to hotstandby assuming the Operational + * State is enabled and Administrative State is unlocked. Else, it will move to coldstandby + * + * @throws Exception + */ + public void demote() throws Exception; + + /** + * This method returns the resourceName associated with this instance of the + * StateManagementFeature + * + * @return String (resourceName) + */ + public String getResourceName(); + + /** + * This Lockable method will lock the StateManagement object Admin state + * + * @return true if successfull, false otherwise + */ + @Override + public boolean lock(); + + /** + * This Lockable method will unlock the StateManagement object Admin state + * + * @return true if successfull, false otherwise + */ + @Override + public boolean unlock(); + + /** + * This Lockable method indicates the Admin state StateManagement object + * + * @return true if locked, false otherwise + */ + @Override + public boolean isLocked(); } |