changing activation service logic to use presto-api module 16/41216/2
authorBartosz Michalik <bartosz.michalik@amartus.com>
Fri, 1 Jul 2016 15:07:41 +0000 (17:07 +0200)
committerBartosz Michalik <bartosz.michalik@amartus.com>
Mon, 4 Jul 2016 13:12:59 +0000 (15:12 +0200)
Change-Id: I6ca51eebf1584fc7c7dd0813e84f60b8b39c8f7f
Signed-off-by: Bartosz Michalik <bartosz.michalik@amartus.com>
39 files changed:
api/src/main/yang/CoreModel-CoreFoundationModule-StateModel.yang [deleted file]
api/src/main/yang/CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages.yang [deleted file]
api/src/main/yang/CoreModel-CoreFoundationModule-TypeDefinitions.yang [deleted file]
api/src/main/yang/CoreModel-CoreModelEnhancements-FcSwitchEnhancements_Developed.yang [deleted file]
api/src/main/yang/CoreModel-CoreModelEnhancements-InformationArchitectureAndPatterns.yang [deleted file]
api/src/main/yang/CoreModel-CoreModelEnhancements-InterViewRelationships_Sketch.yang [deleted file]
api/src/main/yang/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule.yang [deleted file]
api/src/main/yang/CoreModel-CoreModelEnhancements-ViewAbstractionRule_Sketch.yang [deleted file]
api/src/main/yang/CoreModel-CoreNetworkModule-ObjectClasses.yang [deleted file]
api/src/main/yang/CoreModel-CoreNetworkModule-TypeDefinitions.yang [deleted file]
api/src/main/yang/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage.yang [deleted file]
api/src/main/yang/NRP_Interface-ObjectClasses-NRP_SpecPackage.yang [deleted file]
api/src/main/yang/NRP_Interface-ObjectClasses-TopologyPacs.yang [deleted file]
api/src/main/yang/NRP_Interface-TypeDefinitions-NRP_Types.yang [deleted file]
api/src/main/yang/NRP_Interface-TypeDefinitions-TopologyPacs.yang [deleted file]
api/src/main/yang/NRP_Interface-TypeDefinitions.yang [deleted file]
api/src/main/yang/NetworkResource-Main-ObjectClasses.yang [deleted file]
cisco-xr-driver/src/main/java/org/opendaylight/unimgr/mef/nrp/cisco/xr/L2vpnBridgeActivator.java
cisco-xr-driver/src/main/java/org/opendaylight/unimgr/mef/nrp/cisco/xr/L2vpnBridgeDriverBuilder.java
cisco-xr-driver/src/main/java/org/opendaylight/unimgr/mef/nrp/cisco/xr/L2vpnXconnectActivator.java
cisco-xr-driver/src/main/java/org/opendaylight/unimgr/mef/nrp/cisco/xr/L2vpnXconnectDriverBuilder.java
edgeassure-1000/src/main/java/org/opendaylight/unimgr/mef/nrp/edgeassure/EdgeAssureActivator.java
edgeassure-1000/src/main/java/org/opendaylight/unimgr/mef/nrp/edgeassure/EdgeAssureDriverBuilder.java
features/pom.xml
features/src/main/features/features.xml
impl/pom.xml
impl/src/main/java/org/opendaylight/unimgr/impl/ForwardingConstructActivatorService.java [moved from impl/src/main/java/org/opendaylight/unimgr/impl/FcRouteActivatorService.java with 66% similarity]
impl/src/main/java/org/opendaylight/unimgr/impl/ForwardingConstructChangeListener.java [moved from impl/src/main/java/org/opendaylight/unimgr/impl/FcRouteChangeListener.java with 67% similarity]
impl/src/main/java/org/opendaylight/unimgr/mef/nrp/api/ActivationDriver.java
impl/src/main/java/org/opendaylight/unimgr/mef/nrp/api/ActivationDriverBuilder.java
impl/src/main/java/org/opendaylight/unimgr/mef/nrp/api/ActivationDriverRepoService.java
impl/src/main/java/org/opendaylight/unimgr/mef/nrp/common/ResourceActivator.java
impl/src/main/java/org/opendaylight/unimgr/mef/nrp/impl/ActivationDriverRepoServiceImpl.java
impl/src/main/java/org/opendaylight/unimgr/mef/nrp/impl/DummyActivationDriver.java [deleted file]
impl/src/main/java/org/opendaylight/unimgr/mef/nrp/impl/ForwardingConstructHelper.java [deleted file]
impl/src/main/resources/org/opendaylight/blueprint/unimgr.xml
impl/src/test/java/org/opendaylight/unimgr/impl/FcRouteActivatorServiceTest.java
impl/src/test/java/org/opendaylight/unimgr/mef/nrp/impl/ActivationDriverRepoServiceImplTest.java
impl/src/test/java/org/opendaylight/unimgr/utils/ActivationDriverMocks.java

diff --git a/api/src/main/yang/CoreModel-CoreFoundationModule-StateModel.yang b/api/src/main/yang/CoreModel-CoreFoundationModule-StateModel.yang
deleted file mode 100644 (file)
index 88cb9c0..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-module CoreModel-CoreFoundationModule-StateModel {
-    namespace "uri:onf:CoreModel-CoreFoundationModule-StateModel";
-    prefix CoreModel-CoreFoundationModule-StateModel;
-    revision 2016-04-13{}
-    grouping G_State_Pac {
-        status current;
-        leaf operationalState {
-            type OperationalState;
-            config false;
-            description "The operational state is used to indicate whether or not the resource is installed and working";
-        }
-        leaf administrativeControl {
-            type AdministrativeControl;
-            description "The administrativeControl state provides control of the availability of specific resources without modification to the provisioning of those resources.
-The value is the current control target. The actual administrativeState may or may not be at target.";
-        }
-        leaf adminsatratveState {
-            type AdministrativeState;
-            config false;
-            description "Shows whether or not the client has permission to use or has a prohibition against using the resource.
-The administrative state expresses usage permissions for specific resources without modification to the provisioning of those resources.";
-        }
-        leaf lifecycleState {
-            type LifecycleState;
-            description "Used to track the planned deployment, allocation to clients and withdrawal of resources. ";
-        }
-    }
-    typedef OperationalState {
-        status current;
-        type enumeration {
-            enum DISABLED;
-            enum ENABLED;
-        }
-    }
-    typedef AdministrativeState {
-        status current;
-        type enumeration {
-            enum LOCKED;
-            enum UNLOCKED;
-        }
-    }
-    typedef AdministrativeControl {
-        status deprecated;
-        type enumeration {
-            enum UNLOCK;
-            enum LOCK_PASSIVE;
-            enum LOCK_ACTIVE;
-            enum LOCK_IMMEDIATE;
-        }
-    }
-    typedef ExtendedAdminState {
-        status deprecated;
-        type enumeration {
-            enum LOCKED;
-            enum UNLOCKED;
-            enum SHUTTING_DOWN_ACTIVE;
-            enum SHUTTING_DOWN_PASSIVE;
-        }
-    }
-    typedef LifecycleState {
-        status deprecated;
-        type enumeration {
-            enum PLANNED;
-            enum POTENTIAL;
-            enum INSTALLED;
-            enum PENDING_REMOVAL;
-        }
-    }
-}
diff --git a/api/src/main/yang/CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages.yang b/api/src/main/yang/CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages.yang
deleted file mode 100644 (file)
index cc54739..0000000
+++ /dev/null
@@ -1,129 +0,0 @@
-module CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages {
-    namespace "uri:onf:CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages";
-    prefix CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages;
-    import CoreModel-CoreFoundationModule-StateModel {
-        prefix CoreModel-CoreFoundationModule-StateModel;
-    }
-    revision 2016-04-13{}
-    grouping G_Name {
-        list nameList {
-            description "List of names.";
-            key 'theValue';
-            config true;
-            ordered-by system;
-            uses G_NameAndValue;
-            min-elements 1;
-        }
-    }
-    list GlobalClass {
-        key 'uuid';
-        config true;
-        ordered-by system;
-        uses G_GlobalClass;
-    }
-    grouping G_GlobalClass {
-        uses G_Name;
-        uses G_Label;
-        uses G_Extension;
-        uses CoreModel-CoreFoundationModule-StateModel:G_State_Pac;
-        list localIdList {
-            description "An identifier that is unique in the context of some scope that is less than the global scope.
-
-(consider in the context of Identifier: A property of an entity/role with a value that is unique within an identifier space, where the identifier space is itself unique, and immutable. The identifier therefore represents the identity of the entity/role. An identifier carries no semantics with respect to the purpose of the entity.)";
-            key 'theValue';
-            config true;
-            ordered-by system;
-            uses G_NameAndValue;
-        }
-        leaf uuid {
-            type UniversalId;
-            description "UUID: An identifier that is universally unique
-
-(consider in the context of Identifier: A property of an entity/role with a value that is unique within an identifier space, where the identifier space is itself globally unique, and immutable. An identifier carries no semantics with respect to the purpose or state of the entity)";
-        }
-    }
-    grouping G_LocalClass {
-        uses G_Name;
-        uses G_Label;
-        uses G_Extension;
-        uses CoreModel-CoreFoundationModule-StateModel:G_State_Pac;
-        list localIdList {
-            description "An identifier that is unique in the context of some scope that is less than the global scope.
-
-(consider in the context of Identifier: A property of an entity/role with a value that is unique within an identifier space, where the identifier space is itself unique, and immutable. The identifier therefore represents the identity of the entity/role. An identifier carries no semantics with respect to the purpose of the entity.)";
-            key 'theValue';
-            config true;
-            ordered-by system;
-            uses G_NameAndValue;
-            min-elements 1;
-        }
-    }
-    grouping G_Label {
-        list labelList {
-            description "List of labels.";
-            key 'theValue';
-            config true;
-            ordered-by system;
-            uses G_NameAndValue;
-        }
-    }
-    grouping G_Extension {
-        list extensionList {
-            description "List of simple name-value extentions";
-            key 'theValue';
-            config true;
-            ordered-by system;
-            uses G_NameAndValue;
-        }
-    }
-    grouping G_UniversalIdAuthority {
-        status current;
-        leaf uuid {
-            type UniversalId;
-            description "The UUID for the UUID authority.";
-        }
-    }
-    list NameAndValueAuthority {
-        key 'uuid';
-        config true;
-        ordered-by system;
-        uses G_NameAndValueAuthority;
-    }
-    grouping G_NameAndValueAuthority {
-        status current;
-        leaf uuid {
-            type UniversalId;
-            description "The UUID for the NameValueAuthority.";
-        }
-    }
-    grouping G_ConditionalPackage {
-        status deprecated;
-        uses G_Extension;
-        uses G_Label;
-    }
-    grouping G_NameAndValue {
-        leaf valueName {
-            type string;
-            description "The name of the value. The value need not have a name.";
-        }
-        leaf theValue {
-            type string;
-            description "The value";
-        }
-        leaf _nameAndValueAuthorityRef {
-            type leafref {
-                path '/CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:NameAndValueAuthority/CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:uuid';
-            }
-            description "The authority that defines the named value.";
-        }
-        leaf _globalClassRef {
-            type leafref {
-                path '/CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:GlobalClass/CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:uuid';
-            }
-            description "The scope of the name uniqueness";
-        }
-    }
-    typedef UniversalId {
-        type string;
-    }
-}
diff --git a/api/src/main/yang/CoreModel-CoreFoundationModule-TypeDefinitions.yang b/api/src/main/yang/CoreModel-CoreFoundationModule-TypeDefinitions.yang
deleted file mode 100644 (file)
index 0289201..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-module CoreModel-CoreFoundationModule-TypeDefinitions {
-    namespace "uri:onf:CoreModel-CoreFoundationModule-TypeDefinitions";
-    prefix CoreModel-CoreFoundationModule-TypeDefinitions;
-    revision 2016-04-13{}
-    typedef DateAndTime {
-        type string;
-    }
-    typedef BitString {
-        type string;
-    }
-    typedef Real {
-        type string;
-    }
-    typedef PrintableString {
-        type string;
-    }
-}
diff --git a/api/src/main/yang/CoreModel-CoreModelEnhancements-FcSwitchEnhancements_Developed.yang b/api/src/main/yang/CoreModel-CoreModelEnhancements-FcSwitchEnhancements_Developed.yang
deleted file mode 100644 (file)
index 4a64d34..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-module CoreModel-CoreModelEnhancements-FcSwitchEnhancements_Developed {
-    namespace "uri:onf:CoreModel-CoreModelEnhancements-FcSwitchEnhancements_Developed";
-    prefix CoreModel-CoreModelEnhancements-FcSwitchEnhancements_Developed;
-    import CoreModel-CoreNetworkModule-TypeDefinitions {
-        prefix CoreModel-CoreNetworkModule-TypeDefinitions;
-    }
-    revision 2016-04-13{}
-    list ProfileProxy {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_ProfileProxy;
-    }
-    grouping G_ProfileProxy {
-        status deprecated;
-        leaf profileProxyMode {
-            type string;
-            description "A parameter profile may be used in a number of different ways:
-- Forces the values on the target with no opportunity to see or override the values in the target
-- Sets the values on the target that can be seen on the target
-- Sets the values on the target and supports override on the target so the target can be set away from the value in the profile
-- etc";
-        }
-        container _controlParameters {
-            description "The control parameters that can be set int the profile and applied to the target.
-Not all parameters need be selected and applied.";
-            config true;
-            uses G_ControlParameters;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list ControlParameters {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_ControlParameters;
-    }
-    grouping G_ControlParameters {
-        status deprecated;
-        leaf operType {
-            type CoreModel-CoreNetworkModule-TypeDefinitions:OperType;
-            description "This attribute whether or not the protection scheme is revertive or non-revertive. ";
-        }
-        leaf waitToRestoreTime {
-            type uint64;
-            description "If the protection system is revertive, this attribute specifies the amount of time, in seconds, to wait after a fault clears before restoring traffic to the protected protectionUnit that initiated the switching. Valid values for this attribute are integers.";
-        }
-        leaf protType {
-            type CoreModel-CoreNetworkModule-TypeDefinitions:ProtectionType;
-            description "Indicates the protection scheme that is used for the ProtectionGroup.";
-        }
-        leaf holdOffTime {
-            type uint64;
-            description "This attribute indicates the time, in seconds, between declaration of signal degrade or signal fail, and the initialization of the protection switching algorithm. Valid values are integers in units of seconds.";
-        }
-        leaf id {
-            type string;
-        }
-    }
-}
diff --git a/api/src/main/yang/CoreModel-CoreModelEnhancements-InformationArchitectureAndPatterns.yang b/api/src/main/yang/CoreModel-CoreModelEnhancements-InformationArchitectureAndPatterns.yang
deleted file mode 100644 (file)
index 363ab31..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-module CoreModel-CoreModelEnhancements-InformationArchitectureAndPatterns {
-    namespace "uri:onf:CoreModel-CoreModelEnhancements-InformationArchitectureAndPatterns";
-    prefix CoreModel-CoreModelEnhancements-InformationArchitectureAndPatterns;
-    revision 2016-04-13{}
-    list Component {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_Component;
-    }
-    grouping G_Component {
-        status deprecated;
-        list _port {
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_Port;
-            min-elements 1;
-        }
-        list _attributePackageList {
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_AttributePackage;
-        }
-        leaf _boundComponent {
-            type leafref {
-                path '/Component/id';
-            }
-        }
-        leaf _encapsulatedSystem {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-InformationArchitectureAndPatterns:System/CoreModel-CoreModelEnhancements-InformationArchitectureAndPatterns:id';
-            }
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list Port {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_Port;
-    }
-    grouping G_Port {
-        status deprecated;
-        leaf Role {
-            type string;
-            default true;
-        }
-        leaf _boundPort {
-            type leafref {
-                path '/Port/id';
-            }
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list System {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_System;
-    }
-    grouping G_System {
-        status deprecated;
-        leaf id {
-            type string;
-        }
-    }
-    list AttributePackage {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_AttributePackage;
-    }
-    grouping G_AttributePackage {
-        status deprecated;
-        leaf id {
-            type string;
-        }
-    }
-}
diff --git a/api/src/main/yang/CoreModel-CoreModelEnhancements-InterViewRelationships_Sketch.yang b/api/src/main/yang/CoreModel-CoreModelEnhancements-InterViewRelationships_Sketch.yang
deleted file mode 100644 (file)
index fe87bbe..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-module CoreModel-CoreModelEnhancements-InterViewRelationships_Sketch {
-    namespace "uri:onf:CoreModel-CoreModelEnhancements-InterViewRelationships_Sketch";
-    prefix CoreModel-CoreModelEnhancements-InterViewRelationships_Sketch;
-    revision 2016-04-13{}
-    list Sketch_FC {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_Sketch_FC;
-    }
-    grouping G_Sketch_FC {
-        status deprecated;
-        leaf _supportingFcInOtherViewRef {
-            type leafref {
-                path '/Sketch_FC/id';
-            }
-        }
-        leaf-list _suportedFcInOtherView {
-            ordered-by system;
-            type leafref {
-                path '/Sketch_FC/id';
-            }
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list Sketch_LTP {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_Sketch_LTP;
-    }
-    grouping G_Sketch_LTP {
-        status deprecated;
-        leaf _supportingLtpInOtherViewRef {
-            type leafref {
-                path '/Sketch_LTP/id';
-            }
-        }
-        leaf-list _supportedLtpInOtherViewRef {
-            ordered-by system;
-            type leafref {
-                path '/Sketch_LTP/id';
-            }
-        }
-        leaf id {
-            type string;
-        }
-    }
-}
diff --git a/api/src/main/yang/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule.yang b/api/src/main/yang/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule.yang
deleted file mode 100644 (file)
index 00821c4..0000000
+++ /dev/null
@@ -1,585 +0,0 @@
-module CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule {
-    namespace "uri:onf:CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule";
-    prefix CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule;
-    import CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages {
-        prefix CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages;
-    }
-    revision 2016-04-13{}
-    list MultiSwitchedUniFlow {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_MultiSwitchedUniFlow;
-    }
-    grouping G_MultiSwitchedUniFlow {
-        status current;
-        list _ingressFcPort {
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_IngressFcPortSet;
-            min-elements 1;
-        }
-        list _egressFcPort {
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_EgressFcPortSet;
-            min-elements 1;
-        }
-        container switchControl {
-            config true;
-            uses G_ConfigurationAndSwitchControl;
-        }
-        leaf ingressFcPortSet {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:IngressFcPortSet/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf egressFcPortSet {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:EgressFcPortSet/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list IngressFcPortSet {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_IngressFcPortSet;
-    }
-    grouping G_IngressFcPortSet {
-        status current;
-        uses CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:G_LocalClass;
-        leaf id {
-            type string;
-        }
-    }
-    list EgressFcPortSet {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_EgressFcPortSet;
-    }
-    grouping G_EgressFcPortSet {
-        status current;
-        uses CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:G_LocalClass;
-        leaf id {
-            type string;
-        }
-    }
-    list ConfigurationAndSwitchControl {
-        key 'id uuid';
-        config true;
-        ordered-by system;
-        uses G_ConfigurationAndSwitchControl;
-    }
-    grouping G_ConfigurationAndSwitchControl {
-        status deprecated;
-        uses CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:G_GlobalClass;
-        list switchControlRule {
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_ControlRule;
-            min-elements 1;
-        }
-        leaf-list switch {
-            ordered-by system;
-            type string;
-            min-elements 1;
-        }
-        leaf-list egressSelection {
-            ordered-by system;
-            type string;
-            min-elements 1;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    container FcSpecList {
-        list FcSpec {
-            key 'uuid';
-            config true;
-            ordered-by system;
-            uses G_FcSpec;
-        }
-    }
-    grouping G_FcSpec {
-        status current;
-        leaf uuid {
-            type string;
-        }
-        list multiSwitchedUniFlow {
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_MultiSwitchedUniFlow;
-            min-elements 1;
-        }
-        list switchControl {
-            key 'id uuid';
-            config true;
-            ordered-by system;
-            uses G_ConfigurationAndSwitchControl;
-        }
-        list fcPortSpec {
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_FcPortSetSpec;
-            min-elements 1;
-        }
-        leaf fcSwitchGroupSpec {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:ConfigurationGroupSpec/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:uuid';
-            }
-        }
-        container ltpAssociationRule {
-            config true;
-            uses G_LtpAssociationRule;
-        }
-    }
-    list ConfigurationGroupSpec {
-        key 'uuid';
-        config true;
-        ordered-by system;
-        uses G_ConfigurationGroupSpec;
-    }
-    grouping G_ConfigurationGroupSpec {
-        status deprecated;
-        uses CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:G_GlobalClass;
-        container switchControl {
-            config true;
-            uses G_ConfigurationAndSwitchControl;
-        }
-        container fcSpec {
-            config true;
-            uses G_FcSpec;
-        }
-        container ltpAssociationRule {
-            config true;
-            uses G_LtpAssociationRule;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list ControlRule {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_ControlRule;
-    }
-    grouping G_ControlRule {
-        status deprecated;
-        uses CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:G_LocalClass;
-        leaf switchControl_switch_1 {
-            type string;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list FcPortSetSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_FcPortSetSpec;
-    }
-    grouping G_FcPortSetSpec {
-        status current;
-        uses CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:G_LocalClass;
-        leaf-list ingressFcPortSet {
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:IngressFcPortSet/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf-list egressFcPortSet {
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:EgressFcPortSet/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf ltpAssociationRule {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:LtpAssociationRule/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf role {
-            type string;
-            default true;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list LtpAssociationRule {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_LtpAssociationRule;
-    }
-    grouping G_LtpAssociationRule {
-        status current;
-        uses CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:G_LocalClass;
-        leaf id {
-            type string;
-        }
-    }
-    list SwitchPropertySpec_Pac {
-        key 'id';
-        status deprecated;
-        config true;
-        leaf id {
-            type string;
-        }
-    }
-    list IngressFcPortSetSpec_Pac {
-        key 'id';
-        status deprecated;
-        config true;
-        leaf id {
-            type string;
-        }
-    }
-    list LpSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_LpSpec;
-    }
-    grouping G_LpSpec {
-        status deprecated;
-        container _adapterSpec {
-            config true;
-            uses G_ConnectionPointAndAdapterSpec;
-        }
-        container _terminationSpec {
-            config true;
-            uses G_TerminationSpec;
-        }
-        list _adapterPropertySpecList {
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_AdapterPropertySpec;
-        }
-        container _providerViewSpec {
-            config true;
-            uses G_ProviderViewSpec;
-        }
-        list _serverSpecList {
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_ServerSpec;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list ClientSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_ClientSpec;
-    }
-    grouping G_ClientSpec {
-        status deprecated;
-        leaf-list _mappingInteractionRuleRefList {
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:MappingInteractionRule/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list MappingInteractionRule {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_MappingInteractionRule;
-    }
-    grouping G_MappingInteractionRule {
-        status deprecated;
-        leaf id {
-            type string;
-        }
-    }
-    list TerminationSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_TerminationSpec;
-    }
-    grouping G_TerminationSpec {
-        status deprecated;
-        container _connectionSpec {
-            config true;
-            uses G_ConnectionSpec;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list AdapterPropertySpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_AdapterPropertySpec;
-    }
-    grouping G_AdapterPropertySpec {
-        status deprecated;
-        list _poolPropertySpecList {
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_PoolPropertySpec;
-        }
-        leaf-list _mappingInteractionRuleRefList {
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:MappingInteractionRule/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        list _mappingInteractionRuleList {
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_MappingInteractionRule;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list PoolPropertySpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_PoolPropertySpec;
-    }
-    grouping G_PoolPropertySpec {
-        status deprecated;
-        container _clientSpec {
-            config true;
-            uses G_ClientSpec;
-        }
-        leaf clientCapacity {
-            type string;
-            default true;
-        }
-        leaf-list _adapterPropertySpecRefList {
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:AdapterPropertySpec/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list ConnectionSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_ConnectionSpec;
-    }
-    grouping G_ConnectionSpec {
-        status deprecated;
-        leaf id {
-            type string;
-        }
-    }
-    list ConnectionPointAndAdapterSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_ConnectionPointAndAdapterSpec;
-    }
-    grouping G_ConnectionPointAndAdapterSpec {
-        status deprecated;
-        leaf _connectionSpec {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:ConnectionSpec/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list ProviderViewSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_ProviderViewSpec;
-    }
-    grouping G_ProviderViewSpec {
-        status deprecated;
-        leaf-list _poolPropertySpecList {
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:PoolPropertySpec/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list ServerSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_ServerSpec;
-    }
-    grouping G_ServerSpec {
-        status deprecated;
-        leaf id {
-            type string;
-        }
-    }
-    list LtpSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_LtpSpec;
-    }
-    grouping G_LtpSpec {
-        status deprecated;
-        leaf-list _lpSpecList {
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:LpSpec/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-            min-elements 1;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list LinkSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_LinkSpec;
-    }
-    grouping G_LinkSpec {
-        status deprecated;
-        leaf id {
-            type string;
-        }
-    }
-    list AnyEntityInstance {
-        key 'id';
-        status deprecated;
-        config true;
-        ordered-by system;
-        leaf-list _profileRefList {
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:ProfileInstance/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf _specRef {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:SpecInstance/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf _class {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:AnyEntityClass/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list ProfileInstance {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_ProfileInstance;
-    }
-    grouping G_ProfileInstance {
-        status deprecated;
-        leaf _specInstanceRef {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:SpecInstance/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf _profileClass {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:ProfileClass/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf _class {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:AnyEntityClass/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list SpecInstance {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_SpecInstance;
-    }
-    grouping G_SpecInstance {
-        status deprecated;
-        leaf specClass {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:SpecClass/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf _classRef {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:AnyEntityClass/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list AnyEntityClass {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_AnyEntityClass;
-    }
-    grouping G_AnyEntityClass {
-        status deprecated;
-        leaf id {
-            type string;
-        }
-    }
-    list SpecClass {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_SpecClass;
-    }
-    grouping G_SpecClass {
-        status deprecated;
-        uses G_AnyEntityClass;
-    }
-    list ProfileClass {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_ProfileClass;
-    }
-    grouping G_ProfileClass {
-        status deprecated;
-        uses G_AnyEntityClass;
-    }
-}
diff --git a/api/src/main/yang/CoreModel-CoreModelEnhancements-ViewAbstractionRule_Sketch.yang b/api/src/main/yang/CoreModel-CoreModelEnhancements-ViewAbstractionRule_Sketch.yang
deleted file mode 100644 (file)
index 461e193..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-module CoreModel-CoreModelEnhancements-ViewAbstractionRule_Sketch {
-    namespace "uri:onf:CoreModel-CoreModelEnhancements-ViewAbstractionRule_Sketch";
-    prefix CoreModel-CoreModelEnhancements-ViewAbstractionRule_Sketch;
-    revision 2016-04-13{}
-    list ViewAbstractionRules {
-        key 'id';
-        status deprecated;
-        config true;
-        ordered-by system;
-        leaf-list __ltpRelatestToLtpInOtherView {
-            ordered-by system;
-            type string;
-        }
-        leaf id {
-            type string;
-        }
-    }
-}
diff --git a/api/src/main/yang/CoreModel-CoreNetworkModule-ObjectClasses.yang b/api/src/main/yang/CoreModel-CoreNetworkModule-ObjectClasses.yang
deleted file mode 100644 (file)
index bc5cc64..0000000
+++ /dev/null
@@ -1,815 +0,0 @@
-module CoreModel-CoreNetworkModule-ObjectClasses {
-    namespace "uri:onf:CoreModel-CoreNetworkModule-ObjectClasses";
-    prefix CoreModel-CoreNetworkModule-ObjectClasses;
-    import CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages {
-        prefix CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages;
-    }
-    import CoreModel-CoreNetworkModule-TypeDefinitions {
-        prefix CoreModel-CoreNetworkModule-TypeDefinitions;
-    }
-    import CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule {
-        prefix CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule;
-    }
-    import CoreModel-CoreModelEnhancements-FcSwitchEnhancements_Developed {
-        prefix CoreModel-CoreModelEnhancements-FcSwitchEnhancements_Developed;
-    }
-    revision 2016-04-13{}
-    list ForwardingDomain {
-        key 'uuid';
-        config true;
-        ordered-by system;
-        uses G_ForwardingDomain;
-    }
-    grouping G_ForwardingDomain {
-        uses CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:G_GlobalClass;
-        uses G_TopologicalEntity;
-        leaf-list layerProtocolNameList {
-            description "One or more protocol layers at which the FD represents the opportunity to enable forwarding between LTP that bound it.";
-            ordered-by system;
-            type CoreModel-CoreNetworkModule-TypeDefinitions:LayerProtocolName;
-            min-elements 1;
-        }
-        leaf-list _lowerLevelFdRefList {
-            description "The FD object class supports a recursive aggregation relationship (HigherLevelFdEncompassesLowerLevelFds) such that the internal construction of an FD can be exposed as multiple lower level FDs and associated Links (partitioning).
-The aggregated FDs and Links form an interconnected topology that provides and describes the capability of the aggregating FD.
-Note that the model actually represents aggregation of lower level FDs into higher level FDs as views rather than FD partition, and supports multiple views. 
-Aggregation allow reallocation of capacity from lower level FDs to different higher level FDs as if the network is reorganized  (as the association is aggregation not composition).";
-            ordered-by system;
-            type leafref {
-                path '/ForwardingDomain/uuid';
-            }
-        }
-        leaf-list _fcRefList {
-            description "An FD contains one or more FCs. A contained FC connects LTPs that bound the FD.";
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreNetworkModule-ObjectClasses:ForwardingConstructList/CoreModel-CoreNetworkModule-ObjectClasses:ForwardingConstruct/CoreModel-CoreNetworkModule-ObjectClasses:uuid';
-            }
-        }
-        leaf-list _ltpRefList {
-            description "An instance of FD is associated with zero or more LTP objects. 
-The LTPs that bound the FD provide capacity for forwarding.";
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreNetworkModule-ObjectClasses:LogicalTerminationPoint/CoreModel-CoreNetworkModule-ObjectClasses:uuid';
-            }
-        }
-        leaf-list _linkRefList {
-            description "The FD encompasses Links that interconnect lower level FDs and collect links that are wholly within the bounds of the FD.
-See also _lowerLevelFdRefList.";
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreNetworkModule-ObjectClasses:Link/CoreModel-CoreNetworkModule-ObjectClasses:uuid';
-            }
-        }
-    }
-    container ForwardingConstructList {
-      list ForwardingConstruct {
-        key 'uuid';
-        config true;
-        ordered-by system;
-        uses G_ForwardingConstruct;
-      }
-    }
-    grouping G_ForwardingConstruct {
-        leaf uuid {
-            type string;
-        }
-        leaf layerProtocolName {
-            type CoreModel-CoreNetworkModule-TypeDefinitions:LayerProtocolName;
-            description "The layerProtocol at which the FC enables potential for forwarding.";
-        }
-        leaf-list _lowerLevelFcRefList {
-            description "An FC object supports a recursive aggregation relationship such that the internal construction of an FC can be exposed as multiple lower level FC objects (partitioning).
-Aggregation is used as for the FD to allow changes in hierarchy.
-";
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreNetworkModule-ObjectClasses:ForwardingConstructList/CoreModel-CoreNetworkModule-ObjectClasses:ForwardingConstruct/CoreModel-CoreNetworkModule-ObjectClasses:uuid';
-            }
-        }
-        leaf-list _fcRouteRefList {
-            description "An FC object can have zero or more routes, each of which is defined as a list of lower level FC objects describing the flow across the network.";
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreNetworkModule-ObjectClasses:FcRouteList/CoreModel-CoreNetworkModule-ObjectClasses:FcRoute/CoreModel-CoreNetworkModule-ObjectClasses:id';
-            }
-        }
-        list FcPort {
-            description "The association of the FC to LTPs is made via FcPorts (essentially the ports of the FC).";
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_FcPort;
-            min-elements 2;
-        }
-        list _fcSwitchList {
-            description "If an FC exposes protection (having two FcPorts that provide alternative identical inputs/outputs), the FC will have one or more associated FcSwitch objects.
-The arrangement of switches for a particular instance is described by a referenced FcSpec";
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_FcSwitch;
-        }
-        list _configurationAndSwitchControlList {
-            description "A multi-switch controller encapsulated in the FC.
-The multi-switch controller coordinates multiple switches in the same FC.";
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_ConfigurationAndSwitchController;
-        }
-        leaf _fcSpecRef {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:FcSpecList/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:FcSpec/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:uuid';
-            }
-            description "References the specification that describes the capability and internal structure of of the FC (e.g. The arrangement of switches for a particular instance is described by a referenced FcSpec).
-The specification allows interpretation of FcPort role and switch configurations etc.";
-        }
-        leaf forwardingDirection {
-            type CoreModel-CoreNetworkModule-TypeDefinitions:ForwardingDirection;
-            description "The directionality of the ForwardingConstruct. 
-Is applicable to simple ForwardingConstructs where all FcPorts are BIDIRECTIONAL (the ForwardingConstruct will be BIDIRECTIONAL) or UNIDIRECTIONAL (the ForwardingConstruct will be UNIDIRECTIONAL). 
-Is not present in more complex cases.";
-        }
-    }
-    list NetworkControlDomain {
-        key 'id uuid';
-        status current;
-        config true;
-        ordered-by system;
-        uses CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:G_GlobalClass;
-        leaf-list _forwardingDomainRefList {
-            description "The FDs accessible via the NCD.";
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreNetworkModule-ObjectClasses:ForwardingDomain/CoreModel-CoreNetworkModule-ObjectClasses:uuid';
-            }
-        }
-        leaf-list _linkRefList {
-            description "The links accessible in the scope of the NCD. 
-The domain is bounded by off-network links.";
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreNetworkModule-ObjectClasses:Link/CoreModel-CoreNetworkModule-ObjectClasses:uuid';
-            }
-        }
-        list _networkElementRefList {
-            description "The network elements within the scope of the NCD where each NE is within one and only one domain.";
-            key 'id uuid';
-            config true;
-            ordered-by system;
-            uses G_NetworkElement;
-        }
-        leaf id {
-            type string;
-        }
-        max-elements 2;
-        min-elements 1;
-    }
-    list Link {
-        key 'uuid';
-        config true;
-        ordered-by system;
-        uses G_Link;
-    }
-    grouping G_Link {
-        uses CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:G_GlobalClass;
-        uses G_TopologicalEntity;
-        leaf-list layerProtocolNameList {
-            description "The Link can support multiple transport layer protocols via the associated LTP object. 
-For implementation optimization, where appropriate, multiple layer-specific links can be merged and represented as a single Link instance as the Link can represent a list of layer protocols.
-A link may support different layer protocols at each Port when it is a transitional link.";
-            ordered-by system;
-            type CoreModel-CoreNetworkModule-TypeDefinitions:LayerProtocolName;
-            min-elements 1;
-        }
-        leaf-list _fdRefList {
-            description "The Link associates with two or more FDs. 
-This association provides a direct summarization of the association via LinkPort and LTP.";
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreNetworkModule-ObjectClasses:ForwardingDomain/CoreModel-CoreNetworkModule-ObjectClasses:uuid';
-            }
-            min-elements 2;
-        }
-        list _linkPortList {
-            description "The association of the Link to LTPs is made via LinkPort (essentially the ports of the Link).";
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_LinkPort;
-            min-elements 2;
-        }
-        leaf _linkSpecRef {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:LinkSpec/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-            description "References the specification that describes the capability and internal structure of of the Link (e.g. asymmetric flows between points).
-The specification allows interpretation of LinkPort role and switch configurations etc.
-See also ForwardingConstruct.";
-        }
-        leaf-list _aggregatedLink {
-            description "A link may formed from subordinate links (similar FD formations from subordiate FDs). This association is intended to cover concepts such as serial compound links. ";
-            ordered-by system;
-            type leafref {
-                path '/Link/uuid';
-            }
-        }
-        leaf linkDirection {
-            type CoreModel-CoreNetworkModule-TypeDefinitions:ForwardingDirection;
-            description "The directionality of the Link. 
-Is applicable to simple Links where all LinkPorts are BIDIRECTIONAL (the Link will be BIDIRECTIONAL) or UNIDIRECTIONAL (the Link will be UNIDIRECTIONAL). 
-Is not present in more complex cases.";
-        }
-    }
-    list NetworkElement {
-        key 'id uuid';
-        config true;
-        ordered-by system;
-        uses G_NetworkElement;
-    }
-    grouping G_NetworkElement {
-        status deprecated;
-        uses CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:G_GlobalClass;
-        list _fdRefList {
-            description "Represents the FD that is completely within the boundary of the NE.
-At a low level of recursion, an FD (within a network element (NE)) represents a switch matrix (i.e., a fabric). 
-Note that an NE can encompass multiple switch matrices (FDs) and the FD representing the switch matrix can be further partitioned.
-Where an FD is referenced by the NeEncompassesFd association, any FDs that it encompasses (i.e., that are associated with it by HigherLevelFdEncompassesLowerLevelFds), must also be encompassed by the NE and hence must have the NeEncompassesFd association.
-";
-            key 'uuid';
-            config true;
-            ordered-by system;
-            uses G_ForwardingDomain;
-        }
-        leaf-list _ltppList {
-            description "OBSOLETE. Was reference to LtpPool. The pool has now been subsumed into the LTP.
-This will be deleted in the next release.";
-            ordered-by system;
-            type string;
-        }
-        list _ltpRefList {
-            description "An NE has associated LTPs that are at its boundary.
-The NeEncompassesFd association occurs for FDs that are within the bounds of the NetworkElement definition such that the FD is bounded by LTPs, all of which are on the boundary of the NetworkElement or are within the NetworkElement. 
-An LTP can be independent of an NE.";
-            key 'uuid';
-            config true;
-            ordered-by system;
-            uses G_LogicalTerminationPoint;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    grouping G_SdnController {
-        status current;
-        uses CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:G_GlobalClass;
-    }
-    list LayerProtocol {
-        key 'layerProtocolName';
-        config true;
-        ordered-by system;
-        uses G_LayerProtocol;
-    }
-    grouping G_LayerProtocol {
-        uses CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:G_LocalClass;
-        leaf layerProtocolName {
-            type CoreModel-CoreNetworkModule-TypeDefinitions:LayerProtocolName;
-            description "Indicate the specific layer-protocol described by the LayerProtocol entity.";
-        }
-        leaf _lpSpec {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:LpSpec/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-            description "The LpSpec identifies the interna structure of the LP explaining internal flexibilities, degree of termination and degree of adaptation on both client and server side.";
-        }
-        leaf configuredClientCapacity {
-            type string;
-            description "Provides a summarized view of the client capacity that is configurable for use.
-Note the cleint LTP association should provide all necessary detail hence this attribute is questionable.";
-        }
-        leaf lpDirection {
-            type CoreModel-CoreNetworkModule-TypeDefinitions:TerminationDirection;
-            description "The overall directionality of the LP. 
-- A BIDIRECTIONAL LP will have some SINK and/or SOURCE flowss.
-- A SINK LP can only contain elements with SINK flows or CONTRA_DIRECTION_SOURCE flows
-- A SOURCE LP can only contain SOURCE flows or CONTRA_DIRECTION_SINK flows";
-        }
-        leaf terminationState {
-            type string;
-            description "Indicates whether the layer is terminated and if so how.";
-        }
-    }
-    list LogicalTerminationPoint {
-        key 'uuid';
-        config true;
-        ordered-by system;
-        uses G_LogicalTerminationPoint;
-    }
-    grouping G_LogicalTerminationPoint {
-        uses CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:G_GlobalClass;
-        leaf-list _serverLtpRefList {
-            description "References contained LTPs representing servers of this LTP in an inverse multiplexing configuration (e.g. VCAT).";
-            ordered-by system;
-            type leafref {
-                path '/LogicalTerminationPoint/uuid';
-            }
-        }
-        leaf-list _clientLtpRefList {
-            description "References contained LTPs representing client traffic of this LTP for normal cases of multiplexing.";
-            ordered-by system;
-            type leafref {
-                path '/LogicalTerminationPoint/uuid';
-            }
-        }
-        list _lpList {
-            description "Ordered list of LayerProtocols that this LTP is comprised of where the first entry in the list is the lowest server layer (e.g. physical)";
-            key 'layerProtocolName';
-            config true;
-            ordered-by system;
-            uses G_LayerProtocol;
-            min-elements 1;
-        }
-        leaf _connectedLtpRef {
-            type leafref {
-                path '/LogicalTerminationPoint/uuid';
-            }
-            description "Applicable in a simple context where two LTPs are associated via a non-adjustable enabled forwarding.
-Reduces clutter removing the need for two additional LTPs and an FC with a pair of FcPorts.";
-        }
-        leaf _peerLtpRef {
-            type leafref {
-                path '/LogicalTerminationPoint/uuid';
-            }
-            description "References contained LTPs representing the reversal of orientation of flow where two LTPs are associated via a non-adjustable enabled forwarding and where the referenced LTP is fully dependent on the this LTP.";
-        }
-        leaf _ltpSpec {
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:LtpSpec/CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:id';
-            }
-            description "The specification of the LTP defines internal structure of the LTP.
-The specification allows interpretation of organisatoon of LPs making up the LTP and also identifies which inter-LTP associations are valid.";
-        }
-        leaf-list physicalPortReference {
-            description "One or more text labels for the unmodelled physical port associated with the LTP.
-In many cases there is no associated physical port";
-            ordered-by system;
-            type string;
-        }
-        leaf-list _ltpRefList {
-            description "References one or more LTPs in other views that represent this LTP. 
-The referencing LTP is the rovider of capability.";
-            ordered-by system;
-            type leafref {
-                path '/LogicalTerminationPoint/uuid';
-            }
-        }
-        leaf ltpDirection {
-            type CoreModel-CoreNetworkModule-TypeDefinitions:TerminationDirection;
-            description "The overall directionality of the LTP. 
-- A BIDIRECTIONAL LTP must have at least some LPs that are BIDIRECTIONAL but may also have some SINK and/or SOURCE LPs.
-- A SINK LTP can only contain SINK LPs
-- A SOURCE LTP can only contain SOURCE LPs";
-        }
-    }
-    container FcRouteList {
-        list FcRoute {
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_FcRoute;
-        }
-    }
-    grouping G_FcRoute {
-        list ForwardingConstruct {
-            key "uuid";
-            uses G_ForwardingConstruct;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list LinkPort {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_LinkPort;
-    }
-    grouping G_LinkPort {
-        uses CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:G_LocalClass;
-        leaf _ltpp {
-            type string;
-            description "OBSOLETE. Was reference to LtpPool. The pool has now been subsumed into the LTP.
-This will be deleted in the next release.";
-        }
-        leaf-list _ltpRefList {
-            description "The LinkPort may be associated with more than one LTP when the LinkPort is bidirectional and the LTPs are unidirectional.
-Multiple Ltp
-- Bidirectional LinkPort to two Uni Ltps
-Zero Ltp
-- BreakBeforeMake transition
-- Planned Ltp not yet in place
-- Off-network LTP referenced through other mechanism";
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreNetworkModule-ObjectClasses:LogicalTerminationPoint/CoreModel-CoreNetworkModule-ObjectClasses:uuid';
-            }
-        }
-        leaf role {
-            type CoreModel-CoreNetworkModule-TypeDefinitions:PortRole;
-            description "Each LinkPort of the Link has a role (e.g., symmetric, hub, spoke, leaf, root)  in the context of the Link with respect to the Link function. ";
-        }
-        leaf offNetworkAddress {
-            type string;
-            description "A freeform opportunity to express a reference for an Port of the Link that is not outside the scope of the control domain.
-This attribute is expected to convey a foreign identifier/name/address or a shared reference for some mid-span point at the boundary between two administrative domains.
-This attribute is used when an LTP cannot be referenced.";
-        }
-        leaf linkPortDirection {
-            type CoreModel-CoreNetworkModule-TypeDefinitions:PortDirection;
-            description "The orientation of defined flow at the LinkPort.";
-        }
-        leaf id {
-            type string;
-        }
-    }
-    grouping G_TransferCost_Pac {
-        list costCharacteristicList {
-            description "The list of costs where each cost relates to some aspect of the TopologicalEntity.";
-            key 'costName';
-            config true;
-            ordered-by system;
-            uses CoreModel-CoreNetworkModule-TypeDefinitions:G_CostCharacteristics;
-            min-elements 1;
-        }
-    }
-    grouping G_RiskParameter_Pac {
-        list riskCharacteristicList {
-            description "A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration.";
-            key 'riskCharacteristicName';
-            config true;
-            ordered-by system;
-            uses CoreModel-CoreNetworkModule-TypeDefinitions:G_RiskCharacteristic;
-            min-elements 1;
-        }
-    }
-    grouping G_LayerProtocolTransition_Pac {
-        leaf-list transitionedLayerProtocolList {
-            description "Provides the ordered structure of layer protocol transitions encapsulated in the TopologicalEntity. The ordering relates to the LinkPort role.";
-            ordered-by system;
-            type string;
-            min-elements 1;
-        }
-        leaf-list _ltpRefList {
-            description "Lists the LTPs that define the layer protocol transition of the transitional link.";
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreNetworkModule-ObjectClasses:LogicalTerminationPoint/CoreModel-CoreNetworkModule-ObjectClasses:uuid';
-            }
-            min-elements 1;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    feature feature1 {
-        description "Present if jitterCharacteristics information is relevant to usage and statement can be made that applies equally to all flows that can be supported by the TopologicalEntity.
-            Note that if jitterCharacteristics is relevant but consistent ststement cannot be made then the TopologicalEntity should be described in terms of subordinate parts against which coherent statements can be made.
-            Note that this only applies to TDM.";
-    }
-    feature feature2 {
-        description "Present if wanderCharacteristics information is relevant to usage and statement can be made that applies equally to all flows that can be supported by the TopologicalEntity.
-            Note that if wanderCharacteristics is relevant but consistent ststement cannot be made then the TopologicalEntity should be described in terms of subordinate parts against which coherent statements can be made.
-            Note that this only applies to TDM.";
-    }
-    feature feature3 {
-        description "Present if queuingLatencyCharacteristics information is relevant to usage and statement can be made that applies equally to all flows that can be supported by the TopologicalEntity.
-            There may be more than one instance if the queuing behavior depends upon traffic properties.
-            Note that if queuingLatencyCharacteristics is relevant but consistent statement cannot be made then the TopologicalEntity should be described in terms of subordinate parts against which coherent statements can be made.
-            Note that this only applies to packet system.";
-    }
-    grouping G_TransferTiming_Pac {
-        leaf fixedLatencyCharacteristic {
-            type string;
-            description "A TopologicalEntity suffers delay caused by the realization of the servers (e.g. distance related; FEC encoding etc.) along with some client specific processing. This is the total average latency effect of the TopologicalEntity";
-        }
-        leaf jitterCharacteristic {
-            type string;
-            description "High frequency deviation from true periodicity of a signal and therefore a small high rate of change of transfer latency.
-Applies to TDM systems (and not packet).";
-            if-feature feature1;
-        }
-        leaf wanderCharacteristic {
-            type string;
-            description "Low frequency deviation from true periodicity of a signal and therefore a small low rate of change of transfer latency.
-Applies to TDM systems (and not packet).";
-            if-feature feature2;
-        }
-        list queuingLatencyList {
-            description "The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic.";
-            key 'id';
-            config true;
-            ordered-by system;
-            uses CoreModel-CoreNetworkModule-TypeDefinitions:G_QueuingLatency;
-            if-feature feature3;
-        }
-    }
-    feature feature4 {
-        description "Present if errorCharacteristics information is relevant to usage and statement can be made that applies equally to all flows that can be supported by the TopologicalEntity.
-            Note that if errorCharacteristics is relevant but consistent ststement cannot be made then the TopologicalEntity should be described in terms of subordinate parts against which coherent statements can be made.
-            Note that this only applies to TDM.";
-    }
-    feature feature5 {
-        description "Present if lossCharacteristics information is relevant to usage and statement can be made that applies equally to all flows that can be supported by the TopologicalEntity.
-            Note that if lossCharacteristics is relevant but consistent ststement cannot be made then the TopologicalEntity should be described in terms of subordinate parts against which coherent statements can be made.
-            Note that this only applies to packet systems.";
-    }
-    feature feature6 {
-        description "Present if repeatCharacteristics information is relevant to usage and statement can be made that applies equally to all flows that can be supported by the TopologicalEntity.
-            Note that if repeatCharacteristics is relevant but consistent ststement cannot be made then the TopologicalEntity should be described in terms of subordinate parts against which coherent statements can be made.
-            Note that this primarily applies to packet systemswhere a packet may be delivered more than once (in fault recovery for example). 
-            Note that it can also apply to TDM where several frames may  be received twice due to switching in a system with a large differential propagation delay.";
-    }
-    feature feature7 {
-        description "Present if deliveryOrderCharacteristics information is relevant to usage and statement can be made that applies equally to all flows that can be supported by the TopologicalEntity.
-            Note that if deliveryOrderCharacteristics is relevant but consistent ststement cannot be made then the TopologicalEntity should be described in terms of subordinate parts against which coherent statements can be made.
-            Note that this only applies to packet systems.
-            ";
-    }
-    feature feature8 {
-        description "Present if serverIntegrityProcessCharacteristics information is relevant to usage and statement can be made that applies equally to all flows that can be supported by the TopologicalEntity.
-            Note that if serverIntegrityProcessCharacteristics is relevant but consistent ststement cannot be made then the TopologicalEntity should be described in terms of subordinate parts against which coherent statements can be made.
-            Note that this only applies where the server has some error recovery mechanism alters the characteristics of the link from a normal distribution.";
-    }
-    grouping G_TransferIntegrity_Pac {
-        leaf errorCharacteristic {
-            type string;
-            description "Describes the degree to which the signal propagated can be errored. 
-Applies to TDM systems as the errored signal will be propagated and not packet as errored packets will be discarded.";
-            if-feature feature4;
-        }
-        leaf lossCharacteristic {
-            type string;
-            description "Describes the acceptable characteristic of lost packets where loss may result from discard due to errors or overflow.
-Applies to packet systems and not TDM (as for TDM errored signals are propagated unless grossly errored and overflow/underflow turns into timing slips).";
-            if-feature feature5;
-        }
-        leaf repeatDeliveryCharacteristic {
-            type string;
-            description "Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example). 
-It can also apply to TDM where several frames may be received twice due to switching in a system with a large differential propagation delay.";
-            if-feature feature6;
-        }
-        leaf deliveryOrderCharacteristic {
-            type string;
-            description "Describes the degree to which packets will be delivered out of sequence.
-Does not apply to TDM as the TDM protocols maintain strict order.";
-            if-feature feature7;
-        }
-        leaf unavailableTimeCharacteristic {
-            type string;
-            description "Describes the duration for which there may be no valid signal propagated.";
-        }
-        leaf serverIntegrityProcessCharacteristic {
-            type string;
-            description "Describes the effect of any server integrity enhancement process on the characteristics of the TopologicalEntity.";
-            if-feature feature8;
-        }
-    }
-    grouping G_TransferCapacity_Pac {
-        container totalPotentialCapacity {
-            description "An optimistic view of the capacity of the TopologicalEntity assuming that any shared capacity is available to be taken.";
-            config true;
-            uses CoreModel-CoreNetworkModule-TypeDefinitions:G_Capacity;
-        }
-        container availableCapacity {
-            description "Capacity available to be assigned.";
-            config true;
-            uses CoreModel-CoreNetworkModule-TypeDefinitions:G_Capacity;
-        }
-        list capacityAssignedToUserView {
-            description "Capacity already assigned";
-            key 'id';
-            config true;
-            ordered-by system;
-            uses CoreModel-CoreNetworkModule-TypeDefinitions:G_Capacity;
-        }
-        leaf capacityInteractionAlgorithm {
-            type string;
-            description "A reference to an algorithm that describes how various chunks of allocated capacity interact (e.g. when shared)";
-        }
-    }
-    feature feature9 {
-        description "Present if risk information is relevant to usage and statement can be made that applies equally to all flows that can be supported by the TopologicalEntity.
-            Note that if risk is relevant but consistent ststement cannot be made then the TopologicalEntity should be described in terms of subordinate parts against which coherent statements can be made.";
-    }
-    feature feature10 {
-        description "Present if cost information is relevant to usage and statement can be made that applies equally to all flows that can be supported by the TopologicalEntity.
-            Note that if cost is relevant but consistent ststement cannot be made then the TopologicalEntity should be described in terms of subordinate parts against which coherent statements can be made.";
-    }
-    feature feature11 {
-        description "Present if transfer timing information is relevant to usage and statement can be made that applies equally to all flows that can be supported by the TopologicalEntity.
-            Note that if transfer timing is relevant but consistent ststement cannot be made then the TopologicalEntity should be described in terms of subordinate parts against which coherent statements can be made.";
-    }
-    feature feature12 {
-        description "Present if transfer capacity information is relevant to usage and statement can be made that applies equally to all flows that can be supported by the TopologicalEntity.
-            Note that if transfer capacity is relevant but consistent ststement cannot be made then the TopologicalEntity should be described in terms of subordinate parts against which coherent statements can be made.";
-    }
-    feature feature13 {
-        description "Present if transfer integrity information is relevant to usage and statement can be made that applies equally to all flows that can be supported by the TopologicalEntity.
-            Note that if transfer integrity is relevant but consistent ststement cannot be made then the TopologicalEntity should be described in terms of subordinate parts against which coherent statements can be made.";
-    }
-    feature feature14 {
-        description "Present if validation information is relevant to usage and statement can be made that applies equally to all flows that can be supported by the TopologicalEntity.
-            Note that if validation is relevant but consistent ststement cannot be made then the TopologicalEntity should be described in terms of subordinate parts against which coherent statements can be made.
-            Note that validation may not be possible for the specific layer protocol or in the particular case.";
-    }
-    feature feature15 {
-        description "Present if layer transition information is relevant to usage and statement can be made that applies equally to all flows that can be supported by the TopologicalEntity.
-            Note that if layer transiotio is relevant but consistent ststement cannot be made then the TopologicalEntity should be described in terms of subordinate parts against which coherent statements can be made.
-            Note that layer transition occurs in a limited number of cases.";
-    }
-    grouping G_TopologicalEntity {
-        container _riskParameter_Pac {
-            config true;
-            uses G_RiskParameter_Pac;
-        }
-        container _transferCost_Pac {
-            config true;
-            uses G_TransferCost_Pac;
-        }
-        container _transferTiming_Pac {
-            config true;
-            uses G_TransferTiming_Pac;
-        }
-        container _transferCapacity_Pac {
-            config true;
-            uses G_TransferCapacity_Pac;
-        }
-        container _transferIntegrity_Pac {
-            config true;
-            uses G_TransferIntegrity_Pac;
-        }
-        container _validation_Pac {
-            config true;
-            uses G_Validation_Pac;
-        }
-        list _layerTransition_Pac {
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_LayerProtocolTransition_Pac;
-            if-feature feature15;
-        }
-    }
-    grouping G_Validation_Pac {
-        list validationMechanismList {
-            description "Provides details of the specific validation mechanism(s) used to confirm the presence of an intended topologicalEntity.";
-            key 'id';
-            config true;
-            ordered-by system;
-            uses CoreModel-CoreNetworkModule-TypeDefinitions:G_ValidationMechanism;
-            min-elements 1;
-        }
-    }
-    list FcPort {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_FcPort;
-    }
-    grouping G_FcPort {
-        leaf-list _ltpRefList {
-            description "The FcPort may be associated with more than one LTP when the FcPort is bidirectional and the LTPs are unidirectional.
-Multiple Ltp
-- Bidirectional FcPort to two Uni Ltps
-Zero Ltp
-- BreakBeforeMake transition
-- Planned Ltp not yet in place
-- Off-network LTP referenced through other mechanism";
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreNetworkModule-ObjectClasses:LogicalTerminationPoint/CoreModel-CoreNetworkModule-ObjectClasses:uuid';
-            }
-            max-elements 2;
-        }
-        leaf role {
-            type CoreModel-CoreNetworkModule-TypeDefinitions:PortRole;
-            description "Each FcPort of the FC has a role (e.g., working, protection, protected, symmetric, hub, spoke, leaf, root)  in the context of the FC with respect to the FC function. ";
-        }
-        leaf fcPortDirection {
-            type CoreModel-CoreNetworkModule-TypeDefinitions:PortDirection;
-            description "The orientation of defined flow at the FcPort.";
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list FcSwitch {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_FcSwitch;
-    }
-    grouping G_FcSwitch {
-        uses CoreModel-CoreFoundationModule-SuperClassesAndCommonPackages:G_LocalClass;
-        leaf holdOffTime {
-            type uint64;
-            description "This attribute indicates the time, in seconds, between declaration of unacceptable quality of signal on the currently selected FcPort, and the initialization of the protection switching algorithm. ";
-        }
-        leaf waitToRestoreTime {
-            type uint64;
-            description "If the protection system is revertive, this attribute specifies the amount of time, in seconds, to wait after the preferred FcPort returns to an acceptable state of operaion (e.g a fault has cleared) before restoring traffic to that preferred FcPort. ";
-        }
-        leaf protType {
-            type CoreModel-CoreNetworkModule-TypeDefinitions:ProtectionType;
-            description "Indicates the protection scheme that is used for the ProtectionGroup.";
-        }
-        leaf operType {
-            type CoreModel-CoreNetworkModule-TypeDefinitions:OperType;
-            description "This attribute whether or not the protection scheme is revertive or non-revertive. ";
-        }
-        leaf-list _selectedFcPortRefList {
-            description "Indicates which points are selected by the switch.";
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreNetworkModule-ObjectClasses:FcPort/CoreModel-CoreNetworkModule-ObjectClasses:id';
-            }
-            min-elements 1;
-        }
-        leaf-list _profileProxyRefList {
-            description "Provides a set of predefined values for switch control in place of the direct values avaiable via the FcSwitch or via _configurationAndSwitchControl ";
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-FcSwitchEnhancements_Developed:ProfileProxy/CoreModel-CoreModelEnhancements-FcSwitchEnhancements_Developed:id';
-            }
-        }
-        leaf _configurationAndSwitchControlRef {
-            type leafref {
-                path '/CoreModel-CoreNetworkModule-ObjectClasses:ConfigurationAndSwitchController/CoreModel-CoreNetworkModule-ObjectClasses:id';
-            }
-            description "A multi-switch controller external to the FcSwitch.
-The multi-switch controller coordinates multiple switches in the same FC or across multple FCs";
-        }
-        container _configurationAndSwitchControl {
-            description "A switch controller encapsulated in the FcSwitch.
-";
-            config true;
-            uses G_ConfigurationAndSwitchController;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list ConfigurationAndSwitchController {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_ConfigurationAndSwitchController;
-    }
-    grouping G_ConfigurationAndSwitchController {
-        status deprecated;
-        leaf SwichRule {
-            type string;
-            description "A sketch of the presence of complex rules governing the switch behavior.";
-        }
-        leaf-list _fcSwitchRefList {
-            description "The switch being controlled.";
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreNetworkModule-ObjectClasses:FcSwitch/CoreModel-CoreNetworkModule-ObjectClasses:id';
-            }
-        }
-        container _controlParameters {
-            description "The control parameters to be aplied if local parameters are used rather than profiles";
-            config true;
-            uses CoreModel-CoreModelEnhancements-FcSwitchEnhancements_Developed:G_ControlParameters;
-        }
-        leaf-list _profileProxyRef {
-            description "Applied profiles.";
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreModelEnhancements-FcSwitchEnhancements_Developed:ProfileProxy/CoreModel-CoreModelEnhancements-FcSwitchEnhancements_Developed:id';
-            }
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list ConfigurationGroup {
-        key 'id';
-        status deprecated;
-        config true;
-        list _configurationAndSwitchControlRefList {
-            description "A controller operating in the scope defined.";
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_ConfigurationAndSwitchController;
-        }
-        leaf id {
-            type string;
-        }
-    }
-}
diff --git a/api/src/main/yang/CoreModel-CoreNetworkModule-TypeDefinitions.yang b/api/src/main/yang/CoreModel-CoreNetworkModule-TypeDefinitions.yang
deleted file mode 100644 (file)
index a632e6d..0000000
+++ /dev/null
@@ -1,163 +0,0 @@
-module CoreModel-CoreNetworkModule-TypeDefinitions {
-    namespace "uri:onf:CoreModel-CoreNetworkModule-TypeDefinitions";
-    prefix CoreModel-CoreNetworkModule-TypeDefinitions;
-    revision 2016-04-13{}
-    typedef OperationalState {
-        status obsolete;
-        type enumeration {
-            enum ENABLED;
-            enum DISABLED;
-        }
-    }
-    typedef OperType {
-        type enumeration {
-            enum REVERTIVE;
-            enum NON-REVERTIVE;
-        }
-    }
-    typedef Directionality {
-        status obsolete;
-        type enumeration {
-            enum SINK;
-            enum SOURCE;
-            enum BIDIRECTIONAL;
-        }
-    }
-    grouping G_CostCharacteristics {
-        leaf costName {
-            type string;
-            description "The cost characteristic will related to some aspect of the TopologicalEntity (e.g. $ cost, routing weight). This aspect will be conveyed by the costName.";
-        }
-        leaf costValue {
-            type string;
-            description "The specific cost.";
-        }
-        leaf costAlgorithm {
-            type string;
-            description "The cost may vary based upon some properties of the TopologicalEntity. The rules for the variation are conveyed by the costAlgorithm.";
-        }
-    }
-    grouping G_RiskCharacteristic {
-        leaf riskCharacteristicName {
-            type string;
-            description "The name of the risk characteristic. The characteristic may be related to a specific degree of closeness. 
-For example a particular characteristic may apply to failures that are localized (e.g. to one side of a road) where as another characteristic may relate to failures that have a broader impact (e.g. both sides of a road that crosses a bridge).
-Depending upon the importance of the traffic being routed different risk characteristics will be evaluated.";
-        }
-        leaf-list riskIdentifierList {
-            description "A list of the identifiers of each physical/geographic unit (with the specific risk characteristic) that is related to a segment of the TopologicalEntity.";
-            ordered-by system;
-            type string;
-            min-elements 1;
-        }
-    }
-    grouping G_Capacity {
-        leaf totalSize {
-            type string;
-            description "Total capacity of the TopologicalEntity in MB/s";
-        }
-        leaf numberOfClientInstances {
-            type string;
-            description "Where there is some limit to the number of client (e.g. in a channelized case).";
-        }
-        leaf maximumClientSize {
-            type string;
-            description "Where a client is of variable capacity but due to some underlying realization the maximum size of the client is smaller than the totalSize.";
-        }
-        leaf numberingRange {
-            type string;
-            description "Method for identifying units of capacity via some numbering scheme.";
-        }
-        leaf id {
-            type string;
-        }
-    }
-    grouping G_ValidationMechanism {
-        leaf validationMechanism {
-            type string;
-            description "Name of mechanism used to validate adjacency";
-        }
-        leaf layerProtocolAdjacencyValidated {
-            type string;
-            description "State of validatiion";
-        }
-        leaf validationRobustness {
-            type string;
-            description "Quality of validation (i.e. how likely is the stated validation to be invalid)";
-        }
-        leaf id {
-            type string;
-        }
-    }
-    grouping G_QueuingLatency {
-        leaf trafficProperty {
-            type string;
-            description "The identifier of the specific traffic property to which the queuing latency applies.";
-        }
-        leaf latencyForTrafficWithProperty {
-            type string;
-            description "The specific queuing latency for the traffic property.";
-        }
-        leaf id {
-            type string;
-        }
-    }
-    typedef LayerProtocolName {
-        status current;
-        type string;
-    }
-    typedef PortRole {
-        status current;
-        type string;
-    }
-    typedef PortDirection {
-        type enumeration {
-            enum BIDIRECTIONAL;
-            enum INPUT;
-            enum OUTPUT;
-            enum UNIDENTIFIED_OR_UNKNOWN;
-        }
-    }
-    typedef ForwardingDirection {
-        type enumeration {
-            enum BIDIRECTIONAL;
-            enum UNIDIRECTIONAL;
-            enum UNDEFINED_OR_UNKNOWN;
-        }
-    }
-    typedef TerminationDirection {
-        type enumeration {
-            enum BIDIRECTIONAL;
-            enum SINK;
-            enum SOURCE;
-            enum UNDEFINED_OR_UNKNOWN;
-        }
-    }
-    typedef ExtendedTerminationDirection {
-        status deprecated;
-        type enumeration {
-            enum BIDIRECTIONAL;
-            enum SINK;
-            enum SOURCE;
-            enum UNDEFINED_OR_UNKNOWN;
-            enum CONTRA_DIRECTION_SINK;
-            enum CONTRA_DIRECTION_SOURCE;
-        }
-    }
-    typedef ProtectionType {
-        status deprecated;
-        type string;
-    }
-    typedef TerminationState {
-        status deprecated;
-        type enumeration {
-            enum LP_CAN_NEVER_TERMINATE;
-            enum LT_NOT_TERMINATED;
-            enum TERMINATED_SERVER_TO_CLIENT_FLOW;
-            enum TERMINATED_CLIENT_TO_SERVER_FLOW;
-            enum TERMINATED_BIDIRECTIONAL;
-            enum LT_PERMENANTLY_TERMINATED;
-            enum TERMINATION_STATE_UNKNOWN;
-        }
-    }
-}
diff --git a/api/src/main/yang/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage.yang b/api/src/main/yang/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage.yang
deleted file mode 100644 (file)
index c327844..0000000
+++ /dev/null
@@ -1,461 +0,0 @@
-module NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage {
-    namespace "uri:onf:NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage";
-    prefix NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage;
-    import NRP_Interface-TypeDefinitions-NRP_Types {
-        prefix NRP_Interface-TypeDefinitions-NRP_Types;
-    }
-    revision 2016-04-13{}
-    grouping G_NRP_PcpCosId {
-        leaf nrp_vlanTag {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_VlanTag;
-            description "Which vlan tag pcp to be used for cos identier, S tag or C tag. S tag is not valid for EvcEndPoint. ";
-        }
-        leaf-list nrp_pcpValue {
-            description "List of PCP values that map to the cos name.";
-            ordered-by system;
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            min-elements 1;
-        }
-        leaf nrp_cosName {
-            type string;
-            description "Class of Service name.";
-        }
-    }
-    list NRP_DscpCosId {
-        key 'nrp_cosName';
-        config true;
-        ordered-by system;
-        uses G_NRP_DscpCosId;
-    }
-    grouping G_NRP_DscpCosId {
-        leaf nrp_ipVersion {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_IpVersion;
-            description "IPv4, or IPv6, or both IPv4 and IPv6.";
-        }
-        leaf-list nrp_dscpValue {
-            description "List DSCP values map to the same cos name.";
-            ordered-by system;
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            min-elements 1;
-        }
-        leaf nrp_cosName {
-            type string;
-            description "Class of Service name.";
-        }
-    }
-    list NRP_PcpEecId {
-        key 'nrp_eecName';
-        config true;
-        ordered-by system;
-        uses G_NRP_PcpEecId;
-    }
-    grouping G_NRP_PcpEecId {
-        leaf nrp_vlanTag {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_VlanTag;
-            description "Which vlan tag pcp to be used for ceec identier, S tag or C tag. S tag is not valid for EvcEndPoint. ";
-        }
-        leaf-list nrp_pcpValue {
-            description "List of PCP values that map to the eec name.";
-            ordered-by system;
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            min-elements 1;
-        }
-        leaf nrp_eecName {
-            type string;
-            description "Egress Equivelance Class name.";
-        }
-    }
-    list NRP_DscpEecId {
-        key 'nrp_eecName';
-        config true;
-        ordered-by system;
-        uses G_NRP_DscpEecId;
-    }
-    grouping G_NRP_DscpEecId {
-        leaf nrp_ipVersion {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_IpVersion;
-            description "IPv4, or IPv6, or both IPv4 and IPv6.";
-        }
-        leaf-list nrp_dscpValue {
-            description "List DSCP values map to the same eec name.";
-            ordered-by system;
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            min-elements 1;
-        }
-        leaf nrp_eecName {
-            type string;
-            description "Egress Equivalence Class name.";
-        }
-    }
-    grouping G_NRP_ServiceAccessPointEecId {
-        leaf nrp_eecName {
-            type string;
-            description "Egress Equivalence Class name.";
-        }
-    }
-    list NRP_EecIdentifier {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_NRP_EecIdentifier;
-    }
-    grouping G_NRP_EecIdentifier {
-        container nrp_pcpeecid {
-            config true;
-            uses G_NRP_PcpEecId;
-        }
-        container nrp_dscpeecid {
-            config true;
-            uses G_NRP_DscpEecId;
-        }
-        container nrp_serviceaccesspointeecid {
-            config true;
-            uses G_NRP_ServiceAccessPointEecId;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list NRP_PcpForColorEgressMap {
-        key 'nrp_vlanTag';
-        config true;
-        ordered-by system;
-        uses G_NRP_PcpForColorEgressMap;
-    }
-    grouping G_NRP_PcpForColorEgressMap {
-        leaf nrp_vlanTag {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_VlanTag;
-            description "S tag or C tag for OvcEndPoint and C tag for EvcEndPoint.";
-        }
-        leaf nrp_ingressCosName {
-            type string;
-            description "Ingress CoS name.";
-        }
-        leaf nrp_ingressColor {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_FrameColor;
-            description "The ingress color may be considered as part of the egress mapping. ";
-        }
-        leaf nrp_pcpValue {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_PcpOrDiscard;
-            description "Egress frame PCP value (S tag ot C tag is from vlanTag attribute), mapping from ingress CoS name and ingress frame color. ";
-        }
-    }
-    list NRP_EgressMap {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_NRP_EgressMap;
-    }
-    grouping G_NRP_EgressMap {
-        container nrp_deiforcoloregressmap {
-            config true;
-            uses G_NRP_DeiForColorEgressMap;
-        }
-        container nrp_pcpforcoloregressmap {
-            config true;
-            uses G_NRP_PcpForColorEgressMap;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list NRP_DeiForColorEgressMap {
-        key 'nrp_vlanTag';
-        config true;
-        ordered-by system;
-        uses G_NRP_DeiForColorEgressMap;
-    }
-    grouping G_NRP_DeiForColorEgressMap {
-        leaf nrp_vlanTag {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_VlanTag;
-            description "S tag or C tag for OvcEndPoint and C tag for EvcEndPoint.";
-        }
-        leaf nrp_ingressCosName {
-            type string;
-            description "Ingress CoS name.";
-        }
-        leaf nrp_ingressColor {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_FrameColor;
-            description "The ingress color may be considered as part of the egress mapping. ";
-        }
-        leaf nrp_deiValue {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_DeiOrDiscard;
-            description "Egress frame DEI value (S tag ot C tag is from vlanTag attribute), including the ingress color indication.";
-        }
-    }
-    list NRP_BwpFlow {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_NRP_BwpFlow;
-    }
-    grouping G_NRP_BwpFlow {
-        leaf nrp_bwpFlowIndex {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_PositiveInteger;
-            description "The index i=1,2,…,n is used to index the Bandwidth Profile Flow among all Bandwidth Profile Flows that are mapped to a given Envelope";
-        }
-        leaf nrp_cir {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "Committed Information Rate that limits the average rate of frames that will be declared Green. In bits per second.";
-        }
-        leaf nrp_cirMax {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "Maximum Committed Information Rate that limits the rate of tokens added to the committed token bucket. In bits per second.";
-        }
-        leaf nrp_cbs {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "Committed Burst Size that limits the maximum number of bytes available for a burst of frames that will be declared Green, in bytes,";
-        }
-        leaf nrp_eir {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "Excess Information Rate that limits the average rate of frames that will be declared Yellow, in bits per second.";
-        }
-        leaf nrp_eirMax {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "Maximum Excess Infor-mation Rate that Limits the rate of tokens added to the excess token bucket, in bits per second.";
-        }
-        leaf nrp_ebs {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "Excessive Burst Size that limits the maximum number of bytes available for a burst of frames that will be declared Yellow, in bytes.";
-        }
-        leaf nrp_couplingFlag {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "Coupling Flag that Determines if overflow Green tokens can be used as Yellow tokens. Value 0 for NO and value 1 for YES.";
-        }
-        leaf nrp_colorMode {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_ColorMode;
-            description "Color Mode that Indicates whether the Color Identifier of the frame is considered by the Bandwidth Profile Algorithm.";
-        }
-        leaf nrp_rank {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_PositiveInteger;
-            description "Bandwidth prorile flow rank in an associated Envelope.";
-        }
-        leaf nrp_tokenRequestOffset {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "Adjusts the number of tokens requested for each external interface frame.";
-        }
-        leaf-list nrp_bwpflowrank {
-            ordered-by system;
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:NRP_BwpFlowRank/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:id';
-            }
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list NRP_IngressBwpPerCosName {
-        key 'nrp_cosName';
-        config true;
-        ordered-by system;
-        uses G_NRP_IngressBwpPerCosName;
-    }
-    grouping G_NRP_IngressBwpPerCosName {
-        leaf nrp_cosName {
-            type string;
-            description "Class of Service name.";
-        }
-        container nrp_bwpflow {
-            config true;
-            uses G_NRP_BwpFlow;
-        }
-    }
-    list NRP_EgressBwpPerEecName {
-        key 'nrp_eecName';
-        config true;
-        ordered-by system;
-        uses G_NRP_EgressBwpPerEecName;
-    }
-    grouping G_NRP_EgressBwpPerEecName {
-        leaf nrp_eecName {
-            type string;
-            description "Egress Equivelance Class name.";
-        }
-    }
-    grouping G_NRP_ServiceAccessPointColorId {
-        leaf nrp_color {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_FrameColor;
-            description "Green or Yellow.";
-        }
-    }
-    grouping G_NRP_PcpColorId {
-        leaf nrp_vlanTag {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_VlanTag;
-            description "Which vlan tag pcp to be used for color identier, S tag or C tag. S-tag is not valid for EvcEndPoint. ";
-        }
-        leaf-list nrp_pcpValue {
-            description "List PCP values map to the same color.";
-            ordered-by system;
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            min-elements 1;
-        }
-        leaf nrp_color {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_FrameColor;
-            description "Green or Yellow.";
-        }
-    }
-    grouping G_NRP_DeiColorId {
-        leaf nrp_vlanTag {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_VlanTag;
-            description "Which vlan tag pcp to be used for color identier, S tag or C tag. S-tag is not valid for EvcEndPoint. ";
-        }
-        leaf-list nrp_deiValue {
-            description "DEI=0 or DEI=1";
-            ordered-by system;
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            max-elements 2;
-            min-elements 1;
-        }
-        leaf nrp_color {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_FrameColor;
-            description "Green or Yellow";
-        }
-    }
-    grouping G_NRP_DespColorId {
-        leaf nrp_ipVersion {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_IpVersion;
-            description "IPv4, or IPv6, or both IPv4 and IPv6.";
-        }
-        leaf-list nrp_dscpValue {
-            description "List DSCP values map to the same color.";
-            ordered-by system;
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-        }
-        leaf nrp_color {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_FrameColor;
-            description "Green or Yellow";
-        }
-    }
-    grouping G_NRP_ColorIdentifier {
-        container nrp_endPointColorId {
-            description "A choice that maps EVC End Point or OVC End Point to Color.";
-            config true;
-            uses G_NRP_ServiceAccessPointColorId;
-        }
-        container nrp_pcpColorId {
-            description "A choice that maps Vlan tag PCPs to Color.";
-            config true;
-            uses G_NRP_PcpColorId;
-        }
-        container nrp_deiColorId {
-            description "A choice that maps Vlan tag DEI to Color.";
-            config true;
-            uses G_NRP_DeiColorId;
-        }
-        container nrp_despColorId {
-            description "A choice that maps DSCP values to Color.";
-            config true;
-            uses G_NRP_DespColorId;
-        }
-    }
-    list NRP_BwpFlowRank {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_NRP_BwpFlowRank;
-    }
-    grouping G_NRP_BwpFlowRank {
-        leaf nrp_bwpFlowRankInEnvelope {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-        }
-        leaf nrp_bwpflow {
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:NRP_BwpFlow/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:id';
-            }
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list NRP_Envelope {
-        key 'nrp_envelopeId';
-        config true;
-        ordered-by system;
-        uses G_NRP_Envelope;
-    }
-    grouping G_NRP_Envelope {
-        leaf nrp_envelopeId {
-            type string;
-        }
-        leaf nrp_couplingFlagForIndexZero {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "Coupling flag for index zero. 0 for NO and 1 for YES (overflow Green tokens can be used as Yellow tokens)";
-        }
-        leaf-list nrp_bwpflowrank {
-            ordered-by system;
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:NRP_BwpFlowRank/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:id';
-            }
-        }
-    }
-    grouping G_NRP_EtherTypeL2cpId {
-        leaf nrp_etherTypeValue {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "EtherType, e.g., 0x8809";
-        }
-        leaf-list nrp_subType {
-            description "List of sub types. Can be NULL.";
-            ordered-by system;
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-        }
-    }
-    grouping G_NRP_LlcAddressL2cpId {
-        leaf nrp_llcAddress {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "LLC Address";
-        }
-    }
-    grouping G_NRP_L2cpProtocolIdentifier {
-        container nrp_llcAddressL2cpId {
-            description "Choice of L2CP Protocol Identifier based on LLC Address.";
-            config true;
-            uses G_NRP_LlcAddressL2cpId;
-        }
-        container nrp_etherTypeL2cpId {
-            description "Choice of L2CP Protocol Identifier based on EtherType w/o SubTypes";
-            config true;
-            uses G_NRP_EtherTypeL2cpId;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    grouping G_NRP_ServiceAccessPointCosId {
-        leaf nrp_cosName {
-            type string;
-            description "Class of Service name.";
-        }
-        list nrp_l2cpprotocolidentifier {
-            description "List of L2CP Protocol Identifiers that map to the CoS Name.";
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_NRP_L2cpProtocolIdentifier;
-        }
-    }
-    grouping G_NRP_DataFrameCosIdentifier {
-        container nrp_endPointCosId {
-            description "This is one choice of the CosProfile, for the EVC based CoS Identifier.";
-            config true;
-            uses G_NRP_ServiceAccessPointCosId;
-        }
-        list nrp_pcpCosId {
-            description "This is one choice of the CosProfile, for the PCP based CoS Identifier.";
-            key 'nrp_cosName';
-            config true;
-            ordered-by system;
-            uses G_NRP_PcpCosId;
-            max-elements 8;
-            min-elements 1;
-        }
-        list nrp_dscpCosId {
-            description "This is one choice of the CosProfile, for the DSCP based CoS Identifier.";
-            key 'nrp_cosName';
-            config true;
-            ordered-by system;
-            uses G_NRP_DscpCosId;
-            max-elements 64;
-            min-elements 1;
-        }
-    }
-}
diff --git a/api/src/main/yang/NRP_Interface-ObjectClasses-NRP_SpecPackage.yang b/api/src/main/yang/NRP_Interface-ObjectClasses-NRP_SpecPackage.yang
deleted file mode 100644 (file)
index de1d7ae..0000000
+++ /dev/null
@@ -1,658 +0,0 @@
-module NRP_Interface-ObjectClasses-NRP_SpecPackage {
-    namespace "uri:onf:NRP_Interface-ObjectClasses-NRP_SpecPackage";
-    prefix NRP_Interface-ObjectClasses-NRP_SpecPackage;
-    import NetworkResource-Main-ObjectClasses {
-        prefix NetworkResource-Main-ObjectClasses;
-    }
-    import NRP_Interface-TypeDefinitions-NRP_Types {
-        prefix NRP_Interface-TypeDefinitions-NRP_Types;
-    }
-    import NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage {
-        prefix NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage;
-    }
-    revision 2016-04-13{}
-    list NRP_TerminationSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_NRP_TerminationSpec;
-    }
-    grouping G_NRP_TerminationSpec {
-        uses NetworkResource-Main-ObjectClasses:G_CeTerminSpec;
-        leaf nrp_physicalLayer {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_PhysicalLayer;
-            description "This attribute is a list of physical layers, one for each physical link implementing the UNI or ENNI. Different physical links can use different physical layers. The Physical Layer for each physical link implementing the UNI or ENNI MUST be one of the PHYs listed in IEEE Std 802.3 – 2012 but excluding 1000BASE-PX-D and 1000BASE-PX-U.
-Reference MEF 10.3, Section 9.2.";
-        }
-        list nrp_syncMode {
-            description "The Synchronous Mode Service Attribute is a list with one item for each of the physical links. When the value of an item is “Enabled,” the bits transmitted from the CEN to the CE on the physical link corresponding to the item can be used by the CE as a bit clock reference.
-Reference MEF 10.3, Section 9.3.";
-            key 'linkId';
-            config true;
-            ordered-by system;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_SyncModePerLink;
-            min-elements 1;
-        }
-        leaf nrp_numberOfLinks {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "This attribute specifies the number of links at the Ethernet Service Interface (UNI or ENNI).
-MEF 10.3, Section 9.4.";
-        }
-        leaf nrp_resiliency {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_InterfaceResiliency;
-            description "This attribute value is one of None, 2-Link Active/Standby, All Active, or Other.
-MEF 10.3, Section 9.5.  MEF 10.3.2, MEF 26.2
-";
-        }
-        container nrp_portConvsIdToAggLinkMap {
-            description "The Port Conversation ID to Aggregation Link Map Attribute is applicable only when the EthernetServiceInterface resiliency attribute has the value of All Active. Its value is a Port Conversation ID to Aggregation Link Map as defined in IEEE Std 802.1AX – 2014.
-MEF 10.3.2";
-            config true;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_ConversationIdToAggrgationLinkMap;
-        }
-        leaf nrp_maxFrameSize {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "This value limits the length of frames carried by an EVC/OVC that associates an EVC/OVC End Point. The minimum of this maxinum number for UNI and ENNI are different.
-MEF 10.3, Section 9.7.";
-        }
-        leaf nrp_linkOamEnabled {
-            type boolean;
-            description "When the value of the Link OAM attribute is Enabled, Link OAM musd tbe run on all physical links in the UNI/ENNI.
-MEF 10.3, Section 9.16.";
-        }
-        leaf nrp_tokenShareEnabled {
-            type boolean;
-            description "When the value of the Token Share Service attribute is Enabled, at least one Envelope at the UNI/ENNI MUST be able to have two or more Bandwidth Profiles mapped to it.
-MEF 6.2, Section 8.2.1. ";
-        }
-        leaf-list nrp_CeServiceAccessPoint {
-            description "The Network Interface relationship to supporting zero to many Logical Interface flow points.";
-            ordered-by system;
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_SpecPackage:NRP_ConnAdaptSpec/NRP_Interface-ObjectClasses-NRP_SpecPackage:id';
-            }
-        }
-        leaf-list nrp_envelope {
-            description "MEF 10.3, Section 12.1.
-MEF 6.2, Section 8.2.2.";
-            ordered-by system;
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:NRP_Envelope/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:nrp_envelopeId';
-            }
-        }
-        leaf nrp_serviceProviderUniId {
-            type string;
-            description "MEF 10.3, Section 9.1.";
-        }
-    }
-    list NRP_ENNI_TerminationSpec {
-        key 'id';
-        config true;
-        uses G_NRP_TerminationSpec;
-        leaf nrp_linkAggLinkMegEnabled {
-            type string;
-            description " When the value of the Operator UNI LAG Link MEG Service Attribute is Enabled, the Operator CEN MUST operate the LAG Link MEG on each link in the UNI. This may be a candidate for UNI service attribute.
-MEF 26.2";
-        }
-    }
-    list NRP_INNI_TerminationSpec {
-        key 'id';
-        config true;
-        uses G_NRP_TerminationSpec;
-    }
-    list NRP_UNI_TerminationSpec {
-        key 'id';
-        config true;
-        uses G_NRP_TerminationSpec;
-        container nrp_defaultCeVlanId {
-            description "This is the CE-VLAN ID value assigned to Untagged Service Frames and Priority Tagged Service Frames. In MEF 10.3, it is called CE Vlan ID for untagged and priority tagged service frames.
-MEF 10.3, Section 9.9.";
-            config true;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_VlanId;
-        }
-        leaf nrp_uniMegEnabled {
-            type boolean;
-            description "When the value of the UNI MEG Service Attribute is Enabled, the CEN MUST meet the mandatory requirements in MEF 30.1 that apply to the UNI MEG
-MEF 10.3, Section 9.17.";
-        }
-        leaf nrp_elmiEnabled {
-            type boolean;
-            description "When the value of the E-LMI Service Attribute is Enabled, the CEN MUST meet the mandatory requirements in MEF 16 that apply to the UNI-N.
-MEF 10.3, Section 9.18";
-        }
-        leaf nrp_serviceprovideruniprofile {
-            type string;
-        }
-        leaf nrp_operatoruniprofile {
-            type string;
-        }
-        leaf nrp_ingressBwpUni {
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:NRP_BwpFlow/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:id';
-            }
-            description "MEF 10.3, Section 9.14";
-        }
-        leaf nrp_egressBwpUni {
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:NRP_BwpFlow/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:id';
-            }
-            description "MEF 10.3, Section 9.15";
-        }
-    }
-    list NRP_EvcEndpoint_ConnAdaptSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_NRP_EvcEndpoint_ConnAdaptSpec;
-        min-elements 2;
-    }
-    grouping G_NRP_EvcEndpoint_ConnAdaptSpec {
-        uses G_NRP_ConnAdaptSpec;
-        leaf nrp_evcEndPointId {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_Identifier45;
-            description "The EVC End Point Identification. This attribute is adapted from MEF 26.2. MEF 10.3 uses \"EVC per UNI\" for EVC End Point, therefore there is no identificaiton attribute. ";
-        }
-        leaf nrp_testMegEnabled {
-            type boolean;
-            description "When the value of the Test MEG Service Attribute is Enabled, the CEN MUST meet the mandatory requirements in Section 7.5 of MEF 30.1.
-that apply to the Test MEG";
-        }
-        leaf nrp_evcEndPointRole {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_EvcEndPointRole;
-            description "The EVC End Point Role is ROOF or LEAF.";
-        }
-        list nrp_evcEndPointMap {
-            description "This attribute provides the list of CE-VLAN IDs that maps to the EVC. MEF 10.3 and MEF 6.2 list this attriubte (CE-VLAN ID/EVC map) as UNI service attribute while MEF 26.2 decided to move this on as endpoint service attribute, just as MEF 10.1 and MEF 6.1 did. Decided to move this one to endpoint to be consistent. To be consitent, changing its name to EvcEntPointMap (MEF 26.2 lists as OVC Endpoint Map).
-";
-            key 'vid';
-            config true;
-            ordered-by system;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_VlanId;
-            min-elements 1;
-        }
-        leaf nrp_subscriberMegMipEbabled {
-            type boolean;
-            description "When the value of the Subscriber MEG MIP Service Attribute is Enabled, the CEN MUST instantiate a Subscriber Level MIP.";
-        }
-        container nrp_elasticserviceconstraintprofile {
-            config true;
-            uses G_NRP_ElasticServiceConstraintProfile;
-        }
-        leaf nrp_evc {
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_SpecPackage:NRP_EdgeCeFcSpec/NRP_Interface-ObjectClasses-NRP_SpecPackage:uuid';
-            }
-        }
-    }
-    list NRP_IvcEndpoint_ConnAdaptSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_NRP_IvcEndpoint_ConnAdaptSpec;
-    }
-    grouping G_NRP_IvcEndpoint_ConnAdaptSpec {
-        uses G_NRP_ConnAdaptSpec;
-        leaf nrp_ivcEndPointId {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_Identifier45;
-            description "The EVC End Point Identification. This attribute is adapted from MEF 26.2. MEF 10.3 uses \"EVC per UNI\" for EVC End Point, therefore there is no identificaiton attribute. ";
-        }
-        leaf nrp_testMegEnabled {
-            type boolean;
-            description "When the value of the Test MEG Service Attribute is Enabled, the CEN MUST meet the mandatory requirements in Section 7.5 of MEF 30.1.
-that apply to the Test MEG";
-        }
-        leaf nrp_ivcEndPointRole {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_EndPointRole;
-            description "The EVC End Point Role is ROOF or LEAF.";
-        }
-        leaf-list nrp_ivcEndPointMap {
-            description "This attribute provides the list of CE-VLAN IDs that maps to the EVC. MEF 10.3 and MEF 6.2 list this attriubte (CE-VLAN ID/EVC map) as UNI service attribute while MEF 26.2 decided to move this on as endpoint service attribute, just as MEF 10.1 and MEF 6.1 did. Decided to move this one to endpoint to be consistent. To be consitent, changing its name to EvcEntPointMap (MEF 26.2 lists as OVC Endpoint Map).
-";
-            ordered-by system;
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_SpecPackage:NRP_EndPointMap/NRP_Interface-ObjectClasses-NRP_SpecPackage:id';
-            }
-            min-elements 1;
-        }
-        leaf nrp_subscriberMegMipEbabled {
-            type boolean;
-            description "When the value of the Subscriber MEG MIP Service Attribute is Enabled, the CEN MUST instantiate a Subscriber Level MIP.";
-        }
-    }
-    list NRP_ConnAdaptSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_NRP_ConnAdaptSpec;
-    }
-    grouping G_NRP_ConnAdaptSpec {
-        uses NetworkResource-Main-ObjectClasses:G_CeConnPtAndAdaptSpec;
-        container nrp_sourceMacAddressLimit {
-            description "MEF 10.3, Section 10.9";
-            config true;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_SourceMacAddressLimit;
-        }
-        leaf nrp_CeExternalInterface {
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_SpecPackage:NRP_TerminationSpec/NRP_Interface-ObjectClasses-NRP_SpecPackage:id';
-            }
-        }
-        container nrp_egressMap {
-            description "MEF 7.3";
-            config true;
-            uses NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:G_NRP_EgressMap;
-        }
-        container nrp_eecIdentifier {
-            config true;
-            uses NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:G_NRP_EecIdentifier;
-        }
-        container nrp_coloridentifier {
-            config true;
-            uses NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:G_NRP_ColorIdentifier;
-        }
-        leaf nrp_ingressBwpFlow {
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:NRP_BwpFlow/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:id';
-            }
-        }
-        leaf nrp_egressBwpFlow {
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:NRP_BwpFlow/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:id';
-            }
-        }
-        container nrp_cosidentifier {
-            config true;
-            uses NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:G_NRP_DataFrameCosIdentifier;
-        }
-        container nrp_ingressbwppercosname {
-            config true;
-            uses NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:G_NRP_IngressBwpPerCosName;
-        }
-        container nrp_egressbwppereecname {
-            config true;
-            uses NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:G_NRP_EgressBwpPerEecName;
-        }
-        leaf nrp_l2cpAddressSet {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_L2cpAddressSet;
-        }
-        list nrp_l2cpPeering {
-            description "The L2CP Peering service attribute value MUST be an empty list, or a list
-of entries identifying protocols to be Peered where each entry consists of
-{Destination Address, Protocol Identifier} or {Destination Address, Protocol
-Identifier, Link Identifier}.
-MEF 45, Section 8.2";
-            key 'protocolId';
-            config true;
-            ordered-by system;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_L2cpPeering;
-        }
-    }
-    list NRP_EdgeCeFcSpec {
-        key 'uuid';
-        config true;
-        ordered-by system;
-        uses G_NRP_EdgeCeFcSpec;
-    }
-    grouping G_NRP_EdgeCeFcSpec {
-        uses G_NRP_CeFcSpec;
-        list nrp_evcEndpoint {
-            key 'id';
-            config true;
-            ordered-by system;
-            uses G_NRP_EvcEndpoint_ConnAdaptSpec;
-            min-elements 1;
-        }
-        leaf-list nrp_ovcEndpoint {
-            ordered-by system;
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_SpecPackage:NRP_OvcEndpoint_ConnAdaptSpec/NRP_Interface-ObjectClasses-NRP_SpecPackage:id';
-            }
-        }
-        leaf-list nrp_ivcEndpoint {
-            ordered-by system;
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_SpecPackage:NRP_IvcEndpoint_ConnAdaptSpec/NRP_Interface-ObjectClasses-NRP_SpecPackage:id';
-            }
-        }
-        leaf nrp_ceVlanIdPreservation {
-            type boolean;
-            description "The CE-VLAN ID preserved represents the CE-VLAN ID relationship between the ingress Service Frame and its corresponding egress Service Frame(s). Reference MEF 10.3, Section 8.6.1.";
-        }
-        leaf nrp_ceVlanCosPreservation {
-            type boolean;
-            description "The CE-VLAN CoS preservation represents the PCP value relationship between the ingress Service Frame and its corresponding egress Service Frame(s). Reference MEF 10.3, Section 8.6.2.";
-        }
-        leaf nrp_CeEvcFcPortSetSpec {
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_SpecPackage:NRP_CeEvcFcPortSetSpec/NRP_Interface-ObjectClasses-NRP_SpecPackage:id';
-            }
-        }
-    }
-    list NRP_ElasticServiceConstraintProfile {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_NRP_ElasticServiceConstraintProfile;
-    }
-    grouping G_NRP_ElasticServiceConstraintProfile {
-        leaf nrp_cirUpperBound {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "This attribute sets the elastic CIR upper bound.";
-        }
-        leaf nrp_cirEirLowerBound {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "This attribute sets the elastic CIR and EIR lower bound.";
-        }
-        leaf nrp_cirEirUpperBound {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "This attribute sets the elastic CIR and EIR upper bound.";
-        }
-        leaf nrp_modReqLimit {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "This attribute sets the modification request limit.";
-        }
-        leaf nrp_modIntervalLimit {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "This attributes sets the modification interval limit. ";
-        }
-        leaf nrp_currentCir {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "This attribute reflects the current CIR.";
-        }
-        leaf nrp_currentCbs {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "This attribute reflects the current CBS.";
-        }
-        leaf nrp_currentEir {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "This attribute reflects the current EIR.";
-        }
-        leaf nrp_currentEbs {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "This attribute reflects the current EBS.";
-        }
-        list nrp_currentCeVlanIdList {
-            description "This attribute reflects the current CE-VLAN ID list.";
-            key 'vid';
-            config true;
-            ordered-by system;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_VlanId;
-            min-elements 1;
-        }
-        container nrp_currentUniACeVlanId {
-            description "This attribute reflects the current UNI A CE-VLAN ID.";
-            config true;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_VlanId;
-        }
-        container nrp_currentUniZCeVlanId {
-            description "This attribute reflects the current UNI Z CE-VLAN ID.";
-            config true;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_VlanId;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    list NRP_TransitCeFcSpec {
-        key 'uuid';
-        config true;
-        uses G_NRP_CeFcSpec;
-        leaf nrp_sVlanIdPreservation {
-            type boolean;
-            description "The OVC S-VLAN ID Preservation Service Attribute describes a relationship between the S-VLAN ID value of a frame at one ENNI and the S-VLAN ID value of the corresponding frame at another ENNI supported by the Operator CEN where each ENNI has an OVC End Point that is associated by the OVC";
-        }
-        leaf nrp_sVlanPcpPreservation {
-            type boolean;
-            description "The OVC S-VLAN PCP Preservation Service Attribute describes a relationship between the S-VLAN PCP value of a frame at one ENNI and the S-VLAN PCP of the corresponding frame at another ENNI supported by the Operator CEN where each ENNI has an OVC End Point that is associated by the OVC";
-        }
-        leaf-list nrp_ListOfCosNames {
-            description "The value of the List of Class of Service Names Service Attribute is a list of Class of Service Names. Each ingress ENNI Frame or ingress Service Frame is assigned a Class of Service Name via the frame’s Class of Service Identifier. The Class of Service Name that is assigned to a frame indicates the performance objectives that apply to frame under appropriate conditions.";
-            ordered-by system;
-            type string;
-        }
-        leaf-list nrp_ovcEndpoint {
-            ordered-by system;
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_SpecPackage:NRP_OvcEndpoint_ConnAdaptSpec/NRP_Interface-ObjectClasses-NRP_SpecPackage:id';
-            }
-        }
-        leaf-list nrp_ivcEndpoint {
-            ordered-by system;
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_SpecPackage:NRP_IvcEndpoint_ConnAdaptSpec/NRP_Interface-ObjectClasses-NRP_SpecPackage:id';
-            }
-        }
-        leaf nrp_CeEthFcPortSetSpec {
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_SpecPackage:NRP_CeEthFcPortSetSpec/NRP_Interface-ObjectClasses-NRP_SpecPackage:id';
-            }
-        }
-    }
-    list NRP_CeFcSpec {
-        key 'uuid';
-        config true;
-        ordered-by system;
-        uses G_NRP_CeFcSpec;
-    }
-    grouping G_NRP_CeFcSpec {
-        uses NetworkResource-Main-ObjectClasses:G_CeFcSpec;
-        leaf nrp_connectionType {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_ConnectionType;
-            description "Virtual connection (EVC or OVC).";
-        }
-        leaf nrp_unicastFrameDelivery {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_ServiceFrameDelivery;
-            description "A Data Service Frame with a unicast Destination MAC Address is defined to be a Multicast Data Service Frame. Reference MEF 10.3, Section 8.5.2.";
-        }
-        leaf nrp_multicastFrameDelivery {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_ServiceFrameDelivery;
-        }
-        leaf nrp_broadcastFrameDelivery {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_ServiceFrameDelivery;
-            description "A Data Service Frame with a broadcast Destination MAC Address is defined to be a Broadcast Data Service Frame. Reference MEF 10.3, Section 8.5.2 for EVC and MEF 26.1, Section x.y for OVC.";
-        }
-        leaf nrp_vcMaxServiceFrame {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_PositiveInteger;
-            description "The value for the EVC or OVC Maximum Service Frame Size is a positive integer in bytes. Reference MEF 10.3, Section 8.9 for EVC and MEF 26.1 Section x.y for OVC.";
-        }
-        leaf nrp_vcId {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_Identifier45;
-            description "The EVC ID is an arbitrary string administered by the Service Provider that is used to identify an EVC within the CEN.
-MEF 10.3, Section 8.2.";
-        }
-    }
-    list NRP_EndPointMap {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_NRP_EndPointMap;
-    }
-    grouping G_NRP_EndPointMap {
-        container nrp_endPointMapFormE {
-            description "Form E (E for ENNI).";
-            config true;
-            uses G_NRP_EndPointMapFormE;
-        }
-        container nrp_endPointMapFormT {
-            description "Form T (T for Trunk) ";
-            config true;
-            uses G_NRP_EndPointMapFormT;
-        }
-        container nrp_endPointMapFormV {
-            description "Form V (V for VUNI).";
-            config true;
-            uses G_NRP_EndPointMapFormV;
-        }
-        container nrp_endPointMapFormU {
-            description "Form U (U for UNI) .";
-            config true;
-            uses G_NRP_EndPointMapFormU;
-        }
-        leaf id {
-            type string;
-        }
-    }
-    grouping G_NRP_EndPointMapFormE {
-        list nrp_sVid {
-            description "List of S-VLAN IDs";
-            key 'vid';
-            config true;
-            ordered-by system;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_VlanId;
-            min-elements 1;
-        }
-    }
-    grouping G_NRP_EndPointMapFormT {
-        container nrp_rootSVid {
-            description "Root S-VLAN ID";
-            config true;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_VlanId;
-        }
-        container nrp_leafSVid {
-            description "Leaf S-VLAN ID";
-            config true;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_VlanId;
-        }
-    }
-    grouping G_NRP_EndPointMapFormV {
-        container nrp_sVid {
-            description "S-VLAN ID";
-            config true;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_VlanId;
-        }
-        list nrp_enniCeVid {
-            description "List of ENNI CE-CLAN IDs";
-            key 'vid';
-            config true;
-            ordered-by system;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_VlanId;
-            min-elements 1;
-        }
-    }
-    grouping G_NRP_EndPointMapFormU {
-        list nrp_cVid {
-            description "List of CE-VLAN IDs";
-            key 'vid';
-            config true;
-            ordered-by system;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_VlanId;
-            min-elements 1;
-        }
-    }
-    list NRP_OvcEndpoint_ConnAdaptSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_NRP_OvcEndpoint_ConnAdaptSpec;
-    }
-    grouping G_NRP_OvcEndpoint_ConnAdaptSpec {
-        uses G_NRP_ConnAdaptSpec;
-        leaf nrp_ovcEndPointId {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_Identifier45;
-            description "OVC End Point Identifier (MEF 26.2).";
-        }
-        leaf nrp_ovcEndPointRole {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_EndPointRole;
-            description "OVC End Point Role is ROOF, LEAF, or TRUNK.";
-        }
-        leaf nrp_mipEnabled {
-            type boolean;
-            description "When the value is Enabled, several parameter values, including the MEG Level, need to be determined as described in MEF 30.1. This Service Attribute is only applicable when the OVC End Point is at an ENNI and not in a VUNI.";
-        }
-        list nrp_enniMepList {
-            description "The value of the OVC End Point Maintenance End Point List Service Attribute is a list of pairs, one for each MEP that is instantiated. Each pair is of the form <l,d> where l equals the MEG Level, and d is the direction for the MEP, either Up or Down. ";
-            key 'nrp_megId';
-            config true;
-            ordered-by system;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_MepLevelAndDirection;
-        }
-        leaf nrp_enniTaggedL2cp801dotCompliant {
-            type boolean;
-            description "This attribute reflects the capability of the ENNI to process S-VLAN-tagged L2CP Frames in an 802.1 compliant manner.";
-        }
-        container nrp_endPointMap {
-            config true;
-            uses G_NRP_EndPointMap;
-        }
-        list nrp_aggregationLinkDepth {
-            description "This attribute only applies to OVC End Points at an ENNI and the ENNI linkAggregation has the value ALL_ACTIVE, or EVC/OVC End Points at UNI and the UNI linkAggregation has the value ALL_ACTIVE. The attribute value is a list of pairs of the form (s,n) where s is an VLAN ID value that is contained in the value of the OVC End Point Map Service Attribute and n is an integer in the range 1 to the value of the ENNI Number of Links. n specifies the number of links in the ENNI Port Conversation ID to Aggregation Link Map for the S-VLAN ID value s.";
-            key 'nrp_linkNumber';
-            config true;
-            ordered-by system;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_AggLinkDepth;
-        }
-    }
-    list NRP_VUNI {
-        key 'id';
-        config true;
-        uses G_NRP_OvcEndpoint_ConnAdaptSpec;
-        leaf nrp_vuniIdentifier {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_Identifier45;
-            description "This allows the SP/SO and the Operator to uniquely identify a VUNI for operations purposes";
-        }
-        container nrp_sVid {
-            description "The value of this attribute uniquely identifies the VUNI at the ENNI.";
-            config true;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_VlanId;
-        }
-        container nrp_defaultCeVid {
-            description "This attribute is needed for the definition of the ENNI CE-VLAN ID for an ENNI Frame. The ENNI CE-VLAN ID is used in Form V of the OVC End Point Map Service Attribute at an ENNI.  0 for no C-TAG";
-            config true;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_VlanId;
-        }
-        leaf nrp_maxNumOvcEndpoint {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "This attribute defines the maximum number of OVC End Points that the ENNI can support.";
-        }
-        leaf nrp_maxNumEnniCeVlanIdPerOvcEndPoint {
-            type NRP_Interface-TypeDefinitions-NRP_Types:NRP_NaturalNumber;
-            description "This attribute value is the largest number of ENNI CE-VLAN ID values that can map to an OVC End Point in a value of the OVC End Point Map Service Attribute for an OVC End Point that is in the VUNI.";
-        }
-        list nrp_vuniEndPointMepList {
-            description "This attribute provides a list of pairs, one for each MEP that is instantiated. Each pair is of the form <l,d> where 𝑙 equals the MEG Level, and 𝑑 is the direction for the MEP, either Up or Down.";
-            key 'nrp_megId';
-            config true;
-            ordered-by system;
-            uses NRP_Interface-TypeDefinitions-NRP_Types:G_NRP_MepLevelAndDirection;
-        }
-        leaf nrp_ingressbwp {
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:NRP_BwpFlow/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:id';
-            }
-        }
-        leaf nrp_egressbwp {
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:NRP_BwpFlow/NRP_Interface-ObjectClasses-NRP_BandwidthProfilePackage:id';
-            }
-        }
-        leaf-list nrp_ovcendpoint {
-            ordered-by system;
-            type leafref {
-                path '/NRP_Interface-ObjectClasses-NRP_SpecPackage:NRP_OvcEndpoint_ConnAdaptSpec/NRP_Interface-ObjectClasses-NRP_SpecPackage:id';
-            }
-        }
-    }
-    list NRP_CeEvcFcPortSetSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_NRP_CeEvcFcPortSetSpec;
-    }
-    grouping G_NRP_CeEvcFcPortSetSpec {
-        uses NetworkResource-Main-ObjectClasses:G_CeEvcFcPortSetSpec;
-    }
-    list NRP_CeEthFcPortSetSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_NRP_CeEthFcPortSetSpec;
-    }
-    grouping G_NRP_CeEthFcPortSetSpec {
-        uses NetworkResource-Main-ObjectClasses:G_CeEthFcPortSetSpec;
-    }
-    list NRP_CeLtpSpec {
-        key 'id';
-        config true;
-        uses NetworkResource-Main-ObjectClasses:G_CeLtpSpec;
-    }
-}
diff --git a/api/src/main/yang/NRP_Interface-ObjectClasses-TopologyPacs.yang b/api/src/main/yang/NRP_Interface-ObjectClasses-TopologyPacs.yang
deleted file mode 100644 (file)
index 60dd94e..0000000
+++ /dev/null
@@ -1,164 +0,0 @@
-module NRP_Interface-ObjectClasses-TopologyPacs {
-    namespace "uri:onf:NRP_Interface-ObjectClasses-TopologyPacs";
-    prefix NRP_Interface-ObjectClasses-TopologyPacs;
-    import CoreModel-CoreNetworkModule-TypeDefinitions {
-        prefix CoreModel-CoreNetworkModule-TypeDefinitions;
-    }
-    import CoreModel-CoreNetworkModule-ObjectClasses {
-        prefix CoreModel-CoreNetworkModule-ObjectClasses;
-    }
-    revision 2016-04-13{}
-    grouping G_TransferCost_Pac {
-        list costCharacteristicList {
-            description "The list of costs where each cost relates to some aspect of the TopologicalEntity.";
-            key 'costName';
-            config true;
-            ordered-by system;
-            uses CoreModel-CoreNetworkModule-TypeDefinitions:G_CostCharacteristics;
-            min-elements 1;
-        }
-    }
-    grouping G_RiskParameter_Pac {
-        list riskCharacteristicList {
-            description "A list of risk characteristics for consideration in an analysis of shared risk. Each element of the list represents a specific risk consideration.";
-            key 'riskCharacteristicName';
-            config true;
-            ordered-by system;
-            uses CoreModel-CoreNetworkModule-TypeDefinitions:G_RiskCharacteristic;
-            min-elements 1;
-        }
-    }
-    grouping G_LayerProtocolTransition_Pac {
-        leaf-list transitionedLayerProtocolList {
-            description "Provides the ordered structure of layer protocol transitions encapsulated in the TopologicalEntity. The ordering relates to the LinkPort role.";
-            ordered-by system;
-            type string;
-            min-elements 1;
-        }
-        leaf-list _ltpRefList {
-            description "Lists the LTPs that define the layer protocol transition of the transitional link.";
-            ordered-by system;
-            type leafref {
-                path '/CoreModel-CoreNetworkModule-ObjectClasses:LogicalTerminationPoint/CoreModel-CoreNetworkModule-ObjectClasses:uuid';
-            }
-            min-elements 1;
-        }
-    }
-    grouping G_TransferTiming_Pac {
-        leaf fixedLatencyCharacteristic {
-            type string;
-            description "A TopologicalEntity suffers delay caused by the realization of the servers (e.g. distance related; FEC encoding etc.) along with some client specific processing. This is the total average latency effect of the TopologicalEntity";
-        }
-        leaf jitterCharacteristic {
-            type string;
-            description "High frequency deviation from true periodicity of a signal and therefore a small high rate of change of transfer latency.
-Applies to TDM systems (and not packet).";
-        }
-        leaf wanderCharacteristic {
-            type string;
-            description "Low frequency deviation from true periodicity of a signal and therefore a small low rate of change of transfer latency.
-Applies to TDM systems (and not packet).";
-        }
-        list queuingLatencyList {
-            description "The effect on the latency of a queuing process. This only has significant effect for packet based systems and has a complex characteristic.";
-            key 'id';
-            config true;
-            ordered-by system;
-            uses CoreModel-CoreNetworkModule-TypeDefinitions:G_QueuingLatency;
-        }
-    }
-    grouping G_TransferIntegrity_Pac {
-        leaf errorCharacteristic {
-            type string;
-            description "Describes the degree to which the signal propagated can be errored. 
-Applies to TDM systems as the errored signal will be propagated and not packet as errored packets will be discarded.";
-        }
-        leaf lossCharacteristic {
-            type string;
-            description "Describes the acceptable characteristic of lost packets where loss may result from discard due to errors or overflow.
-Applies to packet systems and not TDM (as for TDM errored signals are propagated unless grossly errored and overflow/underflow turns into timing slips).";
-        }
-        leaf repeatDeliveryCharacteristic {
-            type string;
-            description "Primarily applies to packet systems where a packet may be delivered more than once (in fault recovery for example). 
-It can also apply to TDM where several frames may be received twice due to switching in a system with a large differential propagation delay.";
-        }
-        leaf deliveryOrderCharacteristic {
-            type string;
-            description "Describes the degree to which packets will be delivered out of sequence.
-Does not apply to TDM as the TDM protocols maintain strict order.";
-        }
-        leaf unavailableTimeCharacteristic {
-            type string;
-            description "Describes the duration for which there may be no valid signal propagated.";
-        }
-        leaf serverIntegrityProcessCharacteristic {
-            type string;
-            description "Describes the effect of any server integrity enhancement process on the characteristics of the TopologicalEntity.";
-        }
-    }
-    grouping G_TransferCapacity_Pac {
-        container totalPotentialCapacity {
-            description "An optimistic view of the capacity of the TopologicalEntity assuming that any shared capacity is available to be taken.";
-            config true;
-            uses CoreModel-CoreNetworkModule-TypeDefinitions:G_Capacity;
-        }
-        container availableCapacity {
-            description "Capacity available to be assigned.";
-            config true;
-            uses CoreModel-CoreNetworkModule-TypeDefinitions:G_Capacity;
-        }
-        list capacityAssignedToUserView {
-            description "Capacity already assigned";
-            key 'id';
-            config true;
-            ordered-by system;
-            uses CoreModel-CoreNetworkModule-TypeDefinitions:G_Capacity;
-        }
-        leaf capacityInteractionAlgorithm {
-            type string;
-            description "A reference to an algorithm that describes how various chunks of allocated capacity interact (e.g. when shared)";
-        }
-    }
-    grouping G_TopologicalEntity {
-        container _riskParameter_Pac {
-            config true;
-            uses G_RiskParameter_Pac;
-        }
-        container _transferCost_Pac {
-            config true;
-            uses G_TransferCost_Pac;
-        }
-        container _transferTiming_Pac {
-            config true;
-            uses G_TransferTiming_Pac;
-        }
-        container _transferCapacity_Pac {
-            config true;
-            uses G_TransferCapacity_Pac;
-        }
-        container _transferIntegrity_Pac {
-            config true;
-            uses G_TransferIntegrity_Pac;
-        }
-        container _validation_Pac {
-            config true;
-            uses G_Validation_Pac;
-        }
-        list _layerTransition_Pac {
-            config true;
-            ordered-by system;
-            uses G_LayerProtocolTransition_Pac;
-        }
-    }
-    grouping G_Validation_Pac {
-        list validationMechanismList {
-            description "Provides details of the specific validation mechanism(s) used to confirm the presence of an intended topologicalEntity.";
-            key 'id';
-            config true;
-            ordered-by system;
-            uses CoreModel-CoreNetworkModule-TypeDefinitions:G_ValidationMechanism;
-            min-elements 1;
-        }
-    }
-}
diff --git a/api/src/main/yang/NRP_Interface-TypeDefinitions-NRP_Types.yang b/api/src/main/yang/NRP_Interface-TypeDefinitions-NRP_Types.yang
deleted file mode 100644 (file)
index 05f8cde..0000000
+++ /dev/null
@@ -1,262 +0,0 @@
-module NRP_Interface-TypeDefinitions-NRP_Types {
-    namespace "uri:onf:NRP_Interface-TypeDefinitions-NRP_Types";
-    prefix NRP_Interface-TypeDefinitions-NRP_Types;
-    revision 2016-04-13{}
-    grouping G_NRP_SourceMacAddressLimit {
-        leaf enabled {
-            type boolean;
-        }
-        leaf limit {
-            type NRP_NaturalNumber;
-        }
-        leaf timeInterval {
-            type NRP_NaturalNumber;
-        }
-    }
-    grouping G_NRP_VlanId {
-        leaf vid {
-            type NRP_PositiveInteger;
-        }
-    }
-    typedef NRP_EvcEndPointRole {
-        type enumeration {
-            enum ROOT;
-            enum LEAF;
-        }
-    }
-    typedef NRP_Identifier45 {
-        type string;
-    }
-    typedef NRP_L2cpAddressSet {
-        type enumeration {
-            enum CTA;
-            enum CTB;
-            enum CTB2;
-        }
-    }
-    typedef NRP_PhysicalLayer {
-        type enumeration {
-            enum 10BASE2;
-            enum 10BASE5;
-            enum 10BASE_F;
-            enum 10BASE_FB;
-            enum 10BASE_FL;
-            enum 10BASE_FP;
-            enum 10BASE_T;
-            enum 10BASE_TE;
-            enum 10BROAD36;
-            enum 10PASS_TS;
-            enum 100BASE_BX10;
-            enum 100BASE_FX;
-            enum 100BASE_LX10;
-            enum 100BASE_T;
-            enum 100BASE_T2;
-            enum 100BASE_T4;
-            enum 100BASE_TX;
-            enum 100BASE_X;
-            enum 1000BASE_BX10;
-            enum 1000BASE_CX;
-            enum 1000BASE_KX;
-            enum 1000BASE_LX;
-            enum 1000BASE_LX10;
-            enum 1000BASE_PX10;
-            enum 1000BASE_PX20;
-            enum 1000BASE_SX;
-            enum 1000BASE_T;
-            enum 1000BASE_X;
-            enum 10GBASE_CX4;
-            enum 10GBASE_E;
-            enum 10GBASE_ER;
-            enum 10GBASE_EW;
-            enum 10GBASE_KR;
-            enum 10GBASE_KX4;
-            enum 10GBASE_L;
-            enum 10GBASE_LR;
-            enum 10GBASE_LRM;
-            enum 10GBASE_LW;
-            enum 10GBASE_LX4;
-            enum 10GBASE_PR;
-            enum 10GBASE_PRX;
-            enum 10GBASE_R;
-            enum 10GBASE_S;
-            enum 10GBASE_SR;
-            enum 10GBASE_SW;
-            enum 10GBASE_T;
-            enum 10GBASE_W;
-            enum 10GBASE_X;
-            enum 100GBASE_R;
-            enum 100GBASE_CR10;
-            enum 100GBASE_ER4;
-            enum 100GBASE_LR4;
-            enum 100GBASE_SR10;
-            enum 40GBASE_R;
-            enum 40GBASE_CR4;
-            enum 40GBASE__FR;
-            enum 40GBASE_KR4;
-            enum 40GBASE_LR4;
-            enum 40GBASE_SR4;
-            enum 1BASE5;
-            enum 2BASE_TL;
-            enum 1G_EPON;
-            enum 10G_EPON;
-            enum 10_1G_EPON;
-            enum 10_10G_EPON;
-            enum NONE;
-        }
-    }
-    typedef NRP_NaturalNumber {
-        type enumeration {
-            enum ENABLED;
-            enum DISABLED;
-        }
-    }
-    grouping G_NRP_SyncModePerLink {
-        leaf linkId {
-            type string;
-        }
-        leaf syncModeEnabled {
-            type boolean;
-        }
-    }
-    typedef NRP_ProtocolFrameType {
-        type enumeration {
-            enum ETHERTYPE;
-            enum LLC_ADDRESS;
-            enum OTHER;
-        }
-    }
-    typedef NRP_InterfaceResiliency {
-        type enumeration {
-            enum NONE;
-            enum 2_LINK_ACTIVE_STANDBY;
-            enum ALL_ACTIVE;
-            enum OTHER;
-        }
-    }
-    grouping G_NRP_ConversationIdToAggrgationLinkMap {
-        leaf conversationId {
-            type NRP_NaturalNumber;
-        }
-        leaf linkId {
-            type NRP_NaturalNumber;
-        }
-    }
-    grouping G_NRP_L2cpPeering {
-        leaf destinationMacAddress {
-            type string;
-            description "The destination address determines the intended recipient device for the frame.";
-        }
-        leaf protocolType {
-            type NRP_ProtocolFrameType;
-            description "Protocol Identifier is either an LLC Address or an Ethertype, and it could have subtypes. The list specifies only the L2CP Frames that
-are to be Peered. Any L2CP Frame that is not Peered will either be Discarded or Passed
-as a result of the flow charts and requirements specified in MEF 45, Section 9.";
-        }
-        leaf linkId {
-            type string;
-            description "Identifies the physical link identifier for protocols (e.g. LLDP, ESMC) that can operate over the individual physical links.
-If no link identifier is specified then the list entry will apply to all physical links. 
-MEF 45, Section 8.2";
-        }
-        leaf protocolId {
-            type string;
-        }
-    }
-    typedef NRP_ColorMode {
-        type enumeration {
-            enum COLOR_AWARE;
-            enum COLOR_BLIND;
-        }
-    }
-    typedef NRP_PositiveInteger {
-        type enumeration {
-            enum ENABLED;
-            enum DISABLED;
-        }
-    }
-    typedef NRP_VlanTag {
-        type enumeration {
-            enum S_TAG;
-            enum C_TAG;
-        }
-    }
-    typedef NRP_IpVersion {
-        type enumeration {
-            enum IPV4;
-            enum IPV6;
-            enum IPV4_AND_IPV6;
-        }
-    }
-    typedef NRP_FrameColor {
-        type enumeration {
-            enum GREEN;
-            enum YELLOW;
-        }
-    }
-    typedef NRP_PcpOrDiscard {
-        type enumeration {
-            enum DISCARD;
-            enum 0;
-            enum 1;
-            enum 2;
-            enum 3;
-            enum 4;
-            enum 5;
-            enum 6;
-            enum 7;
-        }
-    }
-    typedef NRP_DeiOrDiscard {
-        type enumeration {
-            enum DISCARD;
-            enum 0;
-            enum 1;
-        }
-    }
-    grouping G_NRP_AggLinkDepth {
-        container nrp_vlanId {
-            config true;
-            uses G_NRP_VlanId;
-        }
-        leaf nrp_linkNumber {
-            type NRP_NaturalNumber;
-        }
-    }
-    typedef NRP_ConnectionType {
-        type enumeration {
-            enum POINT_TO_POINT;
-            enum MULTIPOINT;
-            enum ROOTED_MULTIPOINT;
-        }
-    }
-    typedef NRP_ServiceFrameDelivery {
-        type enumeration {
-            enum CONDITIONALLY;
-            enum UNCONDITIONALLY;
-        }
-    }
-    typedef NRP_EndPointRole {
-        type enumeration {
-            enum ROOT;
-            enum LEAF;
-            enum TRUNK;
-        }
-    }
-    typedef NRP_MepDirection {
-        type enumeration {
-            enum DOWN;
-            enum UP;
-        }
-    }
-    grouping G_NRP_MepLevelAndDirection {
-        leaf nrp_level {
-            type NRP_NaturalNumber;
-        }
-        leaf nrp_direction {
-            type NRP_MepDirection;
-        }
-        leaf nrp_megId {
-            type string;
-        }
-    }
-}
diff --git a/api/src/main/yang/NRP_Interface-TypeDefinitions-TopologyPacs.yang b/api/src/main/yang/NRP_Interface-TypeDefinitions-TopologyPacs.yang
deleted file mode 100644 (file)
index 037c440..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-module NRP_Interface-TypeDefinitions-TopologyPacs {
-    namespace "uri:onf:NRP_Interface-TypeDefinitions-TopologyPacs";
-    prefix NRP_Interface-TypeDefinitions-TopologyPacs;
-    revision 2016-04-13{}
-    grouping G_CostCharacteristics {
-        leaf costName {
-            type string;
-            description "The cost characteristic will related to some aspect of the TopologicalEntity (e.g. $ cost, routing weight). This aspect will be conveyed by the costName.";
-        }
-        leaf costValue {
-            type string;
-            description "The specific cost.";
-        }
-        leaf costAlgorithm {
-            type string;
-            description "The cost may vary based upon some properties of the TopologicalEntity. The rules for the variation are conveyed by the costAlgorithm.";
-        }
-    }
-    grouping G_RiskCharacteristic {
-        leaf riskCharacteristicName {
-            type string;
-            description "The name of the risk characteristic. The characteristic may be related to a specific degree of closeness. 
-For example a particular characteristic may apply to failures that are localized (e.g. to one side of a road) where as another characteristic may relate to failures that have a broader impact (e.g. both sides of a road that crosses a bridge).
-Depending upon the importance of the traffic being routed different risk characteristics will be evaluated.";
-        }
-        leaf-list riskIdentifierList {
-            description "A list of the identifiers of each physical/geographic unit (with the specific risk characteristic) that is related to a segment of the TopologicalEntity.";
-            ordered-by system;
-            type string;
-            min-elements 1;
-        }
-    }
-    grouping G_Capacity {
-        leaf totalSize {
-            type string;
-            description "Total capacity of the TopologicalEntity in MB/s";
-        }
-        leaf numberOfClientInstances {
-            type string;
-            description "Where there is some limit to the number of client (e.g. in a channelized case).";
-        }
-        leaf maximumClientSize {
-            type string;
-            description "Where a client is of variable capacity but due to some underlying realization the maximum size of the client is smaller than the totalSize.";
-        }
-        leaf numberingRange {
-            type string;
-            description "Method for identifying units of capacity via some numbering scheme.";
-        }
-    }
-    grouping G_ValidationMechanism {
-        leaf validationMechanism {
-            type string;
-            description "Name of mechanism used to validate adjacency";
-        }
-        leaf layerProtocolAdjacencyValidated {
-            type string;
-            description "State of validatiion";
-        }
-        leaf validationRobustness {
-            type string;
-            description "Quality of validation (i.e. how likely is the stated validation to be invalid)";
-        }
-    }
-    grouping G_QueuingLatency {
-        leaf trafficProperty {
-            type string;
-            description "The identifier of the specific traffic property to which the queuing latency applies.";
-        }
-        leaf latencyForTrafficWithProperty {
-            type string;
-            description "The specific queuing latency for the traffic property.";
-        }
-    }
-}
diff --git a/api/src/main/yang/NRP_Interface-TypeDefinitions.yang b/api/src/main/yang/NRP_Interface-TypeDefinitions.yang
deleted file mode 100644 (file)
index 02232bf..0000000
+++ /dev/null
@@ -1,77 +0,0 @@
-module NRP_Interface-TypeDefinitions {
-    namespace "uri:onf:NRP_Interface-TypeDefinitions";
-    prefix NRP_Interface-TypeDefinitions;
-    revision 2016-04-13{}
-    typedef OperationalState {
-        type enumeration {
-            enum ENABLED;
-            enum DISABLED;
-        }
-    }
-    typedef OperType {
-        type enumeration {
-            enum REVERTIVE;
-            enum NON-REVERTIVE;
-        }
-    }
-    typedef Directionality {
-        type enumeration {
-            enum SINK;
-            enum SOURCE;
-            enum BIDIRECTIONAL;
-        }
-    }
-    typedef LayerProtocolName {
-        type string;
-    }
-    typedef PortRole {
-        type string;
-    }
-    typedef PortDirection {
-        type enumeration {
-            enum BIDIRECTIONAL;
-            enum INPUT;
-            enum OUTPUT;
-            enum UNIDENTIFIED_OR_UNKNOWN;
-        }
-    }
-    typedef ForwardingDirection {
-        type enumeration {
-            enum BIDIRECTIONAL;
-            enum UNIDIRECTIONAL;
-            enum UNDEFINED_OR_UNKNOWN;
-        }
-    }
-    typedef TerminationDirection {
-        type enumeration {
-            enum BIDIRECTIONAL;
-            enum SINK;
-            enum SOURCE;
-            enum UNDEFINED_OR_UNKNOWN;
-        }
-    }
-    typedef ExtendedTerminationDirection {
-        type enumeration {
-            enum BIDIRECTIONAL;
-            enum SINK;
-            enum SOURCE;
-            enum UNDEFINED_OR_UNKNOWN;
-            enum CONTRA_DIRECTION_SINK;
-            enum CONTRA_DIRECTION_SOURCE;
-        }
-    }
-    typedef ProtectionType {
-        type string;
-    }
-    typedef TerminationState {
-        type enumeration {
-            enum LP_CAN_NEVER_TERMINATE;
-            enum LT_NOT_TERMINATED;
-            enum TERMINATED_SERVER_TO_CLIENT_FLOW;
-            enum TERMINATED_CLIENT_TO_SERVER_FLOW;
-            enum TERMINATED_BIDIRECTIONAL;
-            enum LT_PERMENANTLY_TERMINATED;
-            enum TERMINATION_STATE_UNKNOWN;
-        }
-    }
-}
diff --git a/api/src/main/yang/NetworkResource-Main-ObjectClasses.yang b/api/src/main/yang/NetworkResource-Main-ObjectClasses.yang
deleted file mode 100644 (file)
index f3283db..0000000
+++ /dev/null
@@ -1,197 +0,0 @@
-module NetworkResource-Main-ObjectClasses {
-    namespace "uri:onf:NetworkResource-Main-ObjectClasses";
-    prefix NetworkResource-Main-ObjectClasses;
-    import CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule {
-        prefix CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule;
-    }
-    revision 2016-04-13{}
-    grouping G_CeLPSpec {
-        uses CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:G_LpSpec;
-    }
-    grouping G_CeTerminSpec {
-        uses CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:G_TerminationSpec;
-    }
-    grouping G_CeConnPtAndAdaptSpec {
-        uses CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:G_ConnectionPointAndAdapterSpec;
-    }
-    list CeLtpSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_CeLtpSpec;
-    }
-    grouping G_CeLtpSpec {
-        uses CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:G_LtpSpec;
-    }
-    grouping G_CeEndPointLpSpec {
-        uses G_CeLPSpec;
-    }
-    list CeSpUniLpSpec {
-        key 'id';
-        config true;
-        uses G_CeUniLpSpec;
-    }
-    list CeEvcEndPointLpSpec {
-        key 'id';
-        config true;
-        uses G_CeEndPointLpSpec;
-    }
-    list CeEnniOvcEndPointLpSpec {
-        key 'id';
-        config true;
-        uses G_CeEndPointLpSpec;
-    }
-    list CeUniOvcEndPoint {
-        key 'id';
-        config true;
-        uses G_CeEndPointLpSpec;
-    }
-    grouping G_CeUniTerminSpec {
-        uses G_CeTerminSpec;
-    }
-    list CeSpUniTerminSpec {
-        key 'id';
-        config true;
-        uses G_CeUniTerminSpec;
-    }
-    list CeOpUniTerminSpec {
-        key 'id';
-        config true;
-        uses G_CeUniTerminSpec;
-    }
-    grouping G_CeUniConnPtAndAdaptSpec {
-        uses G_CeConnPtAndAdaptSpec;
-    }
-    list CeSpUniConnPtAndAdaptSpec {
-        key 'id';
-        config true;
-        uses G_CeUniConnPtAndAdaptSpec;
-    }
-    list CeOpUniConnPtAndAdaptSpec {
-        key 'id';
-        config true;
-        uses G_CeUniConnPtAndAdaptSpec;
-    }
-    list CeEvcEndPointConnPtAndAdaptSpec {
-        key 'id';
-        config true;
-        uses G_CeEndPointConnPtAndAdaptSpec;
-    }
-    grouping G_CeEndPointConnPtAndAdaptSpec {
-        uses G_CeConnPtAndAdaptSpec;
-    }
-    list CeEnniLpSpec {
-        key 'id';
-        config true;
-        uses G_CeLPSpec;
-    }
-    list CeInniLpSpec {
-        key 'id';
-        config true;
-        uses G_CeLPSpec;
-    }
-    list CeUniOvcEndPointConnPtAndAdaptSpec {
-        key 'id';
-        config true;
-        uses G_CeEndPointConnPtAndAdaptSpec;
-    }
-    list CeEnniOvcEndPointConnPtAndAdaptSpec {
-        key 'id';
-        config true;
-        uses G_CeEndPointConnPtAndAdaptSpec;
-    }
-    grouping G_CeUniLpSpec {
-        uses G_CeLPSpec;
-    }
-    list CeOpUniLpSpec {
-        key 'id';
-        config true;
-        uses G_CeUniLpSpec;
-    }
-    list CeEtyLpSpec {
-        key 'id';
-        config true;
-        uses G_CeLPSpec;
-    }
-    list CeEvcFcPortSetSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_CeEvcFcPortSetSpec;
-    }
-    grouping G_CeEvcFcPortSetSpec {
-        uses G_CeFcPortSetSpec;
-    }
-    list CeFcSpec {
-        key 'uuid';
-        config true;
-        ordered-by system;
-        uses G_CeFcSpec;
-    }
-    grouping G_CeFcSpec {
-        uses CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:G_FcSpec;
-    }
-    list CeFcPortSetSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_CeFcPortSetSpec;
-    }
-    grouping G_CeFcPortSetSpec {
-        uses CoreModel-CoreModelEnhancements-ProfilesTemplatesAndSpecificationsModule:G_FcPortSetSpec;
-    }
-    list CeEvcFcSpec {
-        key 'uuid';
-        config true;
-        uses G_CeFcSpec;
-    }
-    list CeOvcSpec {
-        key 'uuid';
-        config true;
-        uses G_CeFcSpec;
-    }
-    list CeOvcFcPortSetSpec {
-        key 'id';
-        config true;
-        uses G_CeFcPortSetSpec;
-    }
-    list CeEthFrameAggregateLpSpec {
-        key 'id';
-        config true;
-        uses G_CeLPSpec;
-    }
-    list CeEthFrameFlowLpSpec {
-        key 'id';
-        config true;
-        uses G_CeLPSpec;
-    }
-    list CeEthFrameAggregateTerminSpec {
-        key 'id';
-        config true;
-        uses G_CeTerminSpec;
-    }
-    list CeEthFrameAggregateConnPtAndAdaptSpec {
-        key 'id';
-        config true;
-        uses G_CeConnPtAndAdaptSpec;
-    }
-    list CeEthFrameFlowConnPtAndAdaptLpSpec {
-        key 'id';
-        config true;
-        uses G_CeConnPtAndAdaptSpec;
-    }
-    list CeEthFc {
-        key 'uuid';
-        config true;
-        uses G_CeFcSpec;
-    }
-    list CeEthFcPortSetSpec {
-        key 'id';
-        config true;
-        ordered-by system;
-        uses G_CeEthFcPortSetSpec;
-    }
-    grouping G_CeEthFcPortSetSpec {
-        uses G_CeFcPortSetSpec;
-    }
-}
index 8c8bc8b7604fcb2f120aa641bcb0bc449ffe84a0..7ec48c96e91858e71a48690d3fc9c9d932a7f9ca 100644 (file)
@@ -49,7 +49,7 @@ import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cf
 import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.Pseudowire;
 import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629.CiscoIosXrString;
 import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629.InterfaceName;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GFcPort;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -66,13 +66,10 @@ public class L2vpnBridgeActivator implements ResourceActivator {
     }
 
     @Override
-    public void activate(String nodeName, String outerName, String innerName, GFcPort port, GFcPort neighbor, long mtu) {
+    public void activate(String nodeName, String outerName, String innerName, FcPort port, FcPort neighbor, long mtu) {
 
-        String aEndLtpId = port.getLtpRefList().get(0).getValue();
-        String zEndLtpId = neighbor.getLtpRefList().get(0).getValue();
-
-        InterfaceName aEndIfName = new InterfaceName(aEndLtpId.split(":")[1]);
-        InterfaceName zEndIfName = new InterfaceName(zEndLtpId.split(":")[1]);
+        InterfaceName aEndIfName = new InterfaceName(port.getTp().getValue());
+        InterfaceName zEndIfName = new InterfaceName(neighbor.getTp().getValue());
         InterfaceName[] both = new InterfaceName[] { aEndIfName, zEndIfName };
 
         List<InterfaceConfiguration> intConfigs = new LinkedList<>();
@@ -161,9 +158,9 @@ public class L2vpnBridgeActivator implements ResourceActivator {
     }
 
     @Override
-    public void deactivate(String nodeName, String outerName, String innerName, GFcPort port, GFcPort neighbor,
+    public void deactivate(String nodeName, String outerName, String innerName, FcPort port, FcPort neighbor,
             long mtu) {
-        String portLtpId = port.getLtpRefList().get(0).getValue();
+        String portLtpId = port.getTp().getValue();
         InterfaceName interfaceName = new InterfaceName(portLtpId.split(":")[1]);
 
         InterfaceActive intActive = new InterfaceActive("act");
index 854217eb8321150319298387f115686194561a00..fb5bccef3da0757a3b0e8319d312b85127457305 100644 (file)
@@ -14,8 +14,8 @@ import org.opendaylight.controller.md.sal.binding.api.DataBroker;
 import org.opendaylight.controller.md.sal.binding.api.MountPointService;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriver;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverBuilder;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GFcPort;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GForwardingConstruct;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.forwarding.constructs.ForwardingConstruct;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
 
 /**
  * Provides drivers for binding two ports on the same node.
@@ -32,19 +32,19 @@ public class L2vpnBridgeDriverBuilder implements ActivationDriverBuilder {
     }
 
     @Override
-    public Optional<ActivationDriver> driverFor(GFcPort port, BuilderContext _ctx) {
+    public Optional<ActivationDriver> driverFor(FcPort port, BuilderContext _ctx) {
         return Optional.empty();
     }
 
     @Override
-    public Optional<ActivationDriver> driverFor(GFcPort aPort, GFcPort zPort, BuilderContext context) {
+    public Optional<ActivationDriver> driverFor(FcPort aPort, FcPort zPort, BuilderContext context) {
         return Optional.of(getDriver());
     }
 
     protected ActivationDriver getDriver() {
         final ActivationDriver driver = new ActivationDriver() {
-            public GFcPort aEnd;
-            public GFcPort zEnd;
+            public FcPort aEnd;
+            public FcPort zEnd;
 
             @Override
             public void commit() {
@@ -57,7 +57,7 @@ public class L2vpnBridgeDriverBuilder implements ActivationDriverBuilder {
             }
 
             @Override
-            public void initialize(GFcPort from, GFcPort to, GForwardingConstruct ctx) {
+            public void initialize(FcPort from, FcPort to, ForwardingConstruct ctx) {
                 this.zEnd = to;
                 this.aEnd = from;
             }
@@ -66,7 +66,7 @@ public class L2vpnBridgeDriverBuilder implements ActivationDriverBuilder {
             public void activate() {
                 long mtu = 1500;
 
-                String aEndNodeName = aEnd.getLtpRefList().get(0).getValue().split(":")[0];
+                String aEndNodeName = aEnd.getNode().getValue();
                 activator.activate(aEndNodeName, GROUP_NAME, GROUP_NAME, aEnd, zEnd, mtu);
             }
 
@@ -74,7 +74,7 @@ public class L2vpnBridgeDriverBuilder implements ActivationDriverBuilder {
             public void deactivate() {
                 long mtu = 1500;
 
-                String aEndNodeName = aEnd.getLtpRefList().get(0).getValue().split(":")[0];
+                String aEndNodeName = aEnd.getNode().getValue();
                 activator.deactivate(aEndNodeName, GROUP_NAME, GROUP_NAME, aEnd, zEnd, mtu);
             }
 
index 44156a954f1a2d7a4155afc635614cbff4d7bdfe..09a24aa75fdd6da63e3fbb2f3c6fbb51a03e5e25 100644 (file)
@@ -60,7 +60,7 @@ import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cf
 import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.ios.xr.l2vpn.cfg.rev151109.l2vpn.database.xconnect.groups.xconnect.group.p2p.xconnects.p2p.xconnect.pseudowires.pseudowire.pseudowire.content.MplsStaticLabelsBuilder;
 import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629.CiscoIosXrString;
 import org.opendaylight.yang.gen.v1.http.cisco.com.ns.yang.cisco.xr.types.rev150629.InterfaceName;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GFcPort;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4AddressNoZone;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
@@ -82,13 +82,10 @@ public class L2vpnXconnectActivator implements ResourceActivator {
     }
 
     @Override
-    public void activate(String nodeName, String outerName, String innerName, GFcPort port, GFcPort neighbor, long mtu) {
+    public void activate(String nodeName, String outerName, String innerName, FcPort port, FcPort neighbor, long mtu) {
 
-        String portLtpId = port.getLtpRefList().get(0).getValue();
-        String neighborLtpId = neighbor.getLtpRefList().get(0).getValue();
-
-        String neighborHostname = neighborLtpId.split(":")[0];
-        InterfaceName interfaceName = new InterfaceName(portLtpId.split(":")[1]);
+        String neighborHostname = neighbor.getNode().getValue();
+        InterfaceName interfaceName = new InterfaceName(port.getTp().getValue());
 
         // XXX: need to flesh out real method to find neighbor's loopback
         String neighborLoopback = loopbackMap.get(neighborHostname);
@@ -184,7 +181,7 @@ public class L2vpnXconnectActivator implements ResourceActivator {
         InstanceIdentifier<L2vpn> l2vpnId = InstanceIdentifier.builder(L2vpn.class).build();
 
         Optional<DataBroker> optional = MountPointHelper.getDataBroker(mountService, nodeName);
-        if (optional.isPresent() == false) {
+        if (! optional.isPresent()) {
             log.error("Could not retrieve MountPoint for {}", nodeName);
             return;
         }
@@ -202,13 +199,10 @@ public class L2vpnXconnectActivator implements ResourceActivator {
     }
 
     @Override
-    public void deactivate(String nodeName, String outerName, String innerName, GFcPort port, GFcPort neighbor,
+    public void deactivate(String nodeName, String outerName, String innerName, FcPort port, FcPort neighbor,
             long mtu) {
-        String portLtpId = port.getLtpRefList().get(0).getValue();
-        String neighborLtpId = neighbor.getLtpRefList().get(0).getValue();
-
-        String neighborHostname = neighborLtpId.split(":")[0];
-        InterfaceName interfaceName = new InterfaceName(portLtpId.split(":")[1]);
+        String neighborHostname = neighbor.getNode().getValue();
+        InterfaceName interfaceName = new InterfaceName(port.getTp().getValue());
 
         // XXX: need to flesh out real method to find neighbor's loopback
         String neighborLoopback = loopbackMap.get(neighborHostname);
@@ -230,7 +224,7 @@ public class L2vpnXconnectActivator implements ResourceActivator {
                 .child(InterfaceConfiguration.class, new InterfaceConfigurationKey(intActive, interfaceName)).build();
 
         Optional<DataBroker> optional = MountPointHelper.getDataBroker(mountService, nodeName);
-        if (optional.isPresent() == false) {
+        if (! optional.isPresent()) {
             log.error("Could not retrieve MountPoint for {}", nodeName);
             return;
         }
index 322ffbe0066ff17706a5a052701bae2f8d990534..856eb5dfc41f1a722e096134d48e31fd81eef385 100644 (file)
@@ -15,8 +15,8 @@ import org.opendaylight.controller.md.sal.binding.api.MountPointService;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriver;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverBuilder;
 import org.opendaylight.unimgr.mef.nrp.common.FixedServiceNaming;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GFcPort;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GForwardingConstruct;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.forwarding.constructs.ForwardingConstruct;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
 
 /**
  * Xconnect builder (FIXME no decision logic yet)
@@ -33,20 +33,20 @@ public class L2vpnXconnectDriverBuilder implements ActivationDriverBuilder {
     }
 
     @Override
-    public Optional<ActivationDriver> driverFor(GFcPort port,BuilderContext _ctx) {
+    public Optional<ActivationDriver> driverFor(FcPort port,BuilderContext _ctx) {
         return Optional.of(getDriver());
     }
 
     @Override
-    public Optional<ActivationDriver> driverFor(GFcPort aPort, GFcPort zPort, BuilderContext context) {
+    public Optional<ActivationDriver> driverFor(FcPort aPort, FcPort zPort, BuilderContext context) {
         return Optional.empty();
     }
 
     protected ActivationDriver getDriver() {
         final ActivationDriver driver = new ActivationDriver() {
-            public GForwardingConstruct ctx;
-            public GFcPort aEnd;
-            public GFcPort zEnd;
+            public ForwardingConstruct ctx;
+            public FcPort aEnd;
+            public FcPort zEnd;
 
             @Override
             public void commit() {
@@ -59,7 +59,7 @@ public class L2vpnXconnectDriverBuilder implements ActivationDriverBuilder {
             }
 
             @Override
-            public void initialize(GFcPort from, GFcPort to, GForwardingConstruct ctx) {
+            public void initialize(FcPort from, FcPort to, ForwardingConstruct ctx) {
                 this.zEnd = to;
                 this.aEnd = from;
                 this.ctx = ctx;
@@ -72,7 +72,7 @@ public class L2vpnXconnectDriverBuilder implements ActivationDriverBuilder {
                 String outerName = namingProvider.getOuterName(id);
                 String innerName = namingProvider.getInnerName(id);
 
-                String aEndNodeName = aEnd.getLtpRefList().get(0).getValue().split(":")[0];
+                String aEndNodeName = aEnd.getNode().getValue();
                 xconnectActivator.activate(aEndNodeName, outerName, innerName, aEnd, zEnd, mtu);
 
             }
@@ -84,7 +84,7 @@ public class L2vpnXconnectDriverBuilder implements ActivationDriverBuilder {
                 String outerName = namingProvider.getOuterName(id);
                 String innerName = namingProvider.getInnerName(id);
 
-                String aEndNodeName = aEnd.getLtpRefList().get(0).getValue().split(":")[0];
+                String aEndNodeName = aEnd.getNode().getValue();
                 xconnectActivator.deactivate(aEndNodeName, outerName, innerName, aEnd, zEnd, mtu);
             }
 
index 01bc00d1e906799cef9218c901b81e08ca787584..72b0ed481fe2750e729a4c64f7f6a84d6199263b 100644 (file)
@@ -23,7 +23,7 @@ import org.opendaylight.yang.gen.v1.http.www.microsemi.com.microsemi.edge.assure
 import org.opendaylight.yang.gen.v1.http.www.microsemi.com.microsemi.edge.assure.msea.uni.evc.service.rev160317.mef.services.uni.Evc;
 import org.opendaylight.yang.gen.v1.http.www.microsemi.com.microsemi.edge.assure.msea.uni.evc.service.rev160317.mef.services.uni.EvcBuilder;
 import org.opendaylight.yang.gen.v1.http.www.microsemi.com.microsemi.edge.assure.msea.uni.evc.service.rev160317.mef.services.uni.EvcKey;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GFcPort;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -42,15 +42,10 @@ public class EdgeAssureActivator implements ResourceActivator {
     }
 
     @Override
-    public void activate(String nodeName, String outerName, String innerName, GFcPort port, GFcPort neighbor,
+    public void activate(String nodeName, String outerName, String innerName, FcPort port, FcPort neighbor,
             long mtu) {
         log.info("Activation called on EdgeAssureActivator");
 
-        String portLtpId = port.getLtpRefList().get(0).getValue();
-        String neighborLtpId = neighbor.getLtpRefList().get(0).getValue();
-
-        String neighborHostname = neighborLtpId.split(":")[0];
-
         long evcId = 1;
 
         EvcBuilder evcBuilder = new EvcBuilder();
@@ -72,7 +67,7 @@ public class EdgeAssureActivator implements ResourceActivator {
     }
 
     @Override
-    public void deactivate(String nodeName, String outerName, String innerName, GFcPort port, GFcPort neighbor,
+    public void deactivate(String nodeName, String outerName, String innerName, FcPort port, FcPort neighbor,
             long mtu) {
         log.info("Deactivation called on EdgeAssureActivator. Not yet implemented.");
 
index dea2b5fa98b519fe6f91c179f8f4c25e263b5ad9..2f88139bdeca1a1dd3b558a87edac2a242ece480 100644 (file)
@@ -13,8 +13,8 @@ import org.opendaylight.controller.md.sal.binding.api.MountPointService;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriver;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverBuilder;
 import org.opendaylight.unimgr.mef.nrp.common.FixedServiceNaming;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GFcPort;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GForwardingConstruct;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.forwarding.constructs.ForwardingConstruct;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
 
 import java.util.Optional;
 
@@ -33,11 +33,11 @@ public class EdgeAssureDriverBuilder implements ActivationDriverBuilder {
     }
 
     @Override
-    public Optional<ActivationDriver> driverFor(GFcPort port, BuilderContext context) {
+    public Optional<ActivationDriver> driverFor(FcPort port, BuilderContext context) {
         final ActivationDriver driver = new ActivationDriver() {
-            public GForwardingConstruct ctx;
-            public GFcPort aEnd;
-            public GFcPort zEnd;
+            public ForwardingConstruct ctx;
+            public FcPort aEnd;
+            public FcPort zEnd;
 
             @Override
             public void commit() {
@@ -50,7 +50,7 @@ public class EdgeAssureDriverBuilder implements ActivationDriverBuilder {
             }
 
             @Override
-            public void initialize(GFcPort from, GFcPort to, GForwardingConstruct ctx) {
+            public void initialize(FcPort from, FcPort to, ForwardingConstruct ctx) {
                 this.zEnd = to;
                 this.aEnd = from;
                 this.ctx = ctx;
@@ -63,7 +63,7 @@ public class EdgeAssureDriverBuilder implements ActivationDriverBuilder {
                 String outerName = namingProvider.getOuterName(id);
                 String innerName = namingProvider.getInnerName(id);
 
-                String aEndNodeName = aEnd.getLtpRefList().get(0).getValue().split(":")[0];
+                String aEndNodeName = aEnd.getNode().getValue();
                 edgeAssureActivator.activate(aEndNodeName, outerName, innerName, aEnd, zEnd, mtu);
 
             }
@@ -75,7 +75,7 @@ public class EdgeAssureDriverBuilder implements ActivationDriverBuilder {
                 String outerName = namingProvider.getOuterName(id);
                 String innerName = namingProvider.getInnerName(id);
 
-                String aEndNodeName = aEnd.getLtpRefList().get(0).getValue().split(":")[0];
+                String aEndNodeName = aEnd.getNode().getValue();
                 edgeAssureActivator.deactivate(aEndNodeName, outerName, innerName, aEnd, zEnd, mtu);
             }
 
@@ -89,7 +89,7 @@ public class EdgeAssureDriverBuilder implements ActivationDriverBuilder {
     }
 
     @Override
-    public Optional<ActivationDriver> driverFor(GFcPort aPort, GFcPort zPort, BuilderContext context) {
+    public Optional<ActivationDriver> driverFor(FcPort aPort, FcPort zPort, BuilderContext context) {
         return Optional.empty();
     }
 }
index f4b56e8dc9ff4f53857e85d57d1300ab2cd55efa..f7330e53334a0f8cdbe620a09adfc4d30ab06ede 100644 (file)
@@ -132,6 +132,11 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
       <artifactId>unimgr-api</artifactId>
       <version>${project.version}</version>
     </dependency>
+    <dependency>
+      <groupId>${project.groupId}</groupId>
+      <artifactId>unimgr-presto-api</artifactId>
+      <version>${project.version}</version>
+    </dependency>
     <dependency>
       <groupId>${project.groupId}</groupId>
       <artifactId>unimgr-cli</artifactId>
index dfa0fdd5bca984fedcaab2482a9ba42d065ff784..dc82aa72a3f96a0d67ee2bdb78a93bb1a9690a3a 100755 (executable)
@@ -24,10 +24,16 @@ and is available at http://www.eclipse.org/legal/epl-v10.html
     <bundle>mvn:org.opendaylight.unimgr/unimgr-api/{{VERSION}}</bundle>
   </feature>
 
+  <feature name='odl-unimgr-presto-api' version='${project.version}' description='OpenDaylight :: UniMgr :: NRP Presto API'>
+    <feature version='${mdsal.model.version}'>odl-mdsal-models</feature>
+    <bundle>mvn:org.opendaylight.unimgr/unimgr-presto-api/{{VERSION}}</bundle>
+  </feature>
+
   <feature name='odl-unimgr' version='${project.version}' description='OpenDaylight :: UniMgr'>
     <feature version='${mdsal.version}'>odl-mdsal-broker</feature>
     <feature version='${ovsdb.version}'>odl-ovsdb-southbound-impl</feature>
     <feature version='${project.version}'>odl-unimgr-api</feature>
+    <feature version='${project.version}'>odl-unimgr-presto-api</feature>
     <!-- TODO these features should be dependencies of drivers not unimgr itself -->
     <feature version='${netconf.version}'>odl-netconf-connector</feature>
     <feature version='${netconf.version}'>odl-netconf-connector-ssh</feature>
index 2faed65e2d11f0358b4d732b27e9b41e4c322447..dd2802a67cee29e6d185ab48be7a1c4634beba69 100644 (file)
@@ -58,6 +58,11 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
             <artifactId>unimgr-api</artifactId>
             <version>${project.version}</version>
         </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>unimgr-presto-api</artifactId>
+            <version>${project.version}</version>
+        </dependency>
 
         <!--     OVSDB dependency -->
         <dependency>
similarity index 66%
rename from impl/src/main/java/org/opendaylight/unimgr/impl/FcRouteActivatorService.java
rename to impl/src/main/java/org/opendaylight/unimgr/impl/ForwardingConstructActivatorService.java
index 61bea41b59345c087797b6f83965132d6747755e..43f853a3d2108cabc8fe017870fc3f91f6243371 100644 (file)
@@ -20,68 +20,67 @@ import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverBuilder;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverNotFoundException;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverRepoService;
 import org.opendaylight.unimgr.mef.nrp.impl.ActivationTransaction;
-import org.opendaylight.unimgr.mef.nrp.impl.ForwardingConstructHelper;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GFcPort;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GForwardingConstruct;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.fcroutelist.FcRoute;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.g_forwardingconstruct.FcPort;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.forwarding.constructs.ForwardingConstruct;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 /**
  * @author bartosz.michalik@amartus.com
  */
-public class FcRouteActivatorService {
-    private static final Logger LOG = LoggerFactory.getLogger(FcRouteActivatorService.class);
+public class ForwardingConstructActivatorService {
+    private static final Logger LOG = LoggerFactory.getLogger(ForwardingConstructActivatorService.class);
     private ActivationDriverRepoService activationRepoService;
     private final ReentrantReadWriteLock lock;
 
-    public FcRouteActivatorService(ActivationDriverRepoService activationRepoService) {
+    public ForwardingConstructActivatorService(ActivationDriverRepoService activationRepoService) {
         this.activationRepoService = activationRepoService;
         lock = new ReentrantReadWriteLock();
     }
 
     /**
-     * Activate a MEF FcRoute.
-     * @param route the new route to activate
+     * Activate a MEF ForwardingConstruct.
+     * @param forwardingConstruct the new route to activate
      */
-    public void activate(@Nonnull FcRoute route) {
-        for (GForwardingConstruct fwdC : route.getForwardingConstruct()) {
-            Optional<ActivationTransaction> tx = prepareTransaction(fwdC);
-            if (tx.isPresent()) {
-                tx.get().activate();
-            } else {
-                LOG.warn("No transaction for this activation request {}", fwdC);
-            }
+    public void activate(@Nonnull ForwardingConstruct forwardingConstruct) {
+        Optional<ActivationTransaction> tx = prepareTransaction(forwardingConstruct);
+        if (tx.isPresent()) {
+            tx.get().activate();
+        } else {
+            LOG.warn("No transaction for this activation request {}", forwardingConstruct);
         }
     }
 
     /**
-     * Deactivate a MEF FcRoute.
-     * @param route the existing route to deactivate
+     * Deactivate a MEF ForwardingConstruct.
+     * @param forwardingConstruct the existing route to deactivate
      */
-    public void deactivate(@Nonnull FcRoute route) {
-        for (GForwardingConstruct fwdC : route.getForwardingConstruct()) {
-            Optional<ActivationTransaction> tx = prepareTransaction(fwdC);
-            if (tx.isPresent()) {
-                tx.get().deactivate();
-            } else {
-                LOG.warn("No transaction for this deactivation request {}", fwdC);
-            }
+    public void deactivate(@Nonnull ForwardingConstruct forwardingConstruct) {
+        Optional<ActivationTransaction> tx = prepareTransaction(forwardingConstruct);
+        if (tx.isPresent()) {
+            tx.get().deactivate();
+        } else {
+            LOG.warn("No transaction for this activation request {}", forwardingConstruct);
         }
     }
 
-    private Optional<ActivationTransaction> prepareTransaction(GForwardingConstruct fwdC) {
+    private Optional<ActivationTransaction> prepareTransaction(ForwardingConstruct fwdC) {
         final List<FcPort> list = fwdC.getFcPort();
         //TODO validate pre-condition
-        final GFcPort a = list.get(0);
-        final GFcPort z = list.get(1);
+        final FcPort a = list.get(0);
+        final FcPort z = list.get(1);
 
-        return ForwardingConstructHelper.isTheSameNode(fwdC)
+        return isTheSameNode(fwdC)
                 ? getTxForNode(a,z, fwdC) : getTxForMultiNode(a,z, fwdC);
     }
 
-    private Optional<ActivationTransaction> getTxForNode(GFcPort portA, GFcPort portZ, GForwardingConstruct fwdC) {
+    private boolean isTheSameNode(ForwardingConstruct forwardingConstruct) {
+        final FcPort p1 = forwardingConstruct.getFcPort().get(0);
+        final FcPort p2 = forwardingConstruct.getFcPort().get(1);
+        return p1.getNode().equals(p2.getNode());
+    }
+
+    private Optional<ActivationTransaction> getTxForNode(FcPort portA, FcPort portZ, ForwardingConstruct fwdC) {
         lock.readLock().lock();
         try {
             final ActivationDriverBuilder.BuilderContext ctx = new ActivationDriverBuilder.BuilderContext();
@@ -105,13 +104,13 @@ public class FcRouteActivatorService {
         }
     }
 
-    private Optional<ActivationTransaction> getTxForMultiNode(GFcPort portA, GFcPort portZ, GForwardingConstruct fwdC) {
+    private Optional<ActivationTransaction> getTxForMultiNode(FcPort portA, FcPort portZ, ForwardingConstruct fwdC) {
         //1. find and initialize drivers
         lock.readLock().lock();
         try {
 
             final ActivationDriverBuilder.BuilderContext ctx = new ActivationDriverBuilder.BuilderContext();
-            ctx.put(GForwardingConstruct.class.getName(), fwdC);
+            ctx.put(ForwardingConstruct.class.getName(), fwdC);
 
             Optional<ActivationDriver> aendActivator = findDriver(portA, ctx);
             Optional<ActivationDriver> zendActivator = findDriver(portZ, ctx);
@@ -139,7 +138,7 @@ public class FcRouteActivatorService {
         }
     }
 
-    protected Optional<ActivationDriver> findDriver(GFcPort port, ActivationDriverBuilder.BuilderContext fwdC) {
+    protected Optional<ActivationDriver> findDriver(FcPort port, ActivationDriverBuilder.BuilderContext fwdC) {
         if (activationRepoService == null)  {
             LOG.warn("Activation Driver repo is not initialized");
             return Optional.empty();
@@ -177,11 +176,11 @@ public class FcRouteActivatorService {
     }
 
     static final class Context {
-        final GFcPort portA;
-        final GFcPort portZ;
-        final GForwardingConstruct fwC;
+        final FcPort portA;
+        final FcPort portZ;
+        final ForwardingConstruct fwC;
 
-        public Context(GFcPort portA, GFcPort portZ, GForwardingConstruct fwC) {
+        public Context(FcPort portA, FcPort portZ, ForwardingConstruct fwC) {
             this.portA = portA;
             this.portZ = portZ;
             this.fwC = fwC;
similarity index 67%
rename from impl/src/main/java/org/opendaylight/unimgr/impl/FcRouteChangeListener.java
rename to impl/src/main/java/org/opendaylight/unimgr/impl/ForwardingConstructChangeListener.java
index 8785cc250f5c54159f648bf8db7c39b6664ede34..729d847ffc871df3836349a675628a3c12a92cdd 100644 (file)
@@ -16,8 +16,8 @@ import org.opendaylight.controller.md.sal.binding.api.DataTreeIdentifier;
 import org.opendaylight.controller.md.sal.binding.api.DataTreeModification;
 import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverRepoService;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.FcRouteList;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.fcroutelist.FcRoute;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.ForwardingConstructs;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.forwarding.constructs.ForwardingConstruct;
 import org.opendaylight.yangtools.concepts.ListenerRegistration;
 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
 import org.slf4j.Logger;
@@ -27,23 +27,23 @@ import org.slf4j.LoggerFactory;
  * NRP top level change model listener
  * @author bartosz.michalik@amartus.com
  */
-public class FcRouteChangeListener implements DataTreeChangeListener<FcRoute>, AutoCloseable {
-    private static final Logger LOG = LoggerFactory.getLogger(FcRouteChangeListener.class);
-    private final ListenerRegistration<FcRouteChangeListener> listener;
-    private final FcRouteActivatorService routeActivator;
+public class ForwardingConstructChangeListener implements DataTreeChangeListener<ForwardingConstruct>, AutoCloseable {
+    private static final Logger LOG = LoggerFactory.getLogger(ForwardingConstructChangeListener.class);
+    private final ListenerRegistration<ForwardingConstructChangeListener> listener;
+    private final ForwardingConstructActivatorService routeActivator;
 
     private final ActivationDriverRepoService activationRepoService;
 
-    public FcRouteChangeListener(DataBroker dataBroker, ActivationDriverRepoService activationRepoService) {
+    public ForwardingConstructChangeListener(DataBroker dataBroker, ActivationDriverRepoService activationRepoService) {
         this.activationRepoService = activationRepoService;
-        routeActivator = new FcRouteActivatorService(activationRepoService);
+        routeActivator = new ForwardingConstructActivatorService(activationRepoService);
 
-        final InstanceIdentifier<FcRoute> fwPath = getFwConstructsPath();
-        final DataTreeIdentifier<FcRoute> dataTreeIid =
+        final InstanceIdentifier<ForwardingConstruct> fwPath = getFwConstructsPath();
+        final DataTreeIdentifier<ForwardingConstruct> dataTreeIid =
                 new DataTreeIdentifier<>(LogicalDatastoreType.CONFIGURATION, fwPath);
         listener = dataBroker.registerDataTreeChangeListener(dataTreeIid, this);
 
-        LOG.info("FcRouteChangeListener created and registered");
+        LOG.info("ForwardingConstructChangeListener created and registered");
     }
 
     /**
@@ -51,14 +51,14 @@ public class FcRouteChangeListener implements DataTreeChangeListener<FcRoute>, A
      * based on the data object modification type.
      */
     @Override
-    public void onDataTreeChanged(Collection<DataTreeModification<FcRoute>> collection) {
+    public void onDataTreeChanged(Collection<DataTreeModification<ForwardingConstruct>> collection) {
         //TODO add lock for concurrency support
         if (activationRepoService == null) {
             LOG.warn("ActivationDriverRepoService is not ready yet - ignoring request");
             return;
         }
-        for (final DataTreeModification<FcRoute> change : collection) {
-            final DataObjectModification<FcRoute> root = change.getRootNode();
+        for (final DataTreeModification<ForwardingConstruct> change : collection) {
+            final DataObjectModification<ForwardingConstruct> root = change.getRootNode();
             switch (root.getModificationType()) {
                 case SUBTREE_MODIFIED:
                     update(change);
@@ -83,21 +83,21 @@ public class FcRouteChangeListener implements DataTreeChangeListener<FcRoute>, A
         }
     }
 
-    protected void add(DataTreeModification<FcRoute> newDataObject) {
+    protected void add(DataTreeModification<ForwardingConstruct> newDataObject) {
         //TODO: Refine the logged addition
         LOG.debug("FcRoute add event received {}", newDataObject);
         routeActivator.activate(newDataObject.getRootNode().getDataAfter());
 
     }
 
-    protected void remove(DataTreeModification<FcRoute> removedDataObject) {
+    protected void remove(DataTreeModification<ForwardingConstruct> removedDataObject) {
         //TODO: Refine the logged removal
         LOG.debug("FcRoute remove event received {}", removedDataObject);
         routeActivator.deactivate(removedDataObject.getRootNode().getDataBefore());
 
     }
 
-    protected void update(DataTreeModification<FcRoute> modifiedDataObject) {
+    protected void update(DataTreeModification<ForwardingConstruct> modifiedDataObject) {
         //TODO: Refine the logged modification
         LOG.debug("FcRoute update event received {}", modifiedDataObject);
 
@@ -111,11 +111,9 @@ public class FcRouteChangeListener implements DataTreeChangeListener<FcRoute>, A
         listener.close();
     }
 
-    private InstanceIdentifier<FcRoute> getFwConstructsPath() {
-        final InstanceIdentifier<FcRoute> path = InstanceIdentifier
-                .builder(FcRouteList.class)
-                .child(FcRoute.class).build();
 
-        return path;
+    private InstanceIdentifier<ForwardingConstruct> getFwConstructsPath() {
+        return InstanceIdentifier
+                .builder(ForwardingConstructs.class).child(ForwardingConstruct.class).build();
     }
 }
index 06f777405cbd6970e29116414809efc2c600ac53..62de0f9deac3627bee7c84cb9970b7ada2309b97 100644 (file)
@@ -7,8 +7,8 @@
  */
 package org.opendaylight.unimgr.mef.nrp.api;
 
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GFcPort;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GForwardingConstruct;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.forwarding.constructs.ForwardingConstruct;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
 
 /**
  * Interface of a driver that maps NRP concepts to the configuration of underlying infrastructure.
@@ -40,7 +40,7 @@ public interface ActivationDriver {
      * @param to far end
      * @param context context
      */
-    void initialize(GFcPort from, GFcPort to, GForwardingConstruct context);
+    void initialize(FcPort from, FcPort to, ForwardingConstruct context);
 
     /**
      * Performs the activation action.
index f710c1f3b843ed31000f1851e1a212d2df47bb8e..4c45e5537b73ca425118e770c9819fb8f1cffe1a 100644 (file)
@@ -14,7 +14,7 @@ import java.util.Optional;
 import java.util.Set;
 import java.util.concurrent.ConcurrentHashMap;
 
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GFcPort;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
 
 /**
  * Driver builder that can provide stateful driver that are used in NRP forwarding construct transaction.
@@ -27,7 +27,7 @@ public interface ActivationDriverBuilder {
      * @param context (de)activation context
      * @return {@link Optional#empty()} in case it cannot be instantiated for a port, driver otherwise
      */
-    Optional<ActivationDriver> driverFor(GFcPort port, BuilderContext context);
+    Optional<ActivationDriver> driverFor(FcPort port, BuilderContext context);
 
     /**
      * Get driver for two ports.
@@ -36,7 +36,7 @@ public interface ActivationDriverBuilder {
      * @param context blackboard for recording state during driver selection
      * @return {@link Optional#empty()} in case it cannot be instantiated for a port, driver otherwise
      */
-    Optional<ActivationDriver> driverFor(GFcPort portA, GFcPort portZ, BuilderContext context);
+    Optional<ActivationDriver> driverFor(FcPort portA, FcPort portZ, BuilderContext context);
 
     /**
      * Blackboard pattern that allows for passing the context information between
index 0c4d4f043f74c417d9419ecc1df661b67f338074..ac1cea1de940c7ca0492a3b549971564bab7bbda 100644 (file)
@@ -8,7 +8,7 @@
 
 package org.opendaylight.unimgr.mef.nrp.api;
 
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GFcPort;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
 
 /**
  * This interface is used to request an ActivationDriver for a given MEF service fragment.
@@ -23,7 +23,7 @@ public interface ActivationDriverRepoService {
      * @throws ActivationDriverAmbiguousException when multiple drivers declare they can configure port
      * @throws ActivationDriverNotFoundException when no driver found for port
      */
-    ActivationDriver getDriver(GFcPort port, ActivationDriverBuilder.BuilderContext context);
+    ActivationDriver getDriver(FcPort port, ActivationDriverBuilder.BuilderContext context);
 
     /**
      * Get driver for two ports on a single device.
@@ -34,5 +34,5 @@ public interface ActivationDriverRepoService {
      * @throws ActivationDriverAmbiguousException when multiple drivers declare they can configure ports
      * @throws ActivationDriverNotFoundException when no driver found for ports
      */
-    ActivationDriver getDriver(GFcPort portA, GFcPort portZ, ActivationDriverBuilder.BuilderContext context);
+    ActivationDriver getDriver(FcPort portA, FcPort portZ, ActivationDriverBuilder.BuilderContext context);
 }
\ No newline at end of file
index d3a9f91ad7eaab2a796017868eb03bc7b335ae66..ec61d93691f85cc20da01fc8eb29a06c638cf39c 100644 (file)
@@ -8,7 +8,7 @@
 
 package org.opendaylight.unimgr.mef.nrp.common;
 
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GFcPort;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
 
 /**
  * Device facing SPI for activating or deactivating a fragment of an NRP
@@ -32,7 +32,7 @@ public interface ResourceActivator {
      * @param mtu
      *            the desired MTU for this forwarding construct
      */
-    public void activate(String nodeName, String outerName, String innerName, GFcPort flowPoint, GFcPort neighbor,
+    public void activate(String nodeName, String outerName, String innerName, FcPort flowPoint, FcPort neighbor,
             long mtu);
 
     /**
@@ -51,6 +51,6 @@ public interface ResourceActivator {
      * @param mtu
      *            the desired MTU for this forwarding construct
      */
-    public void deactivate(String nodeName, String outerName, String innerName, GFcPort flowPoint, GFcPort neighbor,
+    public void deactivate(String nodeName, String outerName, String innerName, FcPort flowPoint, FcPort neighbor,
             long mtu);
 }
index 8b132b0c6b35f4a135ceed280b8143a857f157ee..b3e7b94af3d7854c9ba945f92fb536306c8cb13e 100644 (file)
@@ -20,7 +20,7 @@ import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverAmbiguousException;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverBuilder;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverNotFoundException;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverRepoService;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GFcPort;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -59,11 +59,11 @@ public class ActivationDriverRepoServiceImpl implements ActivationDriverRepoServ
         return drivers.get(0);
     }
 
-    public ActivationDriver getDriver(GFcPort portA, GFcPort portZ, ActivationDriverBuilder.BuilderContext context) {
+    public ActivationDriver getDriver(FcPort portA, FcPort portZ, ActivationDriverBuilder.BuilderContext context) {
         return getDriver(x -> x.driverFor(portA, portZ, context));
     }
 
-    public ActivationDriver getDriver(GFcPort port, ActivationDriverBuilder.BuilderContext context) {
+    public ActivationDriver getDriver(FcPort port, ActivationDriverBuilder.BuilderContext context) {
         return getDriver(x -> x.driverFor(port, context));
     }
 
diff --git a/impl/src/main/java/org/opendaylight/unimgr/mef/nrp/impl/DummyActivationDriver.java b/impl/src/main/java/org/opendaylight/unimgr/mef/nrp/impl/DummyActivationDriver.java
deleted file mode 100644 (file)
index 6caa437..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco Systems Inc and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.unimgr.mef.nrp.impl;
-
-import org.opendaylight.unimgr.mef.nrp.api.ActivationDriver;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GFcPort;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GForwardingConstruct;
-
-/**
- * Useful for scenarios where {@link GForwardingConstruct} (de)activaiton can be completed in single shoot
- * @author bartosz.michalik@amartus.com
- */
-public class DummyActivationDriver implements ActivationDriver {
-    @Override
-    public void commit() {}
-
-    @Override
-    public void rollback() {}
-
-    @Override
-    public void initialize(GFcPort from, GFcPort to, GForwardingConstruct context) {}
-
-    @Override
-    public void activate() {}
-
-    @Override
-    public void deactivate() {}
-
-    @Override
-    public int priority() {
-        return Integer.MIN_VALUE;
-    }
-}
diff --git a/impl/src/main/java/org/opendaylight/unimgr/mef/nrp/impl/ForwardingConstructHelper.java b/impl/src/main/java/org/opendaylight/unimgr/mef/nrp/impl/ForwardingConstructHelper.java
deleted file mode 100644 (file)
index 110ca9b..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 2016 Cisco Systems Inc and others.  All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v1.0 which accompanies this distribution,
- * and is available at http://www.eclipse.org/legal/epl-v10.html
- */
-
-package org.opendaylight.unimgr.mef.nrp.impl;
-
-import java.util.Objects;
-
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GForwardingConstruct;
-
-public class ForwardingConstructHelper {
-
-    /**
-     * Test to see if both ends of a ForwardingConstruct are on the same node.
-     * @param forwardingConstruct the ForwardingConstruct to test
-     * @return true if both ends are on same node
-     */
-    public static boolean isTheSameNode(GForwardingConstruct forwardingConstruct) {
-        String hostA = host(ltp(forwardingConstruct, 0));
-        String hostZ = host(ltp(forwardingConstruct, 1));
-
-        return Objects.equals(hostA, hostZ);
-    }
-
-    public static String ltp(GForwardingConstruct fc, int port) {
-        return fc.getFcPort().get(port).getLtpRefList().get(0).getValue();
-    }
-
-    public static String host(String ltp) {
-        return ltp.split(":")[0];
-    }
-}
index 547dfb658109e67486819302f70a57809b321539..f8a3044097d60824c72d8ba2d30e2149d3c8246a 100644 (file)
@@ -22,7 +22,7 @@ and is available at http://www.eclipse.org/legal/epl-v10.html INTERNAL
         <argument ref="driverBuilders" />
     </bean>
 
-    <bean id="fcRouteListener" class="org.opendaylight.unimgr.impl.FcRouteChangeListener">
+    <bean class="org.opendaylight.unimgr.impl.ForwardingConstructChangeListener">
         <argument ref="dataBroker" />
         <argument ref="activationDriver" />
     </bean>
index 6caa6cfe82ff04be6be31eb2a6ec4261bd762243..1c8b956e609acfeb2f4378592357cc54edb11f76 100644 (file)
@@ -15,23 +15,32 @@ import org.opendaylight.unimgr.mef.nrp.api.ActivationDriver;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverBuilder;
 import org.opendaylight.unimgr.mef.nrp.impl.ActivationDriverRepoServiceImpl;
 import org.opendaylight.unimgr.utils.ActivationDriverMocks;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corefoundationmodule.superclassesandcommonpackages.rev160413.UniversalId;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GFcPort;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GForwardingConstruct;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.fcroutelist.FcRoute;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.fcroutelist.FcRouteBuilder;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.g_fcroute.ForwardingConstruct;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.g_fcroute.ForwardingConstructBuilder;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.g_forwardingconstruct.FcPort;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.g_forwardingconstruct.FcPortBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.forwarding.constructs.ForwardingConstruct;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.forwarding.constructs.ForwardingConstructBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPortBuilder;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TpId;
+
+
+class TestBusinessEx extends RuntimeException {
+    public TestBusinessEx() {
+        super("expected exception");
+    }
+}
 
 /**
  * @author bartosz.michalik@amartus.com
  */
 public class FcRouteActivatorServiceTest {
 
-    public FcRouteActivatorService createService(List<ActivationDriverBuilder> builders) {
-        return new FcRouteActivatorService(new ActivationDriverRepoServiceImpl(builders));
+
+    private static final TopologyId topoA = new TopologyId("a");
+    private static final TopologyId topoZ = new TopologyId("z");
+
+    public ForwardingConstructActivatorService createService(List<ActivationDriverBuilder> builders) {
+        return new ForwardingConstructActivatorService(new ActivationDriverRepoServiceImpl(builders));
     }
 
     @Test
@@ -40,13 +49,13 @@ public class FcRouteActivatorServiceTest {
         //having
         final ActivationDriver d1 = mock(ActivationDriver.class);
 
-        FcRouteActivatorService service = createService(Arrays.asList(
-                ActivationDriverMocks.prepareDriver((port1, port2) -> "a".equals(port1.getId()) ? d1 : null),
+        ForwardingConstructActivatorService service = createService(Arrays.asList(
+                ActivationDriverMocks.prepareDriver((port1, port2) -> topoA.equals(port1.getTopology()) ? d1 : null),
                 ActivationDriverMocks.prepareDriver((port1, port2) -> null)
         ));
 
         //when
-        service.activate(buildFor(singleNode()));
+        service.activate(singleNode());
 
         //then
         verify(d1).activate();
@@ -58,12 +67,12 @@ public class FcRouteActivatorServiceTest {
         //having
         final ActivationDriver d1 = mock(ActivationDriver.class);
 
-        FcRouteActivatorService service = createService(Collections.singletonList(
+        ForwardingConstructActivatorService service = createService(Collections.singletonList(
                 ActivationDriverMocks.prepareDriver(port -> d1)
         ));
 
         //when
-        service.activate(buildFor(twoNodes()));
+        service.activate(twoNodes());
 
         //then
         verify(d1, times(2)).activate();
@@ -77,13 +86,13 @@ public class FcRouteActivatorServiceTest {
         final ActivationDriver d1 = mock(ActivationDriver.class);
         final ActivationDriver d2 = mock(ActivationDriver.class);
 
-        FcRouteActivatorService service = createService(Arrays.asList(
-                ActivationDriverMocks.prepareDriver(port -> "a".equals(port.getId()) ? d1 : null),
-                ActivationDriverMocks.prepareDriver(port -> "z".equals(port.getId()) ? d2 : null)
+        ForwardingConstructActivatorService service = createService(Arrays.asList(
+                ActivationDriverMocks.prepareDriver(port -> topoA.equals(port.getTopology()) ? d1 : null),
+                ActivationDriverMocks.prepareDriver(port -> topoZ.equals(port.getTopology()) ? d2 : null)
         ));
 
         //when
-        service.activate(buildFor(twoNodes()));
+        service.activate(twoNodes());
 
         //then
         verify(d1).activate();
@@ -96,14 +105,14 @@ public class FcRouteActivatorServiceTest {
     public void testActivateSingleNodeFailure() throws Exception {
 
         //having
-        final ActivationDriver d1 = spy(new FailingActivationDriver(p -> { if(p.getId().equals("a")) throw new NullPointerException();}));
+        final ActivationDriver d1 = spy(new FailingActivationDriver(p -> { if(p.getTopology().equals(topoA)) throw new TestBusinessEx();}));
 
-        FcRouteActivatorService service = createService(Collections.singletonList(
+        ForwardingConstructActivatorService service = createService(Collections.singletonList(
                 ActivationDriverMocks.prepareDriver((p1,p2) -> d1)
         ));
 
         //when
-        service.activate(buildFor(singleNode()));
+        service.activate(singleNode());
 
         //then
         verify(d1, times(1)).rollback();
@@ -113,14 +122,14 @@ public class FcRouteActivatorServiceTest {
     public void testActivateMultiNodeFailure() throws Exception {
 
         //having
-        final ActivationDriver d1 = spy(new FailingActivationDriver(p -> { if(p.getId().equals("a")) throw new NullPointerException();}));
+        final ActivationDriver d1 = spy(new FailingActivationDriver(p -> { if(p.getTopology().equals(topoA)) throw new TestBusinessEx();}));
 
-        FcRouteActivatorService service = createService(Collections.singletonList(
+        ForwardingConstructActivatorService service = createService(Collections.singletonList(
                 ActivationDriverMocks.prepareDriver(p1 -> d1)
         ));
 
         //when
-        service.activate(buildFor(twoNodes()));
+        service.activate(twoNodes());
 
         //then
         verify(d1, times(1)).activate();
@@ -131,15 +140,15 @@ public class FcRouteActivatorServiceTest {
     public void testDeactivateSingleNodeFailure() throws Exception {
 
         //having
-        final ActivationDriver d1 = spy(new FailingActivationDriver(p -> { if(p.getId().equals("a")) throw new NullPointerException();}));
+        final ActivationDriver d1 = spy(new FailingActivationDriver(p -> { if(p.getTopology().equals(topoA)) throw new TestBusinessEx();}));
 
-        FcRouteActivatorService service = createService(Arrays.asList(
+        ForwardingConstructActivatorService service = createService(Arrays.asList(
                 ActivationDriverMocks.prepareDriver((p1,p2) -> null),
                 ActivationDriverMocks.prepareDriver((p1,p2) -> d1)
         ));
 
         //when
-        service.deactivate(buildFor(singleNode()));
+        service.deactivate(singleNode());
 
         //then
         verify(d1, times(1)).deactivate();
@@ -151,12 +160,12 @@ public class FcRouteActivatorServiceTest {
         //having
         final ActivationDriver d1 = mock(ActivationDriver.class);
 
-        FcRouteActivatorService service = createService(Collections.singletonList(
+        ForwardingConstructActivatorService service = createService(Collections.singletonList(
                 ActivationDriverMocks.prepareDriver(port -> d1)
         ));
 
         //when
-        service.deactivate(buildFor(twoNodes()));
+        service.deactivate(twoNodes());
 
         //then
         verify(d1, times(2)).deactivate();
@@ -183,25 +192,20 @@ public class FcRouteActivatorServiceTest {
                 .build();
     }
 
-    private FcRoute buildFor(ForwardingConstruct fc) {
-        return new FcRouteBuilder()
-                .setForwardingConstruct(Collections.singletonList(fc))
-                .build();
-    }
-
-    FcPort port(String id, String host, String port) {
+    FcPort port(String topo, String host, String port) {
         return new FcPortBuilder()
-                .setId(id)
-                .setLtpRefList(Arrays.asList(new UniversalId(host + ":" + port)))
+                .setTopology(new TopologyId(topo))
+                .setNode(new NodeId(host))
+                .setTp(new TpId(port))
                 .build();
     }
 
     private static class FailingActivationDriver implements ActivationDriver {
 
-        private final Consumer<GFcPort> consumer;
-        private GFcPort from;
+        private final Consumer<FcPort> consumer;
+        private FcPort from;
 
-        FailingActivationDriver(Consumer<GFcPort> portConsumer) {
+        FailingActivationDriver(Consumer<FcPort> portConsumer) {
             this.consumer  = portConsumer;
         }
 
@@ -216,7 +220,7 @@ public class FcRouteActivatorServiceTest {
         }
 
         @Override
-        public void initialize(GFcPort from, GFcPort to, GForwardingConstruct context) {
+        public void initialize(FcPort from, FcPort to, ForwardingConstruct context) {
             if(this.from == null)
                 this.from = from;
         }
index 5483982908e50dcfe574454f116665cee62d0fb8..1766b1764e00a3d9764ddc502173f313d7227d7c 100644 (file)
@@ -12,8 +12,9 @@ import org.opendaylight.unimgr.mef.nrp.api.ActivationDriver;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverAmbiguousException;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverNotFoundException;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverRepoService;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.FcPort;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.FcPortBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPortBuilder;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;
 
 /**
  * @author bartosz.michalik@amartus.com
@@ -24,7 +25,8 @@ public class ActivationDriverRepoServiceImplTest {
     public void testEmptyBuilderList() throws Exception {
 
         ActivationDriverRepoService driverRepo = new ActivationDriverRepoServiceImpl(Collections.emptyList());
-        final FcPort port = new FcPortBuilder().setId("a").build();
+        final FcPort port = new FcPortBuilder()
+                .setTopology(new TopologyId("a")).build();
         driverRepo.getDriver(port, null);
     }
 
@@ -38,7 +40,8 @@ public class ActivationDriverRepoServiceImplTest {
                 prepareDriver(p -> driver), prepareDriver(p -> driver)
         ));
 
-        final FcPort port = new FcPortBuilder().setId("a").build();
+        final FcPort port = new FcPortBuilder()
+                .setTopology(new TopologyId("a")).build();
         driverRepo.getDriver(port, null);
     }
 
@@ -51,7 +54,8 @@ public class ActivationDriverRepoServiceImplTest {
                 prepareDriver(p -> driver)
         ));
 
-        final FcPort port = new FcPortBuilder().setId("a").build();
+        final FcPort port = new FcPortBuilder()
+                .setTopology(new TopologyId("a")).build();
         final ActivationDriver driverFromRepo = driverRepo.getDriver(port, null);
         assertEquals(driver, driverFromRepo);
     }
@@ -66,8 +70,10 @@ public class ActivationDriverRepoServiceImplTest {
                 prepareDriver(p -> d1), prepareDriver((a,b) -> d2)
         ));
 
-        final FcPort portA = new FcPortBuilder().setId("a").build();
-        final FcPort portB = new FcPortBuilder().setId("b").build();
+        final FcPort portA = new FcPortBuilder()
+                .setTopology(new TopologyId("a")).build();
+        final FcPort portB = new FcPortBuilder()
+                .setTopology(new TopologyId("b")).build();
         final ActivationDriver driverFromRepo = driverRepo.getDriver(portA, portB, null);
         assertEquals(d2, driverFromRepo);
     }
index 091cc0eaf03da04a52caa62fde5b91a763500dfc..2d48ee675c9241ed0eb211fa960cb660e6411690 100644 (file)
@@ -2,7 +2,7 @@ package org.opendaylight.unimgr.utils;
 
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriver;
 import org.opendaylight.unimgr.mef.nrp.api.ActivationDriverBuilder;
-import org.opendaylight.yang.gen.v1.uri.onf.coremodel.corenetworkmodule.objectclasses.rev160413.GFcPort;
+import org.opendaylight.yang.gen.v1.urn.onf.core.network.module.rev160630.g_forwardingconstruct.FcPort;
 
 import java.util.Optional;
 import java.util.function.BiFunction;
@@ -23,16 +23,16 @@ public class ActivationDriverMocks {
      * @param producer to build driver
      * @return driver builder mock
      */
-    public static ActivationDriverBuilder prepareDriver(Function<GFcPort, ActivationDriver> producer) {
+    public static ActivationDriverBuilder prepareDriver(Function<FcPort, ActivationDriver> producer) {
         final ActivationDriverBuilder mock = mock(ActivationDriverBuilder.class);
 
         doAnswer(inv -> {
-            GFcPort port = (GFcPort) inv.getArguments()[0];
+            FcPort port = (FcPort) inv.getArguments()[0];
             return Optional.ofNullable(producer.apply(port));
-        }).when(mock).driverFor(any(GFcPort.class), any(ActivationDriverBuilder.BuilderContext.class));
+        }).when(mock).driverFor(any(FcPort.class), any(ActivationDriverBuilder.BuilderContext.class));
 
         doReturn(Optional.empty()).when(mock)
-                .driverFor(any(GFcPort.class), any(GFcPort.class), any(ActivationDriverBuilder.BuilderContext.class));
+                .driverFor(any(FcPort.class), any(FcPort.class), any(ActivationDriverBuilder.BuilderContext.class));
 
         return mock;
     }
@@ -43,17 +43,17 @@ public class ActivationDriverMocks {
      * @param producer to build driver
      * @return driver builder mock
      */
-    public static ActivationDriverBuilder prepareDriver(BiFunction<GFcPort, GFcPort, ActivationDriver> producer) {
+    public static ActivationDriverBuilder prepareDriver(BiFunction<FcPort, FcPort, ActivationDriver> producer) {
         final ActivationDriverBuilder mock = mock(ActivationDriverBuilder.class);
 
         doAnswer(inv -> {
-            GFcPort port1 = (GFcPort) inv.getArguments()[0];
-            GFcPort port2 = (GFcPort) inv.getArguments()[1];
+            FcPort port1 = (FcPort) inv.getArguments()[0];
+            FcPort port2 = (FcPort) inv.getArguments()[1];
             return Optional.ofNullable(producer.apply(port1, port2));
-        }).when(mock).driverFor(any(GFcPort.class), any(GFcPort.class), any(ActivationDriverBuilder.BuilderContext.class));
+        }).when(mock).driverFor(any(FcPort.class), any(FcPort.class), any(ActivationDriverBuilder.BuilderContext.class));
 
         doReturn(Optional.empty()).when(mock)
-                .driverFor(any(GFcPort.class), any(ActivationDriverBuilder.BuilderContext.class));
+                .driverFor(any(FcPort.class), any(ActivationDriverBuilder.BuilderContext.class));
         return mock;
     }
 }