aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwasala <przemyslaw.wasala@nokia.com>2018-04-18 11:03:03 +0200
committerwasala <przemyslaw.wasala@nokia.com>2018-04-18 11:03:03 +0200
commit23f7acc707bf285df2da4a95b146d1a7f5132453 (patch)
treefa1bb87fd192e2b4b163afaf8bd22ded95069763
parentb3a974ed7dccb1fc29b8bef2a1112bb78abe3197 (diff)
Defined structure of DMaaP Consumer
*Added Response Type Change-Id: Id53217db932e345dfe16a7e7035c160f70287ef0 Issue-ID: DCAEGEN2-450 Signed-off-by: wasala <przemyslaw.wasala@nokia.com>
-rw-r--r--pom.xml5
-rw-r--r--prh-aai-client/pom.xml4
-rw-r--r--prh-aai-client/src/main/java/org/onap/dcaegen2/services/service/AAIExtendedHttpClientImpl.java19
-rw-r--r--prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/MainApp.java2
-rw-r--r--prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java3
-rw-r--r--prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIPublisherTaskImpl.java1
-rw-r--r--prh-dmaap-client/pom.xml5
-rw-r--r--prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapPublisherConfiguration.java2
-rw-r--r--prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/consumer/DMaaPConsumer.java33
-rw-r--r--prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/consumer/DMaaPConsumerFactory.java30
-rw-r--r--prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/consumer/DMaaPConsumerImpl.java68
-rw-r--r--prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/response/DMaaPConsumerResponse.java32
-rw-r--r--prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/response/DMaaPConsumerResponseImpl.java72
-rw-r--r--prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/response/DMaaPResponse.java32
14 files changed, 284 insertions, 24 deletions
diff --git a/pom.xml b/pom.xml
index 8c652d46..4ba3d077 100644
--- a/pom.xml
+++ b/pom.xml
@@ -435,11 +435,6 @@
<version>4.5.4</version>
</dependency>
<dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- <version>10.0.1</version>
- </dependency>
- <dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.6</version>
diff --git a/prh-aai-client/pom.xml b/prh-aai-client/pom.xml
index 49f0dcec..4f5e1867 100644
--- a/prh-aai-client/pom.xml
+++ b/prh-aai-client/pom.xml
@@ -63,10 +63,6 @@
<artifactId>spring-context</artifactId>
</dependency>
<dependency>
- <groupId>com.google.guava</groupId>
- <artifactId>guava</artifactId>
- </dependency>
- <dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
</dependency>
diff --git a/prh-aai-client/src/main/java/org/onap/dcaegen2/services/service/AAIExtendedHttpClientImpl.java b/prh-aai-client/src/main/java/org/onap/dcaegen2/services/service/AAIExtendedHttpClientImpl.java
index 048d9fef..85c8caba 100644
--- a/prh-aai-client/src/main/java/org/onap/dcaegen2/services/service/AAIExtendedHttpClientImpl.java
+++ b/prh-aai-client/src/main/java/org/onap/dcaegen2/services/service/AAIExtendedHttpClientImpl.java
@@ -19,6 +19,13 @@
*/
package org.onap.dcaegen2.services.service;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+import java.net.URI;
+import java.net.URISyntaxException;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Optional;
import org.apache.commons.lang3.StringUtils;
import org.apache.http.HttpEntity;
import org.apache.http.client.ResponseHandler;
@@ -37,15 +44,7 @@ import org.onap.dcaegen2.services.utils.RequestVerbs;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
-
-import javax.annotation.Nonnull;
-import java.io.IOException;
-import java.io.UnsupportedEncodingException;
-import java.net.URI;
-import java.net.URISyntaxException;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Optional;
+import org.springframework.lang.NonNull;
public class AAIExtendedHttpClientImpl implements AAIExtendedHttpClient {
@@ -117,7 +116,7 @@ public class AAIExtendedHttpClientImpl implements AAIExtendedHttpClient {
return extendedURI;
}
- private String createCustomQuery(@Nonnull final Map<String, String> queryParams) {
+ private String createCustomQuery(@NonNull final Map<String, String> queryParams) {
final StringBuilder queryStringBuilder = new StringBuilder("");
final Iterator<Map.Entry<String, String>> queryParamIterator = queryParams.entrySet().iterator();
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 fd864483..3c631218 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,4 +1,4 @@
-/*-
+/*
* ============LICENSE_START=======================================================
* PNF-REGISTRATION-HANDLER
* ================================================================================
diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java
index 6f077a36..1bd90eef 100644
--- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java
+++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/configuration/PrhAppConfig.java
@@ -19,9 +19,6 @@
*/
package org.onap.dcaegen2.services.prh.configuration;
-import static org.apache.tomcat.util.file.ConfigFileLoader.getInputStream;
-
-import com.google.gson.Gson;
import com.google.gson.GsonBuilder;
import com.google.gson.JsonElement;
import com.google.gson.JsonObject;
diff --git a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIPublisherTaskImpl.java b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIPublisherTaskImpl.java
index c524b990..47733946 100644
--- a/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIPublisherTaskImpl.java
+++ b/prh-app-server/src/main/java/org/onap/dcaegen2/services/prh/tasks/AAIPublisherTaskImpl.java
@@ -51,6 +51,7 @@ public class AAIPublisherTaskImpl extends AAIPublisherTask<AAIHttpClientConfigur
protected void publish() throws AAINotFoundException {
logger.debug("Start task DmaapConsumerTask::publish() :: Execution Time - {}", dateTimeFormatter.format(
LocalDateTime.now()));
+ prhAppConfig.getAAIHttpClientConfiguration();
logger.debug("End task DmaapConsumerTask::publish() :: Execution Time - {}", dateTimeFormatter.format(
LocalDateTime.now()));
diff --git a/prh-dmaap-client/pom.xml b/prh-dmaap-client/pom.xml
index 63543740..48cd9003 100644
--- a/prh-dmaap-client/pom.xml
+++ b/prh-dmaap-client/pom.xml
@@ -48,6 +48,11 @@
<groupId>org.immutables</groupId>
<artifactId>gson</artifactId>
</dependency>
+ <dependency>
+ <groupId>org.apache.httpcomponents</groupId>
+ <artifactId>httpclient</artifactId>
+ </dependency>
+
<!-- LOGGING DEPENDENCIES -->
<dependency>
diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapPublisherConfiguration.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapPublisherConfiguration.java
index 50a79dd6..525e1326 100644
--- a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapPublisherConfiguration.java
+++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/config/DmaapPublisherConfiguration.java
@@ -1,4 +1,4 @@
-/*-
+/*
* ============LICENSE_START=======================================================
* PNF-REGISTRATION-HANDLER
* ================================================================================
diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/consumer/DMaaPConsumer.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/consumer/DMaaPConsumer.java
new file mode 100644
index 00000000..5e9705ae
--- /dev/null
+++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/consumer/DMaaPConsumer.java
@@ -0,0 +1,33 @@
+/*
+ * ============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.consumer;
+
+import java.util.Date;
+import org.onap.dcaegen2.services.response.DMaaPConsumerResponse;
+
+/**
+ * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/17/18
+ */
+public interface DMaaPConsumer extends AutoCloseable {
+
+ DMaaPConsumerResponse fetchMessages();
+
+ Date getSubscriberCreationTime();
+}
diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/consumer/DMaaPConsumerFactory.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/consumer/DMaaPConsumerFactory.java
new file mode 100644
index 00000000..4864d679
--- /dev/null
+++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/consumer/DMaaPConsumerFactory.java
@@ -0,0 +1,30 @@
+/*
+ * ============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.consumer;
+
+import org.onap.dcaegen2.services.config.DmaapConsumerConfiguration;
+
+/**
+ * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/17/18
+ */
+public interface DMaaPConsumerFactory {
+
+ DMaaPConsumer create(DmaapConsumerConfiguration dmaapConsumerConfiguration);
+}
diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/consumer/DMaaPConsumerImpl.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/consumer/DMaaPConsumerImpl.java
new file mode 100644
index 00000000..e9511ce3
--- /dev/null
+++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/consumer/DMaaPConsumerImpl.java
@@ -0,0 +1,68 @@
+/*
+ * ============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.consumer;
+
+import java.net.URI;
+import java.time.Instant;
+import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Date;
+import org.apache.http.impl.client.CloseableHttpClient;
+import org.onap.dcaegen2.services.config.DmaapConsumerConfiguration;
+import org.onap.dcaegen2.services.response.DMaaPConsumerResponse;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/17/18
+ */
+public class DMaaPConsumerImpl implements DMaaPConsumer {
+
+ private static final Logger logger = LoggerFactory.getLogger(DMaaPConsumerImpl.class);
+ private static final DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("HH:mm:ss");
+
+ private final DmaapConsumerConfiguration dmaapConsumerConfiguration;
+ private final CloseableHttpClient closeableHttpClient;
+ private final URI subscriberUri;
+ private final Date subscriberCreationTime;
+
+ public DMaaPConsumerImpl(DmaapConsumerConfiguration dmaapConsumerConfiguration,
+ CloseableHttpClient closeableHttpClient, URI subscriberUri) {
+ this.dmaapConsumerConfiguration = dmaapConsumerConfiguration;
+ this.closeableHttpClient = closeableHttpClient;
+ this.subscriberUri = subscriberUri;
+ this.subscriberCreationTime = Date.from(Instant.from(LocalTime.now()));
+ }
+
+ @Override
+ public DMaaPConsumerResponse fetchMessages() {
+ return null;
+ }
+
+ @Override
+ public Date getSubscriberCreationTime() {
+ return null;
+ }
+
+ @Override
+ public void close() throws Exception {
+
+ }
+}
diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/response/DMaaPConsumerResponse.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/response/DMaaPConsumerResponse.java
new file mode 100644
index 00000000..a9e5c526
--- /dev/null
+++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/response/DMaaPConsumerResponse.java
@@ -0,0 +1,32 @@
+/*
+ * ============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.response;
+
+import java.util.List;
+
+/**
+ * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/17/18
+ */
+public interface DMaaPConsumerResponse extends DMaaPResponse {
+
+
+ List<String> getFetchedMessages();
+
+}
diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/response/DMaaPConsumerResponseImpl.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/response/DMaaPConsumerResponseImpl.java
new file mode 100644
index 00000000..f3565edf
--- /dev/null
+++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/response/DMaaPConsumerResponseImpl.java
@@ -0,0 +1,72 @@
+/*
+ * ============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.response;
+
+import static java.util.Collections.unmodifiableList;
+
+import java.util.Collections;
+import java.util.List;
+import java.util.Optional;
+import java.util.StringJoiner;
+import org.springframework.lang.NonNull;
+import org.springframework.lang.Nullable;
+
+/**
+ * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/17/18
+ */
+public class DMaaPConsumerResponseImpl implements DMaaPConsumerResponse {
+
+
+ private final Integer responseCode;
+ private final String responseMessage;
+ private final List<String> fetchedMessage;
+
+ public DMaaPConsumerResponseImpl(@NonNull Integer responseCode, @NonNull String responseMessage,
+ @Nullable List<String> fetchedMessage) {
+ this.responseCode = responseCode;
+ this.responseMessage = responseMessage;
+ this.fetchedMessage = Optional.ofNullable(fetchedMessage).orElse(Collections.emptyList());
+ }
+
+
+ @Override
+ public String getResponseMessage() {
+ return responseMessage;
+ }
+
+ @Override
+ public Integer getResponseCode() {
+ return responseCode;
+ }
+
+ @Override
+ public List<String> getFetchedMessages() {
+ return unmodifiableList(fetchedMessage);
+ }
+
+ @Override
+ public String toString() {
+ return new StringJoiner(", ", this.getClass().getSimpleName() + "[", "]")
+ .add("responseCode=" + responseCode)
+ .add("responseMessage=" + responseMessage)
+ .add("fetchedMessage=" + fetchedMessage)
+ .toString();
+ }
+}
diff --git a/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/response/DMaaPResponse.java b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/response/DMaaPResponse.java
new file mode 100644
index 00000000..6528eec8
--- /dev/null
+++ b/prh-dmaap-client/src/main/java/org/onap/dcaegen2/services/response/DMaaPResponse.java
@@ -0,0 +1,32 @@
+/*
+ * ============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.response;
+
+/**
+ * @author <a href="mailto:przemyslaw.wasala@nokia.com">Przemysław Wąsala</a> on 4/17/18
+ */
+public interface DMaaPResponse {
+
+ Integer getResponseCode();
+
+
+ String getResponseMessage();
+}