- servicesBuilder = new ServicesBuilder(services.get());
- } else {
- servicesBuilder = new ServicesBuilder();
- servicesBuilder.withKey(serviceKey);
- }
- servicesBuilder.setTopology(topo);
- WriteTransaction writeTx = this.dataBroker.newWriteOnlyTransaction();
- writeTx.merge(LogicalDatastoreType.OPERATIONAL, iid, servicesBuilder.build());
- writeTx.submit().get(Timeouts.DATASTORE_WRITE, TimeUnit.MILLISECONDS);
- }
-
- private boolean isUsedByXc(String nodeid, String interfaceid, String xcid) {
- InstanceIdentifier<RoadmConnections> xciid = InstanceIdentifier.create(OrgOpenroadmDevice.class)
- .child(RoadmConnections.class, new RoadmConnectionsKey(xcid));
- LOG.info("reading xc {} in node {}", xcid, nodeid);
- Optional<RoadmConnections> crossconnection =
- this.deviceTransactionManager.getDataFromDevice(nodeid, LogicalDatastoreType.CONFIGURATION, xciid,
- Timeouts.DEVICE_READ_TIMEOUT, Timeouts.DEVICE_READ_TIMEOUT_UNIT);
- if (crossconnection.isPresent()) {
- RoadmConnections xc = crossconnection.get();
- LOG.info("xd {} found", xcid);
- if (xc.getSource().getSrcIf().equals(interfaceid) || xc.getDestination().getDstIf().equals(interfaceid)) {
- return true;
- }
+ LOG.info("service {} already exists", name);
+ servicesBuilder = new ServicesBuilder(services.get()).setTopology(topo);
+ WriteTransaction writeTx = this.dataBroker.newWriteOnlyTransaction();
+ writeTx.merge(LogicalDatastoreType.OPERATIONAL, iid, servicesBuilder.build());
+ writeTx.commit().get(Timeouts.DATASTORE_WRITE, TimeUnit.MILLISECONDS);