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;
* 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.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;
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());
}
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;
}
protected HttpServletServerFactory getServerFactory() {
- return HttpServletServer.factory;
+ return HttpServletServerFactoryInstance.getServerFactory();
}
protected HttpClientFactory getClientFactory() {
- return HttpClient.factory;
+ return HttpClientFactoryInstance.getClientFactory();
}
protected Properties getPersistentProperties(String propertyName) {
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;
}
private boolean source() {
- List<TopicSource> sources = TopicEndpoint.manager.addTopicSources(properties);
+ List<TopicSource> sources = TopicEndpointManager.getManager().addTopicSources(properties);
if (sources.isEmpty()) {
return false;
}
}
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;
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;
*/
@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")
.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);
*/
@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());
}
import java.nio.file.Paths;\r
import java.util.List;\r
import java.util.Properties;\r
-\r
import org.junit.Before;\r
import org.junit.Test;\r
import org.onap.policy.common.endpoints.event.comm.Topic.CommInfrastructure;\r
-import org.onap.policy.common.endpoints.event.comm.TopicEndpoint;\r
+import org.onap.policy.common.endpoints.event.comm.TopicEndpointManager;\r
import org.onap.policy.common.endpoints.event.comm.TopicSink;\r
import org.onap.policy.common.endpoints.event.comm.TopicSource;\r
import org.onap.policy.common.endpoints.utils.NetLoggerUtil.EventType;\r
props.setProperty("dmaap.source.topics." + TEST_TOPIC_A + ".servers", "http://testing123.com/");\r
props.setProperty("noop.sink.topics", TEST_TOPIC_B);\r
\r
- List<TopicSource> topicSources = TopicEndpoint.manager.addTopicSources(props);\r
+ List<TopicSource> topicSources = TopicEndpointManager.getManager().addTopicSources(props);\r
doReturn(topicSources).when(controller).getTopicSources();\r
\r
- List<TopicSink> topicSinks = TopicEndpoint.manager.addTopicSinks(props);\r
+ List<TopicSink> topicSinks = TopicEndpointManager.getManager().addTopicSinks(props);\r
doReturn(topicSinks).when(controller).getTopicSinks();\r
\r
mdcFilterFeature = new MdcFilterFeatureImpl();\r
* ============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.
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;
/**
* 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
*/
/**
* 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
*/
/**
* Finds the topic sink associated with the internal DMaaP topic.
- *
+ *
* @return the topic sink
* @throws PoolingFeatureException if the sink doesn't exist
*/
/**
* Stops the publisher.
- *
+ *
* @param waitMs time, in milliseconds, to wait for the sink to transmit any queued messages and
* close
*/
/**
* Starts the consumer, if it isn't already running.
- *
+ *
* @param listener listener to register with the source
*/
public void startConsumer(TopicListener listener) {
/**
* Stops the consumer.
- *
+ *
* @param listener listener to unregister with the source
*/
public void stopConsumer(TopicListener listener) {
/**
* 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
*/
/**
* Publishes a message to the sink.
- *
+ *
* @param msg message to be published
* @throws PoolingFeatureException if an error occurs or the publisher isn't running
*/
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();
}
}
* ============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.
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;
/**
* 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.
/**
* Get active latch.
- *
+ *
* @return a latch that will be decremented when a manager enters the active state
*/
protected CountDownLatch getActiveLatch() {
/**
* Adds the controller and a new pooling manager to {@link #ctlr2pool}.
- *
+ *
* @throws PoolingFeatureRtException if an error occurs
*/
@Override
/**
* 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
/**
* Deletes the manager associated with a controller.
- *
+ *
* @param controller controller
* @throws PoolingFeatureRtException if an error occurs
*/
/**
* Apply.
- *
+ *
* @param mgr manager
* @return {@code true} if the request was handled by the manager, {@code false} otherwise
* @throws PoolingFeatureException feature exception
/**
* Constructor.
- *
+ *
* @param protocol protocol
* @param topic topic
* @param event the actual event data received on the topic
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
*/
/**
* 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
/**
* Gets the policy controller associated with a drools controller.
- *
+ *
* @param droolsController drools controller
* @return the policy controller associated with a drools controller
*/
/**
* 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);
}
}
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;
*/
@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();
}
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 -> {
* ============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.
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;
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)) {
@AfterClass
public static void tearDownSimulator() {
- HttpServletServer.factory.destroy();
+ HttpServletServerFactoryInstance.getServerFactory().destroy();
}
@Test
* ============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.
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;
/**
* 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'
/**
* 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 {
/**
* Makes an Integrity Monitor.
- *
+ *
* @param resourceName unique name of this Integrity Monitor
* @param properties properties used to configure the Integrity Monitor
* @return monitor object
/**
* Makes a rest server for the Integrity Monitor.
- *
+ *
* @param testHost host name
* @param testPort port
* @param properties properties used to configure the rest server
/**
* Gets the properties from the property file.
- *
+ *
* @param configDir directory containing the property file
* @return the properties
* @throws IntegrityMonitorException exception
/**
* Checks that a property is defined.
- *
+ *
* @param props set of properties
* @param name name of the property to check
* @throws IntegrityMonitorException exception
* 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
* 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
/**
* Constructor - initialize the name, and clear the initial response.
- *
+ *
* @param name name of the audit
*/
public AuditBase(String name) {
/**
* Get the name.
- *
+ *
* @return the name of this audit
*/
public String getName() {
/**
* Get the response.
- *
+ *
* @return the response String (non-null indicates the error message)
*/
public String getResponse() {
/**
* 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) {
/**
* Abstract method to invoke the audit.
- *
+ *
* @param persistenceProperties Used for DB access
* @throws Exception passed in by the audit
*/
@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);
/**
* Returns the instance.
- *
+ *
* @return DroolsPDPIntegrityMonitor object
* @throws IntegrityMonitorException exception
*/
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;
@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
@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();
}
@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();
}
@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();
}
/**
@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();
}
/**
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;
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;
@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();
}
@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();
}
@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();
}
@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();
}
@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);
}
@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);
}
@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);
}
@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);
}
@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);
}
@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);
}
@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);
}
@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);
}
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()))
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;
/* 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) */
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;
}
protected TopicEndpoint getTopicEndpointManager() {
- return TopicEndpoint.manager;
+ return TopicEndpointManager.getManager();
}
protected HttpServletServerFactory getServletFactory() {
- return HttpServletServer.factory;
+ return HttpServletServerFactoryInstance.getServerFactory();
}
protected PolicyControllerFactory getControllerFactory() {
* 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.
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;
/**
* 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) {
/**
* initialize drools layer.
- *
+ *
* @throws IllegalArgumentException if invalid parameters are passed in
*/
private void initDrools(Properties properties) {
/**
* initialize sinks.
- *
+ *
* @throws IllegalArgumentException if invalid parameters are passed in
*/
private void initSinks() {
}
// 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() {
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;
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)
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;
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());
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;
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;
/**
* Set up.
- *
+ *
* @throws IOException throws an IO exception
*/
@BeforeClass
+ 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);
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
*/
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();
/*
* DELETE: /engine/controllers/controllerName/drools/facts/session/factType
- *
+ *
*/
httpDelete =
new HttpDelete(HOST_URL + "/engine/controllers/" + FOO_CONTROLLER + "/drools/facts/session/factType");
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();
* 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);
* /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);
/**
* Get response body.
- *
+ *
* @param response incoming response
* @return the body or null
*/
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;
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)
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));
/* Shutdown managed resources */
PolicyController.factory.shutdown();
- TopicEndpoint.manager.shutdown();
+ TopicEndpointManager.getManager().shutdown();
PolicyEngine.manager.stop();
Thread.sleep(10000L);