airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From samin...@apache.org
Subject svn commit: r1388568 - in /airavata/trunk/modules: commons/registry-api/src/main/java/org/apache/airavata/registry/api/ registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/ registry/airavata-jpa-registry/src/m...
Date Fri, 21 Sep 2012 17:07:08 GMT
Author: samindaw
Date: Fri Sep 21 17:07:07 2012
New Revision: 1388568

URL: http://svn.apache.org/viewvc?rev=1388568&view=rev
Log:
fixing the issues in provenance data save, adding default project & adding experiment
and workflow instance if not present

Modified:
    airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/ProjectsRegistry.java
    airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/ProvenanceRegistry.java
    airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/WorkspaceProject.java
    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/resources/ExperimentResource.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeDataResource.java
    airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java
    airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/model/registrybrowser/XBayaWorkflowExperiments.java

Modified: airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/ProjectsRegistry.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/ProjectsRegistry.java?rev=1388568&r1=1388567&r2=1388568&view=diff
==============================================================================
--- airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/ProjectsRegistry.java
(original)
+++ airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/ProjectsRegistry.java
Fri Sep 21 17:07:07 2012
@@ -32,6 +32,8 @@ import org.apache.airavata.registry.api.
 public interface ProjectsRegistry extends AiravataSubRegistry {
 	
 	//------------Project management
+	public boolean isWorkspaceProjectExists(String projectName) throws RegistryException;
+	public boolean isWorkspaceProjectExists(String projectName, boolean createIfNotExists) throws
RegistryException;
 	public void addWorkspaceProject(WorkspaceProject project) throws WorkspaceProjectAlreadyExistsException,
RegistryException;
 	public void updateWorkspaceProject(WorkspaceProject project) throws WorkspaceProjectDoesNotExistsException,
RegistryException;
 	public void deleteWorkspaceProject(String projectName) throws WorkspaceProjectDoesNotExistsException,
RegistryException;
@@ -39,7 +41,7 @@ public interface ProjectsRegistry extend
 	public List<WorkspaceProject> getWorkspaceProjects() throws RegistryException;
 	
 	//------------Experiment management
-	public void addExperiment(String projectName, AiravataExperiment experiment) throws WorkspaceProjectDoesNotExistsException,
ExperimentDoesNotExistsException;
+	public void addExperiment(String projectName, AiravataExperiment experiment) throws WorkspaceProjectDoesNotExistsException,
ExperimentDoesNotExistsException, RegistryException;
 	public void removeExperiment(String experimentId) throws ExperimentDoesNotExistsException;
 	public List<AiravataExperiment> getExperiments() throws RegistryException;
 	public List<AiravataExperiment> getExperiments(String projectName)throws RegistryException;

Modified: airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/ProvenanceRegistry.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/ProvenanceRegistry.java?rev=1388568&r1=1388567&r2=1388568&view=diff
==============================================================================
--- airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/ProvenanceRegistry.java
(original)
+++ airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/ProvenanceRegistry.java
Fri Sep 21 17:07:07 2012
@@ -50,6 +50,8 @@ public interface ProvenanceRegistry exte
      */
 	public abstract boolean isExperimentExists(String experimentId) throws RegistryException;
 	
+	public abstract boolean isExperimentExists(String experimentId, boolean createIfNotPresent)
throws RegistryException;
+	
     /**
      * Save the username of the user who runs this experiment 
      * @param experimentId
@@ -123,6 +125,8 @@ public interface ProvenanceRegistry exte
 
     public boolean isWorkflowInstanceExists(String instanceId) throws RegistryException;
     
+    public boolean isWorkflowInstanceExists(String instanceId, boolean createIfNotPresent)
throws RegistryException;
+    
     /**
      * Save a status for this workflow execution with the current time at the moment
      * @param instanceId

Modified: airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/WorkspaceProject.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/WorkspaceProject.java?rev=1388568&r1=1388567&r2=1388568&view=diff
==============================================================================
--- airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/WorkspaceProject.java
(original)
+++ airavata/trunk/modules/commons/registry-api/src/main/java/org/apache/airavata/registry/api/WorkspaceProject.java
Fri Sep 21 17:07:07 2012
@@ -25,8 +25,6 @@ import java.util.Date;
 import java.util.List;
 
 import org.apache.airavata.common.registry.api.exception.RegistryException;
-import org.apache.airavata.registry.api.exception.worker.ExperimentDoesNotExistsException;
-import org.apache.airavata.registry.api.exception.worker.WorkspaceProjectDoesNotExistsException;
 
 public class WorkspaceProject{
 	private String projectName;
@@ -53,7 +51,7 @@ public class WorkspaceProject{
 		this.projectsRegistry = projectsRegistry;
 	}
 	
-	public void createExperiment(AiravataExperiment experiment) throws WorkspaceProjectDoesNotExistsException,
ExperimentDoesNotExistsException{
+	public void createExperiment(AiravataExperiment experiment) throws RegistryException{
 		getProjectsRegistry().addExperiment(getProjectName(), experiment);
 	}
 	

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=1388568&r1=1388567&r2=1388568&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
Fri Sep 21 17:07:07 2012
@@ -80,10 +80,10 @@ import org.apache.airavata.registry.api.
 import org.apache.airavata.registry.api.workflow.WorkflowInstanceNodeData;
 import org.apache.airavata.registry.api.workflow.WorkflowInstanceNodeStatus;
 import org.apache.airavata.registry.api.workflow.WorkflowInstanceStatus;
-import org.apache.airavata.registry.api.workflow.WorkflowNodeType;
 import org.apache.airavata.registry.api.workflow.WorkflowInstanceStatus.ExecutionStatus;
 import org.apache.airavata.registry.api.workflow.WorkflowNodeGramData;
 import org.apache.airavata.registry.api.workflow.WorkflowNodeIOData;
+import org.apache.airavata.registry.api.workflow.WorkflowNodeType;
 import org.apache.xmlbeans.XmlException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -92,6 +92,7 @@ public class AiravataJPARegistry extends
     private final static Logger logger = LoggerFactory.getLogger(AiravataJPARegistry.class);
     private JPAResourceAccessor jpa;
     private boolean active=false;
+    private static final String DEFAULT_PROJECT_NAME = "default";
     
     @Override
     protected void initialize() {
@@ -505,39 +506,71 @@ public class AiravataJPARegistry extends
 
     /**---------------------------------Project Registry----------------------------------**/
 
-    public void addWorkspaceProject(WorkspaceProject project) throws WorkspaceProjectAlreadyExistsException
{
+    private String createProjName(String projectName){
+    	return createProjName(getGateway().getGatewayName(),getUser().getUserName(),projectName);
+    }
+    
+    private String createProjName(String gatewayName, String userName, String projectName){
+    	return gatewayName+"\n"+userName+"\n"+projectName;
+    }
+    
+    private String getProjName(String projectLongName){
+    	String[] s = projectLongName.split("\n");
+    	return s[s.length-1];
+    }
+    
+	@Override
+	public boolean isWorkspaceProjectExists(String projectName)
+			throws RegistryException {
+		return isWorkspaceProjectExists(projectName, false);
+	}
+
+	@Override
+	public boolean isWorkspaceProjectExists(String projectName,
+			boolean createIfNotExists) throws RegistryException {
+		if (jpa.getWorker().isProjectExists(createProjName(projectName))){
+			return true;
+		}else if (createIfNotExists){
+			addWorkspaceProject(new WorkspaceProject(projectName, this));
+			return isWorkspaceProjectExists(projectName);
+		}else{
+			return false;
+		}
+	}
+
+    public void addWorkspaceProject(WorkspaceProject project) throws RegistryException {
     	WorkerResource worker = jpa.getWorker();
-		if (worker.isProjectExists(project.getProjectName())){
-        	throw new WorkspaceProjectAlreadyExistsException(project.getProjectName());
+		if (isWorkspaceProjectExists(project.getProjectName())){
+        	throw new WorkspaceProjectAlreadyExistsException(createProjName(project.getProjectName()));
         }
-		ProjectResource projectResource = worker.createProject(project.getProjectName());
+		ProjectResource projectResource = worker.createProject(createProjName(project.getProjectName()));
 		projectResource.save();
     }
 
-    public void updateWorkspaceProject(WorkspaceProject project) throws WorkspaceProjectDoesNotExistsException
{
+    public void updateWorkspaceProject(WorkspaceProject project) throws RegistryException
{
     	WorkerResource worker = jpa.getWorker();
-		if (!worker.isProjectExists(project.getProjectName())){
-        	throw new WorkspaceProjectDoesNotExistsException(project.getProjectName());
+		if (!isWorkspaceProjectExists(project.getProjectName())){
+        	throw new WorkspaceProjectDoesNotExistsException(createProjName(project.getProjectName()));
         }
-		ProjectResource projectResource = worker.getProject(project.getProjectName());
+		ProjectResource projectResource = worker.getProject(createProjName(project.getProjectName()));
 		projectResource.save();
     }
 
-    public void deleteWorkspaceProject(String projectName) throws WorkspaceProjectDoesNotExistsException
{
+    public void deleteWorkspaceProject(String projectName) throws RegistryException {
     	WorkerResource worker = jpa.getWorker();
-		if (!worker.isProjectExists(projectName)){
-        	throw new WorkspaceProjectDoesNotExistsException(projectName);
+		if (!isWorkspaceProjectExists(projectName)){
+        	throw new WorkspaceProjectDoesNotExistsException(createProjName(projectName));
         }
-		worker.removeProject(projectName);
+		worker.removeProject(createProjName(projectName));
     }
 
-    public WorkspaceProject getWorkspaceProject(String projectName) throws WorkspaceProjectDoesNotExistsException
{
+    public WorkspaceProject getWorkspaceProject(String projectName) throws RegistryException
{
     	WorkerResource worker = jpa.getWorker();
-		if (!worker.isProjectExists(projectName)){
-        	throw new WorkspaceProjectDoesNotExistsException(projectName);
+		if (!isWorkspaceProjectExists(projectName)){
+        	throw new WorkspaceProjectDoesNotExistsException(createProjName(projectName));
         }
-		ProjectResource projectResource = worker.getProject(projectName);
-		return new WorkspaceProject(projectResource.getName(), this);
+		ProjectResource projectResource = worker.getProject(createProjName(projectName));
+		return new WorkspaceProject(getProjName(projectResource.getName()), this);
     }
     
     public List<WorkspaceProject> getWorkspaceProjects() throws RegistryException{
@@ -545,20 +578,22 @@ public class AiravataJPARegistry extends
     	List<WorkspaceProject> projects=new ArrayList<WorkspaceProject>();
     	List<ProjectResource> projectResouces = worker.getProjects();
     	for (ProjectResource resource : projectResouces) {
-			projects.add(new WorkspaceProject(resource.getName(), this));
+			projects.add(new WorkspaceProject(getProjName(resource.getName()), this));
 		}
     	return projects;
     }
 
-    public void addExperiment(String projectName, AiravataExperiment experiment) throws WorkspaceProjectDoesNotExistsException,
ExperimentDoesNotExistsException {
+    public void addExperiment(String projectName, AiravataExperiment experiment) throws RegistryException
{
     	WorkspaceProject workspaceProject = getWorkspaceProject(projectName);
-    	ProjectResource project = jpa.getWorker().getProject(workspaceProject.getProjectName());
+    	ProjectResource project = jpa.getWorker().getProject(createProjName(workspaceProject.getProjectName()));
 		String experimentId = experiment.getExperimentId();
-		if (project.isExperimentExists(experimentId)){
+		if (isExperimentExists(experimentId)){
         	throw new ExperimentDoesNotExistsException(experimentId);
         }
 		ExperimentResource experimentResource = project.createExperiment(experimentId);
-		experimentResource.setSubmittedDate(new java.sql.Date(experiment.getSubmittedDate().getTime()));
+		if (experiment.getSubmittedDate()!=null) {
+			experimentResource.setSubmittedDate(new java.sql.Date(experiment.getSubmittedDate().getTime()));
+		}
 		experimentResource.save();
     }
 
@@ -588,12 +623,12 @@ public class AiravataJPARegistry extends
 		e.setUser(new AiravataUser(resource.getWorker().getUser()));
 		e.setSubmittedDate(new Date(resource.getSubmittedDate().getTime()));
 		e.setGateway(new Gateway(resource.getGateway().getGatewayName()));
-		e.setProject(new WorkspaceProject(resource.getProject().getName(), this));
+		e.setProject(new WorkspaceProject(getProjName(resource.getProject().getName()), this));
 		return e;
 	}
 
     public List<AiravataExperiment> getExperiments(String projectName)throws RegistryException
{
-    	ProjectResource project = jpa.getWorker().getProject(projectName);
+    	ProjectResource project = jpa.getWorker().getProject(createProjName(projectName));
     	List<ExperimentResource> experiments = project.getExperiments();
     	List<AiravataExperiment> result=new ArrayList<AiravataExperiment>();
     	for (ExperimentResource resource : experiments) {
@@ -763,12 +798,31 @@ public class AiravataJPARegistry extends
     /**---------------------------------Provenance Registry----------------------------------**/
 
 	@Override
+	public boolean isExperimentExists(String experimentId, boolean createIfNotPresent)throws
RegistryException {
+		if (jpa.getWorker().isExperimentExists(experimentId)){
+			return true; 
+		}else if (createIfNotPresent){
+			if (!isWorkspaceProjectExists(DEFAULT_PROJECT_NAME, true)){
+				throw new WorkspaceProjectDoesNotExistsException(createProjName(DEFAULT_PROJECT_NAME));
+			}
+			AiravataExperiment experiment = new AiravataExperiment();
+			experiment.setExperimentId(experimentId);
+			experiment.setSubmittedDate(Calendar.getInstance().getTime());
+			experiment.setGateway(getGateway());
+			experiment.setUser(getUser());
+			addExperiment(DEFAULT_PROJECT_NAME, experiment);
+			return jpa.getWorker().isExperimentExists(experimentId);
+		}else{
+			return false;
+		}
+	}
+
+	@Override
 	public boolean isExperimentExists(String experimentId)
 			throws RegistryException {
-		return jpa.getWorker().isExperimentExists(experimentId);
+		return isExperimentExists(experimentId, false);
 	}
 
-
 	@Override
 	public boolean updateExperimentExecutionUser(String experimentId,
 			String user) throws RegistryException {
@@ -857,7 +911,7 @@ public class AiravataJPARegistry extends
 
 	@Override
 	public String getWorkflowExecutionTemplateName(String workflowInstanceId) throws RegistryException
{
-		if (!isWorkflowInstanceExists(workflowInstanceId)){
+		if (!isWorkflowInstanceExists(workflowInstanceId, true)){
 			throw new WorkflowInstanceDoesNotExistsException(workflowInstanceId);
 		}
 		WorkflowDataResource wi = jpa.getWorker().getWorkflowInstance(workflowInstanceId);
@@ -868,7 +922,7 @@ public class AiravataJPARegistry extends
 	@Override
 	public void setWorkflowInstanceTemplateName(String workflowInstanceId,
 			String templateName) throws RegistryException {
-		if (!isWorkflowInstanceExists(workflowInstanceId)){
+		if (!isWorkflowInstanceExists(workflowInstanceId, true)){
 			throw new WorkflowInstanceDoesNotExistsException(workflowInstanceId);
 		}
 		WorkflowDataResource wi = jpa.getWorker().getWorkflowInstance(workflowInstanceId);
@@ -896,16 +950,33 @@ public class AiravataJPARegistry extends
 
 
 	@Override
+	public boolean isWorkflowInstanceExists(String instanceId, boolean createIfNotPresent) throws
RegistryException {
+		if (jpa.getWorker().isWorkflowInstancePresent(instanceId)){
+			return true;
+		}else if (createIfNotPresent){
+			//we are using the same id for the experiment id for backward compatibility 
+			//for up to airavata 0.5 
+			if (!isExperimentExists(instanceId, true)){
+				throw new ExperimentDoesNotExistsException(instanceId);
+			}
+			addWorkflowInstance(instanceId, instanceId, null);
+			return isWorkflowInstanceExists(instanceId);
+		}else{
+			return false;
+		}
+	}
+
+	@Override
 	public boolean isWorkflowInstanceExists(String instanceId)
 			throws RegistryException {
-		return jpa.getWorker().isWorkflowInstancePresent(instanceId);
+		return isWorkflowInstanceExists(instanceId, false);
 	}
 
 
 	@Override
 	public boolean updateWorkflowInstanceStatus(String instanceId,
 			ExecutionStatus status) throws RegistryException {
-		if (!isWorkflowInstanceExists(instanceId)){
+		if (!isWorkflowInstanceExists(instanceId, true)){
 			throw new WorkflowInstanceDoesNotExistsException(instanceId);
 		}
 		WorkflowDataResource wi = jpa.getWorker().getWorkflowInstance(instanceId);
@@ -922,7 +993,7 @@ public class AiravataJPARegistry extends
 	@Override
 	public boolean updateWorkflowInstanceStatus(WorkflowInstanceStatus status)
 			throws RegistryException {
-		if (!isWorkflowInstanceExists(status.getWorkflowInstance().getWorkflowInstanceId())){
+		if (!isWorkflowInstanceExists(status.getWorkflowInstance().getWorkflowInstanceId(), true)){
 			throw new WorkflowInstanceDoesNotExistsException(status.getWorkflowInstance().getWorkflowInstanceId());
 		}
 		WorkflowDataResource wi = jpa.getWorker().getWorkflowInstance(status.getWorkflowInstance().getWorkflowInstanceId());
@@ -932,6 +1003,7 @@ public class AiravataJPARegistry extends
 			wi.setStartTime(currentTime);
 		}
 		wi.setLastUpdatedTime(currentTime);
+		wi.save();
 		return true;
 	}
 
@@ -939,7 +1011,7 @@ public class AiravataJPARegistry extends
 	@Override
 	public WorkflowInstanceStatus getWorkflowInstanceStatus(String instanceId)
 			throws RegistryException {
-		if (!isWorkflowInstanceExists(instanceId)){
+		if (!isWorkflowInstanceExists(instanceId, true)){
 			throw new WorkflowInstanceDoesNotExistsException(instanceId);
 		}
 		WorkflowDataResource wi = jpa.getWorker().getWorkflowInstance(instanceId);
@@ -950,7 +1022,7 @@ public class AiravataJPARegistry extends
 	@Override
 	public boolean updateWorkflowNodeInput(WorkflowInstanceNode node, String data)
 			throws RegistryException {
-		if (!isWorkflowInstanceExists(node.getWorkflowInstance().getWorkflowInstanceId())){
+		if (!isWorkflowInstanceExists(node.getWorkflowInstance().getWorkflowInstanceId(), true)){
 			throw new WorkflowInstanceDoesNotExistsException(node.getWorkflowInstance().getWorkflowInstanceId());
 		}
 		WorkflowDataResource wi = jpa.getWorker().getWorkflowInstance(node.getWorkflowInstance().getWorkflowInstanceId());
@@ -968,7 +1040,7 @@ public class AiravataJPARegistry extends
 
 	@Override
 	public boolean updateWorkflowNodeOutput(WorkflowInstanceNode node, String data) throws RegistryException
{
-		if (!isWorkflowInstanceExists(node.getWorkflowInstance().getWorkflowInstanceId())){
+		if (!isWorkflowInstanceExists(node.getWorkflowInstance().getWorkflowInstanceId(),true)){
 			throw new WorkflowInstanceDoesNotExistsException(node.getWorkflowInstance().getWorkflowInstanceId());
 		}
 		WorkflowDataResource wi = jpa.getWorker().getWorkflowInstance(node.getWorkflowInstance().getWorkflowInstanceId());
@@ -1178,7 +1250,7 @@ public class AiravataJPARegistry extends
 	@Override
 	public Date getWorkflowStartTime(WorkflowInstance workflowInstance)
 			throws RegistryException {
-		if (!isWorkflowInstanceExists(workflowInstance.getWorkflowInstanceId())){
+		if (!isWorkflowInstanceExists(workflowInstance.getWorkflowInstanceId(),true)){
 			throw new WorkflowInstanceDoesNotExistsException(workflowInstance.getWorkflowInstanceId());
 		}
 		WorkflowDataResource wi = jpa.getWorker().getWorkflowInstance(workflowInstance.getWorkflowInstanceId());
@@ -1210,7 +1282,7 @@ public class AiravataJPARegistry extends
 	@Override
 	public WorkflowInstanceData getWorkflowInstanceData(
 			String workflowInstanceId) throws RegistryException {
-		if (!isWorkflowInstanceExists(workflowInstanceId)){
+		if (!isWorkflowInstanceExists(workflowInstanceId,true)){
 			throw new WorkflowInstanceDoesNotExistsException(workflowInstanceId);
 		}
 		WorkflowDataResource resource = jpa.getWorker().getWorkflowInstance(workflowInstanceId);
@@ -1242,7 +1314,7 @@ public class AiravataJPARegistry extends
 	@Override
 	public boolean isWorkflowInstanceNodePresent(String workflowInstanceId,
 			String nodeId) throws RegistryException {
-		if (!isWorkflowInstanceExists(workflowInstanceId)){
+		if (!isWorkflowInstanceExists(workflowInstanceId, true)){
 			throw new WorkflowInstanceDoesNotExistsException(workflowInstanceId);
 		}
 		return jpa.getWorker().getWorkflowInstance(workflowInstanceId).isNodeExists(nodeId);

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java?rev=1388568&r1=1388567&r2=1388568&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java
(original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentResource.java
Fri Sep 21 17:07:07 2012
@@ -84,6 +84,7 @@ public class ExperimentResource extends 
     	switch (type){
 	        case EXPERIMENT_DATA:
 	        	ExperimentDataResource expDataResource = new ExperimentDataResource();
+	        	expDataResource.setUserName(getWorker().getUser());
 	            expDataResource.setExperimentID(getExpID());
 	            return expDataResource;
 	        default:
@@ -199,17 +200,6 @@ public class ExperimentResource extends 
     }
 
     /**
-     * Since experiments are at the leaf level, this method is not
-     * valid for an experiment
-     * @param type  child resource types
-     * @param name name of the child resource
-     * @return UnsupportedOperationException
-     */
-    public boolean isExists(ResourceType type, Object name) {
-        throw new UnsupportedOperationException();
-    }
-
-    /**
      *
      * @param expID experiment ID
      */
@@ -269,7 +259,9 @@ public class ExperimentResource extends 
     	if (isExists(ResourceType.EXPERIMENT_DATA, getExpID())){
     		return (ExperimentDataResource) get(ResourceType.EXPERIMENT_DATA, getExpID());
     	}else{
-    		return (ExperimentDataResource) create(ResourceType.EXPERIMENT_DATA);
+    		ExperimentDataResource data = (ExperimentDataResource) create(ResourceType.EXPERIMENT_DATA);
+    		data.save();
+			return data;
     	}
     }
 }

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeDataResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeDataResource.java?rev=1388568&r1=1388567&r2=1388568&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeDataResource.java
(original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeDataResource.java
Fri Sep 21 17:07:07 2012
@@ -117,11 +117,17 @@ public class NodeDataResource extends Ab
         nodeData.setNode_id(nodeID);
         Workflow_Data workflow_data = em.find(Workflow_Data.class, workflowDataResource.getWorkflowInstanceID());
         nodeData.setWorkflow_Data(workflow_data);
-        byte[] inputsByte = inputs.getBytes();
-        nodeData.setInputs(inputsByte);
-        byte[] outputsByte = outputs.getBytes();
-        nodeData.setOutputs(outputsByte);
-        nodeData.setNode_type(nodeType);
+        byte[] inputsByte = null;
+        if (inputs!=null) {
+			inputsByte = inputs.getBytes();
+			nodeData.setInputs(inputsByte);
+		}
+		byte[] outputsByte = null;
+        if (outputs!=null) {
+			outputsByte = outputs.getBytes();
+			nodeData.setOutputs(outputsByte);
+		}
+		nodeData.setNode_type(nodeType);
         nodeData.setLast_update_time(lastUpdateTime);
         nodeData.setStart_time(startTime);
         nodeData.setStatus(status);

Modified: airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java?rev=1388568&r1=1388567&r2=1388568&view=diff
==============================================================================
--- airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java
(original)
+++ airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkerResource.java
Fri Sep 21 17:07:07 2012
@@ -167,8 +167,6 @@ public class WorkerResource extends Abst
                 q = generator.selectQuery(em);
                 Workflow_Data eworkflowData = (Workflow_Data)q.getSingleResult();
                 WorkflowDataResource workflowDataResource = (WorkflowDataResource)Utils.getResource(ResourceType.WORKFLOW_DATA,
eworkflowData);
-                em.getTransaction().commit();
-                em.close();
                 result= workflowDataResource;
 			default:
 				break;

Modified: airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/model/registrybrowser/XBayaWorkflowExperiments.java
URL: http://svn.apache.org/viewvc/airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/model/registrybrowser/XBayaWorkflowExperiments.java?rev=1388568&r1=1388567&r2=1388568&view=diff
==============================================================================
--- airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/model/registrybrowser/XBayaWorkflowExperiments.java
(original)
+++ airavata/trunk/modules/xbaya-gui/src/main/java/org/apache/airavata/xbaya/model/registrybrowser/XBayaWorkflowExperiments.java
Fri Sep 21 17:07:07 2012
@@ -51,8 +51,8 @@ public class XBayaWorkflowExperiments {
     		initializeExperimentMap(experiments);
 			List<WorkflowNodeIOData> workflowInput = getRegistry().searchWorkflowInstanceNodeInput(null,
null, null);
 			List<WorkflowNodeIOData> workflowOutput = getRegistry().searchWorkflowInstanceNodeOutput(null,
null, null);
-			createChildren(experiments, workflowInput, true);
-			createChildren(experiments, workflowOutput, false);
+//			createChildren(experiments, workflowInput, true);
+//			createChildren(experiments, workflowOutput, false);
 		} catch (RegistryException e) {
 			e.printStackTrace();
 		}



Mime
View raw message