G-RAN Devicemanager 78/4478/2
authorRavi Pendurty <ravi.pendurty@highstreet-technologies.com>
Wed, 29 Jul 2020 12:05:54 +0000 (14:05 +0200)
committerMartin Skorupski <martin.skorupski@highstreet-technologies.com>
Wed, 29 Jul 2020 13:31:06 +0000 (13:31 +0000)
A RAN specific plugin on the way for an O1 CM interface.

Issue-ID: OAM-133
Signed-off-by: Ravi Pendurty <ravi.pendurty@highstreet-technologies.com>
Change-Id: I4c3df3436bcdc67a8dff96794d2b7ee622548e98

91 files changed:
features/devicemanager/g-ran/ru-fh/feature/pom.xml [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/installer/pom.xml [new file with mode: 0755]
features/devicemanager/g-ran/ru-fh/installer/src/assembly/assemble_mvnrepo_zip.xml [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/model/pom.xml [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/pom.xml [new file with mode: 0755]
features/devicemanager/g-ran/ru-fh/provider/copyright [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/pom.xml [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/top/rev180731/$YangModelBindingProvider.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/top/rev180731/$YangModuleInfoImpl.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/top/rev180731/TopGrp.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/$YangModelBindingProvider.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/$YangModuleInfoImpl.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/AMFIdentifier.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/BwpContext.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/DataSetId.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/DefaultNotificationSubscription.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/DnnUpfInfoItem.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/Guami.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/IdentityRange.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/InterfaceUpfInfoItem.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/IpEndPoint.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/Ipv4AddressRange.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/Ipv6PrefixRange.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/IsInitialBwp.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/N1MessageClass.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/N2InformationClass.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/NFServiceVersion.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/NFStatus.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/NFType.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/NotificationEventType.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/NotificationType.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/PLMNId.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/QOffsetRange.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/RRMPolicyRatio2.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/SnssaiUpfInfoItem.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/SupiRange.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/SupportedFeatures.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TAMFPointer.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TAMFRegionId.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TAMFSetId.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TAdministrativeState.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TAvailabilityStatus.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TCellState.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TCyclicPrefix.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TDistinguishedName.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TDnn.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TLoad.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TMcc.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TMnc.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TNCI.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TNCIBuilder.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TNRPCI.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TNsiId.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TOperationalState.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TQuotaType.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TResourceSharingLevel.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TSNSSAI.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TSNSSAIBuilder.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TSST.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TSubcarrierSpacing.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TTAC.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TTACBuilder.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TTransportProtocol.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TUEMobilityLevel.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/Tai.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TxDirection.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/UPInterfaceType.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/guami/AmfId.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/guami/PlmnId.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/interfaceupfinfoitem/Address.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/interfaceupfinfoitem/address/EndpointFqdn.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/interfaceupfinfoitem/address/Ipv4Address.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/interfaceupfinfoitem/address/Ipv6Address.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/interfaceupfinfoitem/address/Ipv6Prefix.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/ipendpoint/Address.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/ipendpoint/address/Ipv4Address.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/ipendpoint/address/Ipv6Address.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/ipendpoint/address/Ipv6Prefix.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/snssaiupfinfoitem/DnnUpfInfo.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/snssaiupfinfoitem/DnnUpfInfoKey.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/tai/PlmnId.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/oransc/oam/features/devicemanager/gran/GRanNetworkElement.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/oransc/oam/features/devicemanager/gran/GRanNetworkElementFactory.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/oransc/oam/features/devicemanager/gran/impl/DeviceManagerGRanImpl.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/main/resources/version.properties [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/test/java/org/oransc/oam/features/devicemanager/gran/test/TestDeviceManagerGRanImpl.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/test/java/org/oransc/oam/features/devicemanager/gran/test/TestGRanNetworkElement.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/test/java/org/oransc/oam/features/devicemanager/gran/test/TestGRanNetworkElementFactory.java [new file with mode: 0644]
features/devicemanager/g-ran/ru-fh/provider/src/test/resources/simplelogger.properties [new file with mode: 0644]
features/pom.xml

diff --git a/features/devicemanager/g-ran/ru-fh/feature/pom.xml b/features/devicemanager/g-ran/ru-fh/feature/pom.xml
new file mode 100644 (file)
index 0000000..ba9cd0b
--- /dev/null
@@ -0,0 +1,99 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ ============LICENSE_START=======================================================
+  ~ O-RAN-SC : features
+  ~ ================================================================================
+  ~ Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
+  ~ All rights reserved.
+  ~ ================================================================================
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  ~ ============LICENSE_END=======================================================
+  ~
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.o-ran-sc.oam.features.parent</groupId>
+        <artifactId>single-feature-parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.o-ran-sc.oam.features.devicemanager</groupId>
+    <artifactId>devicemanager-gran-ru-fh-feature</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>feature</packaging>
+
+    <name>o-ran-sc-features :: ${project.artifactId}</name>
+
+    <dependencies>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>devicemanager-gran-ru-fh-provider</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+    
+      <repositories>
+    <repository>
+      <id>onap-public</id>
+      <url>https://nexus.onap.org/content/groups/public/</url>
+      <releases>
+        <enabled>true</enabled>
+        <updatePolicy>never</updatePolicy>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+        <updatePolicy>always</updatePolicy>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>onap-staging</id>
+      <url>https://nexus.onap.org/content/groups/staging/</url>
+      <releases>
+        <enabled>true</enabled>
+        <updatePolicy>never</updatePolicy>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+        <updatePolicy>always</updatePolicy>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>ecomp-release</id>
+      <name>onap-repository-releases</name>
+      <url>https://nexus.onap.org/content/repositories/releases/</url>
+      <releases>
+        <enabled>true</enabled>
+        <updatePolicy>never</updatePolicy>
+      </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>ecomp-snapshot</id>
+      <name>onap-repository-snapshots</name>
+      <url>https://nexus.onap.org/content/repositories/snapshots/</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
+  
+</project>
diff --git a/features/devicemanager/g-ran/ru-fh/installer/pom.xml b/features/devicemanager/g-ran/ru-fh/installer/pom.xml
new file mode 100755 (executable)
index 0000000..9280a69
--- /dev/null
@@ -0,0 +1,116 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ ============LICENSE_START=======================================================
+  ~ ONAP : ccsdk features
+  ~ ================================================================================
+  ~ Copyright (C) 2018 highstreet technologies GmbH Intellectual Property.
+  ~ All rights reserved.
+  ~ ================================================================================
+  ~ Update Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+  ~ ================================================================================
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  ~ ============LICENSE_END=======================================================
+  ~
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.o-ran-sc.oam.features.parent</groupId>
+        <artifactId>odlparent-lite</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.o-ran-sc.oam.features.devicemanager</groupId>
+    <artifactId>devicemanager-gran-ru-fh-installer</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <name>o-ran-sc-features :: ${project.artifactId}</name>
+
+    <properties>
+        <application.name>devicemanager-gran-ru-fh</application.name>
+        <include.transitive.dependencies>false</include.transitive.dependencies>
+    </properties>
+
+    <dependencies>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>${application.name}-feature</artifactId>
+            <version>${project.version}</version>
+            <type>xml</type>
+            <classifier>features</classifier>
+            <exclusions>
+                <exclusion>
+                    <groupId>*</groupId>
+                    <artifactId>*</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>${application.name}-provider</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>maven-repo-zip</id>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                        <phase>package</phase>
+                        <configuration>
+                            <attach>true</attach>
+                            <finalName>stage/${application.name}-${project.version}</finalName>
+                            <descriptors>
+                                <descriptor>src/assembly/assemble_mvnrepo_zip.xml</descriptor>
+                            </descriptors>
+                            <appendAssemblyId>true</appendAssemblyId>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-dependency-plugin</artifactId>
+                <executions>
+                    <execution>
+                        <id>copy-nested-dependencies</id>
+                        <goals>
+                            <goal>copy-dependencies</goal>
+                        </goals>
+                        <phase>prepare-package</phase>
+                        <configuration>
+                            <transitive>true</transitive>
+                            <outputDirectory>${project.build.directory}/assembly/system</outputDirectory>
+                            <overWriteReleases>false</overWriteReleases>
+                            <overWriteSnapshots>true</overWriteSnapshots>
+                            <overWriteIfNewer>true</overWriteIfNewer>
+                            <useRepositoryLayout>true</useRepositoryLayout>
+                            <addParentPoms>false</addParentPoms>
+                            <copyPom>false</copyPom>
+                        </configuration>
+                    </execution>
+                </executions>
+            </plugin>
+        </plugins>
+    </build>
+</project>
diff --git a/features/devicemanager/g-ran/ru-fh/installer/src/assembly/assemble_mvnrepo_zip.xml b/features/devicemanager/g-ran/ru-fh/installer/src/assembly/assemble_mvnrepo_zip.xml
new file mode 100644 (file)
index 0000000..dfe5060
--- /dev/null
@@ -0,0 +1,47 @@
+<!--
+  ~ ============LICENSE_START=======================================================
+  ~ ONAP : ccsdk features
+  ~ ================================================================================
+  ~ Copyright (C) 2017-2020 AT&T Intellectual Property. All rights reserved.
+  ~ ================================================================================
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  ~ ============LICENSE_END=======================================================
+  ~
+  -->
+
+<!-- Defines how we build the .zip file which is our distribution. -->
+
+<assembly
+  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+  xmlns="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0"
+  xsi:schemaLocation="http://maven.apache.org/plugins/maven-assembly-plugin/assembly/1.1.0 http://maven.apache.org/xsd/assembly-1.1.0.xsd">
+    <id>repo</id>
+    <formats>
+        <format>zip</format>
+    </formats>
+
+    <!--  we want "system" and related files right at the root level
+          as this file is suppose to be unzip on top of a karaf
+          distro. -->
+    <includeBaseDirectory>false</includeBaseDirectory>
+
+    <fileSets>
+        <fileSet>
+            <directory>target/assembly/</directory>
+            <outputDirectory>.</outputDirectory>
+            <excludes>
+            </excludes>
+        </fileSet>
+    </fileSets>
+
+</assembly>
diff --git a/features/devicemanager/g-ran/ru-fh/model/pom.xml b/features/devicemanager/g-ran/ru-fh/model/pom.xml
new file mode 100644 (file)
index 0000000..c5286ae
--- /dev/null
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ ============LICENSE_START=======================================================
+  ~ O-RAN-SC : features
+  ~ ================================================================================
+  ~ Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
+  ~ All rights reserved.
+  ~ ================================================================================
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  ~ ============LICENSE_END=======================================================
+  ~
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.o-ran-sc.oam.features.parent</groupId>
+        <artifactId>binding-parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.o-ran-sc.oam.features.devicemanager</groupId>
+    <artifactId>devicemanager-gran-ru-fh-model</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+
+    <name>o-ran-sc-features :: ${project.artifactId}</name>
+    <licenses>
+        <license>
+            <name>Apache License, Version 2.0</name>
+            <url>http://www.apache.org/licenses/LICENSE-2.0</url>
+        </license>
+    </licenses>
+
+    <properties>
+        <maven.javadoc.skip>true</maven.javadoc.skip>
+    </properties>
+
+    <dependencies>
+    </dependencies>
+
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <configuration>
+                    <excludes>
+                        <exclude>**/gen/**</exclude>
+                        <exclude>**/generated-sources/**</exclude>
+                        <exclude>**/yang-gen-sal/**</exclude>
+                        <exclude>**/pax/**</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+    
+      <repositories>
+    <repository>
+      <id>onap-public</id>
+      <url>https://nexus.onap.org/content/groups/public/</url>
+      <releases>
+        <enabled>true</enabled>
+        <updatePolicy>never</updatePolicy>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+        <updatePolicy>always</updatePolicy>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>onap-staging</id>
+      <url>https://nexus.onap.org/content/groups/staging/</url>
+      <releases>
+        <enabled>true</enabled>
+        <updatePolicy>never</updatePolicy>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+        <updatePolicy>always</updatePolicy>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>ecomp-release</id>
+      <name>onap-repository-releases</name>
+      <url>https://nexus.onap.org/content/repositories/releases/</url>
+      <releases>
+        <enabled>true</enabled>
+        <updatePolicy>never</updatePolicy>
+      </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>ecomp-snapshot</id>
+      <name>onap-repository-snapshots</name>
+      <url>https://nexus.onap.org/content/repositories/snapshots/</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
+    
+</project>
diff --git a/features/devicemanager/g-ran/ru-fh/pom.xml b/features/devicemanager/g-ran/ru-fh/pom.xml
new file mode 100755 (executable)
index 0000000..6eb97c1
--- /dev/null
@@ -0,0 +1,53 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ ============LICENSE_START=======================================================
+  ~ ONAP : ccsdk features
+  ~ ================================================================================
+  ~ Copyright (C) 2018 highstreet technologies GmbH Intellectual Property.
+  ~ All rights reserved.
+  ~ ================================================================================
+  ~ Update Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+  ~ ================================================================================
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  ~ ============LICENSE_END=======================================================
+  ~
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.o-ran-sc.oam.features.parent</groupId>
+        <artifactId>odlparent-lite</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.o-ran-sc.oam.features.devicemanager</groupId>
+    <artifactId>devicemanager-gran-ru-fh-top</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>pom</packaging>
+
+    <name>o-ran-sc-features :: ${project.artifactId}</name>
+
+    <modules>
+        <module>model</module>
+        <module>provider</module>
+        <module>feature</module>
+        <module>installer</module>
+    </modules>
+
+    <properties>
+        <feature-name>devicemanager-gran-ru-fh</feature-name>
+    </properties>
+</project>
diff --git a/features/devicemanager/g-ran/ru-fh/provider/copyright b/features/devicemanager/g-ran/ru-fh/provider/copyright
new file mode 100644 (file)
index 0000000..754b621
--- /dev/null
@@ -0,0 +1,17 @@
+/**
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
diff --git a/features/devicemanager/g-ran/ru-fh/provider/pom.xml b/features/devicemanager/g-ran/ru-fh/provider/pom.xml
new file mode 100644 (file)
index 0000000..61c13a6
--- /dev/null
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ ============LICENSE_START=======================================================
+  ~ O-RAN-SC : features
+  ~ ================================================================================
+  ~ Copyright (C) 2020 highstreet technologies GmbH Intellectual Property.
+  ~ All rights reserved.
+  ~ ================================================================================
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  ~ ============LICENSE_END=======================================================
+  ~
+  -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+    <modelVersion>4.0.0</modelVersion>
+
+    <parent>
+        <groupId>org.o-ran-sc.oam.features.parent</groupId>
+        <artifactId>binding-parent</artifactId>
+        <version>2.0.0-SNAPSHOT</version>
+        <relativePath/>
+    </parent>
+
+    <groupId>org.o-ran-sc.oam.features.devicemanager</groupId>
+    <artifactId>devicemanager-gran-ru-fh-provider</artifactId>
+    <version>1.0.0-SNAPSHOT</version>
+    <packaging>bundle</packaging>
+
+    <name>o-ran-sc-features :: ${project.artifactId}</name>
+    <licenses>
+        <license>
+            <name>Apache License, Version 2.0</name>
+            <url>http://www.apache.org/licenses/LICENSE-2.0</url>
+        </license>
+    </licenses>
+
+    <properties>
+        <checkstyle.skip>true</checkstyle.skip> <!-- POM configuration -->
+        <maven.javadoc.skip>true</maven.javadoc.skip>
+        <maven.build.timestamp.format>yyyy-MM-dd HH:mm</maven.build.timestamp.format>
+        <buildtime>${maven.build.timestamp} UTC</buildtime>
+    </properties>
+
+    <dependencies>
+        <!-- begin for testing -->
+        <dependency>
+            <groupId>org.mockito</groupId>
+            <artifactId>mockito-core</artifactId>
+            <scope>test</scope>
+        </dependency>
+        <!-- end for testing -->
+        <dependency>
+            <groupId>${project.groupId}</groupId>
+            <artifactId>devicemanager-gran-ru-fh-model</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
+            <artifactId>sdnr-wt-netconfnode-state-service-model</artifactId>
+            <version>${project.version}</version><!--$NO-MVN-MAN-VER$-->
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
+            <artifactId>sdnr-wt-devicemanager-model</artifactId>
+            <version>${project.version}</version><!--$NO-MVN-MAN-VER$-->
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.onap.ccsdk.features.sdnr.wt</groupId>
+            <artifactId>sdnr-wt-common</artifactId>
+            <version>${project.version}</version>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.osgi</groupId>
+            <artifactId>org.osgi.core</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.netconf</groupId>
+            <artifactId>sal-netconf-connector</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal.binding.model.ietf</groupId>
+            <artifactId>rfc6991-ietf-yang-types</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>yang-binding</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>org.opendaylight.mdsal</groupId>
+            <artifactId>mdsal-singleton-common-api</artifactId>
+            <scope>provided</scope>
+        </dependency>
+    </dependencies>
+
+    <build>
+        <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>true</filtering>
+            </resource>
+        </resources>
+        <plugins>
+            <plugin>
+                <groupId>org.jacoco</groupId>
+                <artifactId>jacoco-maven-plugin</artifactId>
+                <configuration>
+                    <excludes>
+                        <exclude>**/gen/**</exclude>
+                        <exclude>**/generated-sources/**</exclude>
+                        <exclude>**/yang-gen-sal/**</exclude>
+                        <exclude>**/pax/**</exclude>
+                    </excludes>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+    
+    <repositories>
+    <repository>
+      <id>onap-public</id>
+      <url>https://nexus.onap.org/content/groups/public/</url>
+      <releases>
+        <enabled>true</enabled>
+        <updatePolicy>never</updatePolicy>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+        <updatePolicy>always</updatePolicy>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>onap-staging</id>
+      <url>https://nexus.onap.org/content/groups/staging/</url>
+      <releases>
+        <enabled>true</enabled>
+        <updatePolicy>never</updatePolicy>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+        <updatePolicy>always</updatePolicy>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>ecomp-release</id>
+      <name>onap-repository-releases</name>
+      <url>https://nexus.onap.org/content/repositories/releases/</url>
+      <releases>
+        <enabled>true</enabled>
+        <updatePolicy>never</updatePolicy>
+      </releases>
+      <snapshots>
+        <enabled>false</enabled>
+      </snapshots>
+    </repository>
+    <repository>
+      <id>ecomp-snapshot</id>
+      <name>onap-repository-snapshots</name>
+      <url>https://nexus.onap.org/content/repositories/snapshots/</url>
+      <releases>
+        <enabled>false</enabled>
+      </releases>
+      <snapshots>
+        <enabled>true</enabled>
+      </snapshots>
+    </repository>
+  </repositories>
+  
+</project>
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/top/rev180731/$YangModelBindingProvider.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/top/rev180731/$YangModelBindingProvider.java
new file mode 100644 (file)
index 0000000..925890b
--- /dev/null
@@ -0,0 +1,8 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.top.rev180731;
+
+public final class $YangModelBindingProvider implements org.opendaylight.yangtools.yang.binding.YangModelBindingProvider {
+    @java.lang.Override
+    public org.opendaylight.yangtools.yang.binding.YangModuleInfo getModuleInfo() {
+        return $YangModuleInfoImpl.getInstance();
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/top/rev180731/$YangModuleInfoImpl.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/top/rev180731/$YangModuleInfoImpl.java
new file mode 100644 (file)
index 0000000..7b43064
--- /dev/null
@@ -0,0 +1,46 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.top.rev180731;
+
+import org.opendaylight.yangtools.yang.binding.ResourceYangModuleInfo;
+import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
+import java.util.Set;
+import java.util.HashSet;
+import com.google.common.collect.ImmutableSet;
+
+public final class $YangModuleInfoImpl extends ResourceYangModuleInfo {
+    private static final QName NAME = QName.create("urn:3gpp:tsg:sa5:nrm:Top", "2018-07-31", "_3gpp-common-top").intern();
+    private static final YangModuleInfo INSTANCE = new $YangModuleInfoImpl();
+
+    private final Set<YangModuleInfo> importedModules;
+
+    public static YangModuleInfo getInstance() {
+        return INSTANCE;
+    }
+
+    public static QName qnameOf(final java.lang.String localName) {
+        return QName.create(NAME, localName).intern();
+    }
+
+    private $YangModuleInfoImpl() {
+        Set<YangModuleInfo> set = new HashSet<>();
+        set.add(org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.$YangModuleInfoImpl.getInstance());
+        importedModules = ImmutableSet.copyOf(set);
+    }
+
+    @java.lang.Override
+    public QName getName() {
+        return NAME;
+    }
+
+    @java.lang.Override
+    protected java.lang.String resourceName() {
+        return "/META-INF/yang/_3gpp-common-top@2018-07-31.yang";
+    }
+
+    @java.lang.Override
+    public Set<YangModuleInfo> getImportedModules() {
+        return importedModules;
+    }
+
+
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/top/rev180731/TopGrp.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/top/rev180731/TopGrp.java
new file mode 100644 (file)
index 0000000..5216512
--- /dev/null
@@ -0,0 +1,45 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.top.rev180731;
+import java.lang.String;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.TDistinguishedName;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-top</b>
+ * <pre>
+ * grouping TopGrp {
+ *   leaf objectClass {
+ *     type string;
+ *   }
+ *   leaf id {
+ *     type nrm-type:t_DistinguishedName;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-top/TopGrp</i>
+ *
+ */
+public interface TopGrp
+    extends
+    DataObject
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("TopGrp");
+
+    /**
+     * @return <code>java.lang.String</code> <code>objectClass</code>, or <code>null</code> if not present
+     */
+    @Nullable String getObjectClass();
+    
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.TDistinguishedName</code> <code>id</code>, or <code>null</code> if not present
+     */
+    @Nullable TDistinguishedName getId();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/$YangModelBindingProvider.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/$YangModelBindingProvider.java
new file mode 100644 (file)
index 0000000..9bfd8cb
--- /dev/null
@@ -0,0 +1,8 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+
+public final class $YangModelBindingProvider implements org.opendaylight.yangtools.yang.binding.YangModelBindingProvider {
+    @java.lang.Override
+    public org.opendaylight.yangtools.yang.binding.YangModuleInfo getModuleInfo() {
+        return $YangModuleInfoImpl.getInstance();
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/$YangModuleInfoImpl.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/$YangModuleInfoImpl.java
new file mode 100644 (file)
index 0000000..7ad939a
--- /dev/null
@@ -0,0 +1,47 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+
+import org.opendaylight.yangtools.yang.binding.ResourceYangModuleInfo;
+import org.opendaylight.yangtools.yang.common.QName;
+import org.opendaylight.yangtools.yang.binding.YangModuleInfo;
+import java.util.Set;
+import java.util.HashSet;
+import com.google.common.collect.ImmutableSet;
+
+public final class $YangModuleInfoImpl extends ResourceYangModuleInfo {
+    private static final QName NAME = QName.create("urn:3gpp:tsg:sa5:nrm:types", "2018-07-31", "_3gpp-common-yang-types").intern();
+    private static final YangModuleInfo INSTANCE = new $YangModuleInfoImpl();
+
+    private final Set<YangModuleInfo> importedModules;
+
+    public static YangModuleInfo getInstance() {
+        return INSTANCE;
+    }
+
+    public static QName qnameOf(final java.lang.String localName) {
+        return QName.create(NAME, localName).intern();
+    }
+
+    private $YangModuleInfoImpl() {
+        Set<YangModuleInfo> set = new HashSet<>();
+        set.add(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.$YangModuleInfoImpl.getInstance());
+        set.add(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.$YangModuleInfoImpl.getInstance());
+        importedModules = ImmutableSet.copyOf(set);
+    }
+    
+    @java.lang.Override
+    public QName getName() {
+        return NAME;
+    }
+    
+    @java.lang.Override
+    protected java.lang.String resourceName() {
+        return "/META-INF/yang/_3gpp-common-yang-types@2018-07-31.yang";
+    }
+    
+    @java.lang.Override
+    public Set<YangModuleInfo> getImportedModules() {
+        return importedModules;
+    }
+    
+    
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/AMFIdentifier.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/AMFIdentifier.java
new file mode 100644 (file)
index 0000000..6068ed2
--- /dev/null
@@ -0,0 +1,51 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * grouping aMFIdentifier {
+ *   leaf AMF-Region-id {
+ *     type t_aMF-Region-id;
+ *   }
+ *   leaf AMF-Set-id {
+ *     type t_aMF-Set-id;
+ *   }
+ *   leaf AMF-Pointer {
+ *     type t_aMF-Pointer;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/aMFIdentifier</i>
+ *
+ */
+public interface AMFIdentifier
+    extends
+    DataObject
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("aMFIdentifier");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.TAMFRegionId</code> <code>aMFRegionId</code>, or <code>null</code> if not present
+     */
+    @Nullable TAMFRegionId getAMFRegionId();
+    
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.TAMFSetId</code> <code>aMFSetId</code>, or <code>null</code> if not present
+     */
+    @Nullable TAMFSetId getAMFSetId();
+    
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.TAMFPointer</code> <code>aMFPointer</code>, or <code>null</code> if not present
+     */
+    @Nullable TAMFPointer getAMFPointer();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/BwpContext.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/BwpContext.java
new file mode 100644 (file)
index 0000000..c9e052b
--- /dev/null
@@ -0,0 +1,73 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum BwpContext implements Enumeration {
+    DL(0, "DL"),
+    
+    UL(1, "UL"),
+    
+    SUL(2, "SUL")
+    ;
+
+    private static final Map<String, BwpContext> NAME_MAP;
+    private static final Map<Integer, BwpContext> VALUE_MAP;
+
+    static {
+        final Builder<String, BwpContext> nb = ImmutableMap.builder();
+        final Builder<Integer, BwpContext> vb = ImmutableMap.builder();
+        for (BwpContext enumItem : BwpContext.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private BwpContext(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding BwpContext item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<BwpContext> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding BwpContext item, or null if no such item exists
+     */
+    public static BwpContext forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/DataSetId.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/DataSetId.java
new file mode 100644 (file)
index 0000000..3585bfb
--- /dev/null
@@ -0,0 +1,75 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum DataSetId implements Enumeration {
+    SUBSCRIPTION(0, "SUBSCRIPTION"),
+    
+    POLICY(1, "POLICY"),
+    
+    EXPOSURE(2, "EXPOSURE"),
+    
+    APPLICATION(3, "APPLICATION")
+    ;
+
+    private static final Map<String, DataSetId> NAME_MAP;
+    private static final Map<Integer, DataSetId> VALUE_MAP;
+
+    static {
+        final Builder<String, DataSetId> nb = ImmutableMap.builder();
+        final Builder<Integer, DataSetId> vb = ImmutableMap.builder();
+        for (DataSetId enumItem : DataSetId.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private DataSetId(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding DataSetId item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<DataSetId> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding DataSetId item, or null if no such item exists
+     */
+    public static DataSetId forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/DefaultNotificationSubscription.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/DefaultNotificationSubscription.java
new file mode 100644 (file)
index 0000000..969d5cb
--- /dev/null
@@ -0,0 +1,60 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * grouping defaultNotificationSubscription {
+ *   leaf notificationType {
+ *     type NotificationType;
+ *   }
+ *   leaf callbackUri {
+ *     type inet:uri;
+ *   }
+ *   leaf n1MessageClass {
+ *     type N1MessageClass;
+ *   }
+ *   leaf n2InformationClass {
+ *     type N2InformationClass;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/defaultNotificationSubscription</i>
+ *
+ */
+public interface DefaultNotificationSubscription
+    extends
+    DataObject
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("defaultNotificationSubscription");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.NotificationType</code> <code>notificationType</code>, or <code>null</code> if not present
+     */
+    @Nullable NotificationType getNotificationType();
+    
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Uri</code> <code>callbackUri</code>, or <code>null</code> if not present
+     */
+    @Nullable Uri getCallbackUri();
+    
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.N1MessageClass</code> <code>n1MessageClass</code>, or <code>null</code> if not present
+     */
+    @Nullable N1MessageClass getN1MessageClass();
+    
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.N2InformationClass</code> <code>n2InformationClass</code>, or <code>null</code> if not present
+     */
+    @Nullable N2InformationClass getN2InformationClass();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/DnnUpfInfoItem.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/DnnUpfInfoItem.java
new file mode 100644 (file)
index 0000000..a21ffc1
--- /dev/null
@@ -0,0 +1,35 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * grouping DnnUpfInfoItem {
+ *   leaf dnn {
+ *     type t_Dnn;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/DnnUpfInfoItem</i>
+ *
+ */
+public interface DnnUpfInfoItem
+    extends
+    DataObject
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("DnnUpfInfoItem");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.TDnn</code> <code>dnn</code>, or <code>null</code> if not present
+     */
+    @Nullable TDnn getDnn();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/Guami.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/Guami.java
new file mode 100644 (file)
index 0000000..94a4ca1
--- /dev/null
@@ -0,0 +1,45 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.guami.AmfId;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.guami.PlmnId;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * grouping Guami {
+ *   container plmnId {
+ *     uses pLMNId;
+ *   }
+ *   container amfId {
+ *     uses aMFIdentifier;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/Guami</i>
+ *
+ */
+public interface Guami
+    extends
+    DataObject
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("Guami");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.guami.PlmnId</code> <code>plmnId</code>, or <code>null</code> if not present
+     */
+    @Nullable PlmnId getPlmnId();
+    
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.guami.AmfId</code> <code>amfId</code>, or <code>null</code> if not present
+     */
+    @Nullable AmfId getAmfId();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/IdentityRange.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/IdentityRange.java
new file mode 100644 (file)
index 0000000..4146a26
--- /dev/null
@@ -0,0 +1,52 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import java.lang.String;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * grouping IdentityRange {
+ *   leaf start {
+ *     type string;
+ *   }
+ *   leaf end {
+ *     type string;
+ *   }
+ *   leaf pattern {
+ *     type string;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/IdentityRange</i>
+ *
+ */
+public interface IdentityRange
+    extends
+    DataObject
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("IdentityRange");
+
+    /**
+     * @return <code>java.lang.String</code> <code>start</code>, or <code>null</code> if not present
+     */
+    @Nullable String getStart();
+    
+    /**
+     * @return <code>java.lang.String</code> <code>end</code>, or <code>null</code> if not present
+     */
+    @Nullable String getEnd();
+    
+    /**
+     * @return <code>java.lang.String</code> <code>pattern</code>, or <code>null</code> if not present
+     */
+    @Nullable String getPattern();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/InterfaceUpfInfoItem.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/InterfaceUpfInfoItem.java
new file mode 100644 (file)
index 0000000..a3a32e2
--- /dev/null
@@ -0,0 +1,72 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import java.lang.String;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.interfaceupfinfoitem.Address;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * grouping InterfaceUpfInfoItem {
+ *   leaf interfaceType {
+ *     type UPInterfaceType;
+ *   }
+ *   choice address {
+ *     case ipv4Address {
+ *       leaf ipv4Address {
+ *         type inet:ipv4-address;
+ *       }
+ *     }
+ *     case ipv6Address {
+ *       leaf ipv6Address {
+ *         type inet:ipv6-address;
+ *       }
+ *     }
+ *     case ipv6Prefix {
+ *       leaf ipv6Prefix {
+ *         type inet:ipv6-prefix;
+ *       }
+ *     }
+ *     case endpointFqdn {
+ *       leaf endpointFqdn {
+ *         type inet:domain-name;
+ *       }
+ *     }
+ *   }
+ *   leaf networkInstance {
+ *     type string;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/InterfaceUpfInfoItem</i>
+ *
+ */
+public interface InterfaceUpfInfoItem
+    extends
+    DataObject
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("InterfaceUpfInfoItem");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.UPInterfaceType</code> <code>interfaceType</code>, or <code>null</code> if not present
+     */
+    @Nullable UPInterfaceType getInterfaceType();
+    
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.interfaceupfinfoitem.Address</code> <code>address</code>, or <code>null</code> if not present
+     */
+    @Nullable Address getAddress();
+    
+    /**
+     * @return <code>java.lang.String</code> <code>networkInstance</code>, or <code>null</code> if not present
+     */
+    @Nullable String getNetworkInstance();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/IpEndPoint.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/IpEndPoint.java
new file mode 100644 (file)
index 0000000..4853cc3
--- /dev/null
@@ -0,0 +1,67 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import java.lang.Integer;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.ipendpoint.Address;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * grouping ipEndPoint {
+ *   choice address {
+ *     case ipv4Address {
+ *       leaf ipv4Address {
+ *         type inet:ipv4-address;
+ *       }
+ *     }
+ *     case ipv6Address {
+ *       leaf ipv6Address {
+ *         type inet:ipv6-address;
+ *       }
+ *     }
+ *     case ipv6Prefix {
+ *       leaf ipv6Prefix {
+ *         type inet:ipv6-prefix;
+ *       }
+ *     }
+ *   }
+ *   leaf transport {
+ *     type t_TransportProtocol;
+ *   }
+ *   leaf port {
+ *     type uint16;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/ipEndPoint</i>
+ *
+ */
+public interface IpEndPoint
+    extends
+    DataObject
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("ipEndPoint");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.ipendpoint.Address</code> <code>address</code>, or <code>null</code> if not present
+     */
+    @Nullable Address getAddress();
+    
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.TTransportProtocol</code> <code>transport</code>, or <code>null</code> if not present
+     */
+    @Nullable TTransportProtocol getTransport();
+    
+    /**
+     * @return <code>java.lang.Integer</code> <code>port</code>, or <code>null</code> if not present
+     */
+    @Nullable Integer getPort();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/Ipv4AddressRange.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/Ipv4AddressRange.java
new file mode 100644 (file)
index 0000000..1684893
--- /dev/null
@@ -0,0 +1,44 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * grouping Ipv4AddressRange {
+ *   leaf start {
+ *     type inet:ipv4-address;
+ *   }
+ *   leaf end {
+ *     type inet:ipv4-address;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/Ipv4AddressRange</i>
+ *
+ */
+public interface Ipv4AddressRange
+    extends
+    DataObject
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("Ipv4AddressRange");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address</code> <code>start</code>, or <code>null</code> if not present
+     */
+    @Nullable Ipv4Address getStart();
+    
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address</code> <code>end</code>, or <code>null</code> if not present
+     */
+    @Nullable Ipv4Address getEnd();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/Ipv6PrefixRange.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/Ipv6PrefixRange.java
new file mode 100644 (file)
index 0000000..60bb7db
--- /dev/null
@@ -0,0 +1,44 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * grouping Ipv6PrefixRange {
+ *   leaf start {
+ *     type inet:ipv6-prefix;
+ *   }
+ *   leaf end {
+ *     type inet:ipv6-prefix;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/Ipv6PrefixRange</i>
+ *
+ */
+public interface Ipv6PrefixRange
+    extends
+    DataObject
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("Ipv6PrefixRange");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix</code> <code>start</code>, or <code>null</code> if not present
+     */
+    @Nullable Ipv6Prefix getStart();
+    
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix</code> <code>end</code>, or <code>null</code> if not present
+     */
+    @Nullable Ipv6Prefix getEnd();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/IsInitialBwp.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/IsInitialBwp.java
new file mode 100644 (file)
index 0000000..7073ca5
--- /dev/null
@@ -0,0 +1,71 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum IsInitialBwp implements Enumeration {
+    INITIAL(0, "INITIAL"),
+    
+    OTHER(1, "OTHER")
+    ;
+
+    private static final Map<String, IsInitialBwp> NAME_MAP;
+    private static final Map<Integer, IsInitialBwp> VALUE_MAP;
+
+    static {
+        final Builder<String, IsInitialBwp> nb = ImmutableMap.builder();
+        final Builder<Integer, IsInitialBwp> vb = ImmutableMap.builder();
+        for (IsInitialBwp enumItem : IsInitialBwp.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private IsInitialBwp(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding IsInitialBwp item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<IsInitialBwp> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding IsInitialBwp item, or null if no such item exists
+     */
+    public static IsInitialBwp forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/N1MessageClass.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/N1MessageClass.java
new file mode 100644 (file)
index 0000000..f08c101
--- /dev/null
@@ -0,0 +1,75 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum N1MessageClass implements Enumeration {
+    _5GMM(0, "5GMM"),
+    
+    SM(1, "SM"),
+    
+    LPP(2, "LPP"),
+    
+    SMS(3, "SMS")
+    ;
+
+    private static final Map<String, N1MessageClass> NAME_MAP;
+    private static final Map<Integer, N1MessageClass> VALUE_MAP;
+
+    static {
+        final Builder<String, N1MessageClass> nb = ImmutableMap.builder();
+        final Builder<Integer, N1MessageClass> vb = ImmutableMap.builder();
+        for (N1MessageClass enumItem : N1MessageClass.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private N1MessageClass(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding N1MessageClass item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<N1MessageClass> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding N1MessageClass item, or null if no such item exists
+     */
+    public static N1MessageClass forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/N2InformationClass.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/N2InformationClass.java
new file mode 100644 (file)
index 0000000..8353780
--- /dev/null
@@ -0,0 +1,77 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum N2InformationClass implements Enumeration {
+    SM(0, "SM"),
+    
+    NRPPa(1, "NRPPa"),
+    
+    PWS(2, "PWS"),
+    
+    PWSBCAL(3, "PWS-BCAL"),
+    
+    PWSRF(4, "PWS-RF")
+    ;
+
+    private static final Map<String, N2InformationClass> NAME_MAP;
+    private static final Map<Integer, N2InformationClass> VALUE_MAP;
+
+    static {
+        final Builder<String, N2InformationClass> nb = ImmutableMap.builder();
+        final Builder<Integer, N2InformationClass> vb = ImmutableMap.builder();
+        for (N2InformationClass enumItem : N2InformationClass.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private N2InformationClass(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding N2InformationClass item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<N2InformationClass> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding N2InformationClass item, or null if no such item exists
+     */
+    public static N2InformationClass forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/NFServiceVersion.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/NFServiceVersion.java
new file mode 100644 (file)
index 0000000..983cc5b
--- /dev/null
@@ -0,0 +1,53 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import java.lang.String;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * grouping NFServiceVersion {
+ *   leaf apiVersionInUri {
+ *     type string;
+ *   }
+ *   leaf apiFullVersion {
+ *     type string;
+ *   }
+ *   leaf expiry {
+ *     type yang:date-and-time;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/NFServiceVersion</i>
+ *
+ */
+public interface NFServiceVersion
+    extends
+    DataObject
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("NFServiceVersion");
+
+    /**
+     * @return <code>java.lang.String</code> <code>apiVersionInUri</code>, or <code>null</code> if not present
+     */
+    @Nullable String getApiVersionInUri();
+    
+    /**
+     * @return <code>java.lang.String</code> <code>apiFullVersion</code>, or <code>null</code> if not present
+     */
+    @Nullable String getApiFullVersion();
+    
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.yang.types.rev130715.DateAndTime</code> <code>expiry</code>, or <code>null</code> if not present
+     */
+    @Nullable DateAndTime getExpiry();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/NFStatus.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/NFStatus.java
new file mode 100644 (file)
index 0000000..aa11f71
--- /dev/null
@@ -0,0 +1,71 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum NFStatus implements Enumeration {
+    REGISTERED(0, "REGISTERED"),
+    
+    SUSPENDED(1, "SUSPENDED")
+    ;
+
+    private static final Map<String, NFStatus> NAME_MAP;
+    private static final Map<Integer, NFStatus> VALUE_MAP;
+
+    static {
+        final Builder<String, NFStatus> nb = ImmutableMap.builder();
+        final Builder<Integer, NFStatus> vb = ImmutableMap.builder();
+        for (NFStatus enumItem : NFStatus.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private NFStatus(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding NFStatus item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<NFStatus> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding NFStatus item, or null if no such item exists
+     */
+    public static NFStatus forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/NFType.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/NFType.java
new file mode 100644 (file)
index 0000000..8789e43
--- /dev/null
@@ -0,0 +1,107 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum NFType implements Enumeration {
+    NRF(0, "NRF"),
+    
+    UDM(1, "UDM"),
+    
+    AMF(2, "AMF"),
+    
+    SMF(3, "SMF"),
+    
+    AUSF(4, "AUSF"),
+    
+    NEF(5, "NEF"),
+    
+    PCF(6, "PCF"),
+    
+    SMSF(7, "SMSF"),
+    
+    NSSF(8, "NSSF"),
+    
+    UDR(9, "UDR"),
+    
+    LMF(10, "LMF"),
+    
+    GMLC(11, "GMLC"),
+    
+    _5GEIR(12, "5G_EIR"),
+    
+    SEPP(13, "SEPP"),
+    
+    UPF(14, "UPF"),
+    
+    N3IWF(15, "N3IWF"),
+    
+    AF(16, "AF"),
+    
+    UDSF(17, "UDSF"),
+    
+    BSF(18, "BSF"),
+    
+    CHF(19, "CHF")
+    ;
+
+    private static final Map<String, NFType> NAME_MAP;
+    private static final Map<Integer, NFType> VALUE_MAP;
+
+    static {
+        final Builder<String, NFType> nb = ImmutableMap.builder();
+        final Builder<Integer, NFType> vb = ImmutableMap.builder();
+        for (NFType enumItem : NFType.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private NFType(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding NFType item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<NFType> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding NFType item, or null if no such item exists
+     */
+    public static NFType forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/NotificationEventType.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/NotificationEventType.java
new file mode 100644 (file)
index 0000000..e0857a8
--- /dev/null
@@ -0,0 +1,73 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum NotificationEventType implements Enumeration {
+    NFREGISTERED(0, "NF_REGISTERED"),
+    
+    NFDEREGISTERED(1, "NF_DEREGISTERED"),
+    
+    NFPROFILECHANGED(2, "NF_PROFILE_CHANGED")
+    ;
+
+    private static final Map<String, NotificationEventType> NAME_MAP;
+    private static final Map<Integer, NotificationEventType> VALUE_MAP;
+
+    static {
+        final Builder<String, NotificationEventType> nb = ImmutableMap.builder();
+        final Builder<Integer, NotificationEventType> vb = ImmutableMap.builder();
+        for (NotificationEventType enumItem : NotificationEventType.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private NotificationEventType(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding NotificationEventType item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<NotificationEventType> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding NotificationEventType item, or null if no such item exists
+     */
+    public static NotificationEventType forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/NotificationType.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/NotificationType.java
new file mode 100644 (file)
index 0000000..e78ba7b
--- /dev/null
@@ -0,0 +1,73 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum NotificationType implements Enumeration {
+    N1MESSAGES(0, "N1_MESSAGES"),
+    
+    N2INFORMATION(1, "N2_INFORMATION"),
+    
+    LOCATIONNOTIFICATION(2, "LOCATION_NOTIFICATION")
+    ;
+
+    private static final Map<String, NotificationType> NAME_MAP;
+    private static final Map<Integer, NotificationType> VALUE_MAP;
+
+    static {
+        final Builder<String, NotificationType> nb = ImmutableMap.builder();
+        final Builder<Integer, NotificationType> vb = ImmutableMap.builder();
+        for (NotificationType enumItem : NotificationType.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private NotificationType(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding NotificationType item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<NotificationType> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding NotificationType item, or null if no such item exists
+     */
+    public static NotificationType forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/PLMNId.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/PLMNId.java
new file mode 100644 (file)
index 0000000..24bb8d6
--- /dev/null
@@ -0,0 +1,55 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ * A Public Land Mobile Network is uniquely identified by its PLMN identifier. 
+ * PLMN-Id consists of Mobile Country Code (MCC) and Mobile Network Code (MNC).
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * grouping pLMNId {
+ *   leaf MCC {
+ *     type t_mcc;
+ *   }
+ *   leaf MNC {
+ *     type t_mnc;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/pLMNId</i>
+ *
+ */
+public interface PLMNId
+    extends
+    DataObject
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("pLMNId");
+
+    /**
+     * Mobile Country Code (MCC), consisting of three decimal digits.The MCC identifies
+     * uniquely the country of domicile of the mobile subscription.
+     *
+     *
+     *
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.TMcc</code> <code>mCC</code>, or <code>null</code> if not present
+     */
+    @Nullable TMcc getMCC();
+    
+    /**
+     * Mobile Network Code (MNC), consisting of two or three decimal digits.The MNC 
+     * identifies the home PLMN of the mobile subscription.
+     *
+     *
+     *
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.TMnc</code> <code>mNC</code>, or <code>null</code> if not present
+     */
+    @Nullable TMnc getMNC();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/QOffsetRange.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/QOffsetRange.java
new file mode 100644 (file)
index 0000000..5854ab5
--- /dev/null
@@ -0,0 +1,83 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.base.MoreObjects;
+import java.beans.ConstructorProperties;
+import java.io.Serializable;
+import java.lang.Override;
+import java.lang.Short;
+import java.lang.String;
+import java.util.Objects;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.TypeObject;
+
+public class QOffsetRange
+ implements TypeObject, Serializable {
+    private static final long serialVersionUID = 6398961204554971940L;
+    private final Short _value;
+
+    private static void check_valueRange(final short value) {
+        if (value >= (short)0 && value <= (short)255) {
+            return;
+        }
+        CodeHelpers.throwInvalidRange("[[0..255]]", value);
+    }
+
+    @ConstructorProperties("value")
+    public QOffsetRange(Short _value) {
+        if (_value != null) {
+            check_valueRange(_value);
+        }
+    
+        Objects.requireNonNull(_value, "Supplied value may not be null");
+    
+        this._value = _value;
+    }
+    
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public QOffsetRange(QOffsetRange source) {
+        this._value = source._value;
+    }
+
+    public static QOffsetRange getDefaultInstance(String defaultValue) {
+        return new QOffsetRange(Short.valueOf(defaultValue));
+    }
+
+    public Short getValue() {
+        return _value;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return CodeHelpers.wrapperHashCode(_value);
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        QOffsetRange other = (QOffsetRange) obj;
+        if (!Objects.equals(_value, other._value)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(QOffsetRange.class);
+        CodeHelpers.appendValue(helper, "_value", _value);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/RRMPolicyRatio2.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/RRMPolicyRatio2.java
new file mode 100644 (file)
index 0000000..5669971
--- /dev/null
@@ -0,0 +1,86 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import java.lang.Integer;
+import java.lang.Short;
+import java.util.List;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * grouping RRMPolicyRatio2 {
+ *   leaf groupId {
+ *     type uint16;
+ *   }
+ *   leaf-list sNSSAI {
+ *     type t_s-NSSAI;
+ *   }
+ *   leaf quotaType {
+ *     type t_quotaType;
+ *   }
+ *   leaf rRMPolicyMaxRation {
+ *     type uint8;
+ *   }
+ *   leaf rRMPolicyMarginMaxRation {
+ *     type uint8;
+ *   }
+ *   leaf rRMPolicyMinRation {
+ *     type uint8;
+ *   }
+ *   leaf rRMPolicyMarginMinRation {
+ *     type uint8;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/RRMPolicyRatio2</i>
+ *
+ */
+public interface RRMPolicyRatio2
+    extends
+    DataObject
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("RRMPolicyRatio2");
+
+    /**
+     * @return <code>java.lang.Integer</code> <code>groupId</code>, or <code>null</code> if not present
+     */
+    @Nullable Integer getGroupId();
+    
+    /**
+     * @return <code>java.util.List</code> <code>sNSSAI</code>, or <code>null</code> if not present
+     */
+    @Nullable List<TSNSSAI> getSNSSAI();
+    
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.TQuotaType</code> <code>quotaType</code>, or <code>null</code> if not present
+     */
+    @Nullable TQuotaType getQuotaType();
+    
+    /**
+     * @return <code>java.lang.Short</code> <code>rRMPolicyMaxRation</code>, or <code>null</code> if not present
+     */
+    @Nullable Short getRRMPolicyMaxRation();
+    
+    /**
+     * @return <code>java.lang.Short</code> <code>rRMPolicyMarginMaxRation</code>, or <code>null</code> if not present
+     */
+    @Nullable Short getRRMPolicyMarginMaxRation();
+    
+    /**
+     * @return <code>java.lang.Short</code> <code>rRMPolicyMinRation</code>, or <code>null</code> if not present
+     */
+    @Nullable Short getRRMPolicyMinRation();
+    
+    /**
+     * @return <code>java.lang.Short</code> <code>rRMPolicyMarginMinRation</code>, or <code>null</code> if not present
+     */
+    @Nullable Short getRRMPolicyMarginMinRation();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/SnssaiUpfInfoItem.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/SnssaiUpfInfoItem.java
new file mode 100644 (file)
index 0000000..04f47b0
--- /dev/null
@@ -0,0 +1,55 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import java.util.List;
+import org.eclipse.jdt.annotation.NonNull;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.snssaiupfinfoitem.DnnUpfInfo;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * grouping SnssaiUpfInfoItem {
+ *   leaf sNssai {
+ *     type t_s-NSSAI;
+ *   }
+ *   list dnnUpfInfo {
+ *     key dnn;
+ *     uses DnnUpfInfoItem;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/SnssaiUpfInfoItem</i>
+ *
+ */
+public interface SnssaiUpfInfoItem
+    extends
+    DataObject
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("SnssaiUpfInfoItem");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.TSNSSAI</code> <code>sNssai</code>, or <code>null</code> if not present
+     */
+    @Nullable TSNSSAI getSNssai();
+    
+    /**
+     * @return <code>java.util.List</code> <code>dnnUpfInfo</code>, or <code>null</code> if not present
+     */
+    @Nullable List<DnnUpfInfo> getDnnUpfInfo();
+    
+    /**
+     * @return <code>java.util.List</code> <code>dnnUpfInfo</code>, or an empty list if it is not present
+     */
+    default @NonNull List<DnnUpfInfo> nonnullDnnUpfInfo() {
+        return CodeHelpers.nonnull(getDnnUpfInfo());
+    }
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/SupiRange.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/SupiRange.java
new file mode 100644 (file)
index 0000000..e959fca
--- /dev/null
@@ -0,0 +1,52 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import java.lang.String;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * grouping SupiRange {
+ *   leaf start {
+ *     type string;
+ *   }
+ *   leaf end {
+ *     type string;
+ *   }
+ *   leaf pattern {
+ *     type string;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/SupiRange</i>
+ *
+ */
+public interface SupiRange
+    extends
+    DataObject
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("SupiRange");
+
+    /**
+     * @return <code>java.lang.String</code> <code>start</code>, or <code>null</code> if not present
+     */
+    @Nullable String getStart();
+    
+    /**
+     * @return <code>java.lang.String</code> <code>end</code>, or <code>null</code> if not present
+     */
+    @Nullable String getEnd();
+    
+    /**
+     * @return <code>java.lang.String</code> <code>pattern</code>, or <code>null</code> if not present
+     */
+    @Nullable String getPattern();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/SupportedFeatures.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/SupportedFeatures.java
new file mode 100644 (file)
index 0000000..dec0ed6
--- /dev/null
@@ -0,0 +1,85 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.base.MoreObjects;
+import com.google.common.collect.ImmutableList;
+import java.beans.ConstructorProperties;
+import java.io.Serializable;
+import java.lang.Override;
+import java.lang.String;
+import java.util.List;
+import java.util.Objects;
+import java.util.regex.Pattern;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.TypeObject;
+
+public class SupportedFeatures
+ implements TypeObject, Serializable {
+    private static final long serialVersionUID = 237085469237900179L;
+    public static final List<String> PATTERN_CONSTANTS = ImmutableList.of("^(?:[A-Fa-f0-9]*)$");
+    private static final Pattern patterns = Pattern.compile(PATTERN_CONSTANTS.get(0));
+    private static final String regexes = "[A-Fa-f0-9]*";
+    private final String _value;
+
+    private static void check_valueLength(final String value) {
+    }
+
+    @ConstructorProperties("value")
+    public SupportedFeatures(String _value) {
+        if (_value != null) {
+            check_valueLength(_value);
+        }
+    
+        Objects.requireNonNull(_value, "Supplied value may not be null");
+        CodeHelpers.checkPattern(_value, patterns, regexes);
+    
+        this._value = _value;
+    }
+    
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public SupportedFeatures(SupportedFeatures source) {
+        this._value = source._value;
+    }
+
+    public static SupportedFeatures getDefaultInstance(String defaultValue) {
+        return new SupportedFeatures(defaultValue);
+    }
+
+    public String getValue() {
+        return _value;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return CodeHelpers.wrapperHashCode(_value);
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        SupportedFeatures other = (SupportedFeatures) obj;
+        if (!Objects.equals(_value, other._value)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(SupportedFeatures.class);
+        CodeHelpers.appendValue(helper, "_value", _value);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TAMFPointer.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TAMFPointer.java
new file mode 100644 (file)
index 0000000..05ec3a3
--- /dev/null
@@ -0,0 +1,90 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.base.MoreObjects;
+import com.google.common.collect.ImmutableList;
+import java.beans.ConstructorProperties;
+import java.io.Serializable;
+import java.lang.Override;
+import java.lang.String;
+import java.util.List;
+import java.util.Objects;
+import java.util.regex.Pattern;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.TypeObject;
+
+public class TAMFPointer
+ implements TypeObject, Serializable {
+    private static final long serialVersionUID = -7925647994457565082L;
+    public static final List<String> PATTERN_CONSTANTS = ImmutableList.of("^(?:[01]*)$");
+    private static final Pattern patterns = Pattern.compile(PATTERN_CONSTANTS.get(0));
+    private static final String regexes = "[01]*";
+    private final String _value;
+
+    private static void check_valueLength(final String value) {
+        final int length = value.length();
+        if (length == 6) {
+            return;
+        }
+        CodeHelpers.throwInvalidLength("[[6..6]]", value);
+    }
+
+    @ConstructorProperties("value")
+    public TAMFPointer(String _value) {
+        if (_value != null) {
+            check_valueLength(_value);
+        }
+    
+        Objects.requireNonNull(_value, "Supplied value may not be null");
+        CodeHelpers.checkPattern(_value, patterns, regexes);
+    
+        this._value = _value;
+    }
+    
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public TAMFPointer(TAMFPointer source) {
+        this._value = source._value;
+    }
+
+    public static TAMFPointer getDefaultInstance(String defaultValue) {
+        return new TAMFPointer(defaultValue);
+    }
+
+    public String getValue() {
+        return _value;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return CodeHelpers.wrapperHashCode(_value);
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        TAMFPointer other = (TAMFPointer) obj;
+        if (!Objects.equals(_value, other._value)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(TAMFPointer.class);
+        CodeHelpers.appendValue(helper, "_value", _value);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TAMFRegionId.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TAMFRegionId.java
new file mode 100644 (file)
index 0000000..bb70b4f
--- /dev/null
@@ -0,0 +1,90 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.base.MoreObjects;
+import com.google.common.collect.ImmutableList;
+import java.beans.ConstructorProperties;
+import java.io.Serializable;
+import java.lang.Override;
+import java.lang.String;
+import java.util.List;
+import java.util.Objects;
+import java.util.regex.Pattern;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.TypeObject;
+
+public class TAMFRegionId
+ implements TypeObject, Serializable {
+    private static final long serialVersionUID = -4812289071560773109L;
+    public static final List<String> PATTERN_CONSTANTS = ImmutableList.of("^(?:[01]*)$");
+    private static final Pattern patterns = Pattern.compile(PATTERN_CONSTANTS.get(0));
+    private static final String regexes = "[01]*";
+    private final String _value;
+
+    private static void check_valueLength(final String value) {
+        final int length = value.length();
+        if (length == 8) {
+            return;
+        }
+        CodeHelpers.throwInvalidLength("[[8..8]]", value);
+    }
+
+    @ConstructorProperties("value")
+    public TAMFRegionId(String _value) {
+        if (_value != null) {
+            check_valueLength(_value);
+        }
+    
+        Objects.requireNonNull(_value, "Supplied value may not be null");
+        CodeHelpers.checkPattern(_value, patterns, regexes);
+    
+        this._value = _value;
+    }
+    
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public TAMFRegionId(TAMFRegionId source) {
+        this._value = source._value;
+    }
+
+    public static TAMFRegionId getDefaultInstance(String defaultValue) {
+        return new TAMFRegionId(defaultValue);
+    }
+
+    public String getValue() {
+        return _value;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return CodeHelpers.wrapperHashCode(_value);
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        TAMFRegionId other = (TAMFRegionId) obj;
+        if (!Objects.equals(_value, other._value)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(TAMFRegionId.class);
+        CodeHelpers.appendValue(helper, "_value", _value);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TAMFSetId.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TAMFSetId.java
new file mode 100644 (file)
index 0000000..6ecd82e
--- /dev/null
@@ -0,0 +1,90 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.base.MoreObjects;
+import com.google.common.collect.ImmutableList;
+import java.beans.ConstructorProperties;
+import java.io.Serializable;
+import java.lang.Override;
+import java.lang.String;
+import java.util.List;
+import java.util.Objects;
+import java.util.regex.Pattern;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.TypeObject;
+
+public class TAMFSetId
+ implements TypeObject, Serializable {
+    private static final long serialVersionUID = 6265848852591033404L;
+    public static final List<String> PATTERN_CONSTANTS = ImmutableList.of("^(?:[01]*)$");
+    private static final Pattern patterns = Pattern.compile(PATTERN_CONSTANTS.get(0));
+    private static final String regexes = "[01]*";
+    private final String _value;
+
+    private static void check_valueLength(final String value) {
+        final int length = value.length();
+        if (length == 10) {
+            return;
+        }
+        CodeHelpers.throwInvalidLength("[[10..10]]", value);
+    }
+
+    @ConstructorProperties("value")
+    public TAMFSetId(String _value) {
+        if (_value != null) {
+            check_valueLength(_value);
+        }
+    
+        Objects.requireNonNull(_value, "Supplied value may not be null");
+        CodeHelpers.checkPattern(_value, patterns, regexes);
+    
+        this._value = _value;
+    }
+    
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public TAMFSetId(TAMFSetId source) {
+        this._value = source._value;
+    }
+
+    public static TAMFSetId getDefaultInstance(String defaultValue) {
+        return new TAMFSetId(defaultValue);
+    }
+
+    public String getValue() {
+        return _value;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return CodeHelpers.wrapperHashCode(_value);
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        TAMFSetId other = (TAMFSetId) obj;
+        if (!Objects.equals(_value, other._value)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(TAMFSetId.class);
+        CodeHelpers.appendValue(helper, "_value", _value);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TAdministrativeState.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TAdministrativeState.java
new file mode 100644 (file)
index 0000000..2838c3c
--- /dev/null
@@ -0,0 +1,89 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum TAdministrativeState implements Enumeration {
+    /**
+     * The resource is administratively prohibited from performingservices for its 
+     * users.
+     *
+     */
+    Locked(0, "Locked"),
+    
+    /**
+     * Use of the resource is administratively permitted to existinginstances of use 
+     * only. While the system remains in the shutting down statethe manager may at any 
+     * time cause the managed object to revert to theunlocked state.
+     *
+     */
+    Shutdown(1, "Shutdown"),
+    
+    /**
+     * The resource is administratively permitted to perform services forits users. 
+     * This is independent of its inherent operability.
+     *
+     */
+    Unlocked(2, "Unlocked")
+    ;
+
+    private static final Map<String, TAdministrativeState> NAME_MAP;
+    private static final Map<Integer, TAdministrativeState> VALUE_MAP;
+
+    static {
+        final Builder<String, TAdministrativeState> nb = ImmutableMap.builder();
+        final Builder<Integer, TAdministrativeState> vb = ImmutableMap.builder();
+        for (TAdministrativeState enumItem : TAdministrativeState.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private TAdministrativeState(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding TAdministrativeState item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<TAdministrativeState> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding TAdministrativeState item, or null if no such item exists
+     */
+    public static TAdministrativeState forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TAvailabilityStatus.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TAvailabilityStatus.java
new file mode 100644 (file)
index 0000000..d86f688
--- /dev/null
@@ -0,0 +1,147 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum TAvailabilityStatus implements Enumeration {
+    /**
+     * The resource is undergoing a test procedure. If the administrativestate is 
+     * locked or shutting down then normal users are precluded from usingthe resource 
+     * and the control status attribute has the value reserved for test.Tests that do 
+     * not exclude additional users can be present in any operationalor administrative 
+     * state but the reserved for test condition should not bepresent.
+     *
+     */
+    INTEST(0, "IN TEST"),
+    
+    /**
+     * The resource has an internal fault that prevents it from operating.The 
+     * operational state is disabled.
+     *
+     */
+    FAILED(1, "FAILED"),
+    
+    /**
+     * The resource requires power to be applied and is not powered on.For example, a 
+     * fuse or other protection device is known to have removedpower or a low voltage 
+     * condition has been detected. The operational stateis disabled.
+     *
+     */
+    POWEROFF(2, "POWER OFF"),
+    
+    /**
+     * The resource requires a routine operation to be performed to placeit online and 
+     * make it available for use. The operation may be manual orautomatic, or both. The
+     * operational state is disabled.
+     *
+     */
+    OFFLINE(3, "OFF LINE"),
+    
+    /**
+     * The resource has been made inactive by an internal control processin accordance 
+     * with a predetermined time schedule. Under normal conditionsthe control process 
+     * can be expected to reactivate the resource at somescheduled time, and it is 
+     * therefore considered to be optional. Theoperational state is enabled or 
+     * disabled.
+     *
+     */
+    OFFDUTY(4, "OFF DUTY"),
+    
+    /**
+     * The resource cannot operate because some other resource on which itdepends is 
+     * (i.e. a resource not represented by the same managed object)unavailable. For 
+     * example, a device is not accessible because its controlleris powered off. The 
+     * operational state is disabled.
+     *
+     */
+    DEPENDENCY(5, "DEPENDENCY"),
+    
+    /**
+     * The service available from the resource is degraded in some respect,such as in 
+     * speed or operating capacity. Failure of a test or an unacceptableperformance 
+     * measurement has established that some or all services are notfunctional or are 
+     * degraded due to the presence of a defect. However, theresource remains available
+     * for service, either because some services aresatisfactory or because degraded 
+     * service is preferable to no service at all.Object specific attributes may be 
+     * defined to represent further informationindicating, for example, which services 
+     * are not functional and the nature ofthe degradation. The operational state is 
+     * enabled.
+     *
+     */
+    DEGRADED(6, "DEGRADED"),
+    
+    /**
+     * The resource represented by the managed object is not present, or isincomplete. 
+     * For example, a plug-in module is missing, a cable is disconnectedor a software 
+     * module is not loaded. The operational state is disabled.
+     *
+     */
+    NOTINSTALLED(7, "NOT INSTALLED"),
+    
+    /**
+     * This indicates a log full condition.
+     *
+     */
+    LOGFULL(8, "LOG FULL")
+    ;
+
+    private static final Map<String, TAvailabilityStatus> NAME_MAP;
+    private static final Map<Integer, TAvailabilityStatus> VALUE_MAP;
+
+    static {
+        final Builder<String, TAvailabilityStatus> nb = ImmutableMap.builder();
+        final Builder<Integer, TAvailabilityStatus> vb = ImmutableMap.builder();
+        for (TAvailabilityStatus enumItem : TAvailabilityStatus.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private TAvailabilityStatus(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding TAvailabilityStatus item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<TAvailabilityStatus> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding TAvailabilityStatus item, or null if no such item exists
+     */
+    public static TAvailabilityStatus forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TCellState.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TCellState.java
new file mode 100644 (file)
index 0000000..0082d6c
--- /dev/null
@@ -0,0 +1,85 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum TCellState implements Enumeration {
+    /**
+     * The resource is not currently in use.
+     *
+     */
+    Idle(0, "Idle"),
+    
+    /**
+     * The resource is not available for use.
+     *
+     */
+    Inactive(1, "Inactive"),
+    
+    /**
+     * The resource is in use.
+     *
+     */
+    Active(2, "Active")
+    ;
+
+    private static final Map<String, TCellState> NAME_MAP;
+    private static final Map<Integer, TCellState> VALUE_MAP;
+
+    static {
+        final Builder<String, TCellState> nb = ImmutableMap.builder();
+        final Builder<Integer, TCellState> vb = ImmutableMap.builder();
+        for (TCellState enumItem : TCellState.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private TCellState(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding TCellState item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<TCellState> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding TCellState item, or null if no such item exists
+     */
+    public static TCellState forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TCyclicPrefix.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TCyclicPrefix.java
new file mode 100644 (file)
index 0000000..e8b2f3f
--- /dev/null
@@ -0,0 +1,71 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum TCyclicPrefix implements Enumeration {
+    Normal(0, "Normal"),
+    
+    Extended(1, "Extended")
+    ;
+
+    private static final Map<String, TCyclicPrefix> NAME_MAP;
+    private static final Map<Integer, TCyclicPrefix> VALUE_MAP;
+
+    static {
+        final Builder<String, TCyclicPrefix> nb = ImmutableMap.builder();
+        final Builder<Integer, TCyclicPrefix> vb = ImmutableMap.builder();
+        for (TCyclicPrefix enumItem : TCyclicPrefix.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private TCyclicPrefix(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding TCyclicPrefix item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<TCyclicPrefix> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding TCyclicPrefix item, or null if no such item exists
+     */
+    public static TCyclicPrefix forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TDistinguishedName.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TDistinguishedName.java
new file mode 100644 (file)
index 0000000..fbf1a49
--- /dev/null
@@ -0,0 +1,73 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.base.MoreObjects;
+import java.beans.ConstructorProperties;
+import java.io.Serializable;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Objects;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.TypeObject;
+
+public class TDistinguishedName
+ implements TypeObject, Serializable {
+    private static final long serialVersionUID = 2209417379079206418L;
+    private final String _value;
+
+
+    @ConstructorProperties("value")
+    public TDistinguishedName(String _value) {
+    
+        Objects.requireNonNull(_value, "Supplied value may not be null");
+    
+        this._value = _value;
+    }
+    
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public TDistinguishedName(TDistinguishedName source) {
+        this._value = source._value;
+    }
+
+    public static TDistinguishedName getDefaultInstance(String defaultValue) {
+        return new TDistinguishedName(defaultValue);
+    }
+
+    public String getValue() {
+        return _value;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return CodeHelpers.wrapperHashCode(_value);
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        TDistinguishedName other = (TDistinguishedName) obj;
+        if (!Objects.equals(_value, other._value)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(TDistinguishedName.class);
+        CodeHelpers.appendValue(helper, "_value", _value);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TDnn.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TDnn.java
new file mode 100644 (file)
index 0000000..b7d4857
--- /dev/null
@@ -0,0 +1,73 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.base.MoreObjects;
+import java.beans.ConstructorProperties;
+import java.io.Serializable;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Objects;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.TypeObject;
+
+public class TDnn
+ implements TypeObject, Serializable {
+    private static final long serialVersionUID = -6761478371390250952L;
+    private final String _value;
+
+
+    @ConstructorProperties("value")
+    public TDnn(String _value) {
+    
+        Objects.requireNonNull(_value, "Supplied value may not be null");
+    
+        this._value = _value;
+    }
+    
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public TDnn(TDnn source) {
+        this._value = source._value;
+    }
+
+    public static TDnn getDefaultInstance(String defaultValue) {
+        return new TDnn(defaultValue);
+    }
+
+    public String getValue() {
+        return _value;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return CodeHelpers.wrapperHashCode(_value);
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        TDnn other = (TDnn) obj;
+        if (!Objects.equals(_value, other._value)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(TDnn.class);
+        CodeHelpers.appendValue(helper, "_value", _value);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TLoad.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TLoad.java
new file mode 100644 (file)
index 0000000..65038cb
--- /dev/null
@@ -0,0 +1,83 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.base.MoreObjects;
+import java.beans.ConstructorProperties;
+import java.io.Serializable;
+import java.lang.Override;
+import java.lang.Short;
+import java.lang.String;
+import java.util.Objects;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.TypeObject;
+
+public class TLoad
+ implements TypeObject, Serializable {
+    private static final long serialVersionUID = -1391841480548249841L;
+    private final Short _value;
+
+    private static void check_valueRange(final short value) {
+        if (value >= (short)0 && value <= (short)100) {
+            return;
+        }
+        CodeHelpers.throwInvalidRange("[[0..100]]", value);
+    }
+
+    @ConstructorProperties("value")
+    public TLoad(Short _value) {
+        if (_value != null) {
+            check_valueRange(_value);
+        }
+    
+        Objects.requireNonNull(_value, "Supplied value may not be null");
+    
+        this._value = _value;
+    }
+    
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public TLoad(TLoad source) {
+        this._value = source._value;
+    }
+
+    public static TLoad getDefaultInstance(String defaultValue) {
+        return new TLoad(Short.valueOf(defaultValue));
+    }
+
+    public Short getValue() {
+        return _value;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return CodeHelpers.wrapperHashCode(_value);
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        TLoad other = (TLoad) obj;
+        if (!Objects.equals(_value, other._value)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(TLoad.class);
+        CodeHelpers.appendValue(helper, "_value", _value);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TMcc.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TMcc.java
new file mode 100644 (file)
index 0000000..a5d32a3
--- /dev/null
@@ -0,0 +1,85 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.base.MoreObjects;
+import com.google.common.collect.ImmutableList;
+import java.beans.ConstructorProperties;
+import java.io.Serializable;
+import java.lang.Override;
+import java.lang.String;
+import java.util.List;
+import java.util.Objects;
+import java.util.regex.Pattern;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.TypeObject;
+
+public class TMcc
+ implements TypeObject, Serializable {
+    private static final long serialVersionUID = 8336530756398858673L;
+    public static final List<String> PATTERN_CONSTANTS = ImmutableList.of("^(?:[02-79][0-9][0-9])$");
+    private static final Pattern patterns = Pattern.compile(PATTERN_CONSTANTS.get(0));
+    private static final String regexes = "[02-79][0-9][0-9]";
+    private final String _value;
+
+    private static void check_valueLength(final String value) {
+    }
+
+    @ConstructorProperties("value")
+    public TMcc(String _value) {
+        if (_value != null) {
+            check_valueLength(_value);
+        }
+    
+        Objects.requireNonNull(_value, "Supplied value may not be null");
+        CodeHelpers.checkPattern(_value, patterns, regexes);
+    
+        this._value = _value;
+    }
+    
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public TMcc(TMcc source) {
+        this._value = source._value;
+    }
+
+    public static TMcc getDefaultInstance(String defaultValue) {
+        return new TMcc(defaultValue);
+    }
+
+    public String getValue() {
+        return _value;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return CodeHelpers.wrapperHashCode(_value);
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        TMcc other = (TMcc) obj;
+        if (!Objects.equals(_value, other._value)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(TMcc.class);
+        CodeHelpers.appendValue(helper, "_value", _value);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TMnc.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TMnc.java
new file mode 100644 (file)
index 0000000..d5de22d
--- /dev/null
@@ -0,0 +1,85 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.base.MoreObjects;
+import com.google.common.collect.ImmutableList;
+import java.beans.ConstructorProperties;
+import java.io.Serializable;
+import java.lang.Override;
+import java.lang.String;
+import java.util.List;
+import java.util.Objects;
+import java.util.regex.Pattern;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.TypeObject;
+
+public class TMnc
+ implements TypeObject, Serializable {
+    private static final long serialVersionUID = 7207647705509368021L;
+    public static final List<String> PATTERN_CONSTANTS = ImmutableList.of("^(?:[0-9][0-9][0-9]|[0-9][0-9])$");
+    private static final Pattern patterns = Pattern.compile(PATTERN_CONSTANTS.get(0));
+    private static final String regexes = "[0-9][0-9][0-9]|[0-9][0-9]";
+    private final String _value;
+
+    private static void check_valueLength(final String value) {
+    }
+
+    @ConstructorProperties("value")
+    public TMnc(String _value) {
+        if (_value != null) {
+            check_valueLength(_value);
+        }
+    
+        Objects.requireNonNull(_value, "Supplied value may not be null");
+        CodeHelpers.checkPattern(_value, patterns, regexes);
+    
+        this._value = _value;
+    }
+    
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public TMnc(TMnc source) {
+        this._value = source._value;
+    }
+
+    public static TMnc getDefaultInstance(String defaultValue) {
+        return new TMnc(defaultValue);
+    }
+
+    public String getValue() {
+        return _value;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return CodeHelpers.wrapperHashCode(_value);
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        TMnc other = (TMnc) obj;
+        if (!Objects.equals(_value, other._value)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(TMnc.class);
+        CodeHelpers.appendValue(helper, "_value", _value);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TNCI.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TNCI.java
new file mode 100644 (file)
index 0000000..e778650
--- /dev/null
@@ -0,0 +1,93 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.base.MoreObjects;
+import com.google.common.collect.ImmutableList;
+import java.io.Serializable;
+import java.lang.Override;
+import java.lang.String;
+import java.util.List;
+import java.util.Objects;
+import java.util.regex.Pattern;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.TypeObject;
+
+public class TNCI
+ implements TypeObject, Serializable {
+    private static final long serialVersionUID = 6536694555014033331L;
+    public static final List<String> PATTERN_CONSTANTS = ImmutableList.of("^(?:[01]*)$", "^(?:[a-fA-F0-9]*)$");
+    private static final Pattern[] patterns = CodeHelpers.compilePatterns(PATTERN_CONSTANTS);
+    private static final String[] regexes = { "[01]*", "[a-fA-F0-9]*" };
+    private final String _string;
+
+
+    private static void check_stringLength(final String value) {
+        final int length = value.length();
+        if (length == 36) {
+            return;
+        }
+        CodeHelpers.throwInvalidLength("[[36..36]]", value);
+    }
+    public TNCI(String _string) {
+        super();
+        check_stringLength(_string);
+        
+        this._string = _string;
+    }
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public TNCI(TNCI source) {
+        this._string = source._string;
+    }
+    
+    /**
+     * Return a String representing the value of this union.
+     *
+     * @return String representation of this union's value.
+     */
+    public String stringValue() {
+        if (_string != null) {
+            return _string;
+        }
+    
+        throw new IllegalStateException("No value assinged");
+    }
+
+
+    public String getString() {
+        return _string;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return CodeHelpers.wrapperHashCode(_string);
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        TNCI other = (TNCI) obj;
+        if (!Objects.equals(_string, other._string)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(TNCI.class);
+        CodeHelpers.appendValue(helper, "_string", _string);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TNCIBuilder.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TNCIBuilder.java
new file mode 100644 (file)
index 0000000..3c8462d
--- /dev/null
@@ -0,0 +1,23 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import java.lang.String;
+import java.lang.UnsupportedOperationException;
+
+/**
+ * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
+ * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).
+ *
+ * The reason behind putting it under src/main/java is:
+ * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent
+ * loss of user code.
+ *
+ */
+public class TNCIBuilder {
+    private TNCIBuilder() {
+        //Exists only to defeat instantiation.
+    }
+
+    public static TNCI getDefaultInstance(String defaultValue) {
+        throw new UnsupportedOperationException("Not yet implemented");
+    }
+
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TNRPCI.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TNRPCI.java
new file mode 100644 (file)
index 0000000..72a8400
--- /dev/null
@@ -0,0 +1,83 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.base.MoreObjects;
+import java.beans.ConstructorProperties;
+import java.io.Serializable;
+import java.lang.Long;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Objects;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.TypeObject;
+
+public class TNRPCI
+ implements TypeObject, Serializable {
+    private static final long serialVersionUID = -8223745380422869872L;
+    private final Long _value;
+
+    private static void check_valueRange(final long value) {
+        if (value >= 0L && value <= 4294967295L) {
+            return;
+        }
+        CodeHelpers.throwInvalidRange("[[0..4294967295]]", value);
+    }
+
+    @ConstructorProperties("value")
+    public TNRPCI(Long _value) {
+        if (_value != null) {
+            check_valueRange(_value);
+        }
+    
+        Objects.requireNonNull(_value, "Supplied value may not be null");
+    
+        this._value = _value;
+    }
+    
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public TNRPCI(TNRPCI source) {
+        this._value = source._value;
+    }
+
+    public static TNRPCI getDefaultInstance(String defaultValue) {
+        return new TNRPCI(Long.valueOf(defaultValue));
+    }
+
+    public Long getValue() {
+        return _value;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return CodeHelpers.wrapperHashCode(_value);
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        TNRPCI other = (TNRPCI) obj;
+        if (!Objects.equals(_value, other._value)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(TNRPCI.class);
+        CodeHelpers.appendValue(helper, "_value", _value);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TNsiId.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TNsiId.java
new file mode 100644 (file)
index 0000000..1ae6f3c
--- /dev/null
@@ -0,0 +1,73 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.base.MoreObjects;
+import java.beans.ConstructorProperties;
+import java.io.Serializable;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Objects;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.TypeObject;
+
+public class TNsiId
+ implements TypeObject, Serializable {
+    private static final long serialVersionUID = 5629408106052088513L;
+    private final String _value;
+
+
+    @ConstructorProperties("value")
+    public TNsiId(String _value) {
+    
+        Objects.requireNonNull(_value, "Supplied value may not be null");
+    
+        this._value = _value;
+    }
+    
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public TNsiId(TNsiId source) {
+        this._value = source._value;
+    }
+
+    public static TNsiId getDefaultInstance(String defaultValue) {
+        return new TNsiId(defaultValue);
+    }
+
+    public String getValue() {
+        return _value;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return CodeHelpers.wrapperHashCode(_value);
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        TNsiId other = (TNsiId) obj;
+        if (!Objects.equals(_value, other._value)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(TNsiId.class);
+        CodeHelpers.appendValue(helper, "_value", _value);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TOperationalState.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TOperationalState.java
new file mode 100644 (file)
index 0000000..8aae8b4
--- /dev/null
@@ -0,0 +1,79 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum TOperationalState implements Enumeration {
+    /**
+     * The resource is partially or fully operable and available for use.
+     *
+     */
+    Enabled(0, "Enabled"),
+    
+    /**
+     * The resource is totally inoperable and unable to provide serviceto the user(s).
+     *
+     */
+    Disabled(1, "Disabled")
+    ;
+
+    private static final Map<String, TOperationalState> NAME_MAP;
+    private static final Map<Integer, TOperationalState> VALUE_MAP;
+
+    static {
+        final Builder<String, TOperationalState> nb = ImmutableMap.builder();
+        final Builder<Integer, TOperationalState> vb = ImmutableMap.builder();
+        for (TOperationalState enumItem : TOperationalState.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private TOperationalState(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding TOperationalState item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<TOperationalState> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding TOperationalState item, or null if no such item exists
+     */
+    public static TOperationalState forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TQuotaType.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TQuotaType.java
new file mode 100644 (file)
index 0000000..2b66b0c
--- /dev/null
@@ -0,0 +1,71 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum TQuotaType implements Enumeration {
+    Strict(0, "strict"),
+    
+    Float(1, "float")
+    ;
+
+    private static final Map<String, TQuotaType> NAME_MAP;
+    private static final Map<Integer, TQuotaType> VALUE_MAP;
+
+    static {
+        final Builder<String, TQuotaType> nb = ImmutableMap.builder();
+        final Builder<Integer, TQuotaType> vb = ImmutableMap.builder();
+        for (TQuotaType enumItem : TQuotaType.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private TQuotaType(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding TQuotaType item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<TQuotaType> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding TQuotaType item, or null if no such item exists
+     */
+    public static TQuotaType forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TResourceSharingLevel.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TResourceSharingLevel.java
new file mode 100644 (file)
index 0000000..ea8eca6
--- /dev/null
@@ -0,0 +1,71 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum TResourceSharingLevel implements Enumeration {
+    Shared(0, "shared"),
+    
+    NotShared(1, "not-shared")
+    ;
+
+    private static final Map<String, TResourceSharingLevel> NAME_MAP;
+    private static final Map<Integer, TResourceSharingLevel> VALUE_MAP;
+
+    static {
+        final Builder<String, TResourceSharingLevel> nb = ImmutableMap.builder();
+        final Builder<Integer, TResourceSharingLevel> vb = ImmutableMap.builder();
+        for (TResourceSharingLevel enumItem : TResourceSharingLevel.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private TResourceSharingLevel(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding TResourceSharingLevel item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<TResourceSharingLevel> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding TResourceSharingLevel item, or null if no such item exists
+     */
+    public static TResourceSharingLevel forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TSNSSAI.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TSNSSAI.java
new file mode 100644 (file)
index 0000000..09cf352
--- /dev/null
@@ -0,0 +1,120 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.base.MoreObjects;
+import java.io.Serializable;
+import java.lang.Long;
+import java.lang.Override;
+import java.lang.Short;
+import java.lang.String;
+import java.util.Objects;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.TypeObject;
+
+public class TSNSSAI
+ implements TypeObject, Serializable {
+    private static final long serialVersionUID = -2943261658086489871L;
+    private final Short _uint8;
+    private final Long _uint32;
+
+
+    private static void checkUint8Range(final short value) {
+        if (value >= (short)0 && value <= (short)255) {
+            return;
+        }
+        CodeHelpers.throwInvalidRange("[[0..255]]", value);
+    }
+    public TSNSSAI(Short _uint8) {
+        super();
+        checkUint8Range(_uint8);
+        
+        this._uint8 = _uint8;
+        this._uint32 = null;
+    }
+    
+    private static void checkUint32Range(final long value) {
+        if (value >= 0L && value <= 4294967295L) {
+            return;
+        }
+        CodeHelpers.throwInvalidRange("[[0..4294967295]]", value);
+    }
+    public TSNSSAI(Long _uint32) {
+        super();
+        checkUint32Range(_uint32);
+        
+        this._uint32 = _uint32;
+        this._uint8 = null;
+    }
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public TSNSSAI(TSNSSAI source) {
+        this._uint8 = source._uint8;
+        this._uint32 = source._uint32;
+    }
+    
+    /**
+     * Return a String representing the value of this union.
+     *
+     * @return String representation of this union's value.
+     */
+    public String stringValue() {
+        if (_uint8 != null) {
+            return _uint8.toString();
+        }
+        if (_uint32 != null) {
+            return _uint32.toString();
+        }
+    
+        throw new IllegalStateException("No value assinged");
+    }
+
+
+    public Short getUint8() {
+        return _uint8;
+    }
+    
+    public Long getUint32() {
+        return _uint32;
+    }
+
+
+    @Override
+    public int hashCode() {
+        final int prime = 31;
+        int result = 1;
+        result = prime * result + Objects.hashCode(_uint8);
+        result = prime * result + Objects.hashCode(_uint32);
+        return result;
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        TSNSSAI other = (TSNSSAI) obj;
+        if (!Objects.equals(_uint8, other._uint8)) {
+            return false;
+        }
+        if (!Objects.equals(_uint32, other._uint32)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(TSNSSAI.class);
+        CodeHelpers.appendValue(helper, "_uint8", _uint8);
+        CodeHelpers.appendValue(helper, "_uint32", _uint32);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TSNSSAIBuilder.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TSNSSAIBuilder.java
new file mode 100644 (file)
index 0000000..b0d11a7
--- /dev/null
@@ -0,0 +1,23 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import java.lang.String;
+import java.lang.UnsupportedOperationException;
+
+/**
+ * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
+ * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).
+ *
+ * The reason behind putting it under src/main/java is:
+ * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent
+ * loss of user code.
+ *
+ */
+public class TSNSSAIBuilder {
+    private TSNSSAIBuilder() {
+        //Exists only to defeat instantiation.
+    }
+
+    public static TSNSSAI getDefaultInstance(String defaultValue) {
+        throw new UnsupportedOperationException("Not yet implemented");
+    }
+
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TSST.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TSST.java
new file mode 100644 (file)
index 0000000..1045aa9
--- /dev/null
@@ -0,0 +1,83 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.base.MoreObjects;
+import java.beans.ConstructorProperties;
+import java.io.Serializable;
+import java.lang.Override;
+import java.lang.Short;
+import java.lang.String;
+import java.util.Objects;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.TypeObject;
+
+public class TSST
+ implements TypeObject, Serializable {
+    private static final long serialVersionUID = -2844923602415446951L;
+    private final Short _value;
+
+    private static void check_valueRange(final short value) {
+        if (value >= (short)0 && value <= (short)255) {
+            return;
+        }
+        CodeHelpers.throwInvalidRange("[[0..255]]", value);
+    }
+
+    @ConstructorProperties("value")
+    public TSST(Short _value) {
+        if (_value != null) {
+            check_valueRange(_value);
+        }
+    
+        Objects.requireNonNull(_value, "Supplied value may not be null");
+    
+        this._value = _value;
+    }
+    
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public TSST(TSST source) {
+        this._value = source._value;
+    }
+
+    public static TSST getDefaultInstance(String defaultValue) {
+        return new TSST(Short.valueOf(defaultValue));
+    }
+
+    public Short getValue() {
+        return _value;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return CodeHelpers.wrapperHashCode(_value);
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        TSST other = (TSST) obj;
+        if (!Objects.equals(_value, other._value)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(TSST.class);
+        CodeHelpers.appendValue(helper, "_value", _value);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TSubcarrierSpacing.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TSubcarrierSpacing.java
new file mode 100644 (file)
index 0000000..4912402
--- /dev/null
@@ -0,0 +1,75 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum TSubcarrierSpacing implements Enumeration {
+    _15(0, "15"),
+    
+    _30(1, "30"),
+    
+    _60(2, "60"),
+    
+    _120(3, "120")
+    ;
+
+    private static final Map<String, TSubcarrierSpacing> NAME_MAP;
+    private static final Map<Integer, TSubcarrierSpacing> VALUE_MAP;
+
+    static {
+        final Builder<String, TSubcarrierSpacing> nb = ImmutableMap.builder();
+        final Builder<Integer, TSubcarrierSpacing> vb = ImmutableMap.builder();
+        for (TSubcarrierSpacing enumItem : TSubcarrierSpacing.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private TSubcarrierSpacing(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding TSubcarrierSpacing item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<TSubcarrierSpacing> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding TSubcarrierSpacing item, or null if no such item exists
+     */
+    public static TSubcarrierSpacing forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TTAC.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TTAC.java
new file mode 100644 (file)
index 0000000..f85c972
--- /dev/null
@@ -0,0 +1,93 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.base.MoreObjects;
+import com.google.common.collect.ImmutableList;
+import java.io.Serializable;
+import java.lang.Override;
+import java.lang.String;
+import java.util.List;
+import java.util.Objects;
+import java.util.regex.Pattern;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.TypeObject;
+
+public class TTAC
+ implements TypeObject, Serializable {
+    private static final long serialVersionUID = -7663797870532797015L;
+    public static final List<String> PATTERN_CONSTANTS = ImmutableList.of("^(?:[a-fA-F0-9]*)$");
+    private static final Pattern patterns = Pattern.compile(PATTERN_CONSTANTS.get(0));
+    private static final String regexes = "[a-fA-F0-9]*";
+    private final String _string;
+
+
+    private static void check_stringLength(final String value) {
+        final int length = value.length();
+        if (length == 4) {
+            return;
+        }
+        CodeHelpers.throwInvalidLength("[[4..4]]", value);
+    }
+    public TTAC(String _string) {
+        super();
+        check_stringLength(_string);
+        
+        this._string = _string;
+    }
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public TTAC(TTAC source) {
+        this._string = source._string;
+    }
+    
+    /**
+     * Return a String representing the value of this union.
+     *
+     * @return String representation of this union's value.
+     */
+    public String stringValue() {
+        if (_string != null) {
+            return _string;
+        }
+    
+        throw new IllegalStateException("No value assinged");
+    }
+
+
+    public String getString() {
+        return _string;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return CodeHelpers.wrapperHashCode(_string);
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        TTAC other = (TTAC) obj;
+        if (!Objects.equals(_string, other._string)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(TTAC.class);
+        CodeHelpers.appendValue(helper, "_string", _string);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TTACBuilder.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TTACBuilder.java
new file mode 100644 (file)
index 0000000..e9aba26
--- /dev/null
@@ -0,0 +1,23 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import java.lang.String;
+import java.lang.UnsupportedOperationException;
+
+/**
+ * The purpose of generated class in src/main/java for Union types is to create new instances of unions from a string representation.
+ * In some cases it is very difficult to automate it since there can be unions such as (uint32 - uint16), or (string - uint32).
+ *
+ * The reason behind putting it under src/main/java is:
+ * This class is generated in form of a stub and needs to be finished by the user. This class is generated only once to prevent
+ * loss of user code.
+ *
+ */
+public class TTACBuilder {
+    private TTACBuilder() {
+        //Exists only to defeat instantiation.
+    }
+
+    public static TTAC getDefaultInstance(String defaultValue) {
+        throw new UnsupportedOperationException("Not yet implemented");
+    }
+
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TTransportProtocol.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TTransportProtocol.java
new file mode 100644 (file)
index 0000000..bfdf26c
--- /dev/null
@@ -0,0 +1,73 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum TTransportProtocol implements Enumeration {
+    TCP(0, "TCP"),
+    
+    STCP(1, "STCP"),
+    
+    UDP(2, "UDP")
+    ;
+
+    private static final Map<String, TTransportProtocol> NAME_MAP;
+    private static final Map<Integer, TTransportProtocol> VALUE_MAP;
+
+    static {
+        final Builder<String, TTransportProtocol> nb = ImmutableMap.builder();
+        final Builder<Integer, TTransportProtocol> vb = ImmutableMap.builder();
+        for (TTransportProtocol enumItem : TTransportProtocol.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private TTransportProtocol(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding TTransportProtocol item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<TTransportProtocol> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding TTransportProtocol item, or null if no such item exists
+     */
+    public static TTransportProtocol forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TUEMobilityLevel.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TUEMobilityLevel.java
new file mode 100644 (file)
index 0000000..96aa56c
--- /dev/null
@@ -0,0 +1,75 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum TUEMobilityLevel implements Enumeration {
+    Stationary(0, "stationary"),
+    
+    Nomadic(1, "nomadic"),
+    
+    RestrictedMobility(2, "restricted mobility"),
+    
+    FullyMobility(3, "fully mobility")
+    ;
+
+    private static final Map<String, TUEMobilityLevel> NAME_MAP;
+    private static final Map<Integer, TUEMobilityLevel> VALUE_MAP;
+
+    static {
+        final Builder<String, TUEMobilityLevel> nb = ImmutableMap.builder();
+        final Builder<Integer, TUEMobilityLevel> vb = ImmutableMap.builder();
+        for (TUEMobilityLevel enumItem : TUEMobilityLevel.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private TUEMobilityLevel(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding TUEMobilityLevel item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<TUEMobilityLevel> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding TUEMobilityLevel item, or null if no such item exists
+     */
+    public static TUEMobilityLevel forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/Tai.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/Tai.java
new file mode 100644 (file)
index 0000000..325f70a
--- /dev/null
@@ -0,0 +1,44 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.tai.PlmnId;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * grouping Tai {
+ *   container plmnId {
+ *     uses pLMNId;
+ *   }
+ *   leaf tac {
+ *     type t_tAC;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/Tai</i>
+ *
+ */
+public interface Tai
+    extends
+    DataObject
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("Tai");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.tai.PlmnId</code> <code>plmnId</code>, or <code>null</code> if not present
+     */
+    @Nullable PlmnId getPlmnId();
+    
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.TTAC</code> <code>tac</code>, or <code>null</code> if not present
+     */
+    @Nullable TTAC getTac();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TxDirection.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/TxDirection.java
new file mode 100644 (file)
index 0000000..a02cee6
--- /dev/null
@@ -0,0 +1,73 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum TxDirection implements Enumeration {
+    DL(0, "DL"),
+    
+    UL(1, "UL"),
+    
+    DLAndUL(2, "DL and UL")
+    ;
+
+    private static final Map<String, TxDirection> NAME_MAP;
+    private static final Map<Integer, TxDirection> VALUE_MAP;
+
+    static {
+        final Builder<String, TxDirection> nb = ImmutableMap.builder();
+        final Builder<Integer, TxDirection> vb = ImmutableMap.builder();
+        for (TxDirection enumItem : TxDirection.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private TxDirection(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding TxDirection item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<TxDirection> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding TxDirection item, or null if no such item exists
+     */
+    public static TxDirection forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/UPInterfaceType.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/UPInterfaceType.java
new file mode 100644 (file)
index 0000000..bdcf43a
--- /dev/null
@@ -0,0 +1,73 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731;
+import com.google.common.collect.ImmutableMap;
+import com.google.common.collect.ImmutableMap.Builder;
+import java.lang.Integer;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Map;
+import java.util.Objects;
+import java.util.Optional;
+import org.opendaylight.yangtools.yang.binding.Enumeration;
+
+public enum UPInterfaceType implements Enumeration {
+    N3(0, "N3"),
+    
+    N6(1, "N6"),
+    
+    N9(2, "N9")
+    ;
+
+    private static final Map<String, UPInterfaceType> NAME_MAP;
+    private static final Map<Integer, UPInterfaceType> VALUE_MAP;
+
+    static {
+        final Builder<String, UPInterfaceType> nb = ImmutableMap.builder();
+        final Builder<Integer, UPInterfaceType> vb = ImmutableMap.builder();
+        for (UPInterfaceType enumItem : UPInterfaceType.values()) {
+            vb.put(enumItem.value, enumItem);
+            nb.put(enumItem.name, enumItem);
+        }
+
+        NAME_MAP = nb.build();
+        VALUE_MAP = vb.build();
+    }
+
+    private final String name;
+    private final int value;
+
+    private UPInterfaceType(int value, String name) {
+        this.value = value;
+        this.name = name;
+    }
+
+    @Override
+    public String getName() {
+        return name;
+    }
+
+    @Override
+    public int getIntValue() {
+        return value;
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getName()} matches specified value.
+     *
+     * @param name YANG assigned name
+     * @return corresponding UPInterfaceType item, if present
+     * @throws NullPointerException if name is null
+     */
+    public static Optional<UPInterfaceType> forName(String name) {
+        return Optional.ofNullable(NAME_MAP.get(Objects.requireNonNull(name)));
+    }
+
+    /**
+     * Return the enumeration member whose {@link #getIntValue()} matches specified value.
+     *
+     * @param intValue integer value
+     * @return corresponding UPInterfaceType item, or null if no such item exists
+     */
+    public static UPInterfaceType forValue(int intValue) {
+        return VALUE_MAP.get(intValue);
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/guami/AmfId.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/guami/AmfId.java
new file mode 100644 (file)
index 0000000..3918d23
--- /dev/null
@@ -0,0 +1,37 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.guami;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.$YangModuleInfoImpl;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.AMFIdentifier;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.Guami;
+import org.opendaylight.yangtools.yang.binding.Augmentable;
+import org.opendaylight.yangtools.yang.binding.ChildOf;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * container amfId {
+ *   uses aMFIdentifier;
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/Guami/amfId</i>
+ *
+ * <p>To create instances of this class use {@link AmfIdBuilder}.
+ * @see AmfIdBuilder
+ *
+ */
+public interface AmfId
+    extends
+    ChildOf<Guami>,
+    Augmentable<AmfId>,
+    AMFIdentifier
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("amfId");
+
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/guami/PlmnId.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/guami/PlmnId.java
new file mode 100644 (file)
index 0000000..6f00171
--- /dev/null
@@ -0,0 +1,37 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.guami;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.$YangModuleInfoImpl;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.Guami;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.PLMNId;
+import org.opendaylight.yangtools.yang.binding.Augmentable;
+import org.opendaylight.yangtools.yang.binding.ChildOf;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * container plmnId {
+ *   uses pLMNId;
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/Guami/plmnId</i>
+ *
+ * <p>To create instances of this class use {@link PlmnIdBuilder}.
+ * @see PlmnIdBuilder
+ *
+ */
+public interface PlmnId
+    extends
+    ChildOf<Guami>,
+    Augmentable<PlmnId>,
+    PLMNId
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("plmnId");
+
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/interfaceupfinfoitem/Address.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/interfaceupfinfoitem/Address.java
new file mode 100644 (file)
index 0000000..d9718e6
--- /dev/null
@@ -0,0 +1,49 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.interfaceupfinfoitem;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.$YangModuleInfoImpl;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.InterfaceUpfInfoItem;
+import org.opendaylight.yangtools.yang.binding.ChoiceIn;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * choice address {
+ *   case ipv4Address {
+ *     leaf ipv4Address {
+ *       type inet:ipv4-address;
+ *     }
+ *   }
+ *   case ipv6Address {
+ *     leaf ipv6Address {
+ *       type inet:ipv6-address;
+ *     }
+ *   }
+ *   case ipv6Prefix {
+ *     leaf ipv6Prefix {
+ *       type inet:ipv6-prefix;
+ *     }
+ *   }
+ *   case endpointFqdn {
+ *     leaf endpointFqdn {
+ *       type inet:domain-name;
+ *     }
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/InterfaceUpfInfoItem/address</i>
+ *
+ */
+public interface Address
+    extends
+    ChoiceIn<InterfaceUpfInfoItem>
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("address");
+
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/interfaceupfinfoitem/address/EndpointFqdn.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/interfaceupfinfoitem/address/EndpointFqdn.java
new file mode 100644 (file)
index 0000000..4bf58dd
--- /dev/null
@@ -0,0 +1,41 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.interfaceupfinfoitem.address;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.$YangModuleInfoImpl;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.interfaceupfinfoitem.Address;
+import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.DomainName;
+import org.opendaylight.yangtools.yang.binding.Augmentable;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * case endpointFqdn {
+ *   leaf endpointFqdn {
+ *     type inet:domain-name;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/InterfaceUpfInfoItem/address/endpointFqdn</i>
+ *
+ */
+public interface EndpointFqdn
+    extends
+    DataObject,
+    Augmentable<EndpointFqdn>,
+    Address
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("endpointFqdn");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.DomainName</code> <code>endpointFqdn</code>, or <code>null</code> if not present
+     */
+    @Nullable DomainName getEndpointFqdn();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/interfaceupfinfoitem/address/Ipv4Address.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/interfaceupfinfoitem/address/Ipv4Address.java
new file mode 100644 (file)
index 0000000..92483f4
--- /dev/null
@@ -0,0 +1,40 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.interfaceupfinfoitem.address;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.$YangModuleInfoImpl;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.interfaceupfinfoitem.Address;
+import org.opendaylight.yangtools.yang.binding.Augmentable;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * case ipv4Address {
+ *   leaf ipv4Address {
+ *     type inet:ipv4-address;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/InterfaceUpfInfoItem/address/ipv4Address</i>
+ *
+ */
+public interface Ipv4Address
+    extends
+    DataObject,
+    Augmentable<Ipv4Address>,
+    Address
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("ipv4Address");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address</code> <code>ipv4Address</code>, or <code>null</code> if not present
+     */
+    org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.@Nullable Ipv4Address getIpv4Address();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/interfaceupfinfoitem/address/Ipv6Address.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/interfaceupfinfoitem/address/Ipv6Address.java
new file mode 100644 (file)
index 0000000..93a8aff
--- /dev/null
@@ -0,0 +1,40 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.interfaceupfinfoitem.address;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.$YangModuleInfoImpl;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.interfaceupfinfoitem.Address;
+import org.opendaylight.yangtools.yang.binding.Augmentable;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * case ipv6Address {
+ *   leaf ipv6Address {
+ *     type inet:ipv6-address;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/InterfaceUpfInfoItem/address/ipv6Address</i>
+ *
+ */
+public interface Ipv6Address
+    extends
+    DataObject,
+    Augmentable<Ipv6Address>,
+    Address
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("ipv6Address");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address</code> <code>ipv6Address</code>, or <code>null</code> if not present
+     */
+    org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.@Nullable Ipv6Address getIpv6Address();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/interfaceupfinfoitem/address/Ipv6Prefix.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/interfaceupfinfoitem/address/Ipv6Prefix.java
new file mode 100644 (file)
index 0000000..e18a666
--- /dev/null
@@ -0,0 +1,40 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.interfaceupfinfoitem.address;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.$YangModuleInfoImpl;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.interfaceupfinfoitem.Address;
+import org.opendaylight.yangtools.yang.binding.Augmentable;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * case ipv6Prefix {
+ *   leaf ipv6Prefix {
+ *     type inet:ipv6-prefix;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/InterfaceUpfInfoItem/address/ipv6Prefix</i>
+ *
+ */
+public interface Ipv6Prefix
+    extends
+    DataObject,
+    Augmentable<Ipv6Prefix>,
+    Address
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("ipv6Prefix");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix</code> <code>ipv6Prefix</code>, or <code>null</code> if not present
+     */
+    org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.@Nullable Ipv6Prefix getIpv6Prefix();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/ipendpoint/Address.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/ipendpoint/Address.java
new file mode 100644 (file)
index 0000000..f15a2bd
--- /dev/null
@@ -0,0 +1,44 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.ipendpoint;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.$YangModuleInfoImpl;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.IpEndPoint;
+import org.opendaylight.yangtools.yang.binding.ChoiceIn;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * choice address {
+ *   case ipv4Address {
+ *     leaf ipv4Address {
+ *       type inet:ipv4-address;
+ *     }
+ *   }
+ *   case ipv6Address {
+ *     leaf ipv6Address {
+ *       type inet:ipv6-address;
+ *     }
+ *   }
+ *   case ipv6Prefix {
+ *     leaf ipv6Prefix {
+ *       type inet:ipv6-prefix;
+ *     }
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/ipEndPoint/address</i>
+ *
+ */
+public interface Address
+    extends
+    ChoiceIn<IpEndPoint>
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("address");
+
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/ipendpoint/address/Ipv4Address.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/ipendpoint/address/Ipv4Address.java
new file mode 100644 (file)
index 0000000..b387e3f
--- /dev/null
@@ -0,0 +1,40 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.ipendpoint.address;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.$YangModuleInfoImpl;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.ipendpoint.Address;
+import org.opendaylight.yangtools.yang.binding.Augmentable;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * case ipv4Address {
+ *   leaf ipv4Address {
+ *     type inet:ipv4-address;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/ipEndPoint/address/ipv4Address</i>
+ *
+ */
+public interface Ipv4Address
+    extends
+    DataObject,
+    Augmentable<Ipv4Address>,
+    Address
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("ipv4Address");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv4Address</code> <code>ipv4Address</code>, or <code>null</code> if not present
+     */
+    org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.@Nullable Ipv4Address getIpv4Address();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/ipendpoint/address/Ipv6Address.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/ipendpoint/address/Ipv6Address.java
new file mode 100644 (file)
index 0000000..f6a3a4a
--- /dev/null
@@ -0,0 +1,40 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.ipendpoint.address;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.$YangModuleInfoImpl;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.ipendpoint.Address;
+import org.opendaylight.yangtools.yang.binding.Augmentable;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * case ipv6Address {
+ *   leaf ipv6Address {
+ *     type inet:ipv6-address;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/ipEndPoint/address/ipv6Address</i>
+ *
+ */
+public interface Ipv6Address
+    extends
+    DataObject,
+    Augmentable<Ipv6Address>,
+    Address
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("ipv6Address");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Address</code> <code>ipv6Address</code>, or <code>null</code> if not present
+     */
+    org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.@Nullable Ipv6Address getIpv6Address();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/ipendpoint/address/Ipv6Prefix.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/ipendpoint/address/Ipv6Prefix.java
new file mode 100644 (file)
index 0000000..95022a3
--- /dev/null
@@ -0,0 +1,40 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.ipendpoint.address;
+import org.eclipse.jdt.annotation.Nullable;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.$YangModuleInfoImpl;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.ipendpoint.Address;
+import org.opendaylight.yangtools.yang.binding.Augmentable;
+import org.opendaylight.yangtools.yang.binding.DataObject;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * case ipv6Prefix {
+ *   leaf ipv6Prefix {
+ *     type inet:ipv6-prefix;
+ *   }
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/ipEndPoint/address/ipv6Prefix</i>
+ *
+ */
+public interface Ipv6Prefix
+    extends
+    DataObject,
+    Augmentable<Ipv6Prefix>,
+    Address
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("ipv6Prefix");
+
+    /**
+     * @return <code>org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.Ipv6Prefix</code> <code>ipv6Prefix</code>, or <code>null</code> if not present
+     */
+    org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.inet.types.rev130715.@Nullable Ipv6Prefix getIpv6Prefix();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/snssaiupfinfoitem/DnnUpfInfo.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/snssaiupfinfoitem/DnnUpfInfo.java
new file mode 100644 (file)
index 0000000..0257063
--- /dev/null
@@ -0,0 +1,44 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.snssaiupfinfoitem;
+import java.lang.Override;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.$YangModuleInfoImpl;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.DnnUpfInfoItem;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.SnssaiUpfInfoItem;
+import org.opendaylight.yangtools.yang.binding.Augmentable;
+import org.opendaylight.yangtools.yang.binding.ChildOf;
+import org.opendaylight.yangtools.yang.binding.Identifiable;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * list dnnUpfInfo {
+ *   key dnn;
+ *   uses DnnUpfInfoItem;
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/SnssaiUpfInfoItem/dnnUpfInfo</i>
+ *
+ * <p>To create instances of this class use {@link DnnUpfInfoBuilder}.
+ * @see DnnUpfInfoBuilder
+ * @see DnnUpfInfoKey
+ *
+ */
+public interface DnnUpfInfo
+    extends
+    ChildOf<SnssaiUpfInfoItem>,
+    Augmentable<DnnUpfInfo>,
+    DnnUpfInfoItem,
+    Identifiable<DnnUpfInfoKey>
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("dnnUpfInfo");
+
+    @Override
+    DnnUpfInfoKey key();
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/snssaiupfinfoitem/DnnUpfInfoKey.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/snssaiupfinfoitem/DnnUpfInfoKey.java
new file mode 100644 (file)
index 0000000..faa589d
--- /dev/null
@@ -0,0 +1,67 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.snssaiupfinfoitem;
+import com.google.common.base.MoreObjects;
+import java.lang.Override;
+import java.lang.String;
+import java.util.Objects;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.TDnn;
+import org.opendaylight.yangtools.yang.binding.CodeHelpers;
+import org.opendaylight.yangtools.yang.binding.Identifier;
+
+public class DnnUpfInfoKey
+ implements Identifier<DnnUpfInfo> {
+    private static final long serialVersionUID = -3246452801435528856L;
+    private final TDnn _dnn;
+
+
+    public DnnUpfInfoKey(TDnn _dnn) {
+    
+    
+        this._dnn = _dnn;
+    }
+    
+    /**
+     * Creates a copy from Source Object.
+     *
+     * @param source Source object
+     */
+    public DnnUpfInfoKey(DnnUpfInfoKey source) {
+        this._dnn = source._dnn;
+    }
+
+
+    public TDnn getDnn() {
+        return _dnn;
+    }
+
+
+    @Override
+    public int hashCode() {
+        return CodeHelpers.wrapperHashCode(_dnn);
+    }
+
+    @Override
+    public boolean equals(java.lang.Object obj) {
+        if (this == obj) {
+            return true;
+        }
+        if (obj == null) {
+            return false;
+        }
+        if (getClass() != obj.getClass()) {
+            return false;
+        }
+        DnnUpfInfoKey other = (DnnUpfInfoKey) obj;
+        if (!Objects.equals(_dnn, other._dnn)) {
+            return false;
+        }
+        return true;
+    }
+
+    @Override
+    public String toString() {
+        final MoreObjects.ToStringHelper helper = MoreObjects.toStringHelper(DnnUpfInfoKey.class);
+        CodeHelpers.appendValue(helper, "_dnn", _dnn);
+        return helper.toString();
+    }
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/tai/PlmnId.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/opendaylight/yang/gen/v1/urn/_3gpp/tsg/sa5/nrm/types/rev180731/tai/PlmnId.java
new file mode 100644 (file)
index 0000000..44c34f2
--- /dev/null
@@ -0,0 +1,37 @@
+package org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.tai;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.$YangModuleInfoImpl;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.PLMNId;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.types.rev180731.Tai;
+import org.opendaylight.yangtools.yang.binding.Augmentable;
+import org.opendaylight.yangtools.yang.binding.ChildOf;
+import org.opendaylight.yangtools.yang.common.QName;
+
+/**
+ *
+ * <p>
+ * This class represents the following YANG schema fragment defined in module <b>_3gpp-common-yang-types</b>
+ * <pre>
+ * container plmnId {
+ *   uses pLMNId;
+ * }
+ * </pre>The schema path to identify an instance is
+ * <i>_3gpp-common-yang-types/Tai/plmnId</i>
+ *
+ * <p>To create instances of this class use {@link PlmnIdBuilder}.
+ * @see PlmnIdBuilder
+ *
+ */
+public interface PlmnId
+    extends
+    ChildOf<Tai>,
+    Augmentable<PlmnId>,
+    PLMNId
+{
+
+
+
+    public static final QName QNAME = $YangModuleInfoImpl.qnameOf("plmnId");
+
+
+}
+
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/oransc/oam/features/devicemanager/gran/GRanNetworkElement.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/oransc/oam/features/devicemanager/gran/GRanNetworkElement.java
new file mode 100644 (file)
index 0000000..93cbdfd
--- /dev/null
@@ -0,0 +1,83 @@
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+package org.oransc.oam.features.devicemanager.gran;
+
+import java.util.Optional;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.ne.service.NetworkElement;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.ne.service.NetworkElementService;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor;
+import org.opendaylight.yang.gen.v1.urn.opendaylight.params.xml.ns.yang.data.provider.rev190801.NetworkElementDeviceType;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+/**
+ * @author herbert
+ *
+ */
+public class GRanNetworkElement implements NetworkElement {
+
+    private static final Logger log = LoggerFactory.getLogger(GRanNetworkElement.class);
+
+    private final NetconfAccessor netconfAccessor;
+    @SuppressWarnings("unused")
+    private final DataProvider databaseService;
+
+    public GRanNetworkElement(NetconfAccessor netconfAccess, DataProvider databaseService) {
+        log.info("Create {}", GRanNetworkElement.class.getSimpleName());
+        this.netconfAccessor = netconfAccess;
+        this.databaseService = databaseService;
+    }
+
+    @Override
+    public void register() {
+        log.info("Register actions should be here");
+    }
+
+    @Override
+    public void deregister() {
+        log.info("deRegister actions should be here");
+    }
+
+    @Override
+    public void warmstart() {
+        log.info("Warmstart actions should be here");
+    }
+
+    @Override
+    public NodeId getNodeId() {
+        return netconfAccessor.getNodeId();
+    }
+
+    @Override
+    public <L extends NetworkElementService> Optional<L> getService(Class<L> clazz) {
+        return Optional.empty();
+    }
+
+    @Override
+    public NetworkElementDeviceType getDeviceType() {
+        return NetworkElementDeviceType.RAN3GPP;
+    }
+
+    @Override
+    public Optional<NetconfAccessor> getAcessor() {
+        return Optional.of(netconfAccessor);
+    }
+
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/oransc/oam/features/devicemanager/gran/GRanNetworkElementFactory.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/oransc/oam/features/devicemanager/gran/GRanNetworkElementFactory.java
new file mode 100644 (file)
index 0000000..12366b9
--- /dev/null
@@ -0,0 +1,43 @@
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+
+package org.oransc.oam.features.devicemanager.gran;
+
+import java.util.Optional;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.ne.factory.NetworkElementFactory;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.ne.service.NetworkElement;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.top.rev180731.TopGrp;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class GRanNetworkElementFactory implements NetworkElementFactory {
+
+    private static final Logger log = LoggerFactory.getLogger(GRanNetworkElementFactory.class);
+
+    @Override
+    public Optional<NetworkElement> create(NetconfAccessor acessor, DeviceManagerServiceProvider serviceProvider) {
+        if (acessor.getCapabilites().isSupportingNamespace(TopGrp.QNAME)) {
+            log.info("Create device {} ", GRanNetworkElement.class.getName());
+            return Optional.of(new GRanNetworkElement(acessor, serviceProvider.getDataProvider()));
+        } else {
+            return Optional.empty();
+        }
+    }
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/oransc/oam/features/devicemanager/gran/impl/DeviceManagerGRanImpl.java b/features/devicemanager/g-ran/ru-fh/provider/src/main/java/org/oransc/oam/features/devicemanager/gran/impl/DeviceManagerGRanImpl.java
new file mode 100644 (file)
index 0000000..cc6158c
--- /dev/null
@@ -0,0 +1,69 @@
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2019 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+package org.oransc.oam.features.devicemanager.gran.impl;
+
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.ne.factory.FactoryRegistration;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.NetconfNetworkElementService;
+import org.oransc.oam.features.devicemanager.gran.GRanNetworkElementFactory;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+public class DeviceManagerGRanImpl implements AutoCloseable  {
+
+    private static final Logger LOG = LoggerFactory.getLogger(DeviceManagerGRanImpl.class);
+    private static final String APPLICATION_NAME = "DeviceManagerGRan";
+    
+    private NetconfNetworkElementService netconfNetworkElementService;
+
+    private Boolean devicemanagerInitializationOk;
+    private FactoryRegistration<GRanNetworkElementFactory> factoryRegistration;
+
+    // Blueprint 1
+    public DeviceManagerGRanImpl() {
+        LOG.info("Creating provider for {}", APPLICATION_NAME);
+        devicemanagerInitializationOk = false;
+
+        netconfNetworkElementService = null;
+        factoryRegistration = null;
+    
+    }
+   public void setNetconfNetworkElementService(NetconfNetworkElementService netconfNetworkElementService) {
+       this.netconfNetworkElementService = netconfNetworkElementService;
+   }
+
+    public void init() throws Exception {
+
+        LOG.info("Session Initiated start {}", APPLICATION_NAME);
+        // Intialization
+        factoryRegistration = netconfNetworkElementService.registerNetworkElementFactory(new GRanNetworkElementFactory());
+        netconfNetworkElementService.writeToEventLog(APPLICATION_NAME, "startup", "done");
+        this.devicemanagerInitializationOk = true;
+
+        LOG.info("Session Initiated end. Initialization done {}", devicemanagerInitializationOk);
+    }
+
+    @Override
+    public void close() throws Exception {
+        LOG.info("closing ...");
+        if (factoryRegistration != null) {
+            factoryRegistration.close();
+        }
+        LOG.info("closing done");
+    }
+
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml b/features/devicemanager/g-ran/ru-fh/provider/src/main/resources/org/opendaylight/blueprint/impl-blueprint.xml
new file mode 100644 (file)
index 0000000..0d44fc5
--- /dev/null
@@ -0,0 +1,38 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+  ~ ============LICENSE_START=======================================================
+  ~ ONAP : ccsdk features
+  ~ ================================================================================
+  ~ Copyright (C) 2019 highstreet technologies GmbH Intellectual Property.
+  ~ All rights reserved.
+  ~ ================================================================================
+  ~ Update Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+  ~ ================================================================================
+  ~ Licensed under the Apache License, Version 2.0 (the "License");
+  ~ you may not use this file except in compliance with the License.
+  ~ You may obtain a copy of the License at
+  ~
+  ~     http://www.apache.org/licenses/LICENSE-2.0
+  ~
+  ~ Unless required by applicable law or agreed to in writing, software
+  ~ distributed under the License is distributed on an "AS IS" BASIS,
+  ~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+  ~ See the License for the specific language governing permissions and
+  ~ limitations under the License.
+  ~ ============LICENSE_END=======================================================
+  ~
+  -->
+
+<blueprint xmlns:odl="http://opendaylight.org/xmlns/blueprint/v1.0.0"
+           xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0" odl:use-default-for-reference-types="true">
+
+    <reference id="netconfNetworkElementService"
+               availability="mandatory" activation="eager"
+               interface="org.onap.ccsdk.features.sdnr.wt.devicemanager.service.NetconfNetworkElementService"/>
+
+    <bean id="provider"
+          class="org.oransc.oam.features.devicemanager.gran.impl.DeviceManagerGRanImpl"
+          init-method="init" destroy-method="close">
+        <property name="netconfNetworkElementService" ref="netconfNetworkElementService"/>
+    </bean>
+</blueprint>
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/main/resources/version.properties b/features/devicemanager/g-ran/ru-fh/provider/src/main/resources/version.properties
new file mode 100644 (file)
index 0000000..6638c04
--- /dev/null
@@ -0,0 +1,24 @@
+#
+# ============LICENSE_START=======================================================
+# ONAP : ccsdk features
+# ================================================================================
+# Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=======================================================
+#
+#
+
+# Properties filled in by maven during build process
+version = ${project.version}
+build = ${buildtime}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/test/java/org/oransc/oam/features/devicemanager/gran/test/TestDeviceManagerGRanImpl.java b/features/devicemanager/g-ran/ru-fh/provider/src/test/java/org/oransc/oam/features/devicemanager/gran/test/TestDeviceManagerGRanImpl.java
new file mode 100644 (file)
index 0000000..c82cda7
--- /dev/null
@@ -0,0 +1,48 @@
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+package org.oransc.oam.features.devicemanager.gran.test;
+
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.NetconfNetworkElementService;
+import org.oransc.oam.features.devicemanager.gran.GRanNetworkElementFactory;
+import org.oransc.oam.features.devicemanager.gran.impl.DeviceManagerGRanImpl;
+
+public class TestDeviceManagerGRanImpl {
+    GRanNetworkElementFactory factory = new GRanNetworkElementFactory();
+    DeviceManagerServiceProvider serviceProvider;
+
+    @Test
+    public void test() throws Exception {
+        serviceProvider = mock(DeviceManagerServiceProvider.class);
+        NetconfNetworkElementService netconfNetworkElementService = mock(NetconfNetworkElementService.class);
+        when(netconfNetworkElementService.registerNetworkElementFactory(factory)).thenReturn(null);
+        when(netconfNetworkElementService.getServiceProvider()).thenReturn(serviceProvider);
+
+        DeviceManagerGRanImpl devMgrGRan = new DeviceManagerGRanImpl();
+
+        devMgrGRan.setNetconfNetworkElementService(netconfNetworkElementService);
+        devMgrGRan.init();
+        devMgrGRan.close();
+
+    }
+
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/test/java/org/oransc/oam/features/devicemanager/gran/test/TestGRanNetworkElement.java b/features/devicemanager/g-ran/ru-fh/provider/src/test/java/org/oransc/oam/features/devicemanager/gran/test/TestGRanNetworkElement.java
new file mode 100644 (file)
index 0000000..f3f8224
--- /dev/null
@@ -0,0 +1,55 @@
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+package org.oransc.oam.features.devicemanager.gran.test;
+
+import static org.junit.Assert.assertEquals;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.dataprovider.model.DataProvider;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor;
+import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NodeId;
+import org.oransc.oam.features.devicemanager.gran.GRanNetworkElement;
+
+public class TestGRanNetworkElement {
+
+    private static final String NODEID = "node1";
+
+    @Test
+    public void test() {
+        NetconfAccessor netconfAccessor = mock(NetconfAccessor.class);
+        DataProvider databaseService = mock(DataProvider.class);
+
+        when(netconfAccessor.getNodeId()).thenReturn(new NodeId(NODEID));
+
+        GRanNetworkElement gRanNe = new GRanNetworkElement(netconfAccessor, databaseService);
+        assertEquals(3, gRanNe.getDeviceType().getIntValue());
+        assertEquals("RAN3GPP", gRanNe.getDeviceType().getName());
+        assertEquals(NODEID, gRanNe.getNodeId().getValue());
+
+        gRanNe.register();
+        gRanNe.deregister();
+        gRanNe.warmstart();
+        gRanNe.getAcessor();
+        gRanNe.getService(null);
+
+    }
+
+
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/test/java/org/oransc/oam/features/devicemanager/gran/test/TestGRanNetworkElementFactory.java b/features/devicemanager/g-ran/ru-fh/provider/src/test/java/org/oransc/oam/features/devicemanager/gran/test/TestGRanNetworkElementFactory.java
new file mode 100644 (file)
index 0000000..9edfa9a
--- /dev/null
@@ -0,0 +1,67 @@
+/*
+ * ============LICENSE_START========================================================================
+ * ONAP : ccsdk feature sdnr wt
+ * =================================================================================================
+ * Copyright (C) 2020 highstreet technologies GmbH Intellectual Property. All rights reserved.
+ * =================================================================================================
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License
+ * is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
+ * or implied. See the License for the specific language governing permissions and limitations under
+ * the License.
+ * ============LICENSE_END==========================================================================
+ */
+package org.oransc.oam.features.devicemanager.gran.test;
+
+import static org.junit.Assert.*;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import org.junit.Before;
+import org.junit.Test;
+import org.onap.ccsdk.features.sdnr.wt.devicemanager.service.DeviceManagerServiceProvider;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.Capabilities;
+import org.onap.ccsdk.features.sdnr.wt.netconfnodestateservice.NetconfAccessor;
+import org.opendaylight.yang.gen.v1.urn._3gpp.tsg.sa5.nrm.top.rev180731.TopGrp;
+import org.oransc.oam.features.devicemanager.gran.GRanNetworkElementFactory;
+
+
+public class TestGRanNetworkElementFactory {
+
+    Capabilities capabilities;
+    NetconfAccessor netconfAccessor;
+    DeviceManagerServiceProvider devMgrService;
+
+    @SuppressWarnings("unused")
+    @Before
+    public void init() {
+        capabilities = mock(Capabilities.class);
+        netconfAccessor = mock(NetconfAccessor.class);
+        devMgrService = mock(DeviceManagerServiceProvider.class);
+
+        when(netconfAccessor.getCapabilites()).thenReturn(capabilities);
+        when(devMgrService.getDataProvider()).thenReturn(null);
+
+    }
+
+    @Test
+    public void testCreate() throws Exception {
+        when(netconfAccessor.getCapabilites().isSupportingNamespace(TopGrp.QNAME)).thenReturn(true);
+
+        GRanNetworkElementFactory gRanNeFactory = new GRanNetworkElementFactory();
+        assertTrue((gRanNeFactory.create(netconfAccessor, devMgrService)).isPresent());
+    }
+
+    @Test
+    public void testCreateNone() throws Exception {
+        when(netconfAccessor.getCapabilites().isSupportingNamespace(TopGrp.QNAME)).thenReturn(false);
+
+        GRanNetworkElementFactory gRanNeFactory = new GRanNetworkElementFactory();
+        assertTrue(!(gRanNeFactory.create(netconfAccessor, devMgrService).isPresent()));
+    }
+
+}
diff --git a/features/devicemanager/g-ran/ru-fh/provider/src/test/resources/simplelogger.properties b/features/devicemanager/g-ran/ru-fh/provider/src/test/resources/simplelogger.properties
new file mode 100644 (file)
index 0000000..9af26dc
--- /dev/null
@@ -0,0 +1,61 @@
+#
+# ============LICENSE_START=======================================================
+# ONAP : ccsdk features
+# ================================================================================
+# Copyright (C) 2020 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+#     http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+# ============LICENSE_END=======================================================
+#
+#
+
+# SLF4J's SimpleLogger configuration file
+# Simple implementation of Logger that sends all enabled log messages, for all defined loggers, to System.err.
+
+# Default logging detail level for all instances of SimpleLogger.
+# Must be one of ("trace", "debug", "info", "warn", or "error").
+# If not specified, defaults to "info".
+org.slf4j.simpleLogger.defaultLogLevel=info
+
+# Logging detail level for a SimpleLogger instance named "xxx.yyy.zzz".
+# Must be one of ("trace", "debug", "info", "warn", or "error").
+# If not specified, the default logging detail level is used.
+# org.slf4j.simpleLogger.log.xxx.yyy=debug
+org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.devicemanager=info
+org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.devicemanager.test=debug
+org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.database=debug
+org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.devicemanager.archiveservice=info
+org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.devicemanager.base.internalTypes.Resources=info
+org.slf4j.simpleLogger.log.org.onap.ccsdk.features.sdnr.wt.devicemanager.base.netconf.container=info
+
+# Set to true if you want the current date and time to be included in output messages.
+# Default is false, and will output the number of milliseconds elapsed since startup.
+#org.slf4j.simpleLogger.showDateTime=false
+
+# The date and time format to be used in the output messages.
+# The pattern describing the date and time format is the same that is used in java.text.SimpleDateFormat.
+# If the format is not specified or is invalid, the default format is used.
+# The default format is yyyy-MM-dd HH:mm:ss:SSS Z.
+#org.slf4j.simpleLogger.dateTimeFormat=yyyy-MM-dd HH:mm:ss:SSS Z
+
+# Set to true if you want to output the current thread name.
+# Defaults to true.
+#org.slf4j.simpleLogger.showThreadName=true
+
+# Set to true if you want the Logger instance name to be included in output messages.
+# Defaults to true.
+#org.slf4j.simpleLogger.showLogName=true
+
+# Set to true if you want the last component of the name to be included in output messages.
+# Defaults to false.
+#org.slf4j.simpleLogger.showShortLogName=false
index 04a1499..7c39bb5 100644 (file)
@@ -1,7 +1,7 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!--
 ################################################################################
-# Copyright 2019 highstreet technologies and others
+# Copyright 2020 highstreet technologies and others
 #
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
@@ -21,7 +21,7 @@
 
   <groupId>org.o-ran-sc.oam.features</groupId>
   <artifactId>features-top</artifactId>
-  <version>0.7.1-SNAPSHOT</version>
+  <version>1.0.0-SNAPSHOT</version>
   <packaging>pom</packaging>
 
   <name>o-ran-sc features top</name>
@@ -29,6 +29,7 @@
   <modules>
     <module>devicemanager/o-ran/ru-fh</module>
     <module>devicemanager/x-ran/ru-fh</module>
+    <module>devicemanager/g-ran/ru-fh</module>
   </modules>
 
 </project>