Modify spectrum assignment management in PCE
[transportpce.git] / servicehandler / src / main / java / org / opendaylight / transportpce / servicehandler / service / ServiceDataStoreOperations.java
index d5b2f04cf5005fc206c0d0e2a1fa691f7eaea8a6..d31171207fcabe9f14a2b3e4145e7fefa22a786b 100644 (file)
@@ -8,15 +8,18 @@
 package org.opendaylight.transportpce.servicehandler.service;
 
 import java.util.Optional;
-
 import org.opendaylight.transportpce.common.OperationResult;
 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.rev210701.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.TempServiceCreateInput;
 import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.service.list.Services;
+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.servicepath.rev171017.ServicePathList;
+import org.opendaylight.yang.gen.v1.http.org.transportpce.b.c._interface.servicepath.rev171017.service.path.list.ServicePaths;
 
 /**
  * OpenROADM Service operations API providing basic operations on services.
@@ -32,16 +35,23 @@ public interface ServiceDataStoreOperations {
      * get service by name.
      *
      * @param serviceName
-     *   unique name of the service
+     *     unique name of the service
      * @return Optional of Services
      */
     Optional<Services> getService(String serviceName);
 
+    /**
+     * get all OR services.
+     *
+     * @return Optional of Services
+     */
+    Optional<ServiceList> getServices();
+
     /**
      * get temp service by common-id.
      *
      * @param commonId
-     *   unique common-id of the service
+     *     unique common-id of the service
      * @return Optional of Services
      */
     Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.temp.service.list
@@ -51,7 +61,7 @@ public interface ServiceDataStoreOperations {
      * deleteService service by name.
      *
      * @param serviceName
-     *   unique name of the service
+     *     unique name of the service
      * @return result of Delete operation
      */
     OperationResult deleteService(String serviceName);
@@ -60,7 +70,7 @@ public interface ServiceDataStoreOperations {
      * deleteService service by common-id.
      *
      * @param commonId
-     *   unique common-id of the service
+     *     unique common-id of the service
      * @return result of Delete operation
      */
     OperationResult deleteTempService(String commonId);
@@ -69,11 +79,11 @@ public interface ServiceDataStoreOperations {
      * modifyService service attributes.
      *
      * @param serviceName
-     *   unique name of the service
+     *     unique name of the service
      * @param operationalState
-     *   operational state of service
+     *     operational state of service
      * @param administrativeState
-     *   administrative state of service
+     *     administrative state of service
      * @return result of modifyService operation
      */
     OperationResult modifyService(String serviceName, State operationalState, AdminStates administrativeState);
@@ -96,13 +106,15 @@ public interface ServiceDataStoreOperations {
      */
     OperationResult createService(ServiceCreateInput serviceCreateInput);
 
+    Optional<ServicePaths> getServicePath(String serviceName);
+
     /**
      * create new servicePath entry.
      *
      * @param serviceInput
-     *   ServiceInput data for creation of service
+     *     ServiceInput data for creation of service
      * @param outputFromPce
-     *   output from pce request which is used as input for creating of service.
+     *     output from pce request which is used as input for creating of service.
      * @return result of createServicePath operation
      */
     OperationResult createServicePath(ServiceInput serviceInput, PathComputationRequestOutput outputFromPce);
@@ -116,11 +128,15 @@ public interface ServiceDataStoreOperations {
      */
     OperationResult createTempService(TempServiceCreateInput tempServiceCreateInput);
 
+    Optional<ServicePathList> getServicePaths();
+
+    OperationResult modifyServicePath(PathDescription pathDescription, String serviceName);
+
     /**
      * deleteServicePath by name.
      *
      * @param serviceName
-     *   unique name of the service
+     *     unique name of the service
      * @return result of Delete operation
      */
     OperationResult deleteServicePath(String serviceName);
@@ -130,7 +146,7 @@ public interface ServiceDataStoreOperations {
      * This method exists only for backwards compatibility. It will be deleted once refactoring is done.
      *
      * @param serviceName
-     *   unique name of the service
+     *     unique name of the service
      * @param input ServiceCreateInput data
      * @param output PathComputationRequestOutput data
      * @param choice 0:modify, 1:delete, 2:write