diff options
16 files changed, 137 insertions, 65 deletions
@@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- ~ ============LICENSE_START======================================================= - ~ PROJECT + ~ PNF-REGISTRATION-HANDLER ~ ================================================================================ ~ Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. ~ ================================================================================ diff --git a/prh-aai-client/pom.xml b/prh-aai-client/pom.xml index 52d784a9..6ac6484a 100644 --- a/prh-aai-client/pom.xml +++ b/prh-aai-client/pom.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- ~ ============LICENSE_START======================================================= - ~ PROJECT + ~ PNF-REGISTRATION-HANDLER ~ ================================================================================ ~ Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. ~ ================================================================================ diff --git a/prh-aai-client/src/main/java/services/config/AAIConfig.java b/prh-aai-client/src/main/java/services/config/AAIConfig.java index 5d98b6ce..ed327fa2 100644 --- a/prh-aai-client/src/main/java/services/config/AAIConfig.java +++ b/prh-aai-client/src/main/java/services/config/AAIConfig.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * PROJECT + * PNF-REGISTRATION-HANDLER * ================================================================================ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. * ================================================================================ diff --git a/prh-aai-client/src/main/java/services/config/AAIDmaapProducerConfiguration.java b/prh-aai-client/src/main/java/services/config/AAIDmaapProducerConfiguration.java index a7b0aac6..dfeafddd 100644 --- a/prh-aai-client/src/main/java/services/config/AAIDmaapProducerConfiguration.java +++ b/prh-aai-client/src/main/java/services/config/AAIDmaapProducerConfiguration.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * PROJECT + * PNF-REGISTRATION-HANDLER * ================================================================================ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. * ================================================================================ diff --git a/prh-app-server/pom.xml b/prh-app-server/pom.xml index 5a62e40e..a42caa02 100644 --- a/prh-app-server/pom.xml +++ b/prh-app-server/pom.xml @@ -1,4 +1,23 @@ <?xml version="1.0" encoding="UTF-8"?> +<!-- + ~ ============LICENSE_START======================================================= + ~ PNF-REGISTRATION-HANDLER + ~ ================================================================================ + ~ Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. + ~ ================================================================================ + ~ Licensed under the Apache License, Version 2.0 (the "License"); + ~ you may not use this file except in compliance with the License. + ~ You may obtain a copy of the License at + ~ + ~ http://www.apache.org/licenses/LICENSE-2.0 + ~ + ~ Unless required by applicable law or agreed to in writing, software + ~ distributed under the License is distributed on an "AS IS" BASIS, + ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + ~ See the License for the specific language governing permissions and + ~ limitations under the License. + ~ ============LICENSE_END========================================================= + --> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/MainApp.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/MainApp.java index b66af993..18db4082 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/MainApp.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/MainApp.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * PROJECT + * PNF-REGISTRATION-HANDLER * ================================================================================ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. * ================================================================================ diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/exceptions/AAINotFoundException.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/exceptions/AAINotFoundException.java index 22dd24bd..e54d158e 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/exceptions/AAINotFoundException.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/exceptions/AAINotFoundException.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * PROJECT + * PNF-REGISTRATION-HANDLER * ================================================================================ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. * ================================================================================ diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTask.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTask.java index cb2d1331..0762fc81 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTask.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapConsumerTask.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * PROJECT + * PNF-REGISTRATION-HANDLER * ================================================================================ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. * ================================================================================ diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapTask.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapTask.java index f5f8c284..0032a3e1 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapTask.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/DmaapTask.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * PROJECT + * PNF-REGISTRATION-HANDLER * ================================================================================ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. * ================================================================================ @@ -24,6 +24,7 @@ import org.onap.dcaegen2.services.prh.exceptions.AAINotFoundException; /** * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 3/23/18 */ +@FunctionalInterface public interface DmaapTask { void execute() throws AAINotFoundException; diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/ScheduledTask.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/ScheduledTask.java index a3a48b79..277bc707 100644 --- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/ScheduledTask.java +++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/ScheduledTask.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * PROJECT + * PNF-REGISTRATION-HANDLER * ================================================================================ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. * ================================================================================ @@ -52,11 +52,11 @@ public class ScheduledTask { LocalDateTime.now())); try { dmaapConsumerTask.execute(); - - } catch (AAINotFoundException | RuntimeException e) { - logger.warn("Task scheduledTaskAskingDMaaPOfConsumeEvent()::AAINotFoundException :: Execution Time - {}:{}", - dateTimeFormatter.format( - LocalDateTime.now()), e.getMessage()); + } catch (AAINotFoundException e) { + logger + .error("Task scheduledTaskAskingDMaaPOfConsumeEvent()::AAINotFoundException :: Execution Time - {}:{}", + dateTimeFormatter.format( + LocalDateTime.now()), e.getMessage()); } } diff --git a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/ScheduledXmlContextITest.java b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/ScheduledXmlContextITest.java index 14e83c62..7a3fac63 100644 --- a/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/ScheduledXmlContextITest.java +++ b/prh-app-server/src/test/java/org/onap/dcaegen2/services/prh/tasks/ScheduledXmlContextITest.java @@ -22,6 +22,11 @@ package org.onap.dcaegen2.services.prh.tasks; import static org.mockito.Mockito.atLeast; import static org.mockito.Mockito.verify; +import java.time.Duration; +import java.util.concurrent.Callable; +import java.util.concurrent.Executors; +import java.util.concurrent.ScheduledExecutorService; +import java.util.concurrent.TimeUnit; import org.junit.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.junit.runner.RunWith; @@ -44,7 +49,7 @@ import org.springframework.test.context.testng.AbstractTestNGSpringContextTests; @ContextConfiguration(locations = {"classpath:scheduled-context.xml"}) public class ScheduledXmlContextITest extends AbstractTestNGSpringContextTests { - private static final int WAIT_FOR_SCHEDULING = 1000; + private static final int WAIT_FOR_SCHEDULING = 1; @Autowired private DmaapConsumerTask dmaapConsumerTaskSpy; @@ -52,9 +57,15 @@ public class ScheduledXmlContextITest extends AbstractTestNGSpringContextTests { @Test public void testScheduling() throws InterruptedException { - Thread.sleep(WAIT_FOR_SCHEDULING); + final ScheduledExecutorService executorService = Executors.newSingleThreadScheduledExecutor(); + executorService.scheduleWithFixedDelay(this::verifyDmaapConsumerTask, 0, WAIT_FOR_SCHEDULING, TimeUnit.SECONDS); + } + + private void verifyDmaapConsumerTask() { verify(dmaapConsumerTaskSpy, atLeast(2)).execute(); } + + } diff --git a/prh-dmaap-client/pom.xml b/prh-dmaap-client/pom.xml index 080a6f1b..8754b0af 100644 --- a/prh-dmaap-client/pom.xml +++ b/prh-dmaap-client/pom.xml @@ -1,7 +1,7 @@ <?xml version="1.0" encoding="UTF-8"?> <!-- ~ ============LICENSE_START======================================================= - ~ PROJECT + ~ PNF-REGISTRATION-HANDLER ~ ================================================================================ ~ Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. ~ ================================================================================ diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapConfig.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapConfig.java index 0d77c057..430a103a 100644 --- a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapConfig.java +++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapConfig.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * PROJECT + * PNF-REGISTRATION-HANDLER * ================================================================================ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. * ================================================================================ diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapConsumerConfiguration.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapConsumerConfiguration.java index f2a2f061..c4acf3af 100644 --- a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapConsumerConfiguration.java +++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapConsumerConfiguration.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * PROJECT + * PNF-REGISTRATION-HANDLER * ================================================================================ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. * ================================================================================ @@ -25,41 +25,35 @@ import org.immutables.value.Value; * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 3/23/18 */ @Value.Immutable(prehash = true) -@Value.Style(stagedBuilder = true) -public abstract class DmaapConsumerConfiguration implements DmaapConfig { +@Value.Style(visibility = Value.Style.ImplementationVisibility.PACKAGE) +public abstract class DmaapConsumerConfiguration implements DmaapCustomConfig { private static final long serialVersionUID = 1L; - @Value.Parameter - public abstract String consumerId(); - @Value.Parameter - public abstract String consumerGroup(); + abstract String consumerId(); - @Value.Parameter - public abstract Integer timeoutMS(); + abstract String consumerGroup(); - @Value.Parameter - public abstract Integer messageLimit(); + abstract Integer timeoutMS(); - @Value.Parameter - public abstract String dmmaphostName(); + abstract Integer messageLimit(); - @Value.Parameter - public abstract Integer dmmapportNumber(); - @Value.Parameter - public abstract String dmmaptopicName(); + public interface Builder extends + DmaapCustomConfig.Builder<DmaapConsumerConfiguration, DmaapConsumerConfiguration.Builder> { - @Value.Parameter - public abstract String dmmapprotocol(); + Builder consumerId(String consumerId); - @Value.Parameter - public abstract String dmmapuserName(); + Builder consumerGroup(String consumerGroup); - @Value.Parameter - public abstract String dmmapuserPassword(); + Builder timeoutMS(Integer timeoutMS); + + Builder messageLimit(Integer messageLimit); + } + + public static DmaapConsumerConfiguration.Builder builder() { + return ImmutableDmaapConsumerConfiguration.builder(); + } - @Value.Parameter - public abstract String dmmapcontentType(); }
\ No newline at end of file diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapCustomConfig.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapCustomConfig.java new file mode 100644 index 00000000..1026cc31 --- /dev/null +++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapCustomConfig.java @@ -0,0 +1,60 @@ +/*- + * ============LICENSE_START======================================================= + * PNF-REGISTRATION-HANDLER + * ================================================================================ + * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. + * ================================================================================ + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * ============LICENSE_END========================================================= + */ +package org.onap.dcaegen2.services.config; + +/** + * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 3/28/18 + */ +public interface DmaapCustomConfig extends DmaapConfig { + + String dmmaphostName(); + + Integer dmmapportNumber(); + + String dmmaptopicName(); + + String dmmapprotocol(); + + String dmmapuserName(); + + String dmmapuserPassword(); + + String dmmapcontentType(); + + + interface Builder<T extends DmaapCustomConfig, B extends Builder<T, B>> { + + B dmmaphostName(String dmmaphostName); + + B dmmapportNumber(Integer dmmapportNumber); + + B dmmaptopicName(String dmmaptopicName); + + B dmmapprotocol(String dmmapprotocol); + + B dmmapuserName(String dmmapuserName); + + B dmmapuserPassword(String dmmapuserPassword); + + B dmmapcontentType(String dmmapcontentType); + + T build(); + } +} diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapProducerConfiguration.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapProducerConfiguration.java index a0f29e44..550d9799 100644 --- a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapProducerConfiguration.java +++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapProducerConfiguration.java @@ -1,6 +1,6 @@ /*- * ============LICENSE_START======================================================= - * PROJECT + * PNF-REGISTRATION-HANDLER * ================================================================================ * Copyright (C) 2018 NOKIA Intellectual Property. All rights reserved. * ================================================================================ @@ -25,29 +25,16 @@ import org.immutables.value.Value; * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 3/23/18 */ @Value.Immutable(prehash = true) -@Value.Style(stagedBuilder = true) -public abstract class DmaapProducerConfiguration implements DmaapConfig { +@Value.Style(visibility = Value.Style.ImplementationVisibility.PACKAGE) +public abstract class DmaapProducerConfiguration implements DmaapCustomConfig { private static final long serialVersionUID = 1L; - @Value.Parameter - public abstract String dmmaphostName(); + public interface Builder extends + DmaapCustomConfig.Builder<DmaapProducerConfiguration, DmaapProducerConfiguration.Builder> { + } - @Value.Parameter - public abstract Integer dmmapportNumber(); - - @Value.Parameter - public abstract String dmmaptopicName(); - - @Value.Parameter - public abstract String dmmapprotocol(); - - @Value.Parameter - public abstract String dmmapuserName(); - - @Value.Parameter - public abstract String dmmapuserPassword(); - - @Value.Parameter - public abstract String dmmapcontentType(); + public static Builder builder() { + return ImmutableDmaapProducerConfiguration.builder(); + } } |