diff options
Diffstat (limited to 'intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/adapters/policy/dmaap/PolicyNotificationCallback.java')
-rw-r--r-- | intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/adapters/policy/dmaap/PolicyNotificationCallback.java | 23 |
1 files changed, 20 insertions, 3 deletions
diff --git a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/adapters/policy/dmaap/PolicyNotificationCallback.java b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/adapters/policy/dmaap/PolicyNotificationCallback.java index 44ad9ca..429f952 100644 --- a/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/adapters/policy/dmaap/PolicyNotificationCallback.java +++ b/intentanalysis/src/main/java/org/onap/usecaseui/intentanalysis/adapters/policy/dmaap/PolicyNotificationCallback.java @@ -16,20 +16,37 @@ package org.onap.usecaseui.intentanalysis.adapters.policy.dmaap; import com.google.gson.Gson; +import java.util.ArrayList; +import java.util.List; import org.onap.usecaseui.intentanalysis.adapters.dmaap.NotificationCallback; import org.onap.usecaseui.intentanalysis.adapters.dmaap.NotificationEventModel; -import org.onap.usecaseui.intentanalysis.adapters.policy.impl.PolicyServiceImpl; +import org.onap.usecaseui.intentanalysis.bean.enums.FulfillmentStatus; +import org.onap.usecaseui.intentanalysis.bean.enums.NotFulfilledState; +import org.onap.usecaseui.intentanalysis.bean.models.FulfillmentOperation; +import org.onap.usecaseui.intentanalysis.service.ComponentNotificationService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; public class PolicyNotificationCallback implements NotificationCallback { private static final Logger logger = LoggerFactory.getLogger(PolicyNotificationCallback.class); + + @Autowired + ComponentNotificationService componentNotificationService; + @Override public void activateCallBack(String msg) { logger.info("Received event from Policy: \n" + msg); NotificationEventModel event = (new Gson()).fromJson(msg, NotificationEventModel.class); - - //Todo analyze the event and Report to the Intent Flow; + FulfillmentOperation info = new FulfillmentOperation(); + info.setOperation(event.getEntity().getOperation()); + info.setFulfillmentStatus(FulfillmentStatus.NOT_FULFILLED); + List<String> instances = new ArrayList<>(); + instances.add(event.getEntity().getId()); + info.setObjectInstances(instances); + info.setNotFulfilledState(NotFulfilledState.FULFILMENTFAILED); + info.setNotFulfilledReason(event.getEntity().getReason()); + componentNotificationService.callBack(info); } } |