From: orenais Date: Fri, 4 Aug 2023 14:56:01 +0000 (+0200) Subject: Migration to TAPI 2.4 Step2 X-Git-Tag: 9.0.0~61 X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=transportpce.git;a=commitdiff_plain;h=942384f299eecdf5163014ff7930b12ce26a2ca3 Migration to TAPI 2.4 Step2 Migration of nbi-notification to TAPI 2.4 JIRA: TRNSPRTPCE-734 Signed-off-by: orenais Change-Id: I868d82258cdb1c7b2ee3cb16653dbb89a5ca13cc --- diff --git a/api/src/main/yang/nbi-notifications@2023-07-26.yang b/api/src/main/yang/nbi-notifications@2023-07-26.yang deleted file mode 100644 index 8f5c6a2bd..000000000 --- a/api/src/main/yang/nbi-notifications@2023-07-26.yang +++ /dev/null @@ -1,328 +0,0 @@ -module nbi-notifications { - yang-version 1.1; - namespace "nbi-notifications"; - prefix nbinotifications; - - import org-openroadm-service { - prefix oor-service; - } - import org-openroadm-common-service-types { - prefix org-openroadm-common-service-types; - } - import org-openroadm-common-state-types { - prefix org-openroadm-common-state-types; - } - import org-openroadm-resource { - prefix org-openroadm-resource; - } - import tapi-common { - prefix tapi-common; - revision-date 2022-11-21; - } - import tapi-notification { - prefix tapi-notification; - revision-date 2022-11-21; - } - - organization - "transportPCE"; - contact - "transportPCE committers - ODL"; - description - "YANG definitions for using REST API in NBI notifications module. Copyright - (c) 2020 ORANGE and others. All rights reserved."; - - revision "2023-07-28" { - description - "Migration towards TAPI 2.4"; - } - - revision 2023-07-26 { - description - "Adding service-rpc-result data details to the publish-notification-process-service"; - } - - revision 2021-10-13 { - description - "Implement new models, RPC for TAPI service notification"; - } - - revision 2023-07-26 { - description - "Adding service-rpc-result data details to the publish-notification-process-service"; - } - - revision 2021-08-13 { - description - "Rename the groupings, containers and RPCs"; - } - - revision 2021-06-28 { - description - "Implement new models, RPC for service alarms"; - } - - revision 2020-11-30 { - description - "Initial revision of NBI notifications"; - } - - grouping notification-process-service { - leaf message { - type string; - mandatory true; - description - "Message for the specified service"; - } - leaf service-name { - type string; - mandatory true; - description - "Identifier for the service to be created in the ROADM network, e.g., CLFI, CLCI, etc. - This is reported against the service, but may not get reflected in the service in the network."; - } - leaf common-id { - type string; - description - "To be used by the ROADM controller to identify the routing constraints - received from planning application (PED)."; - } - leaf connection-type { - type org-openroadm-common-service-types:connection-type; - mandatory true; - } - container service-a-end { - uses org-openroadm-common-service-types:service-endpoint; - } - container service-z-end { - uses org-openroadm-common-service-types:service-endpoint; - } - leaf response-failed { - type string; - description - "Response of the error if the service request encountered an anomaly"; - } - leaf operational-state { - type org-openroadm-common-state-types:state; - config false; - description - "Operational State: Actual state of service"; - } - leaf is-temp-service { - type boolean; - default "false"; - description - "Used to indicate if the it is a temp-service or not"; - } - container aToZ { - when "../is-temp-service = 'true'" { - description - "a-to-z is only used for temp-service-cerate"; - } - uses org-openroadm-resource:common-och-otsi-attributes; - uses org-openroadm-resource:path-computation-outputs; - } - container zToA { - when "../is-temp-service = 'true'" { - description - "a-to-z is only used for temp-service-cerate"; - } - uses org-openroadm-resource:common-och-otsi-attributes; - uses org-openroadm-resource:path-computation-outputs; - } - } - grouping notification-alarm-service { - leaf message { - type string; - mandatory true; - description - "Message for the specified service"; - } - leaf service-name { - type string; - mandatory true; - description - "Identifier for the service to be created in the ROADM network, e.g., CLFI, CLCI, etc. - This is reported against the service, but may not get reflected in the service in the network."; - } - leaf connection-type { - type org-openroadm-common-service-types:connection-type; - mandatory true; - } - leaf operational-state { - type org-openroadm-common-state-types:state; - config false; - description - "Operational State: Actual state of service"; - } - } - - grouping notification-tapi-service { - leaf notification-type { - type tapi-notification:notification-type; - description "none"; - } - leaf target-object-type { - type tapi-common:object-type; - description "none"; - } - leaf target-object-identifier { - type tapi-common:uuid; - description "none"; - } - list target-object-name { - key 'value-name'; - min-elements 1; - uses tapi-common:name-and-value; - description "none"; - } - leaf event-time-stamp { - type tapi-common:date-and-time; - description "none"; - } - leaf sequence-number { - type uint64; - config false; - description "A monotonous increasing sequence number associated with the notification. - The exact semantics of how this sequence number is assigned (per channel or subscription or source or system) is left undefined."; - } - leaf source-indicator { - type tapi-notification:source-indicator; - description "none"; - } - leaf layer-protocol-name { - type tapi-common:layer-protocol-name; - description "none"; - } - leaf layer-protocol-qualifier { - type tapi-common:layer-protocol-qualifier; - config false; - description "none"; - } - list changed-attributes { - key 'value-name'; - uses tapi-notification:name-and-value-change; - description "none"; - } - list additional-info { - key 'value-name'; - uses tapi-common:name-and-value; - description "none"; - } - leaf additional-text { - type string; - description "none"; - } - uses tapi-common:global-class; - description "none"; - } - - container notification-process-service { - description - "Model used to send a notification from a service request"; - uses notification-process-service; - } - - container notification-alarm-service { - description - "Model used to send a notification from the service listener"; - uses notification-alarm-service; - } - - container notification-tapi-service { - description - "Model used to send a tapi notification"; - uses notification-tapi-service; - } - - rpc get-notifications-process-service { - description "Get the notifications service sent by ServiceHandler through filtering connection type"; - input { - leaf connection-type { - type org-openroadm-common-service-types:connection-type; - mandatory true; - description - "Type connection of the service "; - } - leaf id-consumer { - type string; - mandatory true; - description - "Unique ID for the consumer"; - } - leaf group-id { - type string; - mandatory true; - description - "ID Group for the consumer"; - } - } - output { - list notifications-process-service { - uses notification-process-service; - } - } - } - - rpc get-notifications-alarm-service { - description "Get the notifications alarm service sent by ServiceListener through filtering connection type"; - input { - leaf connection-type { - type org-openroadm-common-service-types:connection-type; - mandatory true; - description - "Type connection of the service"; - } - leaf id-consumer { - type string; - mandatory true; - description - "Unique ID for the consumer"; - } - leaf group-id { - type string; - mandatory true; - description - "ID Group for the consumer"; - } - } - output { - list notifications-alarm-service { - uses notification-alarm-service; - } - } - } - - notification publish-notification-process-service { - description "Publish the notifications service through a publisher"; - leaf publisher-name { - type string; - mandatory true; - description - "Name of the publisher"; - } - uses notification-process-service; - } - - notification publish-notification-alarm-service { - description "Publish the notifications service alarm through a publisher"; - leaf publisher-name { - type string; - mandatory true; - description - "Name of the publisher"; - } - uses notification-alarm-service; - } - - notification publish-tapi-notification-service { - description "Publish the TAPI notifications service for topic"; - leaf topic { - type string; - mandatory true; - description - "Topic where to send the notification service"; - } - uses tapi-notification:notification; - } -} diff --git a/api/src/main/yang/nbi-notifications@2023-07-28.yang b/api/src/main/yang/nbi-notifications@2023-07-28.yang index 8f5c6a2bd..b4bf64fa7 100644 --- a/api/src/main/yang/nbi-notifications@2023-07-28.yang +++ b/api/src/main/yang/nbi-notifications@2023-07-28.yang @@ -23,6 +23,10 @@ module nbi-notifications { prefix tapi-notification; revision-date 2022-11-21; } + import tapi-fm { + prefix tapi-fm; + revision-date 2022-11-21; + } organization "transportPCE"; @@ -157,6 +161,17 @@ module nbi-notifications { } } + grouping alarm-tca-info { + container alarm-info { + uses tapi-fm:alarm-info; + description "none"; + } + container tca-info { + uses tapi-fm:tca-info; + description "none"; + } + } + grouping notification-tapi-service { leaf notification-type { type tapi-notification:notification-type; @@ -213,6 +228,7 @@ module nbi-notifications { type string; description "none"; } + uses alarm-tca-info; uses tapi-common:global-class; description "none"; } @@ -323,6 +339,7 @@ module nbi-notifications { description "Topic where to send the notification service"; } + uses alarm-tca-info; uses tapi-notification:notification; } } diff --git a/dmaap-client/src/main/java/org/opendaylight/transportpce/dmaap/client/resource/EventsApi.java b/dmaap-client/src/main/java/org/opendaylight/transportpce/dmaap/client/resource/EventsApi.java index 7ee650612..7fc5955f0 100644 --- a/dmaap-client/src/main/java/org/opendaylight/transportpce/dmaap/client/resource/EventsApi.java +++ b/dmaap-client/src/main/java/org/opendaylight/transportpce/dmaap/client/resource/EventsApi.java @@ -14,7 +14,6 @@ import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.core.MediaType; import org.opendaylight.transportpce.dmaap.client.resource.model.CreatedEvent; - import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.PublishNotificationProcessService; @Path("/events") diff --git a/dmaap-client/src/test/java/org/opendaylight/transportpce/dmaap/client/listener/NbiNotificationsHandlerTest.java b/dmaap-client/src/test/java/org/opendaylight/transportpce/dmaap/client/listener/NbiNotificationsHandlerTest.java index 7dfb5f2e6..20ae4a118 100644 --- a/dmaap-client/src/test/java/org/opendaylight/transportpce/dmaap/client/listener/NbiNotificationsHandlerTest.java +++ b/dmaap-client/src/test/java/org/opendaylight/transportpce/dmaap/client/listener/NbiNotificationsHandlerTest.java @@ -29,7 +29,6 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev2 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.endpoint.TxDirectionKey; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev191129.ServiceFormat; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NbiNotificationsListener; import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.PublishNotificationProcessService; import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.PublishNotificationProcessServiceBuilder; import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.notification.process.service.ServiceAEndBuilder; diff --git a/lighty/src/main/java/io/lighty/controllers/tpce/utils/TPCEUtils.java b/lighty/src/main/java/io/lighty/controllers/tpce/utils/TPCEUtils.java index 1fbf2b06e..a0f210dde 100644 --- a/lighty/src/main/java/io/lighty/controllers/tpce/utils/TPCEUtils.java +++ b/lighty/src/main/java/io/lighty/controllers/tpce/utils/TPCEUtils.java @@ -337,7 +337,7 @@ public final class TPCEUtils { .$YangModuleInfoImpl.getInstance(), org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.tapi.rev180928.$YangModuleInfoImpl .getInstance(), - org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.$YangModuleInfoImpl + org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.$YangModuleInfoImpl .getInstance()); private static final Set TPCE_YANG_MODEL = Stream.concat( diff --git a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/impl/NbiNotificationsImpl.java b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/impl/NbiNotificationsImpl.java index f17a18339..91e71eca1 100644 --- a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/impl/NbiNotificationsImpl.java +++ b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/impl/NbiNotificationsImpl.java @@ -9,7 +9,6 @@ package org.opendaylight.transportpce.nbinotifications.impl; import com.google.common.collect.ImmutableClassToInstanceMap; import com.google.common.util.concurrent.ListenableFuture; -import java.nio.charset.StandardCharsets; import java.util.ArrayList; import java.util.HashMap; import java.util.HashSet; @@ -28,65 +27,72 @@ import org.opendaylight.transportpce.nbinotifications.serialization.Notification import org.opendaylight.transportpce.nbinotifications.serialization.NotificationServiceDeserializer; import org.opendaylight.transportpce.nbinotifications.serialization.TapiNotificationDeserializer; import org.opendaylight.transportpce.nbinotifications.utils.TopicManager; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.GetNotificationsAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.GetNotificationsAlarmServiceInput; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.GetNotificationsAlarmServiceOutput; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.GetNotificationsAlarmServiceOutputBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.GetNotificationsProcessService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.GetNotificationsProcessServiceInput; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.GetNotificationsProcessServiceOutput; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.GetNotificationsProcessServiceOutputBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NbiNotificationsService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationProcessService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationTapiService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.get.notifications.alarm.service.output.NotificationsAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.get.notifications.process.service.output.NotificationsProcessService; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.Context; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.Uuid; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.Context1; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.CreateNotificationSubscriptionService; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.CreateNotificationSubscriptionServiceInput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.CreateNotificationSubscriptionServiceOutput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.CreateNotificationSubscriptionServiceOutputBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.DeleteNotificationSubscriptionService; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.DeleteNotificationSubscriptionServiceInput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.DeleteNotificationSubscriptionServiceOutput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.DeleteNotificationSubscriptionServiceOutputBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetNotificationList; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetNotificationListInput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetNotificationListOutput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetNotificationListOutputBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetNotificationSubscriptionServiceDetails; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetNotificationSubscriptionServiceDetailsInput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetNotificationSubscriptionServiceDetailsOutput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetNotificationSubscriptionServiceDetailsOutputBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetNotificationSubscriptionServiceList; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetNotificationSubscriptionServiceListInput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetNotificationSubscriptionServiceListOutput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetNotificationSubscriptionServiceListOutputBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetSupportedNotificationTypes; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetSupportedNotificationTypesInput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetSupportedNotificationTypesOutput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetSupportedNotificationTypesOutputBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.NotificationType; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.ObjectType; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.TapiNotificationService; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.UpdateNotificationSubscriptionService; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.UpdateNotificationSubscriptionServiceInput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.UpdateNotificationSubscriptionServiceOutput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.context.NotificationContext; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.context.NotificationContextBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.create.notification.subscription.service.output.SubscriptionService; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.create.notification.subscription.service.output.SubscriptionServiceBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.get.notification.list.output.Notification; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.get.notification.list.output.NotificationKey; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.get.notification.subscription.service.list.output.SubscriptionServiceKey; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.context.NotifSubscription; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.context.NotifSubscriptionBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.context.NotifSubscriptionKey; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.subscription.service.SubscriptionFilter; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.subscription.service.SubscriptionFilterBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.GetNotificationsAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.GetNotificationsAlarmServiceInput; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.GetNotificationsAlarmServiceOutput; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.GetNotificationsAlarmServiceOutputBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.GetNotificationsProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.GetNotificationsProcessServiceInput; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.GetNotificationsProcessServiceOutput; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.GetNotificationsProcessServiceOutputBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NbiNotificationsService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationTapiService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.get.notifications.alarm.service.output.NotificationsAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.get.notifications.process.service.output.NotificationsProcessService; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.Context; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.OBJECTTYPE; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.OBJECTTYPEPROFILE; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.OBJECTTYPESERVICEINTERFACEPOINT; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.OBJECTTYPETAPICONTEXT; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.Uuid; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.Context1; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.CreateNotificationSubscriptionService; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.CreateNotificationSubscriptionServiceInput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.CreateNotificationSubscriptionServiceOutput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.CreateNotificationSubscriptionServiceOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.DeleteNotificationSubscriptionService; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.DeleteNotificationSubscriptionServiceInput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.DeleteNotificationSubscriptionServiceOutput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.DeleteNotificationSubscriptionServiceOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetNotificationList; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetNotificationListInput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetNotificationListOutput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetNotificationListOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetNotificationSubscriptionServiceDetails; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetNotificationSubscriptionServiceDetailsInput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetNotificationSubscriptionServiceDetailsOutput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetNotificationSubscriptionServiceDetailsOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetNotificationSubscriptionServiceList; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetNotificationSubscriptionServiceListInput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetNotificationSubscriptionServiceListOutput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetNotificationSubscriptionServiceListOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetSupportedNotificationTypes; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetSupportedNotificationTypesInput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetSupportedNotificationTypesOutput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetSupportedNotificationTypesOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.NOTIFICATIONTYPE; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.NOTIFICATIONTYPEATTRIBUTEVALUECHANGE; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.NOTIFICATIONTYPEOBJECTCREATION; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.NOTIFICATIONTYPEOBJECTDELETION; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.TapiNotificationService; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.UpdateNotificationSubscriptionService; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.UpdateNotificationSubscriptionServiceInput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.UpdateNotificationSubscriptionServiceOutput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.context.NotificationContext; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.context.NotificationContextBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.create.notification.subscription.service.output.SubscriptionService; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.create.notification.subscription.service.output.SubscriptionServiceBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.get.notification.list.output.Notification; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.get.notification.list.output.NotificationKey; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.get.notification.subscription.service.list.output.SubscriptionServiceKey; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.context.NotifSubscription; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.context.NotifSubscriptionBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.context.NotifSubscriptionKey; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.subscription.service.SubscriptionFilter; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.subscription.service.SubscriptionFilterBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.subscription.service.SubscriptionFilterKey; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.binding.Rpc; import org.opendaylight.yangtools.yang.common.ErrorTag; @@ -160,21 +166,36 @@ public class NbiNotificationsImpl implements NbiNotificationsService, TapiNotifi .withError(ErrorType.APPLICATION, "Couldnt get Notification Context from Datastore") .buildFuture(); } - if (notificationContext.getNotifSubscription() == null) { - return RpcResultBuilder.success(new GetSupportedNotificationTypesOutputBuilder() - .setSupportedNotificationTypes(new HashSet<>()) - .setSupportedObjectTypes(new HashSet<>()).build()).buildFuture(); - } - Set notificationTypeList = new HashSet<>(); - Set objectTypeList = new HashSet<>(); - for (NotifSubscription notifSubscription:notificationContext.getNotifSubscription().values()) { - if (notifSubscription.getSupportedNotificationTypes() != null) { - notificationTypeList.addAll(notifSubscription.getSupportedNotificationTypes()); - } - if (notifSubscription.getSupportedObjectTypes() != null) { - objectTypeList.addAll(notifSubscription.getSupportedObjectTypes()); - } - } + //TAPI 2.4 removes supported notification types from notif-subscription list and notification-context + //No way to store what notification types are supported + //Considers that by default all notification are supported + Set notificationTypeList = new HashSet<>(); + notificationTypeList.add(NOTIFICATIONTYPEOBJECTCREATION.VALUE); + notificationTypeList.add(NOTIFICATIONTYPEOBJECTDELETION.VALUE); + notificationTypeList.add(NOTIFICATIONTYPEATTRIBUTEVALUECHANGE.VALUE); +// +// if (notificationContext.getNotifSubscription() == null) { +// return RpcResultBuilder.success(new GetSupportedNotificationTypesOutputBuilder() +// .setSupportedNotificationTypes(new HashSet<>()) +// .setSupportedObjectTypes(new HashSet<>()).build()).buildFuture(); +// } +// Set notificationTypeList = new HashSet<>(); + + //TAPI 2.4 removes supported object types from notif-subscription list and notification-context + //No way to store what object types are supported + //Considers that by default all object are supported + Set objectTypeList = new HashSet<>(); + objectTypeList.add(OBJECTTYPESERVICEINTERFACEPOINT.VALUE); + objectTypeList.add(OBJECTTYPETAPICONTEXT.VALUE); + objectTypeList.add(OBJECTTYPEPROFILE.VALUE); +// for (NotifSubscription notifSubscription:notificationContext.getNotifSubscription().values()) { +// if (notifSubscription.getSupportedNotificationTypes() != null) { +// notificationTypeList.addAll(notifSubscription.getSupportedNotificationTypes()); +// } +// if (notifSubscription.getSupportedObjectTypes() != null) { +// objectTypeList.addAll(notifSubscription.getSupportedObjectTypes()); +// } +// } return RpcResultBuilder.success(new GetSupportedNotificationTypesOutputBuilder() .setSupportedNotificationTypes(notificationTypeList) .setSupportedObjectTypes(objectTypeList).build()).buildFuture(); @@ -197,25 +218,22 @@ public class NbiNotificationsImpl implements NbiNotificationsService, TapiNotifi .setRequestedObjectTypes(input.getSubscriptionFilter().getRequestedObjectTypes()) .build(); Uuid notifSubscriptionUuid = new Uuid(UUID.randomUUID().toString()); + Map sfmap = new HashMap<>(); + sfmap.put(subscriptionFilter.key(), subscriptionFilter); SubscriptionService subscriptionService = new SubscriptionServiceBuilder() - .setSubscriptionFilter(subscriptionFilter) + .setSubscriptionFilter(sfmap) .setSubscriptionState(input.getSubscriptionState()) .setUuid(notifSubscriptionUuid) .build(); NotifSubscriptionKey notifSubscriptionKey = new NotifSubscriptionKey(notifSubscriptionUuid); - Set notificationTypes = (subscriptionFilter.getRequestedNotificationTypes() != null) - ? subscriptionFilter.getRequestedNotificationTypes() - : new HashSet<>(List.of(NotificationType.ALARMEVENT)); - Set objectTypes = (subscriptionFilter.getRequestedObjectTypes() != null) - ? subscriptionFilter.getRequestedObjectTypes() - : new HashSet<>(List.of(ObjectType.CONNECTIVITYSERVICE)); NotifSubscription notifSubscription = new NotifSubscriptionBuilder() .setSubscriptionState(subscriptionService.getSubscriptionState()) .setSubscriptionFilter(subscriptionService.getSubscriptionFilter()) .setUuid(notifSubscriptionUuid) - .setSupportedNotificationTypes(notificationTypes) - .setSupportedObjectTypes(objectTypes) +// Following 2 items are no more in notification-context with T-API 2.4 +// .setSupportedNotificationTypes(notificationTypes) +// .setSupportedObjectTypes(objectTypes) .setName(subscriptionService.getName()) .build(); NotificationContext notificationContext = getNotificationContext(); @@ -253,19 +271,19 @@ public class NbiNotificationsImpl implements NbiNotificationsService, TapiNotifi public ListenableFuture> deleteNotificationSubscriptionService(DeleteNotificationSubscriptionServiceInput input) { try { - if (input == null || input.getSubscriptionIdOrName() == null) { + if (input == null || input.getUuid() == null) { LOG.warn("Missing mandatory params for input {}", input); return RpcResultBuilder.failed() .withError(ErrorType.RPC, "Missing input parameters").buildFuture(); } - Uuid notifSubsUuid = getUuidFromIput(input.getSubscriptionIdOrName()); + Uuid notifSubsUuid = input.getUuid(); InstanceIdentifier notifSubscriptionIID = InstanceIdentifier.builder(Context.class) .augmentation(Context1.class).child(NotificationContext.class).child(NotifSubscription.class, new NotifSubscriptionKey(notifSubsUuid)).build(); Optional optionalNotifSub = this.networkTransactionService.read( LogicalDatastoreType.OPERATIONAL, notifSubscriptionIID).get(); - if (!optionalNotifSub.isPresent()) { + if (optionalNotifSub.isEmpty()) { return RpcResultBuilder.failed() .withError(ErrorType.APPLICATION, "Notification subscription doesnt exist").buildFuture(); @@ -273,9 +291,15 @@ public class NbiNotificationsImpl implements NbiNotificationsService, TapiNotifi NotifSubscription notifSubscription = optionalNotifSub.orElseThrow(); this.networkTransactionService.delete(LogicalDatastoreType.OPERATIONAL, notifSubscriptionIID); this.networkTransactionService.commit().get(); - for (Uuid objectUuid:notifSubscription.getSubscriptionFilter().getRequestedObjectIdentifier()) { - this.topicManager.deleteTapiTopic(objectUuid.getValue()); + for (Map.Entry sfEntry : notifSubscription + .getSubscriptionFilter().entrySet()) { + for (Uuid objectUuid:sfEntry.getValue().getRequestedObjectIdentifier()) { + this.topicManager.deleteTapiTopic(objectUuid.getValue()); + } } +// for (Uuid objectUuid:notifSubscription.getSubscriptionFilter().getRequestedObjectIdentifier()) { +// this.topicManager.deleteTapiTopic(objectUuid.getValue()); +// } return RpcResultBuilder.success(new DeleteNotificationSubscriptionServiceOutputBuilder().build()) .buildFuture(); } catch (InterruptedException | ExecutionException | NoSuchElementException e) { @@ -289,12 +313,12 @@ public class NbiNotificationsImpl implements NbiNotificationsService, TapiNotifi @Override public ListenableFuture> getNotificationSubscriptionServiceDetails(GetNotificationSubscriptionServiceDetailsInput input) { - if (input == null || input.getSubscriptionIdOrName() == null) { + if (input == null || input.getUuid() == null) { LOG.warn("Missing mandatory params for input {}", input); return RpcResultBuilder.failed() .withError(ErrorType.RPC, "Missing input parameters").buildFuture(); } - Uuid notifSubsUuid = getUuidFromIput(input.getSubscriptionIdOrName()); + Uuid notifSubsUuid = input.getUuid(); NotificationContext notificationContext = getNotificationContext(); if (notificationContext == null) { return RpcResultBuilder.failed() @@ -304,7 +328,7 @@ public class NbiNotificationsImpl implements NbiNotificationsService, TapiNotifi if (notificationContext.getNotifSubscription() == null) { return RpcResultBuilder.success(new GetNotificationSubscriptionServiceDetailsOutputBuilder() .setSubscriptionService(new org.opendaylight.yang.gen.v1 - .urn.onf.otcc.yang.tapi.notification.rev181210.get.notification.subscription.service + .urn.onf.otcc.yang.tapi.notification.rev221121.get.notification.subscription.service .details.output.SubscriptionServiceBuilder().build()).build()).buildFuture(); } if (!notificationContext.getNotifSubscription().containsKey(new NotifSubscriptionKey(notifSubsUuid))) { @@ -314,7 +338,7 @@ public class NbiNotificationsImpl implements NbiNotificationsService, TapiNotifi } return RpcResultBuilder.success(new GetNotificationSubscriptionServiceDetailsOutputBuilder() .setSubscriptionService(new org.opendaylight.yang.gen.v1.urn - .onf.otcc.yang.tapi.notification.rev181210.get.notification.subscription.service.details.output + .onf.otcc.yang.tapi.notification.rev221121.get.notification.subscription.service.details.output .SubscriptionServiceBuilder(notificationContext.getNotifSubscription().get( new NotifSubscriptionKey(notifSubsUuid))).build()).build()).buildFuture(); } @@ -333,13 +357,13 @@ public class NbiNotificationsImpl implements NbiNotificationsService, TapiNotifi .setSubscriptionService(new HashMap<>()).build()).buildFuture(); } Map + .tapi.notification.rev221121.get.notification.subscription.service.list.output.SubscriptionService> notifSubsMap = new HashMap<>(); for (NotifSubscription notifSubscription:notificationContext.getNotifSubscription().values()) { org.opendaylight.yang.gen.v1.urn.onf.otcc.yang - .tapi.notification.rev181210.get.notification.subscription.service.list.output.SubscriptionService + .tapi.notification.rev221121.get.notification.subscription.service.list.output.SubscriptionService subscriptionService = new org.opendaylight.yang.gen.v1 - .urn.onf.otcc.yang.tapi.notification.rev181210.get.notification.subscription.service + .urn.onf.otcc.yang.tapi.notification.rev221121.get.notification.subscription.service .list.output.SubscriptionServiceBuilder(notifSubscription).build(); notifSubsMap.put(subscriptionService.key(), subscriptionService); } @@ -351,36 +375,50 @@ public class NbiNotificationsImpl implements NbiNotificationsService, TapiNotifi public ListenableFuture> getNotificationList(GetNotificationListInput input) { try { LOG.info("RPC getNotificationList received"); - if (input == null || input.getSubscriptionIdOrName() == null) { + if (input == null || input.getSubscriptionId() == null) { LOG.warn("Missing mandatory params for input {}", input); return RpcResultBuilder.failed().withError(ErrorType.RPC, "Missing input parameters").buildFuture(); } - Uuid notifSubsUuid = getUuidFromIput(input.getSubscriptionIdOrName()); + Uuid notifSubsUuid = input.getSubscriptionId(); InstanceIdentifier notifSubscriptionIID = InstanceIdentifier.builder(Context.class) .augmentation(Context1.class).child(NotificationContext.class).child(NotifSubscription.class, new NotifSubscriptionKey(notifSubsUuid)).build(); Optional optionalNotifSub = this.networkTransactionService.read( LogicalDatastoreType.OPERATIONAL, notifSubscriptionIID).get(); - if (!optionalNotifSub.isPresent()) { + if (optionalNotifSub.isEmpty()) { return RpcResultBuilder.failed() .withError(ErrorType.APPLICATION, "Notification subscription doesnt exist").buildFuture(); } NotifSubscription notifSubscription = optionalNotifSub.orElseThrow(); List notificationTapiList = new ArrayList<>(); - for (Uuid objectUuid:notifSubscription.getSubscriptionFilter().getRequestedObjectIdentifier()) { - if (!this.topicManager.getTapiTopicMap().containsKey(objectUuid.getValue())) { - LOG.warn("Topic doesnt exist for {}", objectUuid.getValue()); - continue; + for (Map.Entry sfEntry : notifSubscription + .getSubscriptionFilter().entrySet()) { + for (Uuid objectUuid:sfEntry.getValue().getRequestedObjectIdentifier()) { + if (!this.topicManager.getTapiTopicMap().containsKey(objectUuid.getValue())) { + LOG.warn("Topic doesnt exist for {}", objectUuid.getValue()); + continue; + } + LOG.info("Going to get notifications for topic {}", objectUuid.getValue()); + Subscriber subscriber = new Subscriber<>( + objectUuid.getValue(), objectUuid.getValue(), server, converterTapiService, + TapiNotificationDeserializer.class); + notificationTapiList.addAll(subscriber.subscribe(objectUuid.getValue(), Notification.QNAME)); } - LOG.info("Going to get notifications for topic {}", objectUuid.getValue()); - Subscriber subscriber = new Subscriber<>( - objectUuid.getValue(), objectUuid.getValue(), server, converterTapiService, - TapiNotificationDeserializer.class); - notificationTapiList.addAll(subscriber.subscribe(objectUuid.getValue(), Notification.QNAME)); } +// for (Uuid objectUuid:notifSubscription.getSubscriptionFilter().getRequestedObjectIdentifier()) { +// if (!this.topicManager.getTapiTopicMap().containsKey(objectUuid.getValue())) { +// LOG.warn("Topic doesnt exist for {}", objectUuid.getValue()); +// continue; +// } +// LOG.info("Going to get notifications for topic {}", objectUuid.getValue()); +// Subscriber subscriber = new Subscriber<>( +// objectUuid.getValue(), objectUuid.getValue(), server, converterTapiService, +// TapiNotificationDeserializer.class); +// notificationTapiList.addAll(subscriber.subscribe(objectUuid.getValue(), Notification.QNAME)); +// } LOG.info("TAPI notifications = {}", notificationTapiList); Map notificationMap = new HashMap<>(); for (Notification notif:notificationTapiList) { @@ -444,14 +482,4 @@ public class NbiNotificationsImpl implements NbiNotificationsService, TapiNotifi return false; } - private Uuid getUuidFromIput(String serviceIdOrName) { - try { - UUID.fromString(serviceIdOrName); - LOG.info("Given attribute {} is a UUID", serviceIdOrName); - return new Uuid(serviceIdOrName); - } catch (IllegalArgumentException e) { - LOG.info("Given attribute {} is not a UUID", serviceIdOrName); - return new Uuid(UUID.nameUUIDFromBytes(serviceIdOrName.getBytes(StandardCharsets.UTF_8)).toString()); - } - } } diff --git a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/impl/NbiNotificationsProvider.java b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/impl/NbiNotificationsProvider.java index cb6de7258..c26c1478f 100644 --- a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/impl/NbiNotificationsProvider.java +++ b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/impl/NbiNotificationsProvider.java @@ -18,9 +18,9 @@ import org.opendaylight.transportpce.common.network.NetworkTransactionService; import org.opendaylight.transportpce.nbinotifications.listener.NbiNotificationsHandler; import org.opendaylight.transportpce.nbinotifications.producer.Publisher; import org.opendaylight.transportpce.nbinotifications.utils.TopicManager; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationProcessService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationTapiService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationTapiService; import org.opendaylight.yangtools.concepts.Registration; import org.osgi.service.component.annotations.Activate; import org.osgi.service.component.annotations.Component; diff --git a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/listener/NbiNotificationsHandler.java b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/listener/NbiNotificationsHandler.java index 7b9817cf6..ad38b819c 100644 --- a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/listener/NbiNotificationsHandler.java +++ b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/listener/NbiNotificationsHandler.java @@ -12,15 +12,15 @@ import java.util.Set; import org.opendaylight.mdsal.binding.api.NotificationService.CompositeListener; import org.opendaylight.transportpce.nbinotifications.producer.Publisher; import org.opendaylight.transportpce.nbinotifications.utils.NbiNotificationsUtils; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationAlarmServiceBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationProcessService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationProcessServiceBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationTapiService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationTapiServiceBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.PublishNotificationAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.PublishNotificationProcessService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.PublishTapiNotificationService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationAlarmServiceBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationProcessServiceBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationTapiService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationTapiServiceBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.PublishNotificationAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.PublishNotificationProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.PublishTapiNotificationService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationAlarmServiceDeserializer.java b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationAlarmServiceDeserializer.java index ffb3509d4..018e7f3bd 100644 --- a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationAlarmServiceDeserializer.java +++ b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationAlarmServiceDeserializer.java @@ -11,9 +11,9 @@ import java.nio.charset.StandardCharsets; import java.util.Map; import org.apache.kafka.common.serialization.Deserializer; import org.opendaylight.transportpce.common.converter.JsonStringConverter; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.get.notifications.alarm.service.output.NotificationsAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.get.notifications.alarm.service.output.NotificationsAlarmServiceBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.get.notifications.alarm.service.output.NotificationsAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.get.notifications.alarm.service.output.NotificationsAlarmServiceBuilder; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier; import org.slf4j.Logger; diff --git a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationAlarmServiceSerializer.java b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationAlarmServiceSerializer.java index 5d486fe93..2d403abc3 100644 --- a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationAlarmServiceSerializer.java +++ b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationAlarmServiceSerializer.java @@ -12,7 +12,7 @@ import java.nio.charset.StandardCharsets; import java.util.Map; import org.apache.kafka.common.serialization.Serializer; import org.opendaylight.transportpce.common.converter.JsonStringConverter; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationAlarmService; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier; import org.slf4j.Logger; diff --git a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationServiceDeserializer.java b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationServiceDeserializer.java index a975d6cff..1a6f996f6 100644 --- a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationServiceDeserializer.java +++ b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationServiceDeserializer.java @@ -11,9 +11,9 @@ import java.nio.charset.StandardCharsets; import java.util.Map; import org.apache.kafka.common.serialization.Deserializer; import org.opendaylight.transportpce.common.converter.JsonStringConverter; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationProcessService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.get.notifications.process.service.output.NotificationsProcessService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.get.notifications.process.service.output.NotificationsProcessServiceBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.get.notifications.process.service.output.NotificationsProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.get.notifications.process.service.output.NotificationsProcessServiceBuilder; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier; import org.slf4j.Logger; diff --git a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationServiceSerializer.java b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationServiceSerializer.java index bb816fb5f..55c9c1c7d 100644 --- a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationServiceSerializer.java +++ b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationServiceSerializer.java @@ -12,7 +12,7 @@ import java.nio.charset.StandardCharsets; import java.util.Map; import org.apache.kafka.common.serialization.Serializer; import org.opendaylight.transportpce.common.converter.JsonStringConverter; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationProcessService; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier; import org.slf4j.Logger; diff --git a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/TapiNotificationDeserializer.java b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/TapiNotificationDeserializer.java index b650491f0..ac08d8369 100644 --- a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/TapiNotificationDeserializer.java +++ b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/TapiNotificationDeserializer.java @@ -12,23 +12,21 @@ import java.util.HashMap; import java.util.Map; import org.apache.kafka.common.serialization.Deserializer; import org.opendaylight.transportpce.common.converter.JsonStringConverter; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationTapiService; -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.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.get.notification.list.output.Notification; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.get.notification.list.output.NotificationBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.AdditionalInfo; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.AdditionalInfoBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.AdditionalInfoKey; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.AlarmInfoBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.ChangedAttributes; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.ChangedAttributesBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.ChangedAttributesKey; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.TargetObjectName; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.TargetObjectNameBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.TargetObjectNameKey; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.TcaInfoBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationTapiService; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.global._class.Name; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.global._class.NameBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.global._class.NameKey; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.get.notification.list.output.Notification; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.get.notification.list.output.NotificationBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.AdditionalInfo; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.AdditionalInfoBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.AdditionalInfoKey; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.ChangedAttributes; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.ChangedAttributesBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.ChangedAttributesKey; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.TargetObjectName; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.TargetObjectNameBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.TargetObjectNameKey; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier; import org.slf4j.Logger; @@ -56,10 +54,10 @@ public class TapiNotificationDeserializer implements Deserializer } String value = new String(data, StandardCharsets.UTF_8); // The message published is - // org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationTapiService + // org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationTapiService // we have to map it to // org.opendaylight.yang.gen.v1 - // .urn.onf.otcc.yang.tapi.notification.rev181210.get.notification.list.output.Notification + // .urn.onf.otcc.yang.tapi.notification.rev221121.get.notification.list.output.Notification NotificationTapiService mappedString = converter.createDataObjectFromJsonString( YangInstanceIdentifier.of(NotificationTapiService.QNAME), value, JSONCodecFactorySupplier.RFC7951); if (mappedString == null) { @@ -73,7 +71,7 @@ public class TapiNotificationDeserializer implements Deserializer LOG.info("Transforming TAPI notification for getNotificationList rpc"); Map addInfoMap = new HashMap<>(); if (mappedString.getAdditionalInfo() != null) { - for (org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.notification.tapi.service.AdditionalInfo + for (org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.notification.tapi.service.AdditionalInfo addInfo:mappedString.getAdditionalInfo().values()) { AdditionalInfo transAddInfo = new AdditionalInfoBuilder() .setValue(addInfo.getValue()) @@ -85,7 +83,7 @@ public class TapiNotificationDeserializer implements Deserializer Map changedAttMap = new HashMap<>(); if (mappedString.getChangedAttributes() != null) { for (org.opendaylight.yang.gen.v1 - .nbi.notifications.rev230726.notification.tapi.service.ChangedAttributes changedAtt:mappedString + .nbi.notifications.rev230728.notification.tapi.service.ChangedAttributes changedAtt:mappedString .getChangedAttributes().values()) { ChangedAttributes transChangedAtt = new ChangedAttributesBuilder(changedAtt).build(); changedAttMap.put(transChangedAtt.key(), transChangedAtt); @@ -101,16 +99,18 @@ public class TapiNotificationDeserializer implements Deserializer Map targetObjNameMap = new HashMap<>(); if (mappedString.getTargetObjectName() != null) { for (org.opendaylight.yang.gen.v1 - .nbi.notifications.rev230726.notification.tapi.service.TargetObjectName + .nbi.notifications.rev230728.notification.tapi.service.TargetObjectName targetObjectName:mappedString.getTargetObjectName().values()) { TargetObjectName transTargetObjName = new TargetObjectNameBuilder(targetObjectName).build(); targetObjNameMap.put(transTargetObjName.key(), transTargetObjName); } } + +// In TAPI 2.4 get-notifcation-list, there is no more alarm-info and Tca-info LOG.info("Notification uuid = {}", mappedString.getUuid().getValue()); return new NotificationBuilder() - .setAlarmInfo(mappedString.getAlarmInfo() == null ? null - : new AlarmInfoBuilder(mappedString.getAlarmInfo()).build()) +// .setAlarmInfo(mappedString.getAlarmInfo() == null ? null +// : new AlarmInfoBuilder(mappedString.getAlarmInfo()).build()) .setAdditionalText(mappedString.getAdditionalText()) .setAdditionalInfo(addInfoMap) .setNotificationType(mappedString.getNotificationType()) @@ -123,8 +123,8 @@ public class TapiNotificationDeserializer implements Deserializer .setTargetObjectIdentifier(mappedString.getTargetObjectIdentifier()) .setTargetObjectName(targetObjNameMap) .setTargetObjectType(mappedString.getTargetObjectType()) - .setTcaInfo(mappedString.getTcaInfo() == null ? null - : new TcaInfoBuilder(mappedString.getTcaInfo()).build()) +// .setTcaInfo(mappedString.getTcaInfo() == null ? null +// : new TcaInfoBuilder(mappedString.getTcaInfo()).build()) .setUuid(mappedString.getUuid()) .build(); } diff --git a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/TapiNotificationSerializer.java b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/TapiNotificationSerializer.java index f2aced4f6..38bcce009 100644 --- a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/TapiNotificationSerializer.java +++ b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/serialization/TapiNotificationSerializer.java @@ -12,7 +12,7 @@ import java.nio.charset.StandardCharsets; import java.util.Map; import org.apache.kafka.common.serialization.Serializer; import org.opendaylight.transportpce.common.converter.JsonStringConverter; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationTapiService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationTapiService; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier; import org.slf4j.Logger; 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 8580482fd..582aaa02d 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 @@ -13,22 +13,20 @@ import java.util.Map; import java.util.Properties; import java.util.function.Function; import java.util.stream.Collectors; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationTapiService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationTapiServiceBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.PublishTapiNotificationService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.notification.tapi.service.AdditionalInfo; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.notification.tapi.service.AdditionalInfoBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.notification.tapi.service.AdditionalInfoKey; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.notification.tapi.service.AlarmInfoBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.notification.tapi.service.ChangedAttributes; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.notification.tapi.service.ChangedAttributesBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.notification.tapi.service.ChangedAttributesKey; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.notification.tapi.service.TargetObjectName; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.notification.tapi.service.TargetObjectNameBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.notification.tapi.service.TargetObjectNameKey; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.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.NameKey; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationTapiService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationTapiServiceBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.PublishTapiNotificationService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.notification.tapi.service.AdditionalInfo; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.notification.tapi.service.AdditionalInfoBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.notification.tapi.service.AdditionalInfoKey; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.notification.tapi.service.ChangedAttributes; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.notification.tapi.service.ChangedAttributesBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.notification.tapi.service.ChangedAttributesKey; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.notification.tapi.service.TargetObjectName; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.notification.tapi.service.TargetObjectNameBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.notification.tapi.service.TargetObjectNameKey; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.global._class.Name; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.global._class.NameKey; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -70,9 +68,9 @@ public final class NbiNotificationsUtils { e -> new TargetObjectNameKey(e.getValueName()), e -> new TargetObjectNameBuilder(e).build())); LOG.info("Notification uuid = {}", notification.getUuid()); + return new NotificationTapiServiceBuilder() - .setAlarmInfo(notification.getAlarmInfo() == null ? null - : new AlarmInfoBuilder(notification.getAlarmInfo()).build()) + .setAlarmInfo(notification.getAlarmInfo()) .setAdditionalText(notification.getAdditionalText()) .setAdditionalInfo(addInfoMap) .setNotificationType(notification.getNotificationType()) @@ -85,8 +83,7 @@ public final class NbiNotificationsUtils { .setTargetObjectIdentifier(notification.getTargetObjectIdentifier()) .setTargetObjectName(targetObjNameMap) .setTargetObjectType(notification.getTargetObjectType()) - .setTcaInfo(notification.getTcaInfo() == null ? null - : new TcaInfoBuilder(notification.getTcaInfo()).build()) + .setTcaInfo(notification.getTcaInfo()) .setUuid(notification.getUuid()) .build(); } diff --git a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/utils/TopicManager.java b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/utils/TopicManager.java index 8933189c5..89dc7cbb3 100644 --- a/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/utils/TopicManager.java +++ b/nbinotifications/src/main/java/org/opendaylight/transportpce/nbinotifications/utils/TopicManager.java @@ -15,9 +15,9 @@ import org.opendaylight.transportpce.nbinotifications.producer.Publisher; import org.opendaylight.transportpce.nbinotifications.serialization.NotificationAlarmServiceSerializer; import org.opendaylight.transportpce.nbinotifications.serialization.NotificationServiceSerializer; import org.opendaylight.transportpce.nbinotifications.serialization.TapiNotificationSerializer; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationProcessService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationTapiService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationTapiService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/consumer/SubscriberTest.java b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/consumer/SubscriberTest.java index e491e961c..af6fdca09 100644 --- a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/consumer/SubscriberTest.java +++ b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/consumer/SubscriberTest.java @@ -23,12 +23,12 @@ import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.opendaylight.transportpce.nbinotifications.utils.NotificationServiceDataUtils; import org.opendaylight.transportpce.test.AbstractTest; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationProcessService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationTapiService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.get.notifications.alarm.service.output.NotificationsAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.get.notifications.process.service.output.NotificationsProcessService; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.get.notification.list.output.Notification; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationTapiService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.get.notifications.alarm.service.output.NotificationsAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.get.notifications.process.service.output.NotificationsProcessService; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.get.notification.list.output.Notification; public class SubscriberTest extends AbstractTest { private static final String TOPIC = "topic"; diff --git a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/impl/NbiNotificationsImplTest.java b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/impl/NbiNotificationsImplTest.java index a6d042aef..21a23225c 100644 --- a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/impl/NbiNotificationsImplTest.java +++ b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/impl/NbiNotificationsImplTest.java @@ -22,17 +22,17 @@ import org.opendaylight.transportpce.nbinotifications.utils.NotificationServiceD import org.opendaylight.transportpce.nbinotifications.utils.TopicManager; import org.opendaylight.transportpce.test.AbstractTest; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.ConnectionType; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.GetNotificationsAlarmServiceInputBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.GetNotificationsAlarmServiceOutput; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.GetNotificationsProcessServiceInputBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.GetNotificationsProcessServiceOutput; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationProcessService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationTapiService; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.CreateNotificationSubscriptionServiceInputBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.CreateNotificationSubscriptionServiceOutput; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetNotificationListInputBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetNotificationListOutput; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.GetNotificationsAlarmServiceInputBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.GetNotificationsAlarmServiceOutput; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.GetNotificationsProcessServiceInputBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.GetNotificationsProcessServiceOutput; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationTapiService; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.CreateNotificationSubscriptionServiceInputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.CreateNotificationSubscriptionServiceOutput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetNotificationListInputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetNotificationListOutput; import org.opendaylight.yangtools.yang.common.RpcResult; public class NbiNotificationsImplTest extends AbstractTest { @@ -104,8 +104,8 @@ public class NbiNotificationsImplTest extends AbstractTest { ListenableFuture> result = nbiNotificationsImpl.createNotificationSubscriptionService(builder.build()); GetNotificationListInputBuilder builder1 = new GetNotificationListInputBuilder() - .setTimePeriod("Time Period") - .setSubscriptionIdOrName(result.get().getResult().getSubscriptionService().getUuid().getValue()); + .setTimeRange(null) + .setSubscriptionId(result.get().getResult().getSubscriptionService().getUuid()); ListenableFuture> result1 = nbiNotificationsImpl.getNotificationList(builder1.build()); assertNull(result1.get().getResult().getNotification(), "Should be null"); diff --git a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/listener/NbiNotificationsHandlerTest.java b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/listener/NbiNotificationsHandlerTest.java index 12be6320d..b79f96456 100644 --- a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/listener/NbiNotificationsHandlerTest.java +++ b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/listener/NbiNotificationsHandlerTest.java @@ -27,15 +27,15 @@ import org.opendaylight.transportpce.nbinotifications.utils.NotificationServiceD import org.opendaylight.transportpce.test.AbstractTest; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.ConnectionType; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationProcessService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationTapiService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.PublishNotificationAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.PublishNotificationAlarmServiceBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.PublishNotificationProcessService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.PublishNotificationProcessServiceBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.PublishTapiNotificationService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.PublishTapiNotificationServiceBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationTapiService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.PublishNotificationAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.PublishNotificationAlarmServiceBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.PublishNotificationProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.PublishNotificationProcessServiceBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.PublishTapiNotificationService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.PublishTapiNotificationServiceBuilder; public class NbiNotificationsHandlerTest extends AbstractTest { @Mock diff --git a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/producer/PublisherTest.java b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/producer/PublisherTest.java index 26d4edd53..566b5d6e0 100644 --- a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/producer/PublisherTest.java +++ b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/producer/PublisherTest.java @@ -33,13 +33,13 @@ import org.opendaylight.transportpce.nbinotifications.serialization.TapiNotifica import org.opendaylight.transportpce.nbinotifications.utils.NotificationServiceDataUtils; import org.opendaylight.transportpce.nbinotifications.utils.TopicManager; import org.opendaylight.transportpce.test.AbstractTest; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationProcessService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationTapiService; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.Uuid; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.CreateNotificationSubscriptionServiceInputBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.create.notification.subscription.service.input.SubscriptionFilter; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.create.notification.subscription.service.input.SubscriptionFilterBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationTapiService; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.Uuid; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.CreateNotificationSubscriptionServiceInputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.create.notification.subscription.service.input.SubscriptionFilter; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.create.notification.subscription.service.input.SubscriptionFilterBuilder; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier; diff --git a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationAlarmServiceDeserializerTest.java b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationAlarmServiceDeserializerTest.java index 78b05c51f..47c6f0a7d 100755 --- a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationAlarmServiceDeserializerTest.java +++ b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationAlarmServiceDeserializerTest.java @@ -17,8 +17,8 @@ import java.util.Map; import org.junit.jupiter.api.Test; import org.opendaylight.transportpce.common.converter.JsonStringConverter; import org.opendaylight.transportpce.test.AbstractTest; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.get.notifications.alarm.service.output.NotificationsAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.get.notifications.alarm.service.output.NotificationsAlarmService; public class NotificationAlarmServiceDeserializerTest extends AbstractTest { diff --git a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationAlarmServiceSerializerTest.java b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationAlarmServiceSerializerTest.java index 6629a462b..91d4e42f9 100755 --- a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationAlarmServiceSerializerTest.java +++ b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationAlarmServiceSerializerTest.java @@ -20,7 +20,7 @@ import org.json.JSONException; import org.junit.jupiter.api.Test; import org.opendaylight.transportpce.common.converter.JsonStringConverter; import org.opendaylight.transportpce.test.AbstractTest; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationAlarmService; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier; import org.skyscreamer.jsonassert.JSONAssert; diff --git a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationServiceDeserializerTest.java b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationServiceDeserializerTest.java index e7fee7161..fc987fb87 100644 --- a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationServiceDeserializerTest.java +++ b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationServiceDeserializerTest.java @@ -17,8 +17,8 @@ import java.util.Map; import org.junit.jupiter.api.Test; import org.opendaylight.transportpce.common.converter.JsonStringConverter; import org.opendaylight.transportpce.test.AbstractTest; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationProcessService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.get.notifications.process.service.output.NotificationsProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.get.notifications.process.service.output.NotificationsProcessService; public class NotificationServiceDeserializerTest extends AbstractTest { diff --git a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationServiceSerializerTest.java b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationServiceSerializerTest.java index 566c7a5b5..b110b1391 100644 --- a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationServiceSerializerTest.java +++ b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationServiceSerializerTest.java @@ -20,7 +20,7 @@ import org.json.JSONException; import org.junit.jupiter.api.Test; import org.opendaylight.transportpce.common.converter.JsonStringConverter; import org.opendaylight.transportpce.test.AbstractTest; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationProcessService; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier; import org.skyscreamer.jsonassert.JSONAssert; diff --git a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationTapiServiceDeserializerTest.java b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationTapiServiceDeserializerTest.java index 3dc4f297d..f134eb93b 100644 --- a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationTapiServiceDeserializerTest.java +++ b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationTapiServiceDeserializerTest.java @@ -17,8 +17,8 @@ import java.util.Map; import org.junit.jupiter.api.Test; import org.opendaylight.transportpce.common.converter.JsonStringConverter; import org.opendaylight.transportpce.test.AbstractTest; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationTapiService; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.get.notification.list.output.Notification; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationTapiService; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.get.notification.list.output.Notification; public class NotificationTapiServiceDeserializerTest extends AbstractTest { diff --git a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationTapiServiceSerializerTest.java b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationTapiServiceSerializerTest.java index 325bef37d..1309c37ec 100644 --- a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationTapiServiceSerializerTest.java +++ b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/serialization/NotificationTapiServiceSerializerTest.java @@ -21,7 +21,7 @@ import org.json.JSONException; import org.junit.jupiter.api.Test; import org.opendaylight.transportpce.common.converter.JsonStringConverter; import org.opendaylight.transportpce.test.AbstractTest; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationTapiService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationTapiService; import org.opendaylight.yangtools.yang.data.api.YangInstanceIdentifier; import org.opendaylight.yangtools.yang.data.codec.gson.JSONCodecFactorySupplier; import org.skyscreamer.jsonassert.JSONAssert; diff --git a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/utils/NotificationServiceDataUtils.java b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/utils/NotificationServiceDataUtils.java index e731b9f18..67e0b9063 100644 --- a/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/utils/NotificationServiceDataUtils.java +++ b/nbinotifications/src/test/java/org/opendaylight/transportpce/nbinotifications/utils/NotificationServiceDataUtils.java @@ -31,42 +31,44 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev2 import org.opendaylight.yang.gen.v1.http.org.openroadm.common.service.types.rev230526.service.port.PortBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.format.rev191129.ServiceFormat; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationProcessService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.NotificationProcessServiceBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.get.notifications.alarm.service.output.NotificationsAlarmService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.get.notifications.alarm.service.output.NotificationsAlarmServiceBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.get.notifications.process.service.output.NotificationsProcessService; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.get.notifications.process.service.output.NotificationsProcessServiceBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.notification.process.service.ServiceAEndBuilder; -import org.opendaylight.yang.gen.v1.nbi.notifications.rev230726.notification.process.service.ServiceZEndBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.AdministrativeState; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.Context; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.ContextBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.DateAndTime; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.LayerProtocolName; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.OperationalState; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.Uuid; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.local._class.Name; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.local._class.NameBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.Context1; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.Context1Builder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.context.ConnectivityContextBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.CreateNotificationSubscriptionServiceInputBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.GetNotificationListInputBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.NotificationType; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.ObjectType; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.SubscriptionState; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.context.NotificationContextBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.create.notification.subscription.service.input.SubscriptionFilter; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.create.notification.subscription.service.input.SubscriptionFilterBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.get.notification.list.output.Notification; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.get.notification.list.output.NotificationBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.ChangedAttributes; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.ChangedAttributesBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.TargetObjectName; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.notification.TargetObjectNameBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.context.TopologyContextBuilder; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.context.NwTopologyServiceBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.NotificationProcessServiceBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.get.notifications.alarm.service.output.NotificationsAlarmService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.get.notifications.alarm.service.output.NotificationsAlarmServiceBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.get.notifications.process.service.output.NotificationsProcessService; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.get.notifications.process.service.output.NotificationsProcessServiceBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.notification.process.service.ServiceAEndBuilder; +import org.opendaylight.yang.gen.v1.nbi.notifications.rev230728.notification.process.service.ServiceZEndBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.AdministrativeState; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.Context; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.ContextBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.DateAndTime; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.LayerProtocolName; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.OBJECTTYPETAPICONTEXT; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.OperationalState; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.Uuid; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.local._class.Name; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.local._class.NameBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.Context1; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.Context1Builder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.context.ConnectivityContextBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.CreateNotificationSubscriptionServiceInputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.GetNotificationListInputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.NOTIFICATIONTYPEATTRIBUTEVALUECHANGE; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.NOTIFICATIONTYPEOBJECTCREATION; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.NOTIFICATIONTYPEOBJECTDELETION; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.SubscriptionState; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.context.NotificationContextBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.create.notification.subscription.service.input.SubscriptionFilter; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.create.notification.subscription.service.input.SubscriptionFilterBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.get.notification.list.output.Notification; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.get.notification.list.output.NotificationBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.ChangedAttributes; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.ChangedAttributesBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.TargetObjectName; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.TargetObjectNameBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.context.TopologyContextBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.topology.context.NwTopologyServiceBuilder; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.opendaylight.yangtools.yang.common.Uint32; import org.opendaylight.yangtools.yang.common.Uint8; @@ -133,9 +135,9 @@ public final class NotificationServiceDataUtils { .setNewValue(OperationalState.ENABLED.getName()) .build(); return new NotificationBuilder() - .setNotificationType(NotificationType.ATTRIBUTEVALUECHANGE) + .setNotificationType(NOTIFICATIONTYPEATTRIBUTEVALUECHANGE.VALUE) .setLayerProtocolName(LayerProtocolName.ETH) - .setTargetObjectType(ObjectType.CONNECTIVITYSERVICE) + .setTargetObjectType(OBJECTTYPETAPICONTEXT.VALUE) .setEventTimeStamp(datetime) .setUuid(new Uuid(UUID.randomUUID().toString())) .setTargetObjectIdentifier(targetObjectId) @@ -171,8 +173,9 @@ public final class NotificationServiceDataUtils { .setValueName("Subscription name") .build(); SubscriptionFilter subscriptionFilter = new SubscriptionFilterBuilder() - .setRequestedObjectTypes(new HashSet<>(List.of(ObjectType.CONNECTIVITYSERVICE))) - .setRequestedNotificationTypes(new HashSet<>(List.of(NotificationType.ALARMEVENT))) + .setRequestedObjectTypes(new HashSet<>(List.of(OBJECTTYPETAPICONTEXT.VALUE))) + .setRequestedNotificationTypes(new HashSet<>(List.of(NOTIFICATIONTYPEATTRIBUTEVALUECHANGE.VALUE, + NOTIFICATIONTYPEOBJECTCREATION.VALUE, NOTIFICATIONTYPEOBJECTDELETION.VALUE))) .setRequestedLayerProtocols(new HashSet<>(List.of(LayerProtocolName.ETH))) .setRequestedObjectIdentifier(new HashSet<>(List.of(new Uuid(UUID.randomUUID().toString())))) .setIncludeContent(true) @@ -229,8 +232,8 @@ public final class NotificationServiceDataUtils { public static void createTapiContext( NetworkTransactionService networkTransactionService) throws ExecutionException, InterruptedException { // Augmenting tapi context to include topology and connectivity contexts - org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.global._class.Name contextName - = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.global._class.NameBuilder() + org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.global._class.Name contextName + = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.global._class.NameBuilder() .setValue(TAPI_CONTEXT).setValueName("TAPI Context Name").build(); Context1 connectivityContext = @@ -242,14 +245,14 @@ public final class NotificationServiceDataUtils { .build()) .build(); - org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.global._class.Name nwTopoServiceName = - new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.global._class.NameBuilder() + org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.global._class.Name nwTopoServiceName = + new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.global._class.NameBuilder() .setValue("Network Topo Service") .setValueName("Network Topo Service Name") .build(); - org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.Context1 topologyContext - = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.Context1Builder() + org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.Context1 topologyContext + = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.Context1Builder() .setTopologyContext(new TopologyContextBuilder() .setNwTopologyService(new NwTopologyServiceBuilder() .setTopology(new HashMap<>()) @@ -263,8 +266,8 @@ public final class NotificationServiceDataUtils { .build()) .build(); - org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.Context1 notificationContext - = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev181210.Context1Builder() + org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.Context1 notificationContext + = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.Context1Builder() .setNotificationContext(new NotificationContextBuilder() .setNotification(new HashMap<>()) .setNotifSubscription(new HashMap<>()) @@ -289,7 +292,7 @@ public final class NotificationServiceDataUtils { public static GetNotificationListInputBuilder buildGetNotificationListInputBuilder(String subscriptionUuid) { return new GetNotificationListInputBuilder() - .setSubscriptionIdOrName(subscriptionUuid) - .setTimePeriod("some string"); + .setSubscriptionId(new Uuid(UUID.fromString(subscriptionUuid).toString())) + .setTimeRange(null); } } diff --git a/tapi/src/main/java/org/opendaylight/transportpce/tapi/connectivity/TapiConnectivityImpl.java b/tapi/src/main/java/org/opendaylight/transportpce/tapi/connectivity/TapiConnectivityImpl.java index 320ae6f88..d29513049 100644 --- a/tapi/src/main/java/org/opendaylight/transportpce/tapi/connectivity/TapiConnectivityImpl.java +++ b/tapi/src/main/java/org/opendaylight/transportpce/tapi/connectivity/TapiConnectivityImpl.java @@ -46,25 +46,32 @@ import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.glob import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.global._class.NameKey; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.tapi.context.ServiceInterfacePoint; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.tapi.context.ServiceInterfacePointKey; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.CreateConnectivityService; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.CreateConnectivityServiceInput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.CreateConnectivityServiceOutput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.CreateConnectivityServiceOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.DeleteConnectivityService; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.DeleteConnectivityServiceInput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.DeleteConnectivityServiceOutput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.DeleteConnectivityServiceOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.GetConnectionDetails; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.GetConnectionDetailsInput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.GetConnectionDetailsOutput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.GetConnectionDetailsOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.GetConnectionEndPointDetails; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.GetConnectionEndPointDetailsInput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.GetConnectionEndPointDetailsOutput; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.GetConnectivityServiceDetails; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.GetConnectivityServiceDetailsInput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.GetConnectivityServiceDetailsOutput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.GetConnectivityServiceDetailsOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.GetConnectivityServiceList; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.GetConnectivityServiceListInput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.GetConnectivityServiceListOutput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.GetConnectivityServiceListOutputBuilder; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.ServiceType; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.TapiConnectivityService; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.UpdateConnectivityService; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.UpdateConnectivityServiceInput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.UpdateConnectivityServiceOutput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.connectivity.context.Connection; diff --git a/tapi/src/main/java/org/opendaylight/transportpce/tapi/impl/TapiProvider.java b/tapi/src/main/java/org/opendaylight/transportpce/tapi/impl/TapiProvider.java index b4a7b51d0..b1bddf85c 100644 --- a/tapi/src/main/java/org/opendaylight/transportpce/tapi/impl/TapiProvider.java +++ b/tapi/src/main/java/org/opendaylight/transportpce/tapi/impl/TapiProvider.java @@ -39,7 +39,6 @@ import org.opendaylight.transportpce.tapi.utils.TapiLinkImpl; import org.opendaylight.transportpce.tapi.utils.TapiListener; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220922.Network; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.portmapping.rev220922.network.Nodes; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev230728.TransportpceTapinetworkutilsService; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.OrgOpenroadmServiceService; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId; import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks; @@ -115,8 +114,8 @@ public class TapiProvider { TapiRendererNotificationHandler rendererListenerImpl = new TapiRendererNotificationHandler(dataBroker, notificationPublishService); - TapiConnectivityImpl tapi = new TapiConnectivityImpl(this.serviceHandler, tapiContext, connectivityUtils, - pceListenerImpl, rendererListenerImpl, networkTransactionService); + new TapiConnectivityImpl(this.serviceHandler, tapiContext, connectivityUtils, pceListenerImpl, + rendererListenerImpl, networkTransactionService); TapiTopologyImpl topo = new TapiTopologyImpl(this.dataBroker, tapiContext, topologyUtils, tapiLink); rpcRegistrations.add(rpcProviderService.registerRpcImplementations(topo.registerRPCs())); diff --git a/tapi/src/main/java/org/opendaylight/transportpce/tapi/listeners/TapiNetworkModelNotificationHandler.java b/tapi/src/main/java/org/opendaylight/transportpce/tapi/listeners/TapiNetworkModelNotificationHandler.java index 3800db84d..c2e0af056 100644 --- a/tapi/src/main/java/org/opendaylight/transportpce/tapi/listeners/TapiNetworkModelNotificationHandler.java +++ b/tapi/src/main/java/org/opendaylight/transportpce/tapi/listeners/TapiNetworkModelNotificationHandler.java @@ -53,7 +53,6 @@ import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev22112 import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.NOTIFICATIONTYPEATTRIBUTEVALUECHANGE; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.NameAndValueChange; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.Notification; -import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.TapiNotificationListener; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.ChangedAttributes; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.ChangedAttributesBuilder; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.notification.rev221121.notification.ChangedAttributesKey; @@ -124,7 +123,6 @@ public class TapiNetworkModelNotificationHandler { } } - @Override public void onEventNotification(EventNotification notification) { LOG.info("Received network model notification {}", notification); //TODO: see if implementation needed as this is declared as obsolete diff --git a/tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/TapiNetworkUtilsImpl.java b/tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/TapiNetworkUtilsImpl.java index 5a16bab26..5b3b87da3 100644 --- a/tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/TapiNetworkUtilsImpl.java +++ b/tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/TapiNetworkUtilsImpl.java @@ -19,12 +19,15 @@ import org.opendaylight.mdsal.common.api.LogicalDatastoreType; import org.opendaylight.transportpce.common.network.NetworkTransactionService; import org.opendaylight.transportpce.tapi.TapiStringConstants; import org.opendaylight.transportpce.tapi.utils.TapiLink; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev230728.DeleteTapiLink; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev230728.DeleteTapiLinkInput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev230728.DeleteTapiLinkOutput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev230728.DeleteTapiLinkOutputBuilder; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev230728.InitRoadmRoadmTapiLink; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev230728.InitRoadmRoadmTapiLinkInput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev230728.InitRoadmRoadmTapiLinkOutput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev230728.InitRoadmRoadmTapiLinkOutputBuilder; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev230728.InitXpdrRdmTapiLink; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev230728.InitXpdrRdmTapiLinkInput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev230728.InitXpdrRdmTapiLinkOutput; import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.tapinetworkutils.rev230728.InitXpdrRdmTapiLinkOutputBuilder; diff --git a/tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/TapiTopologyImpl.java b/tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/TapiTopologyImpl.java index 8bba4dfc1..cff1608f7 100644 --- a/tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/TapiTopologyImpl.java +++ b/tapi/src/main/java/org/opendaylight/transportpce/tapi/topology/TapiTopologyImpl.java @@ -51,9 +51,11 @@ import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.top import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPoint; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.AdministrativeState; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.Context; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.GetServiceInterfacePointDetails; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.GetServiceInterfacePointDetailsInput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.GetServiceInterfacePointDetailsOutput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.GetServiceInterfacePointDetailsOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.GetServiceInterfacePointList; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.GetServiceInterfacePointListInput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.GetServiceInterfacePointListOutput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.GetServiceInterfacePointListOutputBuilder; @@ -61,6 +63,7 @@ import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.Laye import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.LifecycleState; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.OperationalState; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.TapiCommonService; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.UpdateServiceInterfacePoint; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.UpdateServiceInterfacePointInput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.UpdateServiceInterfacePointOutput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.Uuid; @@ -74,18 +77,23 @@ import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.tapi import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev221121.tapi.context.ServiceInterfacePointKey; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.Context1; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.FORWARDINGRULEMAYFORWARDACROSSGROUP; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetLinkDetails; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetLinkDetailsInput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetLinkDetailsOutput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetLinkDetailsOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetNodeDetails; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetNodeDetailsInput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetNodeDetailsOutput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetNodeDetailsOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetNodeEdgePointDetails; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetNodeEdgePointDetailsInput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetNodeEdgePointDetailsOutput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetNodeEdgePointDetailsOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetTopologyDetails; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetTopologyDetailsInput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetTopologyDetailsOutput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetTopologyDetailsOutputBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetTopologyList; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetTopologyListInput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetTopologyListOutput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.GetTopologyListOutputBuilder; @@ -229,12 +237,12 @@ public class TapiTopologyImpl implements TapiTopologyService, TapiCommonService GetNodeEdgePointDetailsInput input) { // TODO Auto-generated method stub // TODO -> maybe we get errors when having CEPs? - Uuid topoUuid = getUuidFromIput(input.getTopologyIdOrName()); + Uuid topoUuid = input.getTopologyId(); // Node id: if roadm -> ROADMid+PHOTONIC_MEDIA. if xpdr -> XPDRid-XPDRnbr+DSR/OTSi - Uuid nodeUuid = getUuidFromIput(input.getNodeIdOrName()); + Uuid nodeUuid = input.getNodeId(); // NEP id: if roadm -> ROADMid+PHOTONIC_MEDIA/MC/OTSiMC+TPid. // if xpdr -> XPDRid-XPDRnbr+DSR/eODU/iODU/iOTSi/eOTSi/PHOTONIC_MEDIA+TPid - Uuid nepUuid = getUuidFromIput(input.getEpIdOrName()); + Uuid nepUuid = input.getNodeEdgePointId(); OwnedNodeEdgePoint nep = this.tapiContext.getTapiNEP(topoUuid, nodeUuid, nepUuid); if (nep == null) { LOG.error("Invalid TAPI nep name"); @@ -242,30 +250,26 @@ public class TapiTopologyImpl implements TapiTopologyService, TapiCommonService .withError(ErrorType.RPC, "Invalid NEP name") .buildFuture(); } - return RpcResultBuilder - .success(new GetNodeEdgePointDetailsOutputBuilder() - .setNodeEdgePoint(new NodeEdgePointBuilder(nep).build()) - .build()) - .buildFuture(); + return RpcResultBuilder.success(new GetNodeEdgePointDetailsOutputBuilder() + .setNodeEdgePoint(new NodeEdgePointBuilder(nep).build()).build()).buildFuture(); } @Override public ListenableFuture> getLinkDetails(GetLinkDetailsInput input) { // TODO Auto-generated method stub - Uuid topoUuid = getUuidFromIput(input.getTopologyIdOrName()); + Uuid topoUuid = input.getTopologyId(); // Link id: same as OR link id - Uuid linkUuid = getUuidFromIput(input.getLinkIdOrName()); - org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.Link link = - this.tapiContext.getTapiLink(topoUuid, linkUuid); + Uuid linkUuid = input.getLinkId(); + org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.topology.Link link = this.tapiContext + .getTapiLink(topoUuid, linkUuid); if (link == null) { LOG.error("Invalid TAPI link name"); return RpcResultBuilder.failed() .withError(ErrorType.RPC, "Invalid Link name") .buildFuture(); } - return RpcResultBuilder - .success(new GetLinkDetailsOutputBuilder().setLink(new LinkBuilder(link).build()).build()) - .buildFuture(); + return RpcResultBuilder.success(new GetLinkDetailsOutputBuilder().setLink(new LinkBuilder(link).build()) + .build()).buildFuture(); } @Override @@ -273,7 +277,7 @@ public class TapiTopologyImpl implements TapiTopologyService, TapiCommonService // TODO Auto-generated method stub // TODO -> maybe we get errors when having CEPs? Map + org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.topology.context.Topology> topologyMap = this.tapiContext.getTopologyContext(); if (topologyMap.isEmpty()) { LOG.error("No topologies exist in tapi context"); @@ -281,25 +285,24 @@ public class TapiTopologyImpl implements TapiTopologyService, TapiCommonService .withError(ErrorType.APPLICATION, "No topologies exist in tapi context") .buildFuture(); } - Map + Map newTopoMap = new HashMap<>(); - for (org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.context.Topology + for (org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.topology.context.Topology topo:topologyMap.values()) { - org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.get.topology.list.output.Topology + org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.get.topology.list.output.Topology newTopo = new org.opendaylight.yang.gen.v1.urn - .onf.otcc.yang.tapi.topology.rev181210.get.topology.list.output.TopologyBuilder(topo).build(); + .onf.otcc.yang.tapi.topology.rev221121.get.topology.list.output.TopologyBuilder(topo).build(); newTopoMap.put(newTopo.key(), newTopo); } - return RpcResultBuilder - .success(new GetTopologyListOutputBuilder().setTopology(newTopoMap).build()) - .buildFuture(); + return RpcResultBuilder.success(new GetTopologyListOutputBuilder().setTopology(newTopoMap).build()) + .buildFuture(); } @Override public ListenableFuture> getServiceInterfacePointDetails(GetServiceInterfacePointDetailsInput input) { - Uuid sipUuid = getUuidFromIput(input.getSipIdOrName()); + Uuid sipUuid = input.getUuid(); Map sips = this.tapiContext.getTapiContext().getServiceInterfacePoint(); if (sips == null || sips.isEmpty()) { @@ -312,11 +315,13 @@ public class TapiTopologyImpl implements TapiTopologyService, TapiCommonService .withError(ErrorType.RPC, "Sip doesnt exist in datastore") .buildFuture(); } - var outSip = new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210 - .get.service._interface.point.details.output.SipBuilder(sips.get(new ServiceInterfacePointKey(sipUuid))) - .build(); - return RpcResultBuilder - .success(new GetServiceInterfacePointDetailsOutputBuilder().setSip(outSip).build()) + org.opendaylight.yang.gen.v1.urn + .onf.otcc.yang.tapi.common.rev221121.get.service._interface.point.details.output.Sip outSip = + new org.opendaylight.yang.gen.v1.urn + .onf.otcc.yang.tapi.common.rev221121.get.service._interface.point.details.output.SipBuilder( + sips.get(new ServiceInterfacePointKey(sipUuid))) + .build(); + return RpcResultBuilder.success(new GetServiceInterfacePointDetailsOutputBuilder().setSip(outSip).build()) .buildFuture(); } @@ -471,73 +476,6 @@ public class TapiTopologyImpl implements TapiTopologyService, TapiCommonService .setLink(tapiLinkList).build(); } - @Override - public ListenableFuture> getNodeEdgePointDetails( - GetNodeEdgePointDetailsInput input) { - // TODO Auto-generated method stub - // TODO -> maybe we get errors when having CEPs? - Uuid topoUuid = input.getTopologyId(); - // Node id: if roadm -> ROADMid+PHOTONIC_MEDIA. if xpdr -> XPDRid-XPDRnbr+DSR/OTSi - Uuid nodeUuid = input.getNodeId(); - // NEP id: if roadm -> ROADMid+PHOTONIC_MEDIA/MC/OTSiMC+TPid. - // if xpdr -> XPDRid-XPDRnbr+DSR/eODU/iODU/iOTSi/eOTSi/PHOTONIC_MEDIA+TPid - Uuid nepUuid = input.getNodeEdgePointId(); - OwnedNodeEdgePoint nep = this.tapiContext.getTapiNEP(topoUuid, nodeUuid, nepUuid); - if (nep == null) { - LOG.error("Invalid TAPI nep name"); - return RpcResultBuilder.failed() - .withError(ErrorType.RPC, "Invalid NEP name") - .buildFuture(); - } - return RpcResultBuilder.success(new GetNodeEdgePointDetailsOutputBuilder() - .setNodeEdgePoint(new NodeEdgePointBuilder(nep).build()).build()).buildFuture(); - } - - @Override - public ListenableFuture> getLinkDetails(GetLinkDetailsInput input) { - // TODO Auto-generated method stub - Uuid topoUuid = input.getTopologyId(); - // Link id: same as OR link id - Uuid linkUuid = input.getLinkId(); - org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.topology.Link link = this.tapiContext - .getTapiLink(topoUuid, linkUuid); - if (link == null) { - LOG.error("Invalid TAPI link name"); - return RpcResultBuilder.failed() - .withError(ErrorType.RPC, "Invalid Link name") - .buildFuture(); - } - return RpcResultBuilder.success(new GetLinkDetailsOutputBuilder().setLink(new LinkBuilder(link).build()) - .build()).buildFuture(); - } - - @Override - public ListenableFuture> getTopologyList(GetTopologyListInput input) { - // TODO Auto-generated method stub - // TODO -> maybe we get errors when having CEPs? - Map - topologyMap = this.tapiContext.getTopologyContext(); - if (topologyMap.isEmpty()) { - LOG.error("No topologies exist in tapi context"); - return RpcResultBuilder.failed() - .withError(ErrorType.APPLICATION, "No topologies exist in tapi context") - .buildFuture(); - } - Map - newTopoMap = new HashMap<>(); - for (org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.topology.context.Topology - topo:topologyMap.values()) { - org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.get.topology.list.output.Topology - newTopo = new org.opendaylight.yang.gen.v1.urn - .onf.otcc.yang.tapi.topology.rev221121.get.topology.list.output.TopologyBuilder(topo).build(); - newTopoMap.put(newTopo.key(), newTopo); - } - return RpcResultBuilder.success(new GetTopologyListOutputBuilder().setTopology(newTopoMap).build()) - .buildFuture(); - } - private org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev221121.topology.Node createTapiNode(List nepList, Uuid topoUuid) { Name name = new NameBuilder().setValueName("Tpdr100g node name").setValue("Tpdr100g over WDM node").build(); @@ -656,56 +594,4 @@ public class TapiTopologyImpl implements TapiTopologyService, TapiCommonService return nodeRuleGroupMap; } - @Override - public ListenableFuture> - getServiceInterfacePointDetails(GetServiceInterfacePointDetailsInput input) { - Uuid sipUuid = input.getUuid(); - Map sips = - this.tapiContext.getTapiContext().getServiceInterfacePoint(); - if (sips == null || sips.isEmpty()) { - return RpcResultBuilder.failed() - .withError(ErrorType.RPC, "No sips in datastore") - .buildFuture(); - } - if (!sips.containsKey(new ServiceInterfacePointKey(sipUuid))) { - return RpcResultBuilder.failed() - .withError(ErrorType.RPC, "Sip doesnt exist in datastore") - .buildFuture(); - } - org.opendaylight.yang.gen.v1.urn - .onf.otcc.yang.tapi.common.rev221121.get.service._interface.point.details.output.Sip outSip = - new org.opendaylight.yang.gen.v1.urn - .onf.otcc.yang.tapi.common.rev221121.get.service._interface.point.details.output.SipBuilder( - sips.get(new ServiceInterfacePointKey(sipUuid))) - .build(); - return RpcResultBuilder.success(new GetServiceInterfacePointDetailsOutputBuilder().setSip(outSip).build()) - .buildFuture(); - } - - @Override - public ListenableFuture> - getServiceInterfacePointList(GetServiceInterfacePointListInput input) { - Map sips = - this.tapiContext.getTapiContext().getServiceInterfacePoint(); - if (sips == null || sips.isEmpty()) { - return RpcResultBuilder.failed() - .withError(ErrorType.RPC, "No sips in datastore") - .buildFuture(); - } - Map outSipMap = new HashMap<>(); - for (ServiceInterfacePoint sip : sips.values()) { - Sip si = new SipBuilder(sip).build(); - outSipMap.put(si.key(), si); - } - return RpcResultBuilder.success(new GetServiceInterfacePointListOutputBuilder().setSip(outSipMap).build()) - .buildFuture(); - } - - @Override - public ListenableFuture> - updateServiceInterfacePoint(UpdateServiceInterfacePointInput input) { - // TODO --> not yet implemented - return null; - } - } diff --git a/tapi/src/test/java/org/opendaylight/transportpce/tapi/connectivity/TapiConnectivityImplTest.java b/tapi/src/test/java/org/opendaylight/transportpce/tapi/connectivity/TapiConnectivityImplTest.java index e5c6aa68f..687b33bd7 100644 --- a/tapi/src/test/java/org/opendaylight/transportpce/tapi/connectivity/TapiConnectivityImplTest.java +++ b/tapi/src/test/java/org/opendaylight/transportpce/tapi/connectivity/TapiConnectivityImplTest.java @@ -50,6 +50,7 @@ import org.opendaylight.transportpce.tapi.utils.TapiLink; import org.opendaylight.transportpce.tapi.utils.TapiLinkImpl; import org.opendaylight.transportpce.tapi.utils.TapiTopologyDataUtils; import org.opendaylight.transportpce.test.AbstractTest; +import org.opendaylight.transportpce.test.utils.TopologyDataUtils; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.OrgOpenroadmServiceService; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev230526.ServiceCreateInput; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev221121.CreateConnectivityServiceInput;