diff options
author | Jim Hahn <jrh3@att.com> | 2019-07-30 09:53:19 -0400 |
---|---|---|
committer | Jim Hahn <jrh3@att.com> | 2019-07-30 11:39:55 -0400 |
commit | 63d5702986d5dc63eb3d0ed2e3b57ce3b529966f (patch) | |
tree | 000bb7004a70e1187b78e39dc0941d57d4de4e43 | |
parent | 32a6ceac730a392f18a15ca562b0545edbd8fec8 (diff) |
Fix managed noop topic source
NOOP topic sources configured via TopicParameterGroup are left
unmanaged. Removed a new override method, as it did not pass
the "managed" flag down, while the method that already existed
in the superclass already works correctly.
Also restored "null" lists to TopicParameterGroup so-as not
to break the behavior of its validate() method.
Change-Id: Id392a3263c3bd1c8f278461715b441719817c47c
Issue-ID: POLICY-1953
Signed-off-by: Jim Hahn <jrh3@att.com>
4 files changed, 24 insertions, 15 deletions
diff --git a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/TopicEndpointProxy.java b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/TopicEndpointProxy.java index c9e73152..9aabad52 100644 --- a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/TopicEndpointProxy.java +++ b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/TopicEndpointProxy.java @@ -22,6 +22,7 @@ package org.onap.policy.common.endpoints.event.comm; import com.fasterxml.jackson.annotation.JsonIgnore; import java.util.ArrayList; +import java.util.Collections; import java.util.List; import java.util.Properties; import org.onap.policy.common.capabilities.Startable; @@ -69,9 +70,14 @@ class TopicEndpointProxy implements TopicEndpoint { @Override public List<Topic> addTopics(TopicParameterGroup params) { - List<Topic> topics = new ArrayList<>(params.getTopicSinks().size() + params.getTopicSources().size()); - topics.addAll(addTopicSources(params.getTopicSources())); - topics.addAll(addTopicSinks(params.getTopicSinks())); + List<TopicParameters> sinks = + (params.getTopicSinks() != null ? params.getTopicSinks() : Collections.emptyList()); + List<TopicParameters> sources = + (params.getTopicSources() != null ? params.getTopicSources() : Collections.emptyList()); + + List<Topic> topics = new ArrayList<>(sinks.size() + sources.size()); + topics.addAll(addTopicSources(sources)); + topics.addAll(addTopicSinks(sinks)); return topics; } diff --git a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/NoopTopicSourceFactory.java b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/NoopTopicSourceFactory.java index 7164f919..ca5e41d3 100644 --- a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/NoopTopicSourceFactory.java +++ b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/event/comm/bus/NoopTopicSourceFactory.java @@ -21,7 +21,6 @@ package org.onap.policy.common.endpoints.event.comm.bus; import java.util.List; -import org.onap.policy.common.endpoints.event.comm.bus.internal.BusTopicParams; import org.onap.policy.common.endpoints.properties.PolicyEndPointProperties; /** @@ -41,14 +40,6 @@ public class NoopTopicSourceFactory extends NoopTopicFactory<NoopTopicSource> { * {@inheritDoc}. */ @Override - public NoopTopicSource build(BusTopicParams param) { - return build(param.getServers(), param.getTopic()); - } - - /** - * {@inheritDoc}. - */ - @Override protected NoopTopicSource build(List<String> servers, String topic) { return new NoopTopicSource(servers, topic); } diff --git a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroup.java b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroup.java index eab9c12f..4cd3893d 100644 --- a/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroup.java +++ b/policy-endpoints/src/main/java/org/onap/policy/common/endpoints/parameters/TopicParameterGroup.java @@ -21,7 +21,6 @@ package org.onap.policy.common.endpoints.parameters; -import java.util.LinkedList; import java.util.List; import lombok.Getter; import lombok.Setter; @@ -43,8 +42,8 @@ import org.onap.policy.common.parameters.annotations.NotNull; @Setter public class TopicParameterGroup extends ParameterGroupImpl { - private final List<TopicParameters> topicSources = new LinkedList<>(); - private final List<TopicParameters> topicSinks = new LinkedList<>(); + private List<TopicParameters> topicSources; + private List<TopicParameters> topicSinks; public TopicParameterGroup() { super(TopicParameterGroup.class.getSimpleName()); diff --git a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/event/comm/TopicEndpointProxyTest.java b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/event/comm/TopicEndpointProxyTest.java index 22ddecd1..fa432265 100644 --- a/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/event/comm/TopicEndpointProxyTest.java +++ b/policy-endpoints/src/test/java/org/onap/policy/common/endpoints/event/comm/TopicEndpointProxyTest.java @@ -22,10 +22,12 @@ package org.onap.policy.common.endpoints.event.comm; import static org.assertj.core.api.Assertions.assertThatIllegalArgumentException; import static org.assertj.core.api.Assertions.assertThatIllegalStateException; +import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertFalse; import static org.junit.Assert.assertSame; import static org.junit.Assert.assertTrue; +import java.util.LinkedList; import java.util.List; import java.util.Properties; import org.junit.After; @@ -60,6 +62,9 @@ public class TopicEndpointProxyTest { * Constructor. */ public TopicEndpointProxyTest() { + group.setTopicSinks(new LinkedList<>()); + group.setTopicSources(new LinkedList<>()); + NoopTopicPropertyBuilder noopSourceBuilder = new NoopTopicPropertyBuilder(PolicyEndPointProperties.PROPERTY_NOOP_SOURCE_TOPICS) .makeTopic(NOOP_SOURCE_TOPIC); @@ -224,6 +229,14 @@ public class TopicEndpointProxyTest { } @Test + public void addTopicsTopicParameterGroupNull() { + TopicEndpoint manager = new TopicEndpointProxy(); + + List<Topic> topics = manager.addTopics(new TopicParameterGroup()); + assertEquals(0, topics.size()); + } + + @Test public void lockSinks_lockSources_locked() { TopicEndpoint manager = new TopicEndpointProxy(); manager.lock(); |