You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ra...@apache.org on 2014/01/16 16:38:00 UTC

svn commit: r1558837 - in /airavata/trunk: ./ modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/ modules/orchestra...

Author: raminder
Date: Thu Jan 16 15:38:00 2014
New Revision: 1558837

URL: http://svn.apache.org/r1558837
Log:
Orchestrator data changes to pass application and job request

Modified:
    airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java
    airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java
    airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java
    airavata/trunk/modules/orchestrator/orchestrator-core/src/test/resources/data-derby.sql
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Orchestrator_Data.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/OrchestratorDataResource.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-derby.sql
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-mysql.sql
    airavata/trunk/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/persistance/registry/jpa/OrchestratorDataResourceTest.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/test/resources/data-derby.sql
    airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/OrchestratorRegistry.java
    airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/orchestrator/OrchestratorData.java
    airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/orchestrator/impl/OrchestratorDataImpl.java
    airavata/trunk/modules/rest/client/src/main/java/org/apache/airavata/rest/client/RegistryClient.java
    airavata/trunk/pom.xml

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/ExperimentRequest.java Thu Jan 16 15:38:00 2014
@@ -20,8 +20,6 @@
 */
 package org.apache.airavata.orchestrator.core;
 
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 
 /**
  * This is the initial experiment Creation request
@@ -29,13 +27,16 @@ import org.slf4j.LoggerFactory;
  * This contains user specified userExperimentID
  */
 public class ExperimentRequest {
-    private final static Logger logger = LoggerFactory.getLogger(ExperimentRequest.class);
-
+  
     private String userName;
 
     private String userExperimentID;
     
-    private String orchestratorID;
+    private String systemExperimentID;
+    
+    private String applicationName;
+    
+    private String jobRequest;
 
     public String getUserExperimentID() {
         return userExperimentID;
@@ -53,11 +54,27 @@ public class ExperimentRequest {
         this.userName = userName;
     }
 
-	public String getOrchestratorID() {
-		return orchestratorID;
+	public String getSystemExperimentID() {
+		return systemExperimentID;
+	}
+
+	public void setSystemExperimentID(String systemExperimentID) {
+		this.systemExperimentID = systemExperimentID;
+	}
+
+	public String getApplicationName() {
+		return applicationName;
+	}
+
+	public void setApplicationName(String applicationName) {
+		this.applicationName = applicationName;
+	}
+
+	public String getJobRequest() {
+		return jobRequest;
 	}
 
-	public void setOrchestratorID(String orchestratorID) {
-		this.orchestratorID = orchestratorID;
+	public void setJobRequest(String jobRequest) {
+		this.jobRequest = jobRequest;
 	}
 }

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/PullBasedOrchestrator.java Thu Jan 16 15:38:00 2014
@@ -20,6 +20,16 @@
 */
 package org.apache.airavata.orchestrator.core;
 
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Iterator;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.UUID;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+
 import org.apache.airavata.client.AiravataAPIFactory;
 import org.apache.airavata.client.api.AiravataAPI;
 import org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
@@ -31,18 +41,16 @@ import org.apache.airavata.orchestrator.
 import org.apache.airavata.orchestrator.core.exception.OrchestratorException;
 import org.apache.airavata.orchestrator.core.gfac.GFACInstance;
 import org.apache.airavata.orchestrator.core.job.JobSubmitter;
-import org.apache.airavata.orchestrator.core.utils.OrchestratorConstants;
 import org.apache.airavata.orchestrator.core.utils.OrchestratorUtils;
-import org.apache.airavata.registry.api.*;
+import org.apache.airavata.registry.api.AiravataRegistry2;
+import org.apache.airavata.registry.api.AiravataRegistryFactory;
+import org.apache.airavata.registry.api.AiravataUser;
+import org.apache.airavata.registry.api.Gateway;
+import org.apache.airavata.registry.api.JobRequest;
 import org.apache.airavata.registry.api.exception.RegistryException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import java.io.IOException;
-import java.util.*;
-import java.util.concurrent.ExecutorService;
-import java.util.concurrent.Executors;
-
 public class PullBasedOrchestrator implements Orchestrator {
     private final static Logger logger = LoggerFactory.getLogger(PullBasedOrchestrator.class);
 
@@ -132,13 +140,11 @@ public class PullBasedOrchestrator imple
     public String createExperiment(ExperimentRequest request) throws OrchestratorException {
         //todo use a consistent method to create the experiment ID
         String experimentID = request.getUserExperimentID();
-        String orchestratorID = UUID.randomUUID().toString();
         if(experimentID == null){
-            experimentID = orchestratorID;
+        	experimentID = UUID.randomUUID().toString(); 
         }
-        String username = request.getUserName();
         try {
-            airavataRegistry.storeExperiment(username, experimentID, orchestratorID);
+            airavataRegistry.storeExperiment(request.getUserName(), experimentID, request.getApplicationName(), request.getJobRequest());
         } catch (RegistryException e) {
             //todo put more meaningful error  message
             logger.error("Failed to create experiment for the request from " + request.getUserName());

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/main/java/org/apache/airavata/orchestrator/core/impl/EmbeddedGFACJobSubmitter.java Thu Jan 16 15:38:00 2014
@@ -21,6 +21,13 @@
 package org.apache.airavata.orchestrator.core.impl;
 
 
+import java.io.File;
+import java.net.URL;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Map;
+import java.util.Properties;
+
 import org.apache.airavata.client.api.AiravataAPI;
 import org.apache.airavata.client.api.exception.AiravataAPIInvocationException;
 import org.apache.airavata.common.utils.AiravataJobState;
@@ -31,7 +38,6 @@ import org.apache.airavata.commons.gfac.
 import org.apache.airavata.gfac.Constants;
 import org.apache.airavata.gfac.GFacAPI;
 import org.apache.airavata.gfac.GFacConfiguration;
-import org.apache.airavata.gfac.GFacException;
 import org.apache.airavata.gfac.context.ApplicationContext;
 import org.apache.airavata.gfac.context.JobExecutionContext;
 import org.apache.airavata.gfac.context.MessageContext;
@@ -40,24 +46,10 @@ import org.apache.airavata.orchestrator.
 import org.apache.airavata.orchestrator.core.exception.OrchestratorException;
 import org.apache.airavata.orchestrator.core.gfac.GFACInstance;
 import org.apache.airavata.orchestrator.core.job.JobSubmitter;
-import org.apache.airavata.orchestrator.core.utils.OrchestratorConstants;
 import org.apache.airavata.orchestrator.core.utils.OrchestratorUtils;
-import org.apache.airavata.registry.api.AiravataRegistry2;
 import org.apache.airavata.registry.api.JobRequest;
-import org.apache.airavata.registry.api.exception.RegistryException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
-import org.xml.sax.SAXException;
-
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.xpath.XPathExpressionException;
-import java.io.File;
-import java.io.IOException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.Map;
-import java.util.Properties;
 
 /**
  * This is the simplest implementation for JobSubmitter,

Modified: airavata/trunk/modules/orchestrator/orchestrator-core/src/test/resources/data-derby.sql
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/orchestrator/orchestrator-core/src/test/resources/data-derby.sql?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/orchestrator/orchestrator-core/src/test/resources/data-derby.sql (original)
+++ airavata/trunk/modules/orchestrator/orchestrator-core/src/test/resources/data-derby.sql Thu Jan 16 15:38:00 2014
@@ -273,6 +273,8 @@ create table Orchestrator_Data
         status varchar(255),
         state varchar(255),
         gfacEPR varchar(255),
+        applicationName varchar(255),
+        jobRequest CLOB,
         PRIMARY KEY (experiment_ID)
 );
 

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java Thu Jan 16 15:38:00 2014
@@ -2581,9 +2581,9 @@ public class AiravataJPARegistry extends
         return false;  //To change body of implemented methods use File | Settings | File Templates.
     }
 
-    public boolean storeExperiment(String userName, String experimentID, String orchestratorID) throws RegistryException {
+    public boolean storeExperiment(String userName, String experimentID, String applicationName, String jobRequest) throws RegistryException {
     	GatewayResource gateway = jpa.getGateway();
-		OrchestratorDataResource dataResource = gateway.createOrchestratorData(orchestratorID); 
+		OrchestratorDataResource dataResource = gateway.createOrchestratorData(experimentID); 
 		dataResource.setUserName(userName);
 		dataResource.setExperimentID(experimentID);
 		dataResource.setStatus(AiravataJobState.State.CREATED.toString());
@@ -2598,9 +2598,9 @@ public class AiravataJPARegistry extends
 		dataResource.save();
 		return true; 
     }
-    public boolean changeStatus(String orchestratorID, AiravataJobState.State state, String gfacEPR) throws RegistryException {
+    public boolean changeStatus(String experimentID, AiravataJobState.State state, String gfacEPR) throws RegistryException {
     	GatewayResource gateway = jpa.getGateway();
-		OrchestratorDataResource dataResource = gateway.createOrchestratorData(orchestratorID); 
+		OrchestratorDataResource dataResource = gateway.createOrchestratorData(experimentID); 
 		dataResource.setStatus(state.toString());
 		dataResource.setGfacEPR(gfacEPR);
 		dataResource.save();

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Orchestrator_Data.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Orchestrator_Data.java?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Orchestrator_Data.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Orchestrator_Data.java Thu Jan 16 15:38:00 2014
@@ -3,6 +3,7 @@ package org.apache.airavata.persistance.
 import javax.persistence.Entity;
 import javax.persistence.GeneratedValue;
 import javax.persistence.Id;
+import javax.persistence.Lob;
 import javax.persistence.Table;
 
 @Entity
@@ -17,6 +18,9 @@ public class Orchestrator_Data {
 	private String status;
 	private String state;
 	private String gfacEPR;
+	private String applicationName;
+	@Lob
+	private String jobRequest;
 	
 	public String getExperiment_ID() {
 		return experiment_ID;
@@ -55,6 +59,18 @@ public class Orchestrator_Data {
 	public void setGfacEPR(String gfacEPR) {
 		this.gfacEPR = gfacEPR;
 	}
+	public String getApplicationName() {
+		return applicationName;
+	}
+	public void setApplicationName(String applicationName) {
+		this.applicationName = applicationName;
+	}
+	public String getJobRequest() {
+		return jobRequest;
+	}
+	public void setJobRequest(String jobRequest) {
+		this.jobRequest = jobRequest;
+	}
 	
 
 }

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java Thu Jan 16 15:38:00 2014
@@ -219,6 +219,9 @@ public abstract class AbstractResource i
 		public static final String USERNAME = "username";
 		public static final String STATUS = "status";
 		public static final String STATE = "state";
+		public static final String APPLICATION_NAME = "applicationName";
+		public static final String JOB_REQUEST = "jobRequest";
+		
 	}
 
 	protected AbstractResource() {

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/OrchestratorDataResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/OrchestratorDataResource.java?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/OrchestratorDataResource.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/OrchestratorDataResource.java Thu Jan 16 15:38:00 2014
@@ -9,6 +9,7 @@ import javax.persistence.Query;
 import org.apache.airavata.persistance.registry.jpa.Resource;
 import org.apache.airavata.persistance.registry.jpa.ResourceType;
 import org.apache.airavata.persistance.registry.jpa.ResourceUtils;
+import org.apache.airavata.persistance.registry.jpa.model.Experiment;
 import org.apache.airavata.persistance.registry.jpa.model.Orchestrator_Data;
 import org.apache.airavata.persistance.registry.jpa.utils.QueryGenerator;
 import org.slf4j.Logger;
@@ -20,9 +21,11 @@ public class OrchestratorDataResource ex
 	private String experimentID;
 	private int orchestratorID;
 	private String userName;
+	private String applicationName;
 	private String status;
 	private String state;
 	private String gfacEPR;
+	private String jobRequest;
 	private GatewayResource gateway;
 
 	public String getExperimentID() {
@@ -49,6 +52,14 @@ public class OrchestratorDataResource ex
 		this.userName = userName;
 	}
 
+	public String getApplicationName() {
+		return applicationName;
+	}
+
+	public void setApplicationName(String applicationName) {
+		this.applicationName = applicationName;
+	}
+
 	public String getStatus() {
 		return status;
 	}
@@ -73,6 +84,14 @@ public class OrchestratorDataResource ex
 		this.gfacEPR = gfacEPR;
 	}
 
+	public String getJobRequest() {
+		return jobRequest;
+	}
+
+	public void setJobRequest(String jobRequest) {
+		this.jobRequest = jobRequest;
+	}
+
 	public GatewayResource getGateway() {
 		return gateway;
 	}
@@ -90,6 +109,8 @@ public class OrchestratorDataResource ex
 	            orchestratorResource.setState(state);
 	            orchestratorResource.setStatus(status);
 	            orchestratorResource.setGfacEPR(gfacEPR);
+	            orchestratorResource.setApplicationName(applicationName);
+	            orchestratorResource.setJobRequest(jobRequest);
 	            return orchestratorResource;
 	        } else {
 	            log.error("Unsupported resource type for orchestrator resource.", new IllegalArgumentException());
@@ -106,13 +127,13 @@ public class OrchestratorDataResource ex
 	@Override
 	public Resource get(ResourceType type, Object name) {
 		  EntityManager em = ResourceUtils.getEntityManager();
-	        em.getTransaction().begin();
-	        QueryGenerator generator;
-	        Query q;
+	      em.getTransaction().begin();
+	      QueryGenerator generator;
+	      Query q;
 	        switch (type) {
 	            case ORCHESTRATOR_DATA:
 	                generator = new QueryGenerator(ORCHESTRATORDATA);
-	                generator.setParameter(OrchestratorDataConstants.EXPERIMENT_ID, name);
+	                generator.setParameter(OrchestratorDataConstants.EXPERIMENT_ID, name.toString());
 	                q = generator.selectQuery(em);
 	                Orchestrator_Data orchestrator_data = (Orchestrator_Data)q.getSingleResult();
 	                OrchestratorDataResource orchestratorDataResource = (OrchestratorDataResource)Utils.getResource(ResourceType.ORCHESTRATOR_DATA, orchestrator_data);
@@ -126,7 +147,33 @@ public class OrchestratorDataResource ex
 	                throw new IllegalArgumentException("Unsupported resource type for node data resource.");
 	        }
 	}
+	public List<Resource> getDataWithStatus(ResourceType type,Object name) {
+		 List<Resource> resourceList = new ArrayList<Resource>();
 
+	        if (type == ResourceType.ORCHESTRATOR_DATA) {
+	            EntityManager em = ResourceUtils.getEntityManager();
+	            em.getTransaction().begin();
+	        	QueryGenerator generator = new QueryGenerator(ORCHESTRATORDATA);
+	        	generator.setParameter(OrchestratorDataConstants.STATUS, name);
+	        	Query q = generator.selectQuery(em);
+	            List<?> results = q.getResultList();
+	            if (results.size() != 0) {
+	                for (Object result : results) {
+	                	Orchestrator_Data orchestratorData = (Orchestrator_Data) result;
+	                	OrchestratorDataResource orchestratorDataResource = (OrchestratorDataResource)
+	                            Utils.getResource(ResourceType.ORCHESTRATOR_DATA, orchestratorData);
+	                    resourceList.add(orchestratorDataResource);
+	                }
+	            }
+	            em.getTransaction().commit();
+	            em.close();
+	        } else {
+	            log.error("Unsupported resource type for orchestrator data resource.", new IllegalArgumentException());
+	            throw new IllegalArgumentException("Unsupported resource type for orchestrator data resource.");
+	        }
+	        return resourceList;
+	}
+	
 	@Override
 	public List<Resource> get(ResourceType type) {
 		 List<Resource> resourceList = new ArrayList<Resource>();
@@ -161,7 +208,6 @@ public class OrchestratorDataResource ex
 		Orchestrator_Data existingOrchestratorData = em.find(Orchestrator_Data.class,
 				experimentID);
 		em.close();
-
 		em = ResourceUtils.getEntityManager();
 		em.getTransaction().begin();
 		Orchestrator_Data orchestratorData = new Orchestrator_Data();
@@ -170,19 +216,22 @@ public class OrchestratorDataResource ex
 		orchestratorData.setGfacEPR(gfacEPR);
 		orchestratorData.setState(state);
 		orchestratorData.setStatus(status);
+		orchestratorData.setApplicationName(applicationName);
+		orchestratorData.setJobRequest(jobRequest);
 		if (existingOrchestratorData != null) {
 			existingOrchestratorData.setExperiment_ID(experimentID);
 			existingOrchestratorData.setUserName(userName);
 			existingOrchestratorData.setState(state);
 			existingOrchestratorData.setStatus(status);
 			existingOrchestratorData.setGfacEPR(gfacEPR);
+			existingOrchestratorData.setApplicationName(applicationName);
+			existingOrchestratorData.setJobRequest(jobRequest);
 			orchestratorData = em.merge(existingOrchestratorData);
 		} else {
 			em.persist(orchestratorData);
 		}
 		em.getTransaction().commit();
 		em.close();
-
 	}
 
 }
\ No newline at end of file

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java Thu Jan 16 15:38:00 2014
@@ -331,6 +331,13 @@ public class Utils {
                     logger.error("Object should be a GFac Job Status type.", new IllegalArgumentException());
                     throw new IllegalArgumentException("Object should be a GFac Job Status.");
                 }
+            case ORCHESTRATOR_DATA:
+            	if(o instanceof Orchestrator_Data){
+            		return createOrchestratorData((Orchestrator_Data)o);
+            	}else{
+            		 logger.error("Object should be orchestrator data.", new IllegalArgumentException());
+                     throw new IllegalArgumentException("Object should be orchestrator data.");
+            	}
             default:
         }
         return null;
@@ -645,6 +652,16 @@ public class Utils {
         return gFacJobStatusResource;
     }
 
+    private static Resource createOrchestratorData(Orchestrator_Data data){
+    	OrchestratorDataResource dataResource = new OrchestratorDataResource();
+    	dataResource.setExperimentID(data.getExperiment_ID());
+    	dataResource.setUserName(data.getUserName());
+    	dataResource.setApplicationName(data.getApplicationName());
+    	dataResource.setStatus(data.getStatus());
+    	dataResource.setGfacEPR(data.getGfacEPR());
+    	dataResource.setJobRequest(data.getJobRequest());
+    	return dataResource;
+    }
 //    public static byte[] getByteArray(String content){
 //        byte[] contentBytes = content.getBytes();
 //        return contentBytes;

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-derby.sql
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-derby.sql?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-derby.sql (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-derby.sql Thu Jan 16 15:38:00 2014
@@ -273,6 +273,8 @@ create table Orchestrator_Data
         status varchar(255),
         state varchar(255),
         gfacEPR varchar(255),
+        applicationName varchar(255),
+        jobRequest CLOB,
         PRIMARY KEY (experiment_ID)
 );
 

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-mysql.sql
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-mysql.sql?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-mysql.sql (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-mysql.sql Thu Jan 16 15:38:00 2014
@@ -270,6 +270,8 @@ create table Orchestrator_Data
         status varchar(255),
         state varchar(255),
         gfacEPR varchar(255),
+        applicationName varchar(255),
+        jobRequest LONGTEXT,
         PRIMARY KEY (experiment_ID)
 );
 

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/persistance/registry/jpa/OrchestratorDataResourceTest.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/persistance/registry/jpa/OrchestratorDataResourceTest.java?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/persistance/registry/jpa/OrchestratorDataResourceTest.java (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/persistance/registry/jpa/OrchestratorDataResourceTest.java Thu Jan 16 15:38:00 2014
@@ -9,6 +9,7 @@ import org.apache.airavata.persistance.r
 public class OrchestratorDataResourceTest extends AbstractResourceTest{
 	 private OrchestratorDataResource dataResource;
 	 private String experimentID = UUID.randomUUID().toString();
+	 private String applicationName = "echo_test";
 	
 	 @Override
 	    public void setUp() throws Exception {
@@ -21,14 +22,13 @@ public class OrchestratorDataResourceTes
 	    public void testSave() throws Exception {
 	        dataResource.setExperimentID(experimentID);
 	        dataResource.setStatus(AiravataJobState.State.CREATED.toString());
+	        dataResource.setApplicationName(applicationName);
 	        dataResource.save();
 	        assertNotNull("Orchestrator data resource created successfully", dataResource);
+	        // Get saved data
+	        assertNotNull("Orchestrator data resource get successfully", dataResource.get(ResourceType.ORCHESTRATOR_DATA, experimentID));
 	    }
 
-	    public void testGet() throws Exception {
-//	        dataResource.get(ResourceType.ORCHESTRATOR_DATA, experimentID);
-//	        assertNotNull("Orchestrator data resource created successfully", dataResource);
-	    }
 	    @Override
 	    public void tearDown() throws Exception {
 	        super.tearDown();

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/test/resources/data-derby.sql
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/test/resources/data-derby.sql?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/test/resources/data-derby.sql (original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/test/resources/data-derby.sql Thu Jan 16 15:38:00 2014
@@ -274,6 +274,8 @@ create table Orchestrator_Data
         status varchar(255),
         state varchar(255),
         gfacEPR varchar(255),
+        applicationName varchar(255),
+        jobRequest CLOB,
         PRIMARY KEY (experiment_ID)
 );
 -- CREATE TABLE openjpa_sequence_table

Modified: airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/OrchestratorRegistry.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/OrchestratorRegistry.java?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/OrchestratorRegistry.java (original)
+++ airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/OrchestratorRegistry.java Thu Jan 16 15:38:00 2014
@@ -54,7 +54,7 @@ public interface OrchestratorRegistry ex
      * @return
      * @throws RegistryException
      */
-    boolean storeExperiment(String userName,String experimentID, String orchestratorID)throws RegistryException;
+    boolean storeExperiment(String userName,String experimentID, String applicationName, String jobRequest)throws RegistryException;
 
     /**
      * This can be used to change the status to any valid status

Modified: airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/orchestrator/OrchestratorData.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/orchestrator/OrchestratorData.java?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/orchestrator/OrchestratorData.java (original)
+++ airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/orchestrator/OrchestratorData.java Thu Jan 16 15:38:00 2014
@@ -30,6 +30,10 @@ public interface OrchestratorData {
 	public String getUser();
 
 	/**
+	 * Returns application name to execute
+	 */
+	public String getApplicationName();
+	/**
 	 * Returns GFAC service URL
 	 * 
 	 * @return
@@ -80,6 +84,11 @@ public interface OrchestratorData {
 	 */
 	public void setStatus(String status);
 
+	/**
+	 * 
+	 * @param applicationName
+	 */
+	public void setApplicationName(String applicationName);
 
 	
 }

Modified: airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/orchestrator/impl/OrchestratorDataImpl.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/orchestrator/impl/OrchestratorDataImpl.java?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/orchestrator/impl/OrchestratorDataImpl.java (original)
+++ airavata/trunk/modules/registry/registry-api/src/main/java/org/apache/airavata/registry/api/orchestrator/impl/OrchestratorDataImpl.java Thu Jan 16 15:38:00 2014
@@ -16,6 +16,7 @@ public class OrchestratorDataImpl implem
 	private String status;
 	private String state;
 	private String gfacEPR;
+	private String applicationName;
 	private boolean lazyLoaded=false;
 
     public OrchestratorDataImpl() {
@@ -80,5 +81,13 @@ public class OrchestratorDataImpl implem
 	public void setStatus(String status) {
 		this.status = status;
 	}
+	@Override
+	public String getApplicationName() {
+		return applicationName;
+	}
+	@Override
+	public void setApplicationName(String applicationName) {
+		this.applicationName = applicationName;
+	}
 
 }

Modified: airavata/trunk/modules/rest/client/src/main/java/org/apache/airavata/rest/client/RegistryClient.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/rest/client/src/main/java/org/apache/airavata/rest/client/RegistryClient.java?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/modules/rest/client/src/main/java/org/apache/airavata/rest/client/RegistryClient.java (original)
+++ airavata/trunk/modules/rest/client/src/main/java/org/apache/airavata/rest/client/RegistryClient.java Thu Jan 16 15:38:00 2014
@@ -1057,7 +1057,7 @@ public class RegistryClient extends Aira
 
 	@Override
 	public boolean storeExperiment(String userName, String experimentID,
-			String orchestratorID) throws RegistryException {
+			String applicationName, String jobRequest) throws RegistryException {
 		// TODO Auto-generated method stub
 		return false;
 	}

Modified: airavata/trunk/pom.xml
URL: http://svn.apache.org/viewvc/airavata/trunk/pom.xml?rev=1558837&r1=1558836&r2=1558837&view=diff
==============================================================================
--- airavata/trunk/pom.xml (original)
+++ airavata/trunk/pom.xml Thu Jan 16 15:38:00 2014
@@ -446,6 +446,7 @@
                 <module>modules/credential-store</module>
                 <module>modules/rest</module>
                 <module>modules/thrift</module>
+                <module>modules/orchestrator</module>
                 <module>tools</module>
                 <module>samples</module>
                 <module>modules/server</module>