package org.opendaylight.unimgr.mef.nrp.impl;
+import static org.opendaylight.unimgr.mef.nrp.api.TapiConstants.PRESTO_CTX;
+import static org.opendaylight.unimgr.mef.nrp.api.TapiConstants.PRESTO_EXT_TOPO;
+import static org.opendaylight.unimgr.mef.nrp.api.TapiConstants.PRESTO_SYSTEM_TOPO;
+
import com.google.common.base.Optional;
import com.google.common.util.concurrent.CheckedFuture;
+import java.util.Arrays;
+import java.util.Collections;
import org.opendaylight.controller.md.sal.binding.api.DataBroker;
import org.opendaylight.controller.md.sal.binding.api.ReadWriteTransaction;
import org.opendaylight.controller.md.sal.common.api.data.LogicalDatastoreType;
import org.opendaylight.controller.md.sal.common.api.data.ReadFailedException;
import org.opendaylight.controller.md.sal.common.api.data.TransactionCommitFailedException;
-import org.opendaylight.unimgr.mef.nrp.api.TapiConstants;
import org.opendaylight.unimgr.mef.nrp.api.TopologyManager;
-import org.opendaylight.unimgr.mef.nrp.common.TapiUtils;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.common.rev171113.Context;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.common.rev171113.ContextBuilder;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.common.rev171113.ETH;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.common.rev171113.Uuid;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.node.TransferCostBuilder;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.node.TransferTimingBuilder;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.topology.Node;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.topology.NodeBuilder;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.topology.context.Topology;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.topology.context.TopologyBuilder;
-import org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.topology.context.TopologyKey;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.Context;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.ContextBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.LayerProtocolName;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev180307.Uuid;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev180307.node.EncapTopologyBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev180307.topology.Node;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev180307.topology.NodeBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev180307.topology.context.Topology;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev180307.topology.context.TopologyBuilder;
+import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev180307.topology.context.TopologyKey;
import org.opendaylight.yangtools.yang.binding.DataObject;
import org.opendaylight.yangtools.yang.binding.InstanceIdentifier;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import java.util.Arrays;
-import java.util.Collections;
-
-import static org.opendaylight.unimgr.mef.nrp.api.TapiConstants.*;
-
/**
+ * NrpInitializer is responsible for initial TAPI context related entities creation.
* @author bartosz.michalik@amartus.com
*/
public class NrpInitializer implements TopologyManager {
public void init() throws Exception {
ReadWriteTransaction tx = dataBroker.newReadWriteTransaction();
InstanceIdentifier<Context> ctxId = InstanceIdentifier.create(Context.class);
- CheckedFuture<? extends Optional<? extends DataObject>, ReadFailedException> result = tx.read(LogicalDatastoreType.OPERATIONAL, ctxId);
+ CheckedFuture<? extends Optional<? extends DataObject>, ReadFailedException> result =
+ tx.read(LogicalDatastoreType.OPERATIONAL, ctxId);
Optional<? extends DataObject> context = result.checkedGet();
LOG.info("initialize Presto NRP context");
Context ctx = new ContextBuilder()
.setUuid(new Uuid(PRESTO_CTX))
- .addAugmentation(org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.Context1.class, context())
- .addAugmentation(org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.connectivity.rev171113.Context1.class, connCtx())
+ .addAugmentation(org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology
+ .rev180307.Context1.class, context())
+ .addAugmentation(org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity
+ .rev180307.Context1.class, connCtx())
.build();
tx.put(LogicalDatastoreType.OPERATIONAL, ctxId, ctx);
try {
}
}
- private org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.Context1 context() {
- return new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.topology.rev171113.Context1Builder()
+ private org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev180307.Context1 context() {
+ return new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev180307.Context1Builder()
.setTopology(Arrays.asList(systemTopo(), extTopo()))
.build();
}
- private org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.connectivity.rev171113.Context1 connCtx() {
- return new org.opendaylight.yang.gen.v1.urn.onf.params.xml.ns.yang.tapi.connectivity.rev171113.Context1Builder()
+ private org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev180307.Context1 connCtx() {
+ return new org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev180307.Context1Builder()
.build();
}
Uuid topoId = new Uuid(PRESTO_EXT_TOPO);
LOG.debug("Adding {}", PRESTO_EXT_TOPO);
return new TopologyBuilder()
- .setLayerProtocolName(Collections.singletonList(ETH.class))
+ .setLayerProtocolName(Collections.singletonList(LayerProtocolName.ETH))
.setUuid(topoId)
- .setKey(new TopologyKey(topoId))
+ .withKey(new TopologyKey(topoId))
.setNode(Collections.singletonList(node("mef:presto-nrp-abstract-node")))
.build();
}
private Node node(String uuid) {
Uuid uid = new Uuid(uuid);
return new NodeBuilder()
- .setLayerProtocolName(Collections.singletonList(ETH.class))
- .setEncapTopology(new Uuid(PRESTO_SYSTEM_TOPO))
- .setTransferCost(new TransferCostBuilder().setCostCharacteristic(TapiUtils.emptyCostCharacteristic()).build())
- .setTransferTiming(new TransferTimingBuilder().setLatencyCharacteristic(TapiUtils.emptyTransferCost()).build())
+ .setLayerProtocolName(Collections.singletonList(LayerProtocolName.ETH))
+ .setEncapTopology(new EncapTopologyBuilder().setTopologyId(new Uuid(PRESTO_SYSTEM_TOPO)).build())
+ .setCostCharacteristic(Collections.emptyList())
+ .setLatencyCharacteristic(Collections.emptyList())
.setUuid(uid)
.build();
}
Uuid topoId = new Uuid(PRESTO_SYSTEM_TOPO);
LOG.debug("Adding {}", PRESTO_SYSTEM_TOPO);
return new TopologyBuilder()
- .setLayerProtocolName(Collections.singletonList(ETH.class))
+ .setLayerProtocolName(Collections.singletonList(LayerProtocolName.ETH))
.setUuid(topoId)
.build();
}
@Override
public String getSystemTopologyId() {
- return TapiConstants.PRESTO_SYSTEM_TOPO;
+ return PRESTO_SYSTEM_TOPO;
}
}