You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by la...@apache.org on 2014/01/08 07:42:48 UTC

svn commit: r1556450 - in /airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core: ExperimentRequest.java JobRequest.java PullBasedOrchestrator.java utils/OrchestratorUtils.java

Author: lahiru
Date: Wed Jan  8 06:42:47 2014
New Revision: 1556450

URL: http://svn.apache.org/r1556450
Log:
more changes to orchestrator core.

Modified:
    airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java
    airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/JobRequest.java
    airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java
    airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java

Modified: airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java?rev=1556450&r1=1556449&r2=1556450&view=diff
==============================================================================
--- airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java (original)
+++ airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java Wed Jan  8 06:42:47 2014
@@ -25,4 +25,14 @@ import org.slf4j.LoggerFactory;
 
 public class ExperimentRequest {
     private final static Logger logger = LoggerFactory.getLogger(ExperimentRequest.class);
+
+    private String userName;
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
 }

Modified: airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/JobRequest.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/JobRequest.java?rev=1556450&r1=1556449&r2=1556450&view=diff
==============================================================================
--- airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/JobRequest.java (original)
+++ airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/JobRequest.java Wed Jan  8 06:42:47 2014
@@ -25,4 +25,24 @@ import org.slf4j.LoggerFactory;
 
 public class JobRequest {
     private final static Logger logger = LoggerFactory.getLogger(JobRequest.class);
+
+    private String userName;
+
+    private String experimentID;
+
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    public String getExperimentID() {
+        return experimentID;
+    }
+
+    public void setExperimentID(String experimentID) {
+        this.experimentID = experimentID;
+    }
 }

Modified: airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java?rev=1556450&r1=1556449&r2=1556450&view=diff
==============================================================================
--- airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java (original)
+++ airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java Wed Jan  8 06:42:47 2014
@@ -77,7 +77,6 @@ public class PullBasedOrchestrator imple
             executor = Executors.newFixedThreadPool(orchestratorConfiguration.getThreadPoolSize());
 
 
-
         } catch (RegistryException e) {
             logger.error("Failed to initializing Orchestrator");
             OrchestratorException orchestratorException = new OrchestratorException(e);
@@ -99,18 +98,43 @@ public class PullBasedOrchestrator imple
         return false;  //To change body of implemented methods use File | Settings | File Templates.
     }
 
+    //todo decide whether to return an error or do what
+
     public String createExperiment(ExperimentRequest request) throws OrchestratorException {
-        return null;  //To change body of implemented methods use File | Settings | File Templates.
+        String experimentID = UUID.randomUUID().toString();
+        String username = request.getUserName();
+        try {
+            airavataRegistry.storeExperiment(username, experimentID);
+        } catch (RegistryException e) {
+            //todo put more meaningful error message
+            logger.error("Failed to create experiment for the request from " + request.getUserName());
+            throw new OrchestratorException(e);
+        }
+        return experimentID;
     }
 
     public boolean acceptExperiment(JobRequest request) throws OrchestratorException {
-        return false;  //To change body of implemented methods use File | Settings | File Templates.
+        // validate the jobRequest first
+        if (!OrchestratorUtils.validateJobRequest(request)) {
+            logger.error("Invalid Job request sent, Experiment creation failed");
+            return false;
+        }
+        String experimentID = request.getExperimentID();
+        String username = request.getUserName();
+        try {
+            airavataRegistry.storeExperiment(username, experimentID);
+        } catch (RegistryException e) {
+            //todo put more meaningful error message
+            logger.error("Failed to create experiment for the request from " + request.getUserName());
+            return false;
+        }
+        return true;
     }
 
     public void startJobSubmitter() throws OrchestratorException {
         for (int i = 0; i < orchestratorContext.getOrchestratorConfiguration().getThreadPoolSize(); i++) {
-                JobSubmitterWorker jobSubmitterWorker = new JobSubmitterWorker(orchestratorContext);
-                executor.execute(jobSubmitterWorker);
+            JobSubmitterWorker jobSubmitterWorker = new JobSubmitterWorker(orchestratorContext);
+            executor.execute(jobSubmitterWorker);
         }
     }
 }

Modified: airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java
URL: http://svn.apache.org/viewvc/airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java?rev=1556450&r1=1556449&r2=1556450&view=diff
==============================================================================
--- airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java (original)
+++ airavata/sandbox/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/utils/OrchestratorUtils.java Wed Jan  8 06:42:47 2014
@@ -20,6 +20,7 @@
 */
 package org.apache.airavata.orchestrator.core.utils;
 
+import org.apache.airavata.orchestrator.core.JobRequest;
 import org.apache.airavata.orchestrator.core.JobSubmitterWorker;
 import org.apache.airavata.orchestrator.core.OrchestratorConfiguration;
 import org.apache.airavata.orchestrator.core.exception.OrchestratorException;
@@ -51,4 +52,10 @@ public class OrchestratorUtils {
         return orchestratorConfiguration;
     }
 
+    public static boolean validateJobRequest(JobRequest request){
+        /* todo implement a job request validation */
+
+        return true;
+    }
+
 }