X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=nbinotifications%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fnbinotifications%2Futils%2FNbiNotificationsUtils.java;h=02007bab88ce025ea46f5967657e1c678b743077;hb=72726c942bab51f2d1081e83e2b9ac8aa6481122;hp=af097c35b86d1ec0b222a59126c97f77ad95338b;hpb=6109ec0e02dce9bf0485728d70d91c302c54360c;p=transportpce.git diff --git a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/utils/NbiNotificationsUtils.java b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/utils/NbiNotificationsUtils.java index af097c35b..02007bab8 100644 --- a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/utils/NbiNotificationsUtils.java +++ b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/utils/NbiNotificationsUtils.java @@ -9,7 +9,26 @@ package org.opendaylight.transportpce.nbinotifications.utils; import java.io.IOException; import java.io.InputStream; +import java.util.HashMap; +import java.util.Map; import java.util.Properties; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev211013.NotificationTapiService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev211013.NotificationTapiServiceBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev211013.PublishTapiNotificationService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev211013.notification.tapi.service.AdditionalInfo; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev211013.notification.tapi.service.AdditionalInfoBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev211013.notification.tapi.service.AdditionalInfoKey; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev211013.notification.tapi.service.AlarmInfoBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev211013.notification.tapi.service.ChangedAttributes; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev211013.notification.tapi.service.ChangedAttributesBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev211013.notification.tapi.service.ChangedAttributesKey; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev211013.notification.tapi.service.TargetObjectName; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev211013.notification.tapi.service.TargetObjectNameBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev211013.notification.tapi.service.TargetObjectNameKey; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev211013.notification.tapi.service.TcaInfoBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.global._class.Name; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.global._class.NameBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.global._class.NameKey; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -34,4 +53,60 @@ public final class NbiNotificationsUtils { } return props; } + + public static NotificationTapiService transformTapiNotification(PublishTapiNotificationService notification) { + Map addInfoMap = new HashMap<>(); + if (notification.getAdditionalInfo() != null) { + for (org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.AdditionalInfo + addInfo:notification.getAdditionalInfo().values()) { + AdditionalInfo transAddInfo = new AdditionalInfoBuilder(addInfo).build(); + addInfoMap.put(transAddInfo.key(), transAddInfo); + } + } + Map changedAttMap = new HashMap<>(); + if (notification.getChangedAttributes() != null) { + for (org.opendaylight.yang.gen.v1 + .urn.onf.otcc.yang.tapi.notification.rev181210.notification.ChangedAttributes + changedAtt:notification.getChangedAttributes().values()) { + ChangedAttributes transChangedAtt = new ChangedAttributesBuilder(changedAtt).build(); + changedAttMap.put(transChangedAtt.key(), transChangedAtt); + } + } + Map nameMap = new HashMap<>(); + if (notification.getName() != null) { + for (Name name:notification.getName().values()) { + Name transName = new NameBuilder(name).build(); + nameMap.put(transName.key(), transName); + } + } + Map targetObjNameMap = new HashMap<>(); + if (notification.getTargetObjectName() != null) { + for (org.opendaylight.yang.gen.v1 + .urn.onf.otcc.yang.tapi.notification.rev181210.notification.TargetObjectName + targetObjectName:notification.getTargetObjectName().values()) { + TargetObjectName transTargetObjName = new TargetObjectNameBuilder(targetObjectName).build(); + targetObjNameMap.put(transTargetObjName.key(), transTargetObjName); + } + } + LOG.info("Notification uuid = {}", notification.getUuid()); + return new NotificationTapiServiceBuilder() + .setAlarmInfo(notification.getAlarmInfo() == null ? null + : new AlarmInfoBuilder(notification.getAlarmInfo()).build()) + .setAdditionalText(notification.getAdditionalText()) + .setAdditionalInfo(addInfoMap) + .setNotificationType(notification.getNotificationType()) + .setChangedAttributes(changedAttMap) + .setEventTimeStamp(notification.getEventTimeStamp()) + .setLayerProtocolName(notification.getLayerProtocolName()) + .setName(nameMap) + .setSequenceNumber(notification.getSequenceNumber()) + .setSourceIndicator(notification.getSourceIndicator()) + .setTargetObjectIdentifier(notification.getTargetObjectIdentifier()) + .setTargetObjectName(targetObjNameMap) + .setTargetObjectType(notification.getTargetObjectType()) + .setTcaInfo(notification.getTcaInfo() == null ? null + : new TcaInfoBuilder(notification.getTcaInfo()).build()) + .setUuid(notification.getUuid()) + .build(); + } }