X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=servicehandler%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Ftransportpce%2Fservicehandler%2Fservice%2FServiceDataStoreOperationsImpl.java;h=55533fb0e96c3b44a823eefb94f896303c999ad5;hb=1e2f9a502de80450411761fd2f636e2b7ee32301;hp=e88436fde864b4ce049ac6d689c05f3763a4a242;hpb=1aaf89ab2589e85670ef8905e7228c8ec3290a89;p=transportpce.git diff --git a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/service/ServiceDataStoreOperationsImpl.java b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/service/ServiceDataStoreOperationsImpl.java index e88436fde..55533fb0e 100644 --- a/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/service/ServiceDataStoreOperationsImpl.java +++ b/servicehandler/src/main/java/org/opendaylight/transportpce/servicehandler/service/ServiceDataStoreOperationsImpl.java @@ -23,9 +23,9 @@ import org.opendaylight.transportpce.common.OperationResult; import org.opendaylight.transportpce.common.Timeouts; import org.opendaylight.transportpce.servicehandler.ModelMappingUtils; import org.opendaylight.transportpce.servicehandler.ServiceInput; -import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev200128.PathComputationRequestOutput; -import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.State; -import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev181130.AdminStates; +import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev220118.PathComputationRequestOutput; +import org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev191129.State; +import org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev191129.AdminStates; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceCreateInput; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceList; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.ServiceListBuilder; @@ -35,7 +35,7 @@ import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.TempSer import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.Services; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.ServicesBuilder; import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.ServicesKey; -import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev200128.service.path.PathDescription; +import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.service.types.rev220118.service.path.PathDescription; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.ServicePathList; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePaths; import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePathsBuilder; @@ -127,8 +127,23 @@ public class ServiceDataStoreOperationsImpl implements ServiceDataStoreOperation } @Override - public Optional getTempService(String serviceName) { + public Optional getServices() { + try { + ReadTransaction readTx = this.dataBroker.newReadOnlyTransaction(); + InstanceIdentifier iid = + InstanceIdentifier.create(ServiceList.class); + Future> future = + readTx.read(LogicalDatastoreType.OPERATIONAL, iid); + return future.get(Timeouts.DATASTORE_READ, TimeUnit.MILLISECONDS); + } catch (InterruptedException | ExecutionException | TimeoutException e) { + LOG.warn("Reading services failed:", e); + } + return Optional.empty(); + } + + @Override + public Optional + getTempService(String serviceName) { try { ReadTransaction readTx = this.dataBroker.newReadOnlyTransaction(); InstanceIdentifier iid = InstanceIdentifier.create(ServiceList.class) .child(Services.class, new ServicesKey(serviceName)); - Services services = new ServicesBuilder(readService.get()).setOperationalState(operationalState) - .setAdministrativeState(administrativeState) - .build(); + Services services = new ServicesBuilder(readService.get()) + .setOperationalState(convertOperState(operationalState)) + .setAdministrativeState(convertAdminState(administrativeState)) + .build(); writeTx.merge(LogicalDatastoreType.OPERATIONAL, iid, services); writeTx.commit().get(Timeouts.DATASTORE_WRITE, TimeUnit.MILLISECONDS); return OperationResult.ok(LogMessages.SUCCESSFUL_MESSAGE); @@ -221,11 +237,12 @@ public class ServiceDataStoreOperationsImpl implements ServiceDataStoreOperation .child(org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.temp.service.list .Services.class, new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531 .temp.service.list.ServicesKey(serviceName)); - org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.temp.service.list - .Services services = new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.temp - .service.list.ServicesBuilder(readService.get()).setOperationalState(operationalState) - .setAdministrativeState(administrativeState) - .build(); + org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.temp.service.list.Services services = + new org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.temp.service.list.ServicesBuilder( + readService.get()) + .setOperationalState(convertOperState(operationalState)) + .setAdministrativeState(convertAdminState(administrativeState)) + .build(); writeTx.merge(LogicalDatastoreType.OPERATIONAL, iid, services); writeTx.commit().get(Timeouts.DATASTORE_WRITE, TimeUnit.MILLISECONDS); return OperationResult.ok(LogMessages.SUCCESSFUL_MESSAGE); @@ -289,7 +306,8 @@ public class ServiceDataStoreOperationsImpl implements ServiceDataStoreOperation return Optional.empty(); } - private Optional getServicePath(String serviceName) { + @Override + public Optional getServicePath(String serviceName) { LOG.debug("Retrieving service path of service {}", serviceName); try { ReadTransaction readTx = this.dataBroker.newReadOnlyTransaction(); @@ -344,9 +362,8 @@ public class ServiceDataStoreOperationsImpl implements ServiceDataStoreOperation .setFiberSpanSrlgs(readServicePath.get().getFiberSpanSrlgs()) .setHardConstraints(readServicePath.get().getHardConstraints()) .setLatency(readServicePath.get().getLatency()) - .setLocallyProtectedLinks(readServicePath.get().isLocallyProtectedLinks()) .setPathDescription(pathDescription) - .setPceMetric(readServicePath.get().getPceMetric()) + .setPceRoutingMetric(readServicePath.get().getPceRoutingMetric()) .setSoftConstraints(readServicePath.get().getSoftConstraints()) .build(); @@ -429,7 +446,8 @@ public class ServiceDataStoreOperationsImpl implements ServiceDataStoreOperation switch (choice) { case 0 : /* Modify. */ LOG.debug("Modifying '{}' Service", serviceName); - service.setOperationalState(State.InService).setAdministrativeState(AdminStates.InService); + service.setOperationalState(convertOperState(State.InService)) + .setAdministrativeState(convertAdminState(AdminStates.InService)); writeTx.merge(LogicalDatastoreType.OPERATIONAL, iid, service.build()); action = "modifyService"; break; @@ -451,4 +469,16 @@ public class ServiceDataStoreOperationsImpl implements ServiceDataStoreOperation return null; } + + private org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev181130.AdminStates + convertAdminState(AdminStates adminState61) { + return org.opendaylight.yang.gen.v1.http.org.openroadm.equipment.states.types.rev181130.AdminStates + .valueOf(adminState61.name()); + } + + private org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.State + convertOperState(State operState61) { + return org.opendaylight.yang.gen.v1.http.org.openroadm.common.state.types.rev181130.State + .valueOf(operState61.name()); + } }