X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=tapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Ftapi%2Futils%2FTapiContext.java;fp=tapi%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Ftapi%2Futils%2FTapiContext.java;h=b84b5b0ff30087d85a54bd7502196a2bd3f04062;hb=fb4518248d42b89992a227c94fde2fe9d6fe4df5;hp=5c195f04416f995d53a3526e7a2400d427f8d5c9;hpb=b741c42f03e5393ef7154fbb1f9c214525eee1da;p=transportpce.git diff --git a/tapi/src/main/java/org/opendaylight/transportpce/tapi/utils/TapiContext.java b/tapi/src/main/java/org/opendaylight/transportpce/tapi/utils/TapiContext.java index 5c195f044..b84b5b0ff 100644 --- a/tapi/src/main/java/org/opendaylight/transportpce/tapi/utils/TapiContext.java +++ b/tapi/src/main/java/org/opendaylight/transportpce/tapi/utils/TapiContext.java @@ -20,11 +20,15 @@ import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.Cont import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.Uuid; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.global._class.Name; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.global._class.NameBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.tapi.context.ServiceInterfacePoint; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.common.rev181210.tapi.context.ServiceInterfacePointKey; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.Context1; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.Context1Builder; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.connectivity.rev181210.context.ConnectivityContextBuilder; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.context.TopologyContextBuilder; import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.context.NwTopologyServiceBuilder; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.context.Topology; +import org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.topology.context.TopologyKey; import org.opendaylight.yangtools.yang.binding.InstanceIdentifier; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -116,4 +120,44 @@ public class TapiContext { } + public void updateTopologyContext(Map topologyMap) { + // TODO: solve error when merging: Topology is not a valid child of topology context? + // TODO: verify this is correct. Should we identify the context IID with the context UUID?? + try { + org.opendaylight.yang.gen.v1.urn.onf.otcc.yang.tapi.topology.rev181210.context.TopologyContext + topologyContext = new TopologyContextBuilder() + //.setNwTopologyService(new NwTopologyServiceBuilder().build()) + .setTopology(topologyMap) + .build(); + InstanceIdentifier topologycontextIID = + InstanceIdentifier.builder(Context.class).augmentation(org.opendaylight.yang.gen.v1.urn + .onf.otcc.yang.tapi.topology.rev181210.Context1.class) + .child(org.opendaylight.yang.gen.v1.urn + .onf.otcc.yang.tapi.topology.rev181210.context.TopologyContext.class) + .build(); + // merge in datastore + this.networkTransactionService.merge(LogicalDatastoreType.OPERATIONAL, topologycontextIID, + topologyContext); + this.networkTransactionService.commit().get(); + LOG.info("TAPI topology merged successfully."); + } catch (InterruptedException | ExecutionException e) { + LOG.error("Failed to merge TAPI topology", e); + } + } + + public void updateSIPContext(Map sipMap) { + // TODO: verify this is correct. Should we identify the context IID with the context UUID?? + try { + ContextBuilder contextBuilder = new ContextBuilder().setServiceInterfacePoint(sipMap); + InstanceIdentifier contextIID = InstanceIdentifier.builder(Context.class).build(); + // merge in datastore + this.networkTransactionService.merge(LogicalDatastoreType.OPERATIONAL, contextIID, + contextBuilder.build()); + this.networkTransactionService.commit().get(); + LOG.info("TAPI SIPs merged successfully."); + } catch (InterruptedException | ExecutionException e) { + LOG.error("Failed to merge TAPI SIPs", e); + } + } }