Schedule response to client
[cps.git] / cps-ncmp-service / src / main / java / org / onap / cps / ncmp / api / impl / events / cmsubscription / service / CmNotificationSubscriptionHandlerServiceImpl.java
index 395c511..7872ba0 100644 (file)
@@ -57,20 +57,26 @@ public class CmNotificationSubscriptionHandlerServiceImpl implements CmNotificat
         if (cmNotificationSubscriptionPersistenceService.isUniqueSubscriptionId(subscriptionId)) {
             dmiCmNotificationSubscriptionCacheHandler.add(subscriptionId, predicates);
             sendSubscriptionCreateRequestToDmi(subscriptionId);
+            scheduleCmNotificationSubscriptionNcmpOutEventResponse(subscriptionId);
         } else {
-            final Set<String> subscriptionTargetFilters = predicates.stream().flatMap(
-                    predicate -> predicate.getTargetFilter().stream()).collect(Collectors.toSet());
             rejectAndPublishCmNotificationSubscriptionCreateRequest(subscriptionId,
-                    new ArrayList<>(subscriptionTargetFilters));
+                    predicates);
         }
     }
 
+    private void scheduleCmNotificationSubscriptionNcmpOutEventResponse(final String subscriptionId) {
+        cmNotificationSubscriptionEventsHandler.publishCmNotificationSubscriptionNcmpOutEvent(subscriptionId,
+                "subscriptionCreateResponse", null, true);
+    }
+
     private void rejectAndPublishCmNotificationSubscriptionCreateRequest(final String subscriptionId,
-                                                                         final List<String> subscriptionTargetFilters) {
+            final List<Predicate> predicates) {
+        final Set<String> subscriptionTargetFilters =
+                predicates.stream().flatMap(predicate -> predicate.getTargetFilter().stream())
+                        .collect(Collectors.toSet());
         final CmNotificationSubscriptionNcmpOutEvent cmNotificationSubscriptionNcmpOutEvent =
-                cmNotificationSubscriptionMappersHandler
-                        .toCmNotificationSubscriptionNcmpOutEventForRejectedRequest(subscriptionId,
-                                subscriptionTargetFilters);
+                cmNotificationSubscriptionMappersHandler.toCmNotificationSubscriptionNcmpOutEventForRejectedRequest(
+                        subscriptionId, new ArrayList<>(subscriptionTargetFilters));
         cmNotificationSubscriptionEventsHandler.publishCmNotificationSubscriptionNcmpOutEvent(subscriptionId,
                 "subscriptionCreateResponse", cmNotificationSubscriptionNcmpOutEvent, false);
     }