+
+ final TopologyKey tk = new TopologyKey(Preconditions.checkNotNull(topologyId));
+ this.topology = InstanceIdentifier.builder(Topology.class, tk).toInstance();
+
+ LOG.debug("Initiating topology builder from {} at {}", locRibReference, topology);
+
+ DataModificationTransaction t = dataProvider.beginTransaction();
+ Object o = t.readOperationalData(topology);
+ Preconditions.checkState(o == null, "Data provider conflict detected on object {}", topology);
+
+ t.putOperationalData(topology, new TopologyBuilder().setKey(tk).setServerProvided(Boolean.TRUE).setTopologyTypes(types).build());
+ Futures.addCallback(JdkFutureAdapters.listenInPoolThread(t.commit()), new FutureCallback<RpcResult<TransactionStatus>>() {
+ @Override
+ public void onSuccess(final RpcResult<TransactionStatus> result) {
+ LOG.trace("Change committed successfully");
+ }
+
+ @Override
+ public void onFailure(final Throwable t) {
+ LOG.error("Failed to initiate topology {} by listener {}", topology, AbstractTopologyBuilder.this);
+ }
+ });