Add exception to logs for DMaaP check AAI-EVENTS, bump to 6.0.2 for testing RC0 45/105245/1
authoraosull01 <adrian.osullivan@huawei.com>
Tue, 7 Apr 2020 11:51:44 +0000 (12:51 +0100)
committeraosull01 <adrian.osullivan@huawei.com>
Tue, 7 Apr 2020 11:51:44 +0000 (12:51 +0100)
Issue-ID: EXTAPI-426

Signed-off-by: aosull01 <adrian.osullivan@huawei.com>
Change-Id: Ieb4d9fb238ae93234cf26f25e714b509e583d980

Dockerfile
pom.xml
src/main/java/org/onap/nbi/apis/hub/service/dmaap/CheckDMaaPEventsManager.java
version.properties

index 459929c..3f82d6e 100644 (file)
@@ -19,7 +19,7 @@ FROM registry.gitlab.com/onap-integration/docker/onap-java
 USER onap
 
 ARG SERVER_PORT
-ARG PKG_FILENAME=nbi-rest-services-6.0.1-SNAPSHOT.jar
+ARG PKG_FILENAME=nbi-rest-services-6.0.2-SNAPSHOT.jar
 ADD target/$PKG_FILENAME /opt/onap/app.jar
 
 RUN mkdir temptoscafile && chown onap:onap temptoscafile/
diff --git a/pom.xml b/pom.xml
index 4638f98..900f60c 100644 (file)
--- a/pom.xml
+++ b/pom.xml
@@ -30,7 +30,7 @@
 
   <groupId>org.onap.externalapi-nbi</groupId>
   <artifactId>nbi-rest-services</artifactId>
-  <version>6.0.1-SNAPSHOT</version>
+  <version>6.0.2-SNAPSHOT</version>
   <packaging>jar</packaging>
 
   <name>externalapi-nbi</name>
index 4e6131c..67d60cd 100644 (file)
@@ -48,188 +48,192 @@ import com.fasterxml.jackson.databind.ObjectMapper;
 @Service
 public class CheckDMaaPEventsManager {
 
-    public static final String RESPONSE_STATUS = "response status : ";
-    public static final String RETURNS = " returns ";
-    public static final String ERROR_ON_CALLING = "error on calling ";
-    private final Logger logger = LoggerFactory.getLogger(CheckDMaaPEventsManager.class);
-    @Autowired
-    private RestTemplate restTemplate;
-    @Autowired
-    private SubscriberRepository subscriberRepository;
-    @Autowired
-    private NotifierService notifier;
-    @Value("${dmaap.host}")
-    private String dmaapHostname;
-    @Value("${dmaap.aai.topic}")
-    private String aaiTopic;
-    @Value("${dmaap.sdc.topic}")
-    private String sdcTopic;
-    @Value("${dmaap.consumergroup}")
-    private String consumerGroup;
-    @Value("${dmaap.consumerid}")
-    private String consumerId;
-    @Value("${dmaap.timeout}")
-    private String timeout;
-    private String dmaapGetEventsUrl;
-
-    @PostConstruct
-    private void setUpAndLogDMaaPUrl() {
-        dmaapGetEventsUrl = new StringBuilder().append(dmaapHostname)
-                .append(OnapComponentsUrlPaths.DMAAP_CONSUME_EVENTS).toString();
-        logger.info("DMaaP Get Events url :  " + dmaapGetEventsUrl);
-    }
-
-    public void checkForDMaaPAAIEvents() {
-        ObjectMapper mapper = new ObjectMapper();
-        List<String> dmaapResponse = callDMaaPGetEvents(aaiTopic);
-        if (!CollectionUtils.isEmpty(dmaapResponse)) {
-            for (int i = 0; i < dmaapResponse.size(); i++) {
-                String aaiEventString = dmaapResponse.get(i);
+  public static final String RESPONSE_STATUS = "response status : ";
+  public static final String RETURNS = " returns ";
+  public static final String ERROR_ON_CALLING = "error on calling ";
+  private final Logger logger = LoggerFactory.getLogger(CheckDMaaPEventsManager.class);
+  @Autowired
+  private RestTemplate restTemplate;
+  @Autowired
+  private SubscriberRepository subscriberRepository;
+  @Autowired
+  private NotifierService notifier;
+  @Value("${dmaap.host}")
+  private String dmaapHostname;
+  @Value("${dmaap.aai.topic}")
+  private String aaiTopic;
+  @Value("${dmaap.sdc.topic}")
+  private String sdcTopic;
+  @Value("${dmaap.consumergroup}")
+  private String consumerGroup;
+  @Value("${dmaap.consumerid}")
+  private String consumerId;
+  @Value("${dmaap.timeout}")
+  private String timeout;
+  private String dmaapGetEventsUrl;
+
+  @PostConstruct
+  private void setUpAndLogDMaaPUrl() {
+    dmaapGetEventsUrl = new StringBuilder().append(dmaapHostname)
+        .append(OnapComponentsUrlPaths.DMAAP_CONSUME_EVENTS).toString();
+    logger.info("DMaaP Get Events url :  " + dmaapGetEventsUrl);
+  }
+
+  public void checkForDMaaPAAIEvents() {
+    ObjectMapper mapper = new ObjectMapper();
+    List<String> dmaapResponse = callDMaaPGetEvents(aaiTopic);
+    if (!CollectionUtils.isEmpty(dmaapResponse)) {
+      for (int i = 0; i < dmaapResponse.size(); i++) {
+        String aaiEventString = dmaapResponse.get(i);
+        if (logger.isDebugEnabled()) {
+          logger.debug("aai event returned was {}", aaiEventString);
+        }
+        try {
+          JsonNode jsonNode = mapper.readValue(aaiEventString, JsonNode.class);
+          JsonNode eventHeader = jsonNode.get("event-header");
+          String aaiEventEntityType = eventHeader.get("entity-type").asText();
+          String action = eventHeader.get("action").asText();
+          if (logger.isDebugEnabled()) {
+            logger.debug("aaiEventEntityType is {} and action is {}", aaiEventEntityType, action);
+          }
+          if (aaiEventEntityType.equals("service-instance")) {
+            {
+              // parse the AAI-EVENT service-instance tree
+              ServiceInstanceEvent serviceInstanceEvent = new ServiceInstanceEvent();
+              RelatedParty relatedParty = new RelatedParty();
+              JsonNode entity = jsonNode.get("entity");
+              relatedParty.setId(entity.get("global-customer-id").asText());
+              relatedParty.setName(entity.get("subscriber-name").asText());
+              serviceInstanceEvent.setRelatedParty(relatedParty);
+              JsonNode childServiceSubscription = entity.get("service-subscriptions");
+              JsonNode serviceSubscriptions = childServiceSubscription.get("service-subscription");
+              JsonNode serviceSubscription = serviceSubscriptions.get(0);
+              String serviceSubscriptionPrint = serviceSubscription.toString();
+              JsonNode childserviceInstances = serviceSubscription.get("service-instances");
+              JsonNode serviceInstances = childserviceInstances.get("service-instance");
+              JsonNode serviceInstance = serviceInstances.get(0);
+              serviceInstanceEvent.setId(serviceInstance.get("service-instance-id").asText());
+              serviceInstanceEvent
+                  .setHref("service/" + serviceInstance.get("service-instance-id").asText());
+              if (serviceInstance.get("orchestration-status") != null) {
+                serviceInstanceEvent.setState(serviceInstance.get("orchestration-status").asText());
+              }
+              if (action.equals("CREATE")) {
                 if (logger.isDebugEnabled()) {
-                    logger.debug("aai event returned was {}", aaiEventString);
-                }
-                try {
-                    JsonNode jsonNode = mapper.readValue(aaiEventString, JsonNode.class);
-                    JsonNode eventHeader = jsonNode.get("event-header");
-                    String aaiEventEntityType = eventHeader.get("entity-type").asText();
-                    String action = eventHeader.get("action").asText();
-                    if (logger.isDebugEnabled()) {
-                        logger.debug("aaiEventEntityType is {} and action is {}", aaiEventEntityType, action);
-                    }
-                    if (aaiEventEntityType.equals("service-instance")) {
-                        {
-                            // parse the AAI-EVENT service-instance tree
-                            ServiceInstanceEvent serviceInstanceEvent = new ServiceInstanceEvent();
-                            RelatedParty relatedParty = new RelatedParty();
-                            JsonNode entity = jsonNode.get("entity");
-                            relatedParty.setId(entity.get("global-customer-id").asText());
-                            relatedParty.setName(entity.get("subscriber-name").asText());
-                            serviceInstanceEvent.setRelatedParty(relatedParty);
-                            JsonNode childServiceSubscription = entity.get("service-subscriptions");
-                            JsonNode serviceSubscriptions = childServiceSubscription.get("service-subscription");
-                            JsonNode serviceSubscription = serviceSubscriptions.get(0);
-                            String serviceSubscriptionPrint = serviceSubscription.toString();
-                            JsonNode childserviceInstances = serviceSubscription.get("service-instances");
-                            JsonNode serviceInstances = childserviceInstances.get("service-instance");
-                            JsonNode serviceInstance = serviceInstances.get(0);
-                            serviceInstanceEvent.setId(serviceInstance.get("service-instance-id").asText());
-                            serviceInstanceEvent
-                                    .setHref("service/" + serviceInstance.get("service-instance-id").asText());
-                            if (serviceInstance.get("orchestration-status") != null) {
-                                serviceInstanceEvent.setState(serviceInstance.get("orchestration-status").asText());
-                            }
-                            if (action.equals("CREATE")) {
-                                if (logger.isDebugEnabled()) {
-                                    logger.debug("sending service inventory event to listeners");
-                                }
-                                processEvent(EventFactory.getEvent(EventType.SERVICE_CREATION, serviceInstanceEvent));
-                            } else if (action.equals("DELETE")) {
-                                processEvent(EventFactory.getEvent(EventType.SERVICE_REMOVE, serviceInstanceEvent));
-                            } else if (action.equals("UPDATE")) {
-                                processEvent(EventFactory.getEvent(EventType.SERVICE_ATTRIBUTE_VALUE_CHANGE,
-                                        serviceInstanceEvent));
-                            }
-
-                        }
-
-                    }
-
-                } catch (JsonParseException e) {
-                    logger.error(" unable to Parse AAI Event JSON String {}, exception is", aaiEventString,
-                            e.getMessage());
-                } catch (JsonMappingException e) {
-                    logger.error(" unable to Map AAI Event JSON String {} to Java Pojo, exception is", aaiEventString,
-                            e.getMessage());
-                } catch (IOException e) {
-                    logger.error("IO Error when parsing AAI Event JSON String {} ", aaiEventString, e.getMessage());
+                  logger.debug("sending service inventory event to listeners");
                 }
+                processEvent(
+                    EventFactory.getEvent(EventType.SERVICE_CREATION, serviceInstanceEvent));
+              } else if (action.equals("DELETE")) {
+                processEvent(EventFactory.getEvent(EventType.SERVICE_REMOVE, serviceInstanceEvent));
+              } else if (action.equals("UPDATE")) {
+                processEvent(EventFactory.getEvent(EventType.SERVICE_ATTRIBUTE_VALUE_CHANGE,
+                    serviceInstanceEvent));
+              }
+
             }
+
+          }
+
+        } catch (JsonParseException e) {
+          logger.error(" unable to Parse AAI Event JSON String {}, exception is", aaiEventString,
+              e.getMessage());
+        } catch (JsonMappingException e) {
+          logger.error(" unable to Map AAI Event JSON String {} to Java Pojo, exception is",
+              aaiEventString, e.getMessage());
+        } catch (IOException e) {
+          logger.error("IO Error when parsing AAI Event JSON String {} ", aaiEventString,
+              e.getMessage());
         }
+      }
     }
+  }
 
-    public void checkForDMaaPSDCEvents() {
-        List<String> dmaapResponse = callDMaaPGetEvents(sdcTopic);
-        if (!CollectionUtils.isEmpty(dmaapResponse)) {
-            for (int i = 0; i < dmaapResponse.size(); i++) {
-                String sdcEventString = dmaapResponse.get(i);
-                if (logger.isDebugEnabled()) {
-                    logger.debug("sdc event returned was {}", sdcEventString);
-                }
-                processEvent(EventFactory.getEvent(EventType.SDC_DISTRIBUTION, sdcEventString));
-            }
+  public void checkForDMaaPSDCEvents() {
+    List<String> dmaapResponse = callDMaaPGetEvents(sdcTopic);
+    if (!CollectionUtils.isEmpty(dmaapResponse)) {
+      for (int i = 0; i < dmaapResponse.size(); i++) {
+        String sdcEventString = dmaapResponse.get(i);
+        if (logger.isDebugEnabled()) {
+          logger.debug("sdc event returned was {}", sdcEventString);
         }
+        processEvent(EventFactory.getEvent(EventType.SDC_DISTRIBUTION, sdcEventString));
+      }
     }
+  }
 
-    public List<String> callDMaaPGetEvents(String topic) {
+  public List<String> callDMaaPGetEvents(String topic) {
 
-        URI callURI = buildRequest(topic);
-        ResponseEntity<Object> response = callDMaaP(callURI);
-        if (response != null) {
-            return (List<String>) response.getBody();
+    URI callURI = buildRequest(topic);
+    ResponseEntity<Object> response = callDMaaP(callURI);
+    if (response != null) {
+      return (List<String>) response.getBody();
 
-        } else {
-            return null;
-        }
+    } else {
+      return null;
     }
+  }
 
-    public ResponseEntity<Object> callCheckConnectivity() {
-        URI callURI = buildRequest(null);
+  public ResponseEntity<Object> callCheckConnectivity() {
+    URI callURI = buildRequest(null);
 
-        ResponseEntity<Object> response =
-                restTemplate.exchange(callURI, HttpMethod.GET, buildRequestHeader(), Object.class);
-
-        if (logger.isDebugEnabled()) {
-            logger.debug("response body : {} ", response.getBody().toString());
-            logger.debug("response status : {}", response.getStatusCodeValue());
-        }
-        return response;
+    ResponseEntity<Object> response =
+        restTemplate.exchange(callURI, HttpMethod.GET, buildRequestHeader(), Object.class);
 
+    if (logger.isDebugEnabled()) {
+      logger.debug("CheckConnectivity response body : {} ", response.getBody().toString());
+      logger.debug("CheckConnectivity response status : {}", response.getStatusCodeValue());
+      logger.debug("CheckConnectivity callURI is : {} ", callURI.toString());
     }
+    return response;
 
-    private URI buildRequest(String topic) {
-        if (StringUtils.isEmpty(topic)) {
-            topic = aaiTopic;
-        }
-        String dmaapGetEventsUrlFormated = dmaapGetEventsUrl.replace("$topic", topic);
-        dmaapGetEventsUrlFormated = dmaapGetEventsUrlFormated.replace("$consumergroup", consumerGroup);
-        dmaapGetEventsUrlFormated = dmaapGetEventsUrlFormated.replace("$consumerid", consumerId);
-        dmaapGetEventsUrlFormated = dmaapGetEventsUrlFormated.replace("$timeout", timeout);
-        if (logger.isDebugEnabled()) {
-            logger.debug("Calling DMaaP Url : " + dmaapGetEventsUrlFormated);
-        }
-        UriComponentsBuilder callURI = UriComponentsBuilder.fromHttpUrl(dmaapGetEventsUrlFormated);
-        return callURI.build().encode().toUri();
-    }
-
-    private ResponseEntity<Object> callDMaaP(URI callURI) {
-        try {
-            ResponseEntity<Object> response =
-                    restTemplate.exchange(callURI, HttpMethod.GET, buildRequestHeader(), Object.class);
-            if (logger.isDebugEnabled()) {
-                logger.debug("response body : {} ", response.getBody().toString());
-                logger.debug("response status : {}", response.getStatusCodeValue());
-            }
-            return response;
-        } catch (Exception e) {
-            String message = MessageFormat.format("Exception while calling dmaap : {0}", callURI);
-            logger.error(message);
-            return null;
-        }
+  }
 
+  private URI buildRequest(String topic) {
+    if (StringUtils.isEmpty(topic)) {
+      topic = aaiTopic;
     }
-
-    private HttpEntity<String> buildRequestHeader() {
-        HttpHeaders httpHeaders = new HttpHeaders();
-        httpHeaders.add("Accept", "application/json");
-        httpHeaders.add("Content-Type", "application/json");
-        return new HttpEntity<>("parameters", httpHeaders);
+    String dmaapGetEventsUrlFormated = dmaapGetEventsUrl.replace("$topic", topic);
+    dmaapGetEventsUrlFormated = dmaapGetEventsUrlFormated.replace("$consumergroup", consumerGroup);
+    dmaapGetEventsUrlFormated = dmaapGetEventsUrlFormated.replace("$consumerid", consumerId);
+    dmaapGetEventsUrlFormated = dmaapGetEventsUrlFormated.replace("$timeout", timeout);
+    if (logger.isDebugEnabled()) {
+      logger.debug("Calling DMaaP Url : " + dmaapGetEventsUrlFormated);
     }
-
-    /**
-     * Retrieve subscribers that match an event and fire notification asynchronously
-     */
-    private void processEvent(Event event) {
-        subscriberRepository.findSubscribersUsingEvent(event).forEach(sub -> notifier.run(sub, event));
+    UriComponentsBuilder callURI = UriComponentsBuilder.fromHttpUrl(dmaapGetEventsUrlFormated);
+    return callURI.build().encode().toUri();
+  }
+
+  private ResponseEntity<Object> callDMaaP(URI callURI) {
+    try {
+      ResponseEntity<Object> response =
+          restTemplate.exchange(callURI, HttpMethod.GET, buildRequestHeader(), Object.class);
+      if (logger.isDebugEnabled()) {
+        logger.debug("response body : {} ", response.getBody().toString());
+        logger.debug("response status : {}", response.getStatusCodeValue());
+      }
+      return response;
+    } catch (Exception e) {
+      String message = MessageFormat.format("Exception while calling dmaap URI: {0}", callURI);
+      logger.error(message);
+      logger.error("Exception while calling DMaaP is {} ", e.toString());
+      return null;
     }
 
+  }
+
+  private HttpEntity<String> buildRequestHeader() {
+    HttpHeaders httpHeaders = new HttpHeaders();
+    httpHeaders.add("Accept", "application/json");
+    httpHeaders.add("Content-Type", "application/json");
+    return new HttpEntity<>("parameters", httpHeaders);
+  }
+
+  /**
+   * Retrieve subscribers that match an event and fire notification asynchronously
+   */
+  private void processEvent(Event event) {
+    subscriberRepository.findSubscribersUsingEvent(event).forEach(sub -> notifier.run(sub, event));
+  }
+
 }
index f26e4fc..c7be00a 100644 (file)
@@ -20,7 +20,7 @@
 
 major            = 6
 minor            = 0
-patch            = 1
+patch            = 2
 
 base_version     = ${major}.${minor}.${patch}