Refactor transportpce-routing-constraint model
[transportpce.git] / servicehandler / src / main / java / org / opendaylight / transportpce / servicehandler / service / ServiceDataStoreOperations.java
index f097c7159aa2c73b85b638eb41010693928fbfef..dcb0e7f4c47e2afb26ee2844bf8d903dd07ed930 100644 (file)
@@ -9,10 +9,17 @@ package org.opendaylight.transportpce.servicehandler.service;
 
 import java.util.Optional;
 import org.opendaylight.transportpce.common.OperationResult;
-import org.opendaylight.yang.gen.v1.http.org.opendaylight.transportpce.pce.rev170426.PathComputationRequestOutput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.common.types.rev161014.State;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.ServiceCreateInput;
-import org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev161014.service.list.Services;
+import org.opendaylight.transportpce.servicehandler.ServiceInput;
+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.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.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;
 
 /**
  * OpenROADM Service operations API providing basic operations on services.
@@ -28,61 +35,108 @@ 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
+     * @return Optional of Services
+     */
+    Optional<org.opendaylight.yang.gen.v1.http.org.openroadm.service.rev190531.temp.service.list
+        .Services> getTempService(String commonId);
+
     /**
      * 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);
 
+    /**
+     * deleteService service by common-id.
+     *
+     * @param commonId
+     *     unique common-id of the service
+     * @return result of Delete operation
+     */
+    OperationResult deleteTempService(String commonId);
+
     /**
      * 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, State administrativeState);
+    OperationResult modifyService(String serviceName, State operationalState, AdminStates administrativeState);
+
+    /**
+     * modify Temp Service.
+     *
+     * @param commonId unique common-id of the service
+     * @param operationalState operational state of service
+     * @param administrativeState administrative state of service
+     * @return result of modifyTempService operation
+     */
+    OperationResult modifyTempService(String commonId, State operationalState, AdminStates administrativeState);
 
     /**
      * create new service entry.
      *
-     * @param serviceCreateInput
-     *   serviceCreateInput data for creation of service
-     * @param outputFromPce
-     *   output from pce request which is used as input for creating of service.
+     * @param serviceCreateInput serviceCreateInput data for creation of service
      * @return result of createService operation
      */
-    OperationResult createService(ServiceCreateInput serviceCreateInput, PathComputationRequestOutput outputFromPce);
+    OperationResult createService(ServiceCreateInput serviceCreateInput);
+
+    Optional<ServicePaths> getServicePath(String serviceName);
 
     /**
      * create new servicePath entry.
      *
-     * @param serviceCreateInput
-     *   serviceCreateInput data for creation of service
+     * @param serviceInput
+     *     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(ServiceCreateInput serviceCreateInput,
-        PathComputationRequestOutput outputFromPce);
+    OperationResult createServicePath(ServiceInput serviceInput, PathComputationRequestOutput outputFromPce);
+
+    /**
+     * create new Temp service entry.
+     *
+     * @param tempServiceCreateInput tempServiceCreateInput data for creation of
+     *                               service
+     * @return result of createTempService operation
+     */
+    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);
@@ -92,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