Migrate to Java 8 Time API
[appc.git] / appc-dispatcher / appc-command-executor / appc-command-executor-core / src / main / java / org / openecomp / appc / executor / impl / CommandExecutorImpl.java
index 60a9517..d9df1dd 100644 (file)
 package org.openecomp.appc.executor.impl;
 
 
-import java.util.Date;
+import java.time.Instant;
+import java.time.temporal.ChronoUnit;
 import java.util.concurrent.TimeUnit;
 
 import org.apache.commons.lang.ObjectUtils;
+import org.openecomp.appc.domainmodel.lcm.RuntimeContext;
 import org.openecomp.appc.exceptions.APPCException;
 import org.openecomp.appc.executionqueue.ExecutionQueueService;
 import org.openecomp.appc.executionqueue.impl.ExecutionQueueServiceFactory;
 import org.openecomp.appc.executor.CommandExecutor;
-import org.openecomp.appc.executor.impl.objects.CommandRequest;
-import org.openecomp.appc.executor.impl.objects.LCMCommandRequest;
-import org.openecomp.appc.executor.impl.objects.LCMReadOnlyCommandRequest;
-import org.openecomp.appc.executor.objects.CommandExecutorInput;
+
 import com.att.eelf.configuration.EELFLogger;
 import com.att.eelf.configuration.EELFManager;
 
@@ -78,47 +77,23 @@ public class CommandExecutorImpl implements CommandExecutor {
      * @throws APPCException in case of error.
      */
     @Override
-    public void executeCommand (CommandExecutorInput commandExecutorInput) throws APPCException{
+    public void executeCommand (RuntimeContext commandExecutorInput) throws APPCException{
         if (logger.isTraceEnabled()) {
             logger.trace("Entering to executeCommand with CommandExecutorInput = "+ ObjectUtils.toString(commandExecutorInput));
         }
-        CommandRequest request = getCommandRequest(commandExecutorInput);
-        enqueRequest(request);
+        enqueRequest(commandExecutorInput);
         if (logger.isTraceEnabled()) {
             logger.trace("Exiting from executeCommand");
         }
     }
 
-    private CommandRequest getCommandRequest(CommandExecutorInput commandExecutorInput){
-        if (logger.isTraceEnabled()) {
-            logger.trace("Entering to getCommandRequest with CommandExecutorInput = "+ ObjectUtils.toString(commandExecutorInput));
-        }
-        CommandRequest commandRequest;
-
-        switch(commandExecutorInput.getRuntimeContext().getRequestContext().getAction()){
-            case Sync:
-                commandRequest = new LCMReadOnlyCommandRequest(commandExecutorInput);
-                break;
-            case Audit:
-                commandRequest = new LCMReadOnlyCommandRequest(commandExecutorInput);
-                break;
-            default:
-                commandRequest = new LCMCommandRequest(commandExecutorInput);
-                break;
-        }
-        if (logger.isTraceEnabled()) {
-            logger.trace("Exiting from getCommandRequest with (CommandRequest = "+ ObjectUtils.toString(commandRequest)+")");
-        }
-        return commandRequest;
-    }
-
     @SuppressWarnings("unchecked")
-    private void enqueRequest(CommandRequest request) throws APPCException{
+    private void enqueRequest(RuntimeContext request) throws APPCException{
         if (logger.isTraceEnabled()) {
             logger.trace("Entering to enqueRequest with CommandRequest = "+ ObjectUtils.toString(request));
         }
         try {
-            CommandTask commandTask = getMessageExecutor(request.getCommandExecutorInput().getRuntimeContext().getRequestContext().getAction().name());
+            CommandTask commandTask = getMessageExecutor(request.getRequestContext().getAction().name());
             commandTask.setCommandRequest(request);
             long remainingTTL = getRemainingTTL(request);
             executionQueueService.putMessage(commandTask,remainingTTL, TimeUnit.MILLISECONDS);
@@ -132,10 +107,10 @@ public class CommandExecutorImpl implements CommandExecutor {
         }
     }
 
-    private long getRemainingTTL(CommandRequest request) {
-        Date requestTimestamp = request.getCommandExecutorInput().getRuntimeContext().getRequestContext().getCommonHeader().getTimeStamp();
-        int ttl = request.getCommandExecutorInput().getRuntimeContext().getRequestContext().getCommonHeader().getFlags().getTtl();
-        return ttl*1000 + requestTimestamp.getTime() - System.currentTimeMillis();
+    private long getRemainingTTL(RuntimeContext request) {
+        Instant requestTimestamp = request.getRequestContext().getCommonHeader().getTimeStamp();
+        int ttl = request.getRequestContext().getCommonHeader().getFlags().getTtl();
+        return ChronoUnit.MILLIS.between(Instant.now(), requestTimestamp.plusSeconds(ttl));
     }
 
     private CommandTask getMessageExecutor(String action){