Refactor a few renderer RPCs
[transportpce.git] / renderer / src / main / java / org / opendaylight / transportpce / renderer / rpcs / OtnServicePathImpl.java
index 8e3e5e341ac55f3fc24f71ca3ed7964639370e12..90202d16a34fcf11880e646e0fdbbd7c92be0224 100644 (file)
@@ -32,21 +32,24 @@ public class OtnServicePathImpl implements OtnServicePath {
 
     @Override
     public ListenableFuture<RpcResult<OtnServicePathOutput>> invoke(OtnServicePathInput input) {
-        if (input.getOperation() != null && input.getServiceFormat() != null && input.getServiceRate() != null) {
-            String serviceType = ServiceTypes.getOtnServiceType(input.getServiceFormat(), input.getServiceRate());
-            if (input.getOperation().getIntValue() == 1) {
+        if (input.getOperation() == null || input.getServiceFormat() == null || input.getServiceRate() == null) {
+            LOG.debug("A mandatory input argument is null");
+            return RpcResultBuilder
+                .success(new OtnServicePathOutputBuilder().setResult("Invalid operation").build())
+                .buildFuture();
+        }
+        String serviceType = ServiceTypes.getOtnServiceType(input.getServiceFormat(), input.getServiceRate());
+        return switch (input.getOperation()) {
+            case Create -> {
                 LOG.info("Create operation request received");
-                return RpcResultBuilder.success(this.otnDeviceRendererService
-                        .setupOtnServicePath(input, serviceType)).buildFuture();
-            } else if (input.getOperation().getIntValue() == 2) {
+                yield RpcResultBuilder.success(this.otnDeviceRendererService
+                    .setupOtnServicePath(input, serviceType)).buildFuture();
+            }
+            case Delete -> {
                 LOG.info("Delete operation request received");
-                return RpcResultBuilder.success(this.otnDeviceRendererService
-                        .deleteOtnServicePath(input, serviceType)).buildFuture();
+                yield RpcResultBuilder.success(this.otnDeviceRendererService
+                    .deleteOtnServicePath(input, serviceType)).buildFuture();
             }
-        }
-        return RpcResultBuilder
-            .success(new OtnServicePathOutputBuilder().setResult("Invalid operation").build())
-            .buildFuture();
+        };
     }
-
 }