import java.util.Map;
import java.util.UUID;
+import org.onap.dcaegen2.services.sonhms.Configuration;
import org.onap.dcaegen2.services.sonhms.child.ChildThreadUtils;
import org.onap.dcaegen2.services.sonhms.child.PnfUtils;
import org.onap.dcaegen2.services.sonhms.dao.HandOverMetricsRepository;
import org.onap.dcaegen2.services.sonhms.dmaap.PolicyDmaapClient;
import org.onap.dcaegen2.services.sonhms.entity.HandOverMetrics;
import org.onap.dcaegen2.services.sonhms.model.AdditionalMeasurements;
+import org.onap.dcaegen2.services.sonhms.model.A1Payload;
import org.onap.dcaegen2.services.sonhms.model.ANRPayload;
import org.onap.dcaegen2.services.sonhms.model.CellConfig;
import org.onap.dcaegen2.services.sonhms.model.Common;
import org.onap.dcaegen2.services.sonhms.model.FapService;
import org.onap.dcaegen2.services.sonhms.model.Flag;
import org.onap.dcaegen2.services.sonhms.model.HoDetails;
+import org.onap.dcaegen2.services.sonhms.model.Input;
import org.onap.dcaegen2.services.sonhms.model.Lte;
import org.onap.dcaegen2.services.sonhms.model.LteCell;
import org.onap.dcaegen2.services.sonhms.model.NeighborListInUse;
private static Logger log = LoggerFactory.getLogger(PmNotificationHandler.class);
PolicyDmaapClient policyDmaapClient;
+ Configuration configuration = Configuration.getInstance();
public PmNotificationHandler() {
.getAdditionalMeasurements()) {
int attemptsCount = Integer.parseInt(additionalMeasurements.getHashMap().get("InterEnbOutAtt_X2HO"));
int successCount = Integer.parseInt(additionalMeasurements.getHashMap().get("InterEnbOutSucc_X2HO"));
- int successRate = (int)((float) successCount / attemptsCount) * 100;
+ int successRate = (int)(((float) successCount / attemptsCount) * 100);
Neighbours neighbourCell = new Neighbours();
neighbourCell.setHoKpi(successRate);
ObjectMapper mapper = new ObjectMapper();
try {
mapper.setSerializationInclusion(Include.NON_NULL);
+ String nearRtricUrl = configuration.getNearRtricUrl();
String cellId = pmNotification.getEvent().getCommonEventHeader().getSourceName();
String pnfName = pmNotification.getEvent().getCommonEventHeader().getReportingEntityName();
String plmnId = pmNotification.getEvent().getMeasurementFields()
.getAdditionalMeasurements().get(0).getHashMap().get("networkId");
- String ric_id = CpsClient.getRicId(cellId);
- ANRPayload payload = new ANRPayload("CreatePolicy",1,1,ric_id,
- (new PolicyData(pnfName,plmnId,cellId,neighbourList)));
- log.info("payload : {}", payload);
+ UUID uuid = UUID.randomUUID();
+
+ A1Payload payload = new A1Payload(new Input(nearRtricUrl,
+ new ANRPayload(uuid.toString(),"ANR","a1-terminator",
+ new PolicyData(pnfName,plmnId,cellId,neighbourList),"",false,"")));
+
String anrUpdateString = mapper.writeValueAsString(payload);
+ log.info("After converting A1Paylod to String: " + anrUpdateString);
ChildThreadUtils childUtils = new ChildThreadUtils(ConfigPolicy.getInstance(), new PnfUtils(),
new PolicyDmaapClient(new DmaapUtils(), Configuration.getInstance()), new HoMetricsComponent());
String requestId = UUID.randomUUID().toString();
String notification = childUtils.getNotificationString(
pmNotification.getEvent().getCommonEventHeader().getReportingEntityName(), requestId,
- anrUpdateString, System.currentTimeMillis(), "ModifyA1Policy");
+ anrUpdateString, System.currentTimeMillis(), "putA1Policy");
log.info("Policy Notification: {}", notification);
Boolean result = policyDmaapClient.sendNotificationToPolicy(notification);
log.info("send notification to policy result {} ", result);
return true;
}
}
+