From 04006990b05ec12a1b493848d41b5f0c7eee800f Mon Sep 17 00:00:00 2001 From: Michael Arrastia Date: Wed, 18 Jul 2018 11:46:16 +0100 Subject: Re-introduce Spring XML based configuration This is to retain existing Spring XML based configuration in the microservice and continue to support switching message bus implementations through the existing beans XML file resource. The Java based configuration, though feasible, introduced complexity. We are going to take the pragmatic approach of handling topic password de-obfuscation centrally in the event-client. Change-Id: I1c0ed92cdc155a5d848f94dafedb6c69af88b681 Issue-ID: AAI-1388 Signed-off-by: Michael Arrastia --- .../onap/aai/spike/EventConsumerConfiguration.java | 53 ---------------------- .../aai/spike/EventPublisherConfiguration.java | 50 -------------------- .../java/org/onap/aai/spike/SpikeApplication.java | 4 +- .../org/onap/aai/spike/service/SpikeService.java | 10 +--- 4 files changed, 3 insertions(+), 114 deletions(-) delete mode 100644 src/main/java/org/onap/aai/spike/EventConsumerConfiguration.java delete mode 100644 src/main/java/org/onap/aai/spike/EventPublisherConfiguration.java diff --git a/src/main/java/org/onap/aai/spike/EventConsumerConfiguration.java b/src/main/java/org/onap/aai/spike/EventConsumerConfiguration.java deleted file mode 100644 index e45288a..0000000 --- a/src/main/java/org/onap/aai/spike/EventConsumerConfiguration.java +++ /dev/null @@ -1,53 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. - * Copyright © 2017-2018 Amdocs - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ -package org.onap.aai.spike; - -import java.net.MalformedURLException; -import org.onap.aai.event.client.DMaaPEventConsumer; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; - -@Configuration -@PropertySource("file:${CONFIG_HOME}/event-consumer.properties") -public class EventConsumerConfiguration { - - //@formatter:off - @Bean - DMaaPEventConsumer dmaapEventConsumer( //NOSONAR - @Value("${event.consumer.host}") String host, - @Value("${event.consumer.topic}") String topic, - @Value("${event.consumer.username}") String username, - @Value("${event.consumer.password}") String password, - @Value("${event.consumer.consumerGroup}") String consumerGroup, - @Value("${event.consumer.consumerId}") String consumerId, - @Value("${event.consumer.timeoutMs}") int timeoutMs, - @Value("${event.consumer.messageLimit}") int messageLimit, - @Value("${event.consumer.transportType}") String transportType, - @Value("${event.consumer.protocol}") String protocol) throws MalformedURLException - { - //@formatter:on - return new DMaaPEventConsumer(host, topic, username, password, consumerGroup, consumerId, timeoutMs, - messageLimit, transportType, protocol, null); - } - -} diff --git a/src/main/java/org/onap/aai/spike/EventPublisherConfiguration.java b/src/main/java/org/onap/aai/spike/EventPublisherConfiguration.java deleted file mode 100644 index 6e7d26d..0000000 --- a/src/main/java/org/onap/aai/spike/EventPublisherConfiguration.java +++ /dev/null @@ -1,50 +0,0 @@ -/** - * ============LICENSE_START======================================================= - * org.onap.aai - * ================================================================================ - * Copyright © 2017-2018 AT&T Intellectual Property. All rights reserved. - * Copyright © 2017-2018 Amdocs - * ================================================================================ - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - * ============LICENSE_END========================================================= - */ -package org.onap.aai.spike; - -import org.onap.aai.event.client.DMaaPEventPublisher; -import org.springframework.beans.factory.annotation.Value; -import org.springframework.context.annotation.Bean; -import org.springframework.context.annotation.Configuration; -import org.springframework.context.annotation.PropertySource; - -@Configuration -@PropertySource("file:${CONFIG_HOME}/event-publisher.properties") -public class EventPublisherConfiguration { - - //@formatter:off - @Bean - DMaaPEventPublisher dmaapEventPublisher( //NOSONAR - @Value("${event.publisher.host}") String host, - @Value("${event.publisher.topic}") String topic, - @Value("${event.publisher.username}") String username, - @Value("${event.publisher.password}") String password, - @Value("${event.publisher.maxBatchSize}") int maxBatchSize, - @Value("${event.publisher.maxAgeMs}") long maxAgeMs, - @Value("${event.publisher.delayBetweenBatchesMs}") int delayBetweenBatchesMs, - @Value("${event.publisher.transportType}") String transportType) - { - //@formatter:on - return new DMaaPEventPublisher(host, topic, username, password, maxBatchSize, maxAgeMs, delayBetweenBatchesMs, - transportType); - } - -} diff --git a/src/main/java/org/onap/aai/spike/SpikeApplication.java b/src/main/java/org/onap/aai/spike/SpikeApplication.java index 33760de..da9a433 100644 --- a/src/main/java/org/onap/aai/spike/SpikeApplication.java +++ b/src/main/java/org/onap/aai/spike/SpikeApplication.java @@ -25,13 +25,13 @@ import org.eclipse.jetty.util.security.Password; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.builder.SpringApplicationBuilder; import org.springframework.boot.web.servlet.support.SpringBootServletInitializer; -import org.springframework.context.annotation.Import; +import org.springframework.context.annotation.ImportResource; /** * Spike service Spring Boot Application */ @SpringBootApplication -@Import({ EventConsumerConfiguration.class, EventPublisherConfiguration.class }) +@ImportResource({"file:${SERVICE_BEANS}/*.xml"}) public class SpikeApplication extends SpringBootServletInitializer { public static void main(String[] args) { diff --git a/src/main/java/org/onap/aai/spike/service/SpikeService.java b/src/main/java/org/onap/aai/spike/service/SpikeService.java index 8689903..de6332a 100644 --- a/src/main/java/org/onap/aai/spike/service/SpikeService.java +++ b/src/main/java/org/onap/aai/spike/service/SpikeService.java @@ -21,7 +21,6 @@ package org.onap.aai.spike.service; import java.util.Timer; -import javax.annotation.PostConstruct; import javax.annotation.PreDestroy; import org.onap.aai.cl.api.Logger; import org.onap.aai.cl.eelf.LoggerFactory; @@ -32,11 +31,7 @@ import org.onap.aai.spike.schema.EdgeRulesLoader; import org.onap.aai.spike.schema.OXMModelLoader; import org.onap.aai.spike.util.SpikeConstants; import org.onap.aai.spike.util.SpikeProperties; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.beans.factory.annotation.Qualifier; -import org.springframework.stereotype.Component; -@Component public class SpikeService { private EventConsumer consumer; @@ -44,14 +39,11 @@ public class SpikeService { private static Logger logger = LoggerFactory.getInstance().getLogger(SpikeService.class.getName()); private Timer timer; - @Autowired - public SpikeService(@Qualifier("dmaapEventConsumer") EventConsumer consumer, - @Qualifier("dmaapEventPublisher") EventPublisher publisher) { + public SpikeService(EventConsumer consumer, EventPublisher publisher) { this.consumer = consumer; this.publisher = publisher; } - @PostConstruct public void startup() throws Exception { // Load models -- cgit 1.2.3-korg