Fix drools-pdp due to sonar changes in common

Fixed breakages due to changes made in policy/common to satisfy
sonar.

Change-Id: I26a38340707b2903e089350c31c5dfdb5c019ee0
Issue-ID: POLICY-1791
Signed-off-by: Jim Hahn <jrh3@att.com>
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 1dd22cd..049b264 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
@@ -42,18 +42,18 @@
     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 ENABLE_NOT_FAILED = StateManagement.ENABLE_NOT_FAILED_ACTION;
+    public static final String DISABLE_FAILED = StateManagement.DISABLE_FAILED_ACTION;
     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 DISABLE_DEPENDENCY = StateManagement.DISABLE_DEPENDENCY_ACTION;
+    public static final String ENABLE_NO_DEPENDENCY = StateManagement.ENABLE_NO_DEPENDENCY_ACTION;
     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 DO_LOCK = StateManagement.LOCK_ACTION;
+    public static final String DO_UNLOCK = StateManagement.UNLOCK_ACTION;
+    public static final String DO_PROMOTE = StateManagement.PROMOTE_ACTION;
+    public static final String DO_DEMOTE = StateManagement.DEMOTE_ACTION;
     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;
diff --git a/feature-eelf/src/main/java/org/onap/policy/drools/eelf/EelfFeature.java b/feature-eelf/src/main/java/org/onap/policy/drools/eelf/EelfFeature.java
index 5f99d3b..ee50d6e 100644
--- a/feature-eelf/src/main/java/org/onap/policy/drools/eelf/EelfFeature.java
+++ b/feature-eelf/src/main/java/org/onap/policy/drools/eelf/EelfFeature.java
@@ -7,9 +7,9 @@
  * 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,10 +20,9 @@
 
 package org.onap.policy.drools.eelf;
 
+import com.att.eelf.configuration.Configuration;
 import java.nio.file.Path;
 import java.nio.file.Paths;
-
-import org.onap.policy.common.logging.eelf.Configuration;
 import org.onap.policy.common.logging.flexlogger.FlexLogger;
 import org.onap.policy.common.logging.flexlogger.Logger;
 import org.onap.policy.drools.features.PolicyEngineFeatureAPI;
@@ -43,12 +42,12 @@
         Path logbackPath = Paths.get(logback);
 
         if (System.getProperty(Configuration.PROPERTY_LOGGING_FILE_PATH) == null) {
-            System.setProperty(Configuration.PROPERTY_LOGGING_FILE_PATH, 
+            System.setProperty(Configuration.PROPERTY_LOGGING_FILE_PATH,
                     logbackPath.toAbsolutePath().getParent().toString());
         }
 
         if (System.getProperty(Configuration.PROPERTY_LOGGING_FILE_NAME) == null) {
-            System.setProperty(Configuration.PROPERTY_LOGGING_FILE_NAME, 
+            System.setProperty(Configuration.PROPERTY_LOGGING_FILE_NAME,
                     logbackPath.getFileName().toString());
         }
 
diff --git a/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheck.java b/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheck.java
index b156294..d7009be 100644
--- a/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheck.java
+++ b/feature-healthcheck/src/main/java/org/onap/policy/drools/healthcheck/HealthCheck.java
@@ -23,14 +23,14 @@
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Properties;
-
 import javax.ws.rs.core.Response;
-
 import org.onap.policy.common.capabilities.Startable;
 import org.onap.policy.common.endpoints.http.client.HttpClient;
 import org.onap.policy.common.endpoints.http.client.HttpClientFactory;
+import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance;
 import org.onap.policy.common.endpoints.http.server.HttpServletServer;
 import org.onap.policy.common.endpoints.http.server.HttpServletServerFactory;
+import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance;
 import org.onap.policy.drools.persistence.SystemPersistence;
 import org.onap.policy.drools.system.PolicyEngine;
 import org.slf4j.Logger;
@@ -366,11 +366,11 @@
     }
 
     protected HttpServletServerFactory getServerFactory() {
-        return HttpServletServer.factory;
+        return HttpServletServerFactoryInstance.getServerFactory();
     }
 
     protected HttpClientFactory getClientFactory() {
-        return HttpClient.factory;
+        return HttpClientFactoryInstance.getClientFactory();
     }
 
     protected Properties getPersistentProperties(String propertyName) {
diff --git a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java
index 0e853e8..60399d7 100644
--- a/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java
+++ b/feature-lifecycle/src/main/java/org/onap/policy/drools/lifecycle/LifecycleFsm.java
@@ -35,7 +35,7 @@
 import org.apache.commons.lang3.StringUtils;
 import org.onap.policy.common.capabilities.Startable;
 import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
-import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
 import org.onap.policy.common.endpoints.event.comm.TopicSink;
 import org.onap.policy.common.endpoints.event.comm.TopicSource;
 import org.onap.policy.common.endpoints.event.comm.client.TopicSinkClient;
@@ -352,7 +352,7 @@
     }
 
     private boolean source() {
-        List<TopicSource> sources = TopicEndpoint.manager.addTopicSources(properties);
+        List<TopicSource> sources = TopicEndpointManager.getManager().addTopicSources(properties);
         if (sources.isEmpty()) {
             return false;
         }
@@ -369,7 +369,7 @@
     }
 
     private boolean sink() {
-        List<TopicSink> sinks = TopicEndpoint.manager.addTopicSinks(properties);
+        List<TopicSink> sinks = TopicEndpointManager.getManager().addTopicSinks(properties);
         if (sinks.isEmpty()) {
             logger.error("Lifecycle Manager sinks have not been configured");
             return false;
diff --git a/feature-lifecycle/src/test/java/org/onap/policy/drools/server/restful/RestLifecycleManagerTest.java b/feature-lifecycle/src/test/java/org/onap/policy/drools/server/restful/RestLifecycleManagerTest.java
index 3cf5c59..9226916 100644
--- a/feature-lifecycle/src/test/java/org/onap/policy/drools/server/restful/RestLifecycleManagerTest.java
+++ b/feature-lifecycle/src/test/java/org/onap/policy/drools/server/restful/RestLifecycleManagerTest.java
@@ -29,7 +29,9 @@
 import org.junit.Test;
 import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams;
 import org.onap.policy.common.endpoints.http.client.HttpClient;
+import org.onap.policy.common.endpoints.http.client.HttpClientFactoryInstance;
 import org.onap.policy.common.endpoints.http.server.HttpServletServer;
+import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance;
 import org.onap.policy.common.utils.network.NetworkUtil;
 import org.onap.policy.drools.persistence.SystemPersistence;
 import org.onap.policy.models.pdp.enums.PdpState;
@@ -44,12 +46,12 @@
      */
     @Before
      public void setUp() throws Exception {
-        HttpServletServer.factory.destroy();
-        HttpClient.factory.destroy();
+        HttpServletServerFactoryInstance.getServerFactory().destroy();
+        HttpClientFactoryInstance.getClientFactory().destroy();
 
         SystemPersistence.manager.setConfigurationDir("target/test-classes");
 
-        HttpClient.factory.build(
+        HttpClientFactoryInstance.getClientFactory().build(
             BusTopicParams.builder()
                 .clientName("lifecycle")
                 .hostname("localhost")
@@ -59,7 +61,7 @@
                 .build());
 
         HttpServletServer server =
-            HttpServletServer.factory.build("lifecycle", "localhost", 8765, "/", true, true);
+            HttpServletServerFactoryInstance.getServerFactory().build("lifecycle", "localhost", 8765, "/", true, true);
         server.addServletClass("/*", RestLifecycleManager.class.getName());
         server.setSerializationProvider("org.onap.policy.common.gson.JacksonHandler");
         server.waitedStart(5000L);
@@ -73,17 +75,17 @@
      */
     @After
     public void tearDown() {
-        HttpServletServer.factory.destroy();
-        HttpClient.factory.destroy();
+        HttpServletServerFactoryInstance.getServerFactory().destroy();
+        HttpClientFactoryInstance.getClientFactory().destroy();
     }
 
     @Test
     public void fsm() {
-        Response response = HttpClient.factory.get("lifecycle").get("fsm");
+        Response response = HttpClientFactoryInstance.getClientFactory().get("lifecycle").get("fsm");
         assertNotNull(HttpClient.getBody(response, String.class));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
 
-        response = HttpClient.factory.get("lifecycle").get("fsm/state");
+        response = HttpClientFactoryInstance.getClientFactory().get("lifecycle").get("fsm/state");
         assertEquals(PdpState.TERMINATED, HttpClient.getBody(response, PdpState.class));
         assertEquals(Status.OK.getStatusCode(), response.getStatus());
     }
diff --git a/feature-mdc-filters/src/test/java/org/onap/policy/drools/mdc/filters/MdcFilterFeatureTest.java b/feature-mdc-filters/src/test/java/org/onap/policy/drools/mdc/filters/MdcFilterFeatureTest.java
index afe6df3..8efa96d 100755
--- a/feature-mdc-filters/src/test/java/org/onap/policy/drools/mdc/filters/MdcFilterFeatureTest.java
+++ b/feature-mdc-filters/src/test/java/org/onap/policy/drools/mdc/filters/MdcFilterFeatureTest.java
@@ -31,11 +31,10 @@
 import java.nio.file.Paths;

 import java.util.List;

 import java.util.Properties;

-

 import org.junit.Before;

 import org.junit.Test;

 import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;

-import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;

+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;

 import org.onap.policy.common.endpoints.event.comm.TopicSink;

 import org.onap.policy.common.endpoints.event.comm.TopicSource;

 import org.onap.policy.common.endpoints.utils.NetLoggerUtil.EventType;

@@ -92,10 +91,10 @@
         props.setProperty("dmaap.source.topics." + TEST_TOPIC_A + ".servers", "http://testing123.com/");

         props.setProperty("noop.sink.topics", TEST_TOPIC_B);

 

-        List<TopicSource> topicSources = TopicEndpoint.manager.addTopicSources(props);

+        List<TopicSource> topicSources = TopicEndpointManager.getManager().addTopicSources(props);

         doReturn(topicSources).when(controller).getTopicSources();

 

-        List<TopicSink> topicSinks = TopicEndpoint.manager.addTopicSinks(props);

+        List<TopicSink> topicSinks = TopicEndpointManager.getManager().addTopicSinks(props);

         doReturn(topicSinks).when(controller).getTopicSinks();

 

         mdcFilterFeature = new MdcFilterFeatureImpl();

diff --git a/feature-pooling-dmaap/src/main/java/org/onap/policy/drools/pooling/DmaapManager.java b/feature-pooling-dmaap/src/main/java/org/onap/policy/drools/pooling/DmaapManager.java
index eb258b8..674dc40 100644
--- a/feature-pooling-dmaap/src/main/java/org/onap/policy/drools/pooling/DmaapManager.java
+++ b/feature-pooling-dmaap/src/main/java/org/onap/policy/drools/pooling/DmaapManager.java
@@ -2,14 +2,14 @@
  * ============LICENSE_START=======================================================
  * ONAP
  * ================================================================================
- * 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.
@@ -24,6 +24,7 @@
 
 import org.onap.policy.common.endpoints.event.comm.FilterableTopicSource;
 import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
 import org.onap.policy.common.endpoints.event.comm.TopicListener;
 import org.onap.policy.common.endpoints.event.comm.TopicSink;
 import org.onap.policy.common.endpoints.event.comm.TopicSource;
@@ -65,7 +66,7 @@
 
     /**
      * Constructs the manager, but does not start the source or sink.
-     * 
+     *
      * @param topic name of the internal DMaaP topic
      * @throws PoolingFeatureException if an error occurs
      */
@@ -94,7 +95,7 @@
 
     /**
      * Finds the topic source associated with the internal DMaaP topic.
-     * 
+     *
      * @return the topic source
      * @throws PoolingFeatureException if the source doesn't exist or is not filterable
      */
@@ -115,7 +116,7 @@
 
     /**
      * Finds the topic sink associated with the internal DMaaP topic.
-     * 
+     *
      * @return the topic sink
      * @throws PoolingFeatureException if the sink doesn't exist
      */
@@ -143,7 +144,7 @@
 
     /**
      * Stops the publisher.
-     * 
+     *
      * @param waitMs time, in milliseconds, to wait for the sink to transmit any queued messages and
      *        close
      */
@@ -170,7 +171,7 @@
 
     /**
      * Starts the consumer, if it isn't already running.
-     * 
+     *
      * @param listener listener to register with the source
      */
     public void startConsumer(TopicListener listener) {
@@ -185,7 +186,7 @@
 
     /**
      * Stops the consumer.
-     * 
+     *
      * @param listener listener to unregister with the source
      */
     public void stopConsumer(TopicListener listener) {
@@ -200,7 +201,7 @@
 
     /**
      * Sets the server-side filter to be used by the consumer.
-     * 
+     *
      * @param filter the filter string, or {@code null} if no filter is to be used
      * @throws PoolingFeatureException if the topic is not filterable
      */
@@ -216,7 +217,7 @@
 
     /**
      * Publishes a message to the sink.
-     * 
+     *
      * @param msg message to be published
      * @throws PoolingFeatureException if an error occurs or the publisher isn't running
      */
@@ -234,26 +235,26 @@
             throw new PoolingFeatureException("cannot send to topic sink " + topic, e);
         }
     }
-    
+
     /*
      * The remaining methods may be overridden by junit tests.
      */
 
     /**
      * Get topic source.
-     * 
+     *
      * @return the topic sources
      */
     protected List<TopicSource> getTopicSources() {
-        return TopicEndpoint.manager.getTopicSources();
+        return TopicEndpointManager.getManager().getTopicSources();
     }
 
     /**
      * Get topic sinks.
-     * 
+     *
      * @return the topic sinks
      */
     protected List<TopicSink> getTopicSinks() {
-        return TopicEndpoint.manager.getTopicSinks();
+        return TopicEndpointManager.getManager().getTopicSinks();
     }
 }
diff --git a/feature-pooling-dmaap/src/main/java/org/onap/policy/drools/pooling/PoolingFeature.java b/feature-pooling-dmaap/src/main/java/org/onap/policy/drools/pooling/PoolingFeature.java
index 60a6f29..b45aed8 100644
--- a/feature-pooling-dmaap/src/main/java/org/onap/policy/drools/pooling/PoolingFeature.java
+++ b/feature-pooling-dmaap/src/main/java/org/onap/policy/drools/pooling/PoolingFeature.java
@@ -2,14 +2,14 @@
  * ============LICENSE_START=======================================================
  * ONAP
  * ================================================================================
- * 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.
@@ -25,9 +25,8 @@
 import java.util.UUID;
 import java.util.concurrent.ConcurrentHashMap;
 import java.util.concurrent.CountDownLatch;
-
 import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
-import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
 import org.onap.policy.common.endpoints.event.comm.TopicSink;
 import org.onap.policy.common.endpoints.event.comm.TopicSource;
 import org.onap.policy.common.utils.properties.SpecProperties;
@@ -46,8 +45,8 @@
 /**
  * Controller/session pooling. Multiple hosts may be launched, all servicing the same
  * controllers/sessions. When this feature is enabled, the requests are divided across the different
- * hosts, instead of all running on a single, active host. 
- * 
+ * hosts, instead of all running on a single, active host.
+ *
  * <p>With each controller, there is an
  * associated DMaaP topic that is used for internal communication between the different hosts
  * serving the controller.
@@ -98,7 +97,7 @@
 
     /**
      * Get active latch.
-     * 
+     *
      * @return a latch that will be decremented when a manager enters the active state
      */
     protected CountDownLatch getActiveLatch() {
@@ -134,7 +133,7 @@
 
     /**
      * Adds the controller and a new pooling manager to {@link #ctlr2pool}.
-     * 
+     *
      * @throws PoolingFeatureRtException if an error occurs
      */
     @Override
@@ -292,7 +291,7 @@
     /**
      * Executes a function using the manager associated with the controller. Catches any exceptions
      * from the function and re-throws it as a runtime exception.
-     * 
+     *
      * @param controller controller
      * @param func function to be executed
      * @return {@code true} if the function handled the request, {@code false} otherwise
@@ -314,7 +313,7 @@
 
     /**
      * Deletes the manager associated with a controller.
-     * 
+     *
      * @param controller controller
      * @throws PoolingFeatureRtException if an error occurs
      */
@@ -334,7 +333,7 @@
 
         /**
          * Apply.
-         * 
+         *
          * @param mgr manager
          * @return {@code true} if the request was handled by the manager, {@code false} otherwise
          * @throws PoolingFeatureException feature exception
@@ -364,7 +363,7 @@
 
         /**
          * Constructor.
-         * 
+         *
          * @param protocol protocol
          * @param topic topic
          * @param event the actual event data received on the topic
@@ -375,14 +374,14 @@
             this.event = event;
         }
     }
-    
+
     /*
      * The remaining methods may be overridden by junit tests.
      */
 
     /**
      * Get properties.
-     * 
+     *
      * @param featName feature name
      * @return the properties for the specified feature
      */
@@ -392,7 +391,7 @@
 
     /**
      * Makes a pooling manager for a controller.
-     * 
+     *
      * @param host name/uuid of this host
      * @param controller controller
      * @param props properties to use to configure the manager
@@ -406,7 +405,7 @@
 
     /**
      * Gets the policy controller associated with a drools controller.
-     * 
+     *
      * @param droolsController drools controller
      * @return the policy controller associated with a drools controller
      */
@@ -416,21 +415,21 @@
 
     /**
      * Initializes the topic sources.
-     * 
+     *
      * @param props properties used to configure the topics
      * @return the topic sources
      */
     protected List<TopicSource> initTopicSources(Properties props) {
-        return TopicEndpoint.manager.addTopicSources(props);
+        return TopicEndpointManager.getManager().addTopicSources(props);
     }
 
     /**
      * Initializes the topic sinks.
-     * 
+     *
      * @param props properties used to configure the topics
      * @return the topic sinks
      */
     protected List<TopicSink> initTopicSinks(Properties props) {
-        return TopicEndpoint.manager.addTopicSinks(props);
+        return TopicEndpointManager.getManager().addTopicSinks(props);
     }
 }
diff --git a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/EndToEndFeatureTest.java b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/EndToEndFeatureTest.java
index 0cbc0e0..bee25ff 100644
--- a/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/EndToEndFeatureTest.java
+++ b/feature-pooling-dmaap/src/test/java/org/onap/policy/drools/pooling/EndToEndFeatureTest.java
@@ -50,7 +50,7 @@
 import org.mockito.invocation.InvocationOnMock;
 import org.mockito.stubbing.Answer;
 import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
-import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
 import org.onap.policy.common.endpoints.event.comm.TopicListener;
 import org.onap.policy.common.endpoints.event.comm.TopicSink;
 import org.onap.policy.common.endpoints.event.comm.TopicSource;
@@ -143,10 +143,10 @@
      */
     @BeforeClass
     public static void setUpBeforeClass() {
-        externalSink = TopicEndpoint.manager.addTopicSinks(makeSinkProperties(EXTERNAL_TOPIC)).get(0);
+        externalSink = TopicEndpointManager.getManager().addTopicSinks(makeSinkProperties(EXTERNAL_TOPIC)).get(0);
         externalSink.start();
 
-        internalSink = TopicEndpoint.manager.addTopicSinks(makeSinkProperties(INTERNAL_TOPIC)).get(0);
+        internalSink = TopicEndpointManager.getManager().addTopicSinks(makeSinkProperties(INTERNAL_TOPIC)).get(0);
         internalSink.start();
     }
 
@@ -476,8 +476,10 @@
             when(controller.getName()).thenReturn(CONTROLLER1);
             when(controller.getDrools()).thenReturn(drools);
 
-            externalSource = TopicEndpoint.manager.addTopicSources(makeSourceProperties(EXTERNAL_TOPIC)).get(0);
-            internalSource = TopicEndpoint.manager.addTopicSources(makeSourceProperties(INTERNAL_TOPIC)).get(0);
+            externalSource = TopicEndpointManager.getManager().addTopicSources(makeSourceProperties(EXTERNAL_TOPIC))
+                            .get(0);
+            internalSource = TopicEndpointManager.getManager().addTopicSources(makeSourceProperties(INTERNAL_TOPIC))
+                            .get(0);
 
             // stop consuming events if the controller stops
             when(controller.stop()).thenAnswer(args -> {
diff --git a/feature-simulators/src/test/java/org/onap/policy/drools/simulators/DMaaPSimulatorTest.java b/feature-simulators/src/test/java/org/onap/policy/drools/simulators/DMaaPSimulatorTest.java
index 2a84952..9740ac6 100644
--- a/feature-simulators/src/test/java/org/onap/policy/drools/simulators/DMaaPSimulatorTest.java
+++ b/feature-simulators/src/test/java/org/onap/policy/drools/simulators/DMaaPSimulatorTest.java
@@ -2,7 +2,7 @@
  * ============LICENSE_START=======================================================
  * feature-simulators
  * ================================================================================
- * 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.
@@ -37,6 +37,7 @@
 import org.junit.BeforeClass;
 import org.junit.Test;
 import org.onap.policy.common.endpoints.http.server.HttpServletServer;
+import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance;
 import org.onap.policy.common.utils.network.NetworkUtil;
 import org.onap.policy.drools.utils.logging.LoggerUtil;
 
@@ -52,8 +53,8 @@
         LoggerUtil.setLevel("ROOT", "INFO");
         LoggerUtil.setLevel("org.eclipse.jetty", "WARN");
         try {
-            final HttpServletServer testServer =
-                    HttpServletServer.factory.build("dmaapSim", "localhost", DMAAPSIM_SERVER_PORT, "/", false, true);
+            final HttpServletServer testServer = HttpServletServerFactoryInstance.getServerFactory().build("dmaapSim",
+                            "localhost", DMAAPSIM_SERVER_PORT, "/", false, true);
             testServer.addServletClass("/*", DMaaPSimulatorJaxRs.class.getName());
             testServer.waitedStart(5000);
             if (!NetworkUtil.isTcpPortOpen("localhost", testServer.getPort(), 5, 10000L)) {
@@ -66,7 +67,7 @@
 
     @AfterClass
     public static void tearDownSimulator() {
-        HttpServletServer.factory.destroy();
+        HttpServletServerFactoryInstance.getServerFactory().destroy();
     }
 
     @Test
diff --git a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DroolsPDPIntegrityMonitor.java b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DroolsPDPIntegrityMonitor.java
index 8dd211b..a0b709b 100644
--- a/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DroolsPDPIntegrityMonitor.java
+++ b/feature-state-management/src/main/java/org/onap/policy/drools/statemanagement/DroolsPDPIntegrityMonitor.java
@@ -2,14 +2,14 @@
  * ============LICENSE_START=======================================================
  * feature-state-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,9 +23,9 @@
 import java.io.IOException;
 import java.util.List;
 import java.util.Properties;
-
 import org.onap.policy.common.capabilities.Startable;
 import org.onap.policy.common.endpoints.http.server.HttpServletServer;
+import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance;
 import org.onap.policy.common.im.IntegrityMonitor;
 import org.onap.policy.common.im.IntegrityMonitorException;
 import org.onap.policy.drools.utils.PropertyUtil;
@@ -55,7 +55,7 @@
 
     /**
      * Constructor - pass arguments to superclass, but remember properties.
-     * 
+     *
      * @param resourceName unique name of this Integrity Monitor
      * @param url the JMX URL of the MBean server
      * @param properties properties used locally, as well as by 'IntegrityMonitor'
@@ -82,7 +82,7 @@
     /**
      * Static initialization -- create Drools Integrity Monitor, and an HTTP server to handle REST
      * 'test' requests.
-     * 
+     *
      * @throws IntegrityMonitorException exception
      */
     public static DroolsPDPIntegrityMonitor init(String configDir) throws IntegrityMonitorException {
@@ -144,7 +144,7 @@
 
     /**
      * Makes an Integrity Monitor.
-     * 
+     *
      * @param resourceName unique name of this Integrity Monitor
      * @param properties properties used to configure the Integrity Monitor
      * @return monitor object
@@ -163,7 +163,7 @@
 
     /**
      * Makes a rest server for the Integrity Monitor.
-     * 
+     *
      * @param testHost host name
      * @param testPort port
      * @param properties properties used to configure the rest server
@@ -186,7 +186,7 @@
 
     /**
      * Gets the properties from the property file.
-     * 
+     *
      * @param configDir directory containing the property file
      * @return the properties
      * @throws IntegrityMonitorException exception
@@ -202,7 +202,7 @@
 
     /**
      * Checks that a property is defined.
-     * 
+     *
      * @param props set of properties
      * @param name name of the property to check
      * @throws IntegrityMonitorException exception
@@ -220,7 +220,7 @@
      * Checks a property's value to verify that it matches the expected value. If the property is
      * not defined, then it is added to the property set, with the expected value. Logs an error if
      * the property is defined, but does not have the expected value.
-     * 
+     *
      * @param props set of properties
      * @param name name of the property to check
      * @param expected expected/default value
@@ -241,7 +241,7 @@
      * Checks a property's value to verify that it matches the expected value. If the property is
      * not defined, then it is added to the property set, with the expected value. Logs a warning if
      * the property is defined, but does not have the expected value.
-     * 
+     *
      * @param props set of properties
      * @param name name of the property to check
      * @param expected expected/default value
@@ -318,7 +318,7 @@
 
         /**
          * Constructor - initialize the name, and clear the initial response.
-         * 
+         *
          * @param name name of the audit
          */
         public AuditBase(String name) {
@@ -328,7 +328,7 @@
 
         /**
          * Get the name.
-         * 
+         *
          * @return the name of this audit
          */
         public String getName() {
@@ -337,7 +337,7 @@
 
         /**
          * Get the response.
-         * 
+         *
          * @return the response String (non-null indicates the error message)
          */
         public String getResponse() {
@@ -346,7 +346,7 @@
 
         /**
          * Set the response string to the specified value.
-         * 
+         *
          * @param value the new value of the response string (null = no errors)
          */
         public void setResponse(String value) {
@@ -355,7 +355,7 @@
 
         /**
          * Abstract method to invoke the audit.
-         * 
+         *
          * @param persistenceProperties Used for DB access
          * @throws Exception passed in by the audit
          */
@@ -374,7 +374,8 @@
         @Override
         public boolean start() {
             try {
-                List<HttpServletServer> servers = HttpServletServer.factory.build(integrityMonitorRestServerProperties);
+                List<HttpServletServer> servers = HttpServletServerFactoryInstance.getServerFactory()
+                                .build(integrityMonitorRestServerProperties);
 
                 if (!servers.isEmpty()) {
                     server = servers.get(0);
@@ -421,7 +422,7 @@
 
     /**
      * Returns the instance.
-     * 
+     *
      * @return DroolsPDPIntegrityMonitor object
      * @throws IntegrityMonitorException exception
      */
diff --git a/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java b/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java
index d926bed..726e721 100644
--- a/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/server/restful/RestManager.java
@@ -52,6 +52,7 @@
 import org.onap.policy.common.endpoints.event.comm.Topic;
 import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
 import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
 import org.onap.policy.common.endpoints.event.comm.TopicSink;
 import org.onap.policy.common.endpoints.event.comm.TopicSource;
 import org.onap.policy.drools.controller.DroolsController;
@@ -1611,7 +1612,7 @@
     @ApiOperation(value = "Retrieves the managed topics", notes = "Network Topics Aggregation",
             response = TopicEndpoint.class)
     public Response topics() {
-        return Response.status(Response.Status.OK).entity(TopicEndpoint.manager).build();
+        return Response.status(Response.Status.OK).entity(TopicEndpointManager.getManager()).build();
     }
 
     @GET
@@ -1634,9 +1635,9 @@
     @ApiResponses(value = {@ApiResponse(code = 406,
             message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response topicsLock() {
-        final boolean success = TopicEndpoint.manager.lock();
+        final boolean success = TopicEndpointManager.getManager().lock();
         if (success) {
-            return Response.status(Status.OK).entity(TopicEndpoint.manager).build();
+            return Response.status(Status.OK).entity(TopicEndpointManager.getManager()).build();
         } else {
             return Response.status(Status.NOT_ACCEPTABLE).entity(new Error("cannot perform operation")).build();
         }
@@ -1654,9 +1655,9 @@
     @ApiResponses(value = {@ApiResponse(code = 406,
             message = "The system is an administrative state that prevents " + "this request to be fulfilled")})
     public Response topicsUnlock() {
-        final boolean success = TopicEndpoint.manager.unlock();
+        final boolean success = TopicEndpointManager.getManager().unlock();
         if (success) {
-            return Response.status(Status.OK).entity(TopicEndpoint.manager).build();
+            return Response.status(Status.OK).entity(TopicEndpointManager.getManager()).build();
         } else {
             return Response.status(Status.NOT_ACCEPTABLE).entity(new Error("cannot perform operation")).build();
         }
@@ -1672,7 +1673,7 @@
     @ApiOperation(value = "Retrieves the managed topic sources", notes = "Network Topic Sources Agregation",
             responseContainer = "List", response = TopicSource.class)
     public Response sources() {
-        return Response.status(Response.Status.OK).entity(TopicEndpoint.manager.getTopicSources()).build();
+        return Response.status(Response.Status.OK).entity(TopicEndpointManager.getManager().getTopicSources()).build();
     }
 
     /**
@@ -1685,7 +1686,7 @@
     @ApiOperation(value = "Retrieves the managed topic sinks", notes = "Network Topic Sinks Agregation",
             responseContainer = "List", response = TopicSink.class)
     public Response sinks() {
-        return Response.status(Response.Status.OK).entity(TopicEndpoint.manager.getTopicSinks()).build();
+        return Response.status(Response.Status.OK).entity(TopicEndpointManager.getManager().getTopicSinks()).build();
     }
 
     /**
@@ -1702,13 +1703,13 @@
         Status status = Status.OK;
         switch (CommInfrastructure.valueOf(comm.toUpperCase())) {
             case UEB:
-                sources.addAll(TopicEndpoint.manager.getUebTopicSources());
+                sources.addAll(TopicEndpointManager.getManager().getUebTopicSources());
                 break;
             case DMAAP:
-                sources.addAll(TopicEndpoint.manager.getDmaapTopicSources());
+                sources.addAll(TopicEndpointManager.getManager().getDmaapTopicSources());
                 break;
             case NOOP:
-                sources.addAll(TopicEndpoint.manager.getNoopTopicSources());
+                sources.addAll(TopicEndpointManager.getManager().getNoopTopicSources());
                 break;
             default:
                 status = Status.BAD_REQUEST;
@@ -1732,13 +1733,13 @@
         Status status = Status.OK;
         switch (CommInfrastructure.valueOf(comm.toUpperCase())) {
             case UEB:
-                sinks.addAll(TopicEndpoint.manager.getUebTopicSinks());
+                sinks.addAll(TopicEndpointManager.getManager().getUebTopicSinks());
                 break;
             case DMAAP:
-                sinks.addAll(TopicEndpoint.manager.getDmaapTopicSinks());
+                sinks.addAll(TopicEndpointManager.getManager().getDmaapTopicSinks());
                 break;
             case NOOP:
-                sinks.addAll(TopicEndpoint.manager.getNoopTopicSinks());
+                sinks.addAll(TopicEndpointManager.getManager().getNoopTopicSinks());
                 break;
             default:
                 status = Status.BAD_REQUEST;
@@ -1762,7 +1763,7 @@
         @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic) {
         return Response
             .status(Response.Status.OK)
-            .entity(TopicEndpoint.manager
+            .entity(TopicEndpointManager.getManager()
                 .getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic))
             .build();
     }
@@ -1780,7 +1781,7 @@
         @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic) {
         return Response
             .status(Response.Status.OK)
-            .entity(TopicEndpoint.manager
+            .entity(TopicEndpointManager.getManager()
                 .getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic))
             .build();
     }
@@ -1797,9 +1798,9 @@
         @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm,
         @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic) {
         return Response.status(Status.OK)
-            .entity(Arrays
-                .asList(TopicEndpoint.manager.getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic)
-                        .getRecentEvents()))
+            .entity(Arrays.asList(TopicEndpointManager.getManager()
+                            .getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic)
+                            .getRecentEvents()))
             .build();
     }
 
@@ -1815,9 +1816,9 @@
         @ApiParam(value = "Communication Mechanism", required = true) @PathParam("comm") String comm,
         @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic) {
         return Response.status(Status.OK)
-            .entity(Arrays
-                .asList(TopicEndpoint.manager.getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic)
-                    .getRecentEvents()))
+            .entity(Arrays.asList(TopicEndpointManager.getManager()
+                            .getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic)
+                            .getRecentEvents()))
             .build();
     }
 
@@ -1860,7 +1861,7 @@
         @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic
     ) {
         TopicSource source =
-            TopicEndpoint.manager.getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
+            TopicEndpointManager.getManager().getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
         return getResponse(topic, source.lock(), source);
     }
 
@@ -1877,7 +1878,7 @@
         @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic
     ) {
         TopicSource source =
-            TopicEndpoint.manager.getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
+            TopicEndpointManager.getManager().getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
         return getResponse(topic, source.unlock(), source);
     }
 
@@ -1894,7 +1895,7 @@
         @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic
     ) {
         TopicSource source =
-            TopicEndpoint.manager.getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
+            TopicEndpointManager.getManager().getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
         return getResponse(topic, source.start(), source);
     }
 
@@ -1911,7 +1912,7 @@
         @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic
     ) {
         TopicSource source =
-            TopicEndpoint.manager.getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
+            TopicEndpointManager.getManager().getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
         return getResponse(topic, source.stop(), source);
     }
 
@@ -1928,7 +1929,7 @@
         @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic
     ) {
         TopicSink sink =
-            TopicEndpoint.manager.getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
+            TopicEndpointManager.getManager().getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
         return getResponse(topic, sink.lock(), sink);
     }
 
@@ -1945,7 +1946,7 @@
         @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic
     ) {
         TopicSink sink =
-            TopicEndpoint.manager.getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
+            TopicEndpointManager.getManager().getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
         return getResponse(topic, sink.unlock(), sink);
     }
 
@@ -1962,7 +1963,7 @@
         @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic
     ) {
         TopicSink sink =
-            TopicEndpoint.manager.getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
+            TopicEndpointManager.getManager().getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
         return getResponse(topic, sink.start(), sink);
     }
 
@@ -1979,7 +1980,7 @@
         @ApiParam(value = "Topic Name", required = true) @PathParam("topic") String topic
     ) {
         TopicSink sink =
-            TopicEndpoint.manager.getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
+            TopicEndpointManager.getManager().getTopicSink(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
         return getResponse(topic, sink.stop(), sink);
     }
 
@@ -2016,7 +2017,7 @@
 
         try {
             TopicSource source =
-                TopicEndpoint.manager.getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
+                TopicEndpointManager.getManager().getTopicSource(CommInfrastructure.valueOf(comm.toUpperCase()), topic);
             if (source.offer(json)) {
                 return Response.status(Status.OK)
                     .entity(Arrays.asList(source.getRecentEvents()))
diff --git a/policy-management/src/main/java/org/onap/policy/drools/system/Main.java b/policy-management/src/main/java/org/onap/policy/drools/system/Main.java
index 38af413..d1cdc56 100644
--- a/policy-management/src/main/java/org/onap/policy/drools/system/Main.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/system/Main.java
@@ -21,7 +21,7 @@
 package org.onap.policy.drools.system;
 
 import java.util.Properties;
-import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
 import org.onap.policy.drools.persistence.SystemPersistence;
 import org.onap.policy.drools.properties.DroolsProperties;
 import org.onap.policy.drools.utils.PropertyUtil;
@@ -80,7 +80,7 @@
         /* 2. Add topics */
 
         for (Properties topicProperties : SystemPersistence.manager.getTopicProperties()) {
-            TopicEndpoint.manager.addTopics(topicProperties);
+            TopicEndpointManager.getManager().addTopics(topicProperties);
         }
 
         /* 3. Start the Engine with the basic services only (no Policy Controllers) */
diff --git a/policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java b/policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java
index 963aced..811a9c8 100644
--- a/policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/system/PolicyEngine.java
@@ -34,11 +34,13 @@
 import org.onap.policy.common.endpoints.event.comm.Topic;
 import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;
 import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
 import org.onap.policy.common.endpoints.event.comm.TopicListener;
 import org.onap.policy.common.endpoints.event.comm.TopicSink;
 import org.onap.policy.common.endpoints.event.comm.TopicSource;
 import org.onap.policy.common.endpoints.http.server.HttpServletServer;
 import org.onap.policy.common.endpoints.http.server.HttpServletServerFactory;
+import org.onap.policy.common.endpoints.http.server.HttpServletServerFactoryInstance;
 import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
 import org.onap.policy.common.gson.annotation.GsonJsonIgnore;
 import org.onap.policy.common.gson.annotation.GsonJsonProperty;
@@ -1562,11 +1564,11 @@
     }
 
     protected TopicEndpoint getTopicEndpointManager() {
-        return TopicEndpoint.manager;
+        return TopicEndpointManager.getManager();
     }
 
     protected HttpServletServerFactory getServletFactory() {
-        return HttpServletServer.factory;
+        return HttpServletServerFactoryInstance.getServerFactory();
     }
 
     protected PolicyControllerFactory getControllerFactory() {
diff --git a/policy-management/src/main/java/org/onap/policy/drools/system/internal/AggregatedPolicyController.java b/policy-management/src/main/java/org/onap/policy/drools/system/internal/AggregatedPolicyController.java
index 6fd05fb..bdcb19a 100644
--- a/policy-management/src/main/java/org/onap/policy/drools/system/internal/AggregatedPolicyController.java
+++ b/policy-management/src/main/java/org/onap/policy/drools/system/internal/AggregatedPolicyController.java
@@ -7,9 +7,9 @@
  * 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.
@@ -29,6 +29,7 @@
 import java.util.stream.Collectors;
 import org.onap.policy.common.endpoints.event.comm.Topic;
 import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
 import org.onap.policy.common.endpoints.event.comm.TopicListener;
 import org.onap.policy.common.endpoints.event.comm.TopicSink;
 import org.onap.policy.common.endpoints.event.comm.TopicSource;
@@ -107,10 +108,10 @@
     /**
      * Constructor version mainly used for bootstrapping at initialization time a policy engine
      * controller.
-     * 
+     *
      * @param name controller name
      * @param properties
-     * 
+     *
      * @throws IllegalArgumentException when invalid arguments are provided
      */
     public AggregatedPolicyController(String name, Properties properties) {
@@ -175,7 +176,7 @@
 
     /**
      * initialize drools layer.
-     * 
+     *
      * @throws IllegalArgumentException if invalid parameters are passed in
      */
     private void initDrools(Properties properties) {
@@ -190,7 +191,7 @@
 
     /**
      * initialize sinks.
-     * 
+     *
      * @throws IllegalArgumentException if invalid parameters are passed in
      */
     private void initSinks() {
@@ -716,13 +717,13 @@
     }
 
     // the following methods may be overridden by junit tests
-    
+
     protected SystemPersistence getPersistenceManager() {
         return SystemPersistence.manager;
     }
 
     protected TopicEndpoint getEndpointManager() {
-        return TopicEndpoint.manager;
+        return TopicEndpointManager.getManager();
     }
 
     protected DroolsControllerFactory getDroolsFactory() {
diff --git a/policy-management/src/test/java/org/onap/policy/drools/protocol/coders/EventProtocolCoderTest.java b/policy-management/src/test/java/org/onap/policy/drools/protocol/coders/EventProtocolCoderTest.java
index 40646b1..db90bea 100644
--- a/policy-management/src/test/java/org/onap/policy/drools/protocol/coders/EventProtocolCoderTest.java
+++ b/policy-management/src/test/java/org/onap/policy/drools/protocol/coders/EventProtocolCoderTest.java
@@ -24,9 +24,8 @@
 import static org.junit.Assert.assertTrue;
 
 import java.util.Properties;
-
 import org.junit.Test;
-import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
 import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
 import org.onap.policy.drools.protocol.configuration.DroolsConfiguration;
 
@@ -82,7 +81,7 @@
         final Properties noopSinkProperties = new Properties();
         noopSinkProperties.put(PolicyEndPointProperties.PROPERTY_NOOP_SINK_TOPICS, NOOP_TOPIC);
 
-        TopicEndpoint.manager.addTopicSinks(noopSinkProperties);
+        TopicEndpointManager.getManager().addTopicSinks(noopSinkProperties);
 
         EventProtocolCoder.manager.addEncoder(
                 EventProtocolParams.builder().groupId(ENCODER_GROUP).artifactId(ENCODER_ARTIFACT)
diff --git a/policy-management/src/test/java/org/onap/policy/drools/protocol/coders/ProtocolCoderToolsetTest.java b/policy-management/src/test/java/org/onap/policy/drools/protocol/coders/ProtocolCoderToolsetTest.java
index c6209a5..6466184 100644
--- a/policy-management/src/test/java/org/onap/policy/drools/protocol/coders/ProtocolCoderToolsetTest.java
+++ b/policy-management/src/test/java/org/onap/policy/drools/protocol/coders/ProtocolCoderToolsetTest.java
@@ -31,7 +31,7 @@
 import org.junit.Before;
 import org.junit.Test;
 import org.kie.api.builder.ReleaseId;
-import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
 import org.onap.policy.common.endpoints.event.comm.TopicSink;
 import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
 import org.onap.policy.drools.controller.DroolsController;
@@ -231,7 +231,7 @@
 
         Properties sinkConfig = new Properties();
         sinkConfig.put(PolicyEndPointProperties.PROPERTY_NOOP_SINK_TOPICS, JUNIT_PROTOCOL_CODER_TOPIC);
-        final List<? extends TopicSink> noopTopics = TopicEndpoint.manager.addTopicSinks(sinkConfig);
+        final List<? extends TopicSink> noopTopics = TopicEndpointManager.getManager().addTopicSinks(sinkConfig);
 
         Properties droolsControllerConfig = new Properties();
         droolsControllerConfig.put(DroolsProperties.RULES_GROUPID, releaseId.getGroupId());
diff --git a/policy-management/src/test/java/org/onap/policy/drools/server/restful/test/RestManagerTest.java b/policy-management/src/test/java/org/onap/policy/drools/server/restful/test/RestManagerTest.java
index 3df9fac..88712a3 100644
--- a/policy-management/src/test/java/org/onap/policy/drools/server/restful/test/RestManagerTest.java
+++ b/policy-management/src/test/java/org/onap/policy/drools/server/restful/test/RestManagerTest.java
@@ -27,7 +27,6 @@
 import java.nio.file.Path;
 import java.nio.file.Paths;
 import java.util.Properties;
-
 import org.apache.http.HttpEntity;
 import org.apache.http.auth.AuthScope;
 import org.apache.http.auth.UsernamePasswordCredentials;
@@ -46,7 +45,7 @@
 import org.junit.FixMethodOrder;
 import org.junit.Test;
 import org.junit.runners.MethodSorters;
-import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
 import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
 import org.onap.policy.common.utils.network.NetworkUtil;
 import org.onap.policy.drools.persistence.SystemPersistence;
@@ -101,7 +100,7 @@
 
     /**
      * Set up.
-     * 
+     *
      * @throws IOException throws an IO exception
      */
     @BeforeClass
@@ -116,15 +115,15 @@
                 + PolicyEngine.TELEMETRY_SERVER_DEFAULT_NAME + PolicyEndPointProperties.PROPERTY_HTTP_PORT_SUFFIX,
                 "" + DEFAULT_TELEMETRY_PORT);
         engineProps.put(PolicyEndPointProperties.PROPERTY_HTTP_SERVER_SERVICES + "."
-                + PolicyEngine.TELEMETRY_SERVER_DEFAULT_NAME 
+                + PolicyEngine.TELEMETRY_SERVER_DEFAULT_NAME
                 + PolicyEndPointProperties.PROPERTY_HTTP_FILTER_CLASSES_SUFFIX,
                 TestAafTelemetryAuthFilter.class.getName());
         engineProps.put(PolicyEndPointProperties.PROPERTY_HTTP_SERVER_SERVICES + "."
-                + PolicyEngine.TELEMETRY_SERVER_DEFAULT_NAME 
+                + PolicyEngine.TELEMETRY_SERVER_DEFAULT_NAME
                 + PolicyEndPointProperties.PROPERTY_HTTP_AUTH_USERNAME_SUFFIX,
                 TELEMETRY_USER);
         engineProps.put(PolicyEndPointProperties.PROPERTY_HTTP_SERVER_SERVICES + "."
-                + PolicyEngine.TELEMETRY_SERVER_DEFAULT_NAME 
+                + PolicyEngine.TELEMETRY_SERVER_DEFAULT_NAME
                 + PolicyEndPointProperties.PROPERTY_HTTP_AUTH_PASSWORD_SUFFIX,
                 TELEMETRY_PASSWORD);
 
@@ -162,12 +161,12 @@
         Properties noopProperties = new Properties();
         noopProperties.put(PolicyEndPointProperties.PROPERTY_NOOP_SOURCE_TOPICS, NOOP_TOPIC);
         noopProperties.put(PolicyEndPointProperties.PROPERTY_NOOP_SINK_TOPICS, NOOP_TOPIC);
-        TopicEndpoint.manager.addTopics(noopProperties);
+        TopicEndpointManager.getManager().addTopics(noopProperties);
     }
 
     /**
      * Tear down.
-     * 
+     *
      * @throws IOException IO exception
      * @throws InterruptedException Interrupted exception
      */
@@ -175,7 +174,7 @@
     public static void tearDown() throws IOException, InterruptedException {
         /* Shutdown managed resources */
         PolicyController.factory.shutdown();
-        TopicEndpoint.manager.shutdown();
+        TopicEndpointManager.getManager().shutdown();
         PolicyEngine.manager.stop();
         Thread.sleep(10000L);
         client.close();
@@ -190,7 +189,7 @@
 
         /*
          * DELETE: /engine/controllers/controllerName/drools/facts/session/factType
-         * 
+         *
          */
         httpDelete =
                 new HttpDelete(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/drools/facts/session/factType");
@@ -306,7 +305,7 @@
         httpPut.setEntity(new StringEntity("FOOOO"));
         response = client.execute(httpPut);
         logger.info(httpPut.getRequestLine() + " response code: {}", response.getStatusLine().getStatusCode());
-        
+
         assertEquals(406, response.getStatusLine().getStatusCode());
         httpPut.releaseConnection();
 
@@ -471,7 +470,7 @@
          * GET: /engine/controllers/inventory /engine/controllers/features
          * /engine/controllers/features/inventory /engine/controllers/features/featureName
          * /engine/controllers/controllerName
-         * 
+         *
          */
         httpGet = new HttpGet(HOST_URL + "/engine/controllers/inventory");
         response = client.execute(httpGet);
@@ -558,7 +557,7 @@
          * /engine/controllers/controllerName/drools/facts/session
          * /engine/controllers/controllerName/drools/facts/session/factType
          * /engine/controllers/controllerName/drools/facts/session/query/queriedEntity
-         * 
+         *
          */
         httpGet = new HttpGet(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/drools/facts");
         response = client.execute(httpGet);
@@ -944,7 +943,7 @@
 
     /**
      * Get response body.
-     * 
+     *
      * @param response incoming response
      * @return the body or null
      */
diff --git a/policy-management/src/test/java/org/onap/policy/drools/system/PolicyEngineTest.java b/policy-management/src/test/java/org/onap/policy/drools/system/PolicyEngineTest.java
index a586e77..d47c218 100644
--- a/policy-management/src/test/java/org/onap/policy/drools/system/PolicyEngineTest.java
+++ b/policy-management/src/test/java/org/onap/policy/drools/system/PolicyEngineTest.java
@@ -34,9 +34,9 @@
 import org.junit.FixMethodOrder;
 import org.junit.Test;
 import org.junit.runners.MethodSorters;
-import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;
+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;
 import org.onap.policy.common.endpoints.event.comm.TopicSink;
-import org.onap.policy.common.endpoints.event.comm.bus.NoopTopicSink;
+import org.onap.policy.common.endpoints.event.comm.bus.NoopTopicFactories;
 import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties;
 import org.onap.policy.common.utils.gson.GsonTestUtils;
 import org.onap.policy.drools.persistence.SystemPersistence;
@@ -209,7 +209,7 @@
         final Properties noopSinkProperties = new Properties();
         noopSinkProperties.put(PolicyEndPointProperties.PROPERTY_NOOP_SINK_TOPICS, NOOP_TOPIC);
 
-        TopicEndpoint.manager.addTopicSinks(noopSinkProperties).get(0).start();
+        TopicEndpointManager.getManager().addTopicSinks(noopSinkProperties).get(0).start();
 
         EventProtocolCoder.manager.addEncoder(
                 EventProtocolParams.builder().groupId(ENCODER_GROUP).artifactId(ENCODER_ARTIFACT)
@@ -220,7 +220,7 @@
         assertTrue(PolicyEngine.manager.deliver(NOOP_TOPIC,
                 new DroolsConfiguration(ENCODER_GROUP, ENCODER_ARTIFACT, ENCODER_VERSION)));
 
-        final TopicSink sink = NoopTopicSink.factory.get(NOOP_TOPIC);
+        final TopicSink sink = NoopTopicFactories.getSinkFactory().get(NOOP_TOPIC);
         assertTrue(sink.getRecentEvents()[0].contains(ENCODER_GROUP));
         assertTrue(sink.getRecentEvents()[0].contains(ENCODER_ARTIFACT));
 
@@ -295,7 +295,7 @@
 
         /* Shutdown managed resources */
         PolicyController.factory.shutdown();
-        TopicEndpoint.manager.shutdown();
+        TopicEndpointManager.getManager().shutdown();
         PolicyEngine.manager.stop();
 
         Thread.sleep(10000L);