Merge "Fix ConvertORToTapiTopology getXpdrUsedWavelength"
[transportpce.git] / common / src / main / java / org / opendaylight / transportpce / common / InstanceIdentifiers.java
1 /*
2  * Copyright © 2017 AT&T and others.  All rights reserved.
3  *
4  * This program and the accompanying materials are made available under the
5  * terms of the Eclipse Public License v1.0 which accompanies this distribution,
6  * and is available at http://www.eclipse.org/legal/epl-v10.html
7  */
8
9 package org.opendaylight.transportpce.common;
10
11 import org.opendaylight.yang.gen.v1.http.org.openroadm.network.topology.rev211210.TerminationPoint1;
12 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NetworkId;
13 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.Networks;
14 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.NodeId;
15 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.Network;
16 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.NetworkKey;
17 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226.networks.network.NodeKey;
18 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.Node1;
19 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.TpId;
20 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPoint;
21 import org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226.networks.network.node.TerminationPointKey;
22 import org.opendaylight.yang.gen.v1.urn.opendaylight.netconf.node.topology.rev150114.network.topology.topology.topology.types.TopologyNetconf;
23 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.NetworkTopology;
24 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.TopologyId;
25 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.Topology;
26 import org.opendaylight.yang.gen.v1.urn.tbd.params.xml.ns.yang.network.topology.rev131021.network.topology.TopologyKey;
27 import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
28
29 public final class InstanceIdentifiers {
30
31     public static final InstanceIdentifier<Topology> NETCONF_TOPOLOGY_II =
32             InstanceIdentifier.create(NetworkTopology.class).child(Topology.class, new TopologyKey(
33                     new TopologyId(TopologyNetconf.QNAME.getLocalName())));
34
35     public static final InstanceIdentifier<Network> UNDERLAY_NETWORK_II = InstanceIdentifier
36             .builder(Networks.class)
37             .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.UNDERLAY_NETWORK_ID))).build();
38
39     public static final InstanceIdentifier<Network> OVERLAY_NETWORK_II = InstanceIdentifier
40         .builder(Networks.class)
41         .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID))).build();
42
43     public static final InstanceIdentifier<Network> OTN_NETWORK_II = InstanceIdentifier
44         .builder(Networks.class)
45         .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OTN_NETWORK_ID))).build();
46
47     public static final InstanceIdentifier<Network> CLLI_NETWORK_II = InstanceIdentifier
48             .builder(Networks.class)
49             .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.CLLI_NETWORK_ID))).build();
50
51     private InstanceIdentifiers() {
52         // Instance should be not created
53     }
54
55     /**
56      * Get an instance identifier related to network termination point.
57      * @param nodeId String
58      * @param tpId String
59      * @return InstanceIdentifier
60      */
61     public static InstanceIdentifier<TerminationPoint1> createNetworkTerminationPoint1IIDBuilder(String nodeId,
62                                                                                                        String tpId) {
63         return InstanceIdentifier.builder(Networks.class)
64                 .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
65                 .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226
66                         .networks.network.Node.class,
67                     new NodeKey(new NodeId(nodeId)))
68                 .augmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
69                         .Node1.class)
70                 .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
71                         .networks.network.node.TerminationPoint.class,
72                     new TerminationPointKey(new TpId(tpId)))
73                 .augmentation(TerminationPoint1.class)
74                 .build();
75     }
76
77     public static InstanceIdentifier<TerminationPoint> createNetworkTerminationPointIIDBuilder(String nodeId,
78         String tpId) {
79
80         return InstanceIdentifier.builder(Networks.class)
81                 .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
82                 .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226
83                         .networks.network.Node.class,
84                     new NodeKey(new NodeId(nodeId)))
85                 .augmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
86                         .Node1.class)
87                 .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
88                         .networks.network.node.TerminationPoint.class,
89                     new TerminationPointKey(new TpId(tpId)))
90                 .build();
91     }
92
93
94     /**
95      * Get an instance identifier related to network termination point.
96      * @param nodeId String
97      * @return InstanceIdentifier
98      */
99     public static InstanceIdentifier<Node1> createNodeIIDBuilder(String nodeId) {
100         return InstanceIdentifier.builder(Networks.class)
101                 .child(Network.class, new NetworkKey(new NetworkId(NetworkUtils.OVERLAY_NETWORK_ID)))
102                 .child(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.rev180226
103                         .networks.network.Node.class,
104                     new NodeKey(new NodeId(nodeId)))
105                 .augmentation(org.opendaylight.yang.gen.v1.urn.ietf.params.xml.ns.yang.ietf.network.topology.rev180226
106                         .Node1.class)
107                 .build();
108     }
109
110 }