Remove OrderedService references 87/82687/1
authorDaniel Cruz <dc443y@att.com>
Tue, 19 Mar 2019 14:53:24 +0000 (09:53 -0500)
committerDaniel Cruz <dc443y@att.com>
Tue, 19 Mar 2019 14:57:41 +0000 (09:57 -0500)
Removed OrderedService and OrderedServiceImpl from the
drools-pdp repo to use OrderedService and OrderedServiceImpl
from the common repo. All feature interfaces were updated
occordingly.

Issue-ID: POLICY-1499
Change-Id: Icc80dd1cbe73a97d4832f95ad2dad52d948b711a
Signed-off-by: Daniel Cruz <dc443y@att.com>
api-active-standby-management/src/main/java/org/onap/policy/drools/activestandby/ActiveStandbyFeatureAPI.java
api-state-management/src/main/java/org/onap/policy/drools/statemanagement/StateManagementFeatureAPI.java
policy-core/src/main/java/org/onap/policy/drools/core/PolicySessionFeatureAPI.java
policy-core/src/main/java/org/onap/policy/drools/core/lock/PolicyResourceLockFeatureApi.java
policy-management/src/main/java/org/onap/policy/drools/features/DroolsControllerFeatureAPI.java
policy-management/src/main/java/org/onap/policy/drools/features/PolicyControllerFeatureAPI.java
policy-management/src/main/java/org/onap/policy/drools/features/PolicyEngineFeatureAPI.java
policy-utils/src/main/java/org/onap/policy/drools/utils/OrderedService.java [deleted file]
policy-utils/src/main/java/org/onap/policy/drools/utils/OrderedServiceImpl.java [deleted file]

index ac1f1ce..5f99e6b 100644 (file)
@@ -2,14 +2,14 @@
  * ============LICENSE_START=======================================================
  * api-active-standby-management
  * ================================================================================
- * Copyright (C) 2017-2018 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,8 +20,8 @@
 
 package org.onap.policy.drools.activestandby;
 
-import org.onap.policy.drools.utils.OrderedService;
-import org.onap.policy.drools.utils.OrderedServiceImpl;
+import org.onap.policy.common.utils.services.OrderedService;
+import org.onap.policy.common.utils.services.OrderedServiceImpl;
 
 /**
  * This interface provides a way to invoke optional features at various points in the code. At
@@ -39,7 +39,7 @@ public interface ActiveStandbyFeatureAPI extends OrderedService {
     /**
      * Returns the resourceName (PDP ID) for the Drools-PDP that is
      * currently designated as active.
-     * 
+     *
      * @return String (resourceName)
      */
     public String getPdpdNowActive();
@@ -47,14 +47,14 @@ public interface ActiveStandbyFeatureAPI extends OrderedService {
     /**
      * Returns the resourceName (PDP ID) for the Drools-PDP that is
      * previously designated as active.
-     * 
+     *
      * @return String (resourceName)
      */
     public String getPdpdLastActive();
 
     /**
      * Returns the resourceName associated with this instance of the feature.
-     *  
+     *
      * @return String (resourceName)
      */
     public String getResourceName();
index be229ef..1dd22cd 100644 (file)
@@ -2,14 +2,14 @@
  * ============LICENSE_START=======================================================
  * policy-core
  * ================================================================================
- * Copyright (C) 2017-2018 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.
@@ -27,8 +27,8 @@ 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.utils.OrderedService;
-import org.onap.policy.drools.utils.OrderedServiceImpl;
+import org.onap.policy.common.utils.services.OrderedService;
+import org.onap.policy.common.utils.services.OrderedServiceImpl;
 
 /**
  * This interface provides a way to invoke optional features at various points in the code. At
@@ -81,10 +81,10 @@ public interface StateManagementFeatureAPI extends OrderedService, Lockable {
      * 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.
-     * 
+     *
      * <p>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
@@ -98,42 +98,42 @@ public interface StateManagementFeatureAPI extends OrderedService, Lockable {
 
     /**
      * This method is called to add an Observer to receive notifications of state changes.
-     * 
+     *
      * @param stateChangeObserver observer
      */
     public void addObserver(Observer stateChangeObserver);
 
     /**
      * Returns the X.731 Administrative State for this resource.
-     * 
+     *
      * @return String (locked, unlocked)
      */
     public String getAdminState();
 
     /**
      * Returns the X.731 Operational State for this resource.
-     * 
+     *
      * @return String (enabled, disabled)
-     */    
+     */
     public String getOpState();
 
     /**
      * Returns the X.731 Availability Status for this resource.
-     * 
+     *
      * @return String (failed; dependency; dependency,failed)
-     */    
+     */
     public String getAvailStatus();
 
     /**
      * Returns the X.731 Standby Status for this resource.
-     * 
+     *
      * @return String (providingservice, hotstandby or coldstandby)
-     */    
+     */
     public String getStandbyStatus();
 
     /**
      * Returns the X.731 Standby Status for the named resource
-     * 
+     *
      * @param String (resourceName)
      * @return String (providingservice, hotstandby or coldstandby)
      */
@@ -143,7 +143,7 @@ public interface StateManagementFeatureAPI extends OrderedService, Lockable {
      * 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 resourceName resource name
      * @throws Exception exception
      */
@@ -153,7 +153,7 @@ public interface StateManagementFeatureAPI extends OrderedService, Lockable {
      * 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.
-     * 
+     *
      * @throws Exception exception
      */
     public void disableFailed() throws Exception;
@@ -163,7 +163,7 @@ public interface StateManagementFeatureAPI extends OrderedService, Lockable {
      * 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 exception
      */
     public void promote() throws Exception;
@@ -172,7 +172,7 @@ public interface StateManagementFeatureAPI extends OrderedService, Lockable {
      * 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 exception
      */
     public void demote() throws Exception;
@@ -180,14 +180,14 @@ public interface StateManagementFeatureAPI extends OrderedService, Lockable {
     /**
      * 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 successful, false otherwise
      */
     @Override
@@ -195,7 +195,7 @@ public interface StateManagementFeatureAPI extends OrderedService, Lockable {
 
     /**
      * This Lockable method will unlock the StateManagement object Admin state.
-     * 
+     *
      * @return true if successfull, false otherwise
      */
     @Override
@@ -203,7 +203,7 @@ public interface StateManagementFeatureAPI extends OrderedService, Lockable {
 
     /**
      * This Lockable method indicates the Admin state StateManagement object.
-     * 
+     *
      * @return true if locked, false otherwise
      */
     @Override
index 3e49ee5..5659590 100644 (file)
@@ -2,14 +2,14 @@
  * ============LICENSE_START=======================================================
  * policy-core
  * ================================================================================
- * Copyright (C) 2017-2018 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.
@@ -21,8 +21,8 @@
 package org.onap.policy.drools.core;
 
 import org.kie.api.runtime.KieSession;
-import org.onap.policy.drools.utils.OrderedService;
-import org.onap.policy.drools.utils.OrderedServiceImpl;
+import org.onap.policy.common.utils.services.OrderedService;
+import org.onap.policy.common.utils.services.OrderedServiceImpl;
 
 /**
  * This interface provides a way to invoke optional features at various
@@ -30,7 +30,7 @@ import org.onap.policy.drools.utils.OrderedServiceImpl;
  * 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 
+ * may
  */
 public interface PolicySessionFeatureAPI extends OrderedService {
     /**
index 6676645..ff7de04 100644 (file)
@@ -2,14 +2,14 @@
  * ============LICENSE_START=======================================================
  * api-resource-locks
  * ================================================================================
- * Copyright (C) 2018 AT&T Intellectual Property. All rights reserved.
+ * Copyright (C) 2018-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.
 
 package org.onap.policy.drools.core.lock;
 
-import org.onap.policy.drools.utils.OrderedService;
-import org.onap.policy.drools.utils.OrderedServiceImpl;
+import org.onap.policy.common.utils.services.OrderedService;
+import org.onap.policy.common.utils.services.OrderedServiceImpl;
 
 /**
  * Resource locks. Each lock has an "owner", which is intended to be unique across a
  * single instance of a running PolicyEngine.
- * 
+ *
  * <p>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.
- * 
+ *
  * <p>Implementers may choose to implement a level of locking appropriate to the application.
  * For instance, they may choose to implement an engine-wide locking scheme, or they may
  * choose to implement a global locking scheme (e.g., through a shared DB).
@@ -71,7 +71,7 @@ public interface PolicyResourceLockFeatureApi extends OrderedService {
 
     /**
      * This method is called before a lock is acquired on a resource.
-     * 
+     *
      * @param resourceId resource id
      * @param owner owner
      * @param holdSec the amount of time, in seconds, that the lock should be held
@@ -84,7 +84,7 @@ public interface PolicyResourceLockFeatureApi extends OrderedService {
 
     /**
      * This method is called after a lock for a resource has been acquired or denied.
-     * 
+     *
      * @param resourceId resource id
      * @param owner owner
      * @param locked {@code true} if the lock was acquired, {@code false} if it was denied
@@ -98,7 +98,7 @@ public interface PolicyResourceLockFeatureApi extends OrderedService {
     /**
      * This method is called before a lock is refreshed on a resource. It may be invoked
      * repeatedly to extend the time that a lock is held.
-     * 
+     *
      * @param resourceId resource id
      * @param owner owner
      * @param holdSec the amount of time, in seconds, that the lock should be held
@@ -112,7 +112,7 @@ public interface PolicyResourceLockFeatureApi extends OrderedService {
     /**
      * This method is called after a lock for a resource has been refreshed (or after the
      * refresh has been denied).
-     * 
+     *
      * @param resourceId resource id
      * @param owner owner
      * @param locked {@code true} if the lock was acquired, {@code false} if it was denied
@@ -125,7 +125,7 @@ public interface PolicyResourceLockFeatureApi extends OrderedService {
 
     /**
      * This method is called before a lock on a resource is released.
-     * 
+     *
      * @param resourceId resource id
      * @param owner owner
      * @return the result, where <b>OPER_DENIED</b> indicates that the lock is not
@@ -137,7 +137,7 @@ public interface PolicyResourceLockFeatureApi extends OrderedService {
 
     /**
      * This method is called after a lock on a resource is released.
-     * 
+     *
      * @param resourceId resource id
      * @param owner owner
      * @param unlocked {@code true} if the lock was released, {@code false} if the owner
@@ -151,7 +151,7 @@ public interface PolicyResourceLockFeatureApi extends OrderedService {
 
     /**
      * This method is called before a check is made to determine if a resource is locked.
-     * 
+     *
      * @param resourceId resource id
      * @return the result, where <b>OPER_ACCEPTED</b> indicates that the resource is
      *         locked, while <b>OPER_DENIED</b> indicates that it is not
@@ -163,7 +163,7 @@ public interface PolicyResourceLockFeatureApi extends OrderedService {
     /**
      * This method is called before a check is made to determine if a particular owner
      * holds the lock on a resource.
-     * 
+     *
      * @param resourceId resource id
      * @param owner owner
      * @return the result, where <b>OPER_ACCEPTED</b> indicates that the resource is
index d8663f1..d11bd14 100644 (file)
@@ -21,9 +21,9 @@
 package org.onap.policy.drools.features;
 
 import org.onap.policy.common.endpoints.event.comm.TopicSink;
+import org.onap.policy.common.utils.services.OrderedService;
+import org.onap.policy.common.utils.services.OrderedServiceImpl;
 import org.onap.policy.drools.controller.DroolsController;
-import org.onap.policy.drools.utils.OrderedService;
-import org.onap.policy.drools.utils.OrderedServiceImpl;
 
 /**
  * Drools Controller Feature API.   Hooks into the Drools Controller operations.
index 286948e..4095842 100644 (file)
@@ -2,14 +2,14 @@
  * ============LICENSE_START=======================================================
  * policy-management
  * ================================================================================
- * Copyright (C) 2017-2018 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.
@@ -23,27 +23,27 @@ package org.onap.policy.drools.features;
 import java.util.Properties;
 
 import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
+import org.onap.policy.common.utils.services.OrderedService;
+import org.onap.policy.common.utils.services.OrderedServiceImpl;
 import org.onap.policy.drools.system.PolicyController;
-import org.onap.policy.drools.utils.OrderedService;
-import org.onap.policy.drools.utils.OrderedServiceImpl;
 
 public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * Feature providers implementing this interface.
      */
-    public static final OrderedServiceImpl<PolicyControllerFeatureAPI> providers = 
+    public static final OrderedServiceImpl<PolicyControllerFeatureAPI> providers =
             new OrderedServiceImpl<>(PolicyControllerFeatureAPI.class);
 
     /**
-     * called before creating a controller with name 'name' and 
+     * called before creating a controller with name 'name' and
      * properties 'properties'.
-     * 
+     *
      * @param name name of the the controller
      * @param properties configuration properties
-     * 
+     *
      * @return a policy controller.   A take over of the creation operation
-     *     is performed by returning a non-null policy controller.   
+     *     is performed by returning a non-null policy controller.
      *     'null' indicates that no take over has taken place, and processing should
      *     continue to the next feature provider.
      */
@@ -53,11 +53,11 @@ public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * called after creating a controller with name 'name'.
-     * 
+     *
      * @param controller controller
-     * 
+     *
      * @return true if this feature intercepts and takes ownership
-     *      of the operation preventing the invocation of 
+     *      of the operation preventing the invocation of
      *      lower priority features.   False, otherwise.
      */
     public default boolean afterCreate(PolicyController controller) {
@@ -66,9 +66,9 @@ public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * intercept before the Policy Controller is started.
-     * 
+     *
      * @return true if this feature intercepts and takes ownership
-     *     of the operation preventing the invocation of 
+     *     of the operation preventing the invocation of
      *     lower priority features.   False, otherwise.
      */
     public default boolean beforeStart(PolicyController controller) {
@@ -77,9 +77,9 @@ public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * intercept after the Policy Controller is started.
-     * 
+     *
      * @return true if this feature intercepts and takes ownership
-     *     of the operation preventing the invocation of 
+     *     of the operation preventing the invocation of
      *     lower priority features.   False, otherwise.
      */
     public default boolean afterStart(PolicyController controller) {
@@ -88,9 +88,9 @@ public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * intercept before the Policy Controller is stopped.
-     * 
+     *
      * @return true if this feature intercepts and takes ownership
-     *     of the operation preventing the invocation of 
+     *     of the operation preventing the invocation of
      *     lower priority features.   False, otherwise..
      */
     public default boolean beforeStop(PolicyController controller) {
@@ -99,9 +99,9 @@ public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * intercept after the Policy Controller is stopped.
-     * 
+     *
      * @return true if this feature intercepts and takes ownership
-     *     of the operation preventing the invocation of 
+     *     of the operation preventing the invocation of
      *     lower priority features.   False, otherwise.d.
      */
     public default boolean afterStop(PolicyController controller) {
@@ -110,9 +110,9 @@ public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * intercept before the Policy Controller is locked.
-     * 
+     *
      * @return true if this feature intercepts and takes ownership
-     *     of the operation preventing the invocation of 
+     *     of the operation preventing the invocation of
      *     lower priority features.   False, otherwise.
      */
     public default boolean beforeLock(PolicyController controller) {
@@ -121,9 +121,9 @@ public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * intercept after the Policy Controller is locked.
-     * 
+     *
      * @return true if this feature intercepts and takes ownership
-     *     of the operation preventing the invocation of 
+     *     of the operation preventing the invocation of
      *     lower priority features.   False, otherwise..
      */
     public default boolean afterLock(PolicyController controller) {
@@ -132,9 +132,9 @@ public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * intercept before the Policy Controller is locked.
-     * 
+     *
      * @return true if this feature intercepts and takes ownership
-     *     of the operation preventing the invocation of 
+     *     of the operation preventing the invocation of
      *     lower priority features.   False, otherwise.
      */
     public default boolean beforeUnlock(PolicyController controller) {
@@ -143,9 +143,9 @@ public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * intercept after the Policy Controller is locked.
-     * 
+     *
      * @return true if this feature intercepts and takes ownership
-     *     of the operation preventing the invocation of 
+     *     of the operation preventing the invocation of
      *     lower priority features.   False, otherwise.
      */
     public default boolean afterUnlock(PolicyController controller) {
@@ -154,9 +154,9 @@ public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * intercept before the Policy Controller is shut down.
-     * 
+     *
      * @return true if this feature intercepts and takes ownership
-     *     of the operation preventing the invocation of 
+     *     of the operation preventing the invocation of
      *     lower priority features.   False, otherwise..
      */
     public default boolean beforeShutdown(PolicyController controller) {
@@ -165,9 +165,9 @@ public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * called after the Policy Controller is shut down.
-     * 
+     *
      * @return true if this feature intercepts and takes ownership
-     *     of the operation preventing the invocation of 
+     *     of the operation preventing the invocation of
      *     lower priority features.   False, otherwise.
      */
     public default boolean afterShutdown(PolicyController controller) {
@@ -176,9 +176,9 @@ public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * intercept before the Policy Controller is halted.
-     * 
+     *
      * @return true if this feature intercepts and takes ownership
-     *     of the operation preventing the invocation of 
+     *     of the operation preventing the invocation of
      *     lower priority features.   False, otherwise..
      */
     public default boolean beforeHalt(PolicyController controller) {
@@ -187,9 +187,9 @@ public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * called after the Policy Controller is halted.
-     * 
+     *
      * @return true if this feature intercepts and takes ownership
-     *     of the operation preventing the invocation of 
+     *     of the operation preventing the invocation of
      *     lower priority features.   False, otherwise.
      */
     public default boolean afterHalt(PolicyController controller) {
@@ -199,9 +199,9 @@ public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * intercept before the Policy Controller is offered an event.
-     * 
+     *
      * @return true if this feature intercepts and takes ownership.
-     *     of the operation preventing the invocation of 
+     *     of the operation preventing the invocation of
      *     lower priority features.   False, otherwise.
      */
     public default boolean beforeOffer(PolicyController controller,
@@ -213,24 +213,24 @@ public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * called after the Policy Controller processes an event offer.
-     * 
+     *
      * @return true if this feature intercepts and takes ownership
-     *     of the operation preventing the invocation of 
+     *     of the operation preventing the invocation of
      *     lower priority features.   False, otherwise.
      */
     public default boolean afterOffer(PolicyController controller,
             CommInfrastructure protocol,
             String topic,
-            String event, 
+            String event,
             boolean success) {
         return false;
     }
 
     /**
      * intercept before the Policy Controller delivers (posts) an event.
-     * 
+     *
      * @return true if this feature intercepts and takes ownership
-     *     of the operation preventing the invocation of 
+     *     of the operation preventing the invocation of
      *     lower priority features.   False, otherwise.
      */
     public default boolean beforeDeliver(PolicyController controller,
@@ -242,15 +242,15 @@ public interface PolicyControllerFeatureAPI extends OrderedService {
 
     /**
      * called after the Policy Controller delivers (posts) an event.
-     * 
+     *
      * @return true if this feature intercepts and takes ownership
-     *     of the operation preventing the invocation of 
+     *     of the operation preventing the invocation of
      *     lower priority features.   False, otherwise.
      */
     public default boolean afterDeliver(PolicyController controller,
             CommInfrastructure protocol,
             String topic,
-            Object event, 
+            Object event,
             boolean success) {
         return false;
     }
index a877211..9b09990 100644 (file)
@@ -22,10 +22,10 @@ package org.onap.policy.drools.features;
 
 import java.util.Properties;
 import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
+import org.onap.policy.common.utils.services.OrderedService;
+import org.onap.policy.common.utils.services.OrderedServiceImpl;
 import org.onap.policy.drools.protocol.configuration.PdpdConfiguration;
 import org.onap.policy.drools.system.PolicyEngine;
-import org.onap.policy.drools.utils.OrderedService;
-import org.onap.policy.drools.utils.OrderedServiceImpl;
 
 /**
  * Policy Engine Feature API.
diff --git a/policy-utils/src/main/java/org/onap/policy/drools/utils/OrderedService.java b/policy-utils/src/main/java/org/onap/policy/drools/utils/OrderedService.java
deleted file mode 100644 (file)
index 45ad85a..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-/*-
- * ============LICENSE_START=======================================================
- * policy-utils
- * ================================================================================
- * Copyright (C) 2017-2018 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.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.drools.utils;
-
-/**
- * This is a base interface that is used to control the order of a list
- * of services (features) discovered via 'ServiceLoader'. See
- * 'OrderedServiceImpl' for more details.
- */
-@FunctionalInterface
-public interface OrderedService {
-    /**
-     * Get sequence number.
-     * 
-     * @return an integer sequence number, which determines the order of a list
-     *     of objects implementing this interface
-     */
-    public int getSequenceNumber();
-
-
-    /**
-     * Get the name.
-     * 
-     * @return the name of the ordered service
-     */
-    public default String getName() {
-        return this.getClass().getName();
-    }
-}
diff --git a/policy-utils/src/main/java/org/onap/policy/drools/utils/OrderedServiceImpl.java b/policy-utils/src/main/java/org/onap/policy/drools/utils/OrderedServiceImpl.java
deleted file mode 100644 (file)
index fa0a045..0000000
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * ============LICENSE_START=======================================================
- * policy-utils
- * ================================================================================
- * Copyright (C) 2017-2018 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.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- * ============LICENSE_END=========================================================
- */
-
-package org.onap.policy.drools.utils;
-
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.LinkedList;
-import java.util.List;
-import java.util.ServiceLoader;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * This class is a template for building a sorted list of service instances,
- * which are discovered and created using 'ServiceLoader'. 
- */
-public class OrderedServiceImpl<T extends OrderedService> {
-    // logger
-    private static Logger  logger = LoggerFactory.getLogger(OrderedServiceImpl.class); 
-
-    // sorted list of instances implementing the service
-    private List<T> implementers = null;
-
-    // 'ServiceLoader' that is used to discover and create the services
-    private ServiceLoader<T> serviceLoader = null;
-
-    // use this to ensure that we only use one unique instance of each class
-    @SuppressWarnings("rawtypes")
-    private static HashMap<Class,OrderedService> classToSingleton = new HashMap<>();
-
-    /**
-     * Constructor - create the 'ServiceLoader' instance.
-     *
-     * @param clazz the class object associated with 'T' (I supposed it could
-     *     be a subclass, but I'm not sure this is useful)
-     */
-    public OrderedServiceImpl(Class<T> clazz) {
-        // This constructor wouldn't be needed if 'T.class' was legal
-        serviceLoader = ServiceLoader.load(clazz);
-    }
-
-    /**
-     * Get List of implementers.
-     * 
-     * @return the sorted list of services implementing interface 'T' discovered
-     *     by 'ServiceLoader'.
-     */
-    public synchronized List<T> getList() {
-        if (implementers == null) {
-            rebuildList();
-        }
-        return implementers;
-    }
-
-    /**
-     * This method is called by 'getList', but could also be called directly if
-     * we were running with a 'ClassLoader' that supported the dynamic addition
-     * of JAR files. In this case, it could be invoked in order to discover any
-     * new services implementing interface 'T'. This is probably a relatively
-     * expensive operation in terms of CPU and elapsed time, so it is best if it
-     * isn't invoked too frequently.
-     *
-     * @return the sorted list of services implementing interface 'T' discovered
-     *      by 'ServiceLoader'.
-     */
-    @SuppressWarnings("unchecked")
-    public synchronized List<T> rebuildList() {
-        // build a list of all of the current implementors
-        List<T> tmp = new LinkedList<>();
-        for (T service : serviceLoader) {
-            tmp.add((T)getSingleton(service));
-        }
-
-        // Sort the list according to sequence number, and then alphabetically
-        // according to full class name.
-        Collections.sort(tmp, (o1, o2) -> {
-            int s1 = o1.getSequenceNumber();
-            int s2 = o2.getSequenceNumber();
-            if (s1 < s2) {
-                return -1;
-            } else if (s1 > s2) {
-                return 1;
-            } else {
-                return o1.getClass().getName().compareTo(o2.getClass().getName());
-            }
-        });
-
-        // create an unmodifiable version of this list
-        implementers = Collections.unmodifiableList(tmp);
-        logger.info("***** OrderedServiceImpl implementers:\n {}", implementers);
-        return implementers;
-    }
-
-    /**
-     * If a service implements multiple APIs managed by 'ServiceLoader', a
-     * separate instance is created for each API. This method ensures that
-     * the first instance is used in all of the lists.
-     *
-     * @param service this is the object created by ServiceLoader
-     * @return the object to use in place of 'service'. If 'service' is the first
-     *     object of this class created by ServiceLoader, it is returned. If not,
-     *     the object of this class that was initially created is returned
-     *     instead.
-     */
-    private static synchronized OrderedService getSingleton(OrderedService service) {
-        // see if we already have an instance of this class
-        OrderedService rval = classToSingleton.get(service.getClass());
-        if (rval == null) {
-            // No previous instance of this class exists -- use the supplied
-            // instance, and place it in the table.
-            rval = service;
-            classToSingleton.put(service.getClass(), service);
-        }
-        return rval;
-    }
-}