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 2012/09/18 05:30:53 UTC
svn commit: r1386977 - in
/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src:
main/java/org/apache/airavata/persistance/registry/jpa/
main/java/org/apache/airavata/persistance/registry/jpa/impl/
main/java/org/apache/airavata/persistan...
Author: lahiru
Date: Tue Sep 18 03:30:52 2012
New Revision: 1386977
URL: http://svn.apache.org/viewvc?rev=1386977&view=rev
Log:
applying patch AIRAVATA-546.patch by Chathuri
Added:
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Data.java
- copied, changed from r1386768, incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Experiment_Data.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Metadata.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gram_Data.java
- copied, changed from r1386768, incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Gram_Data.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gram_DataPK.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Node_Data.java
- copied, changed from r1386768, incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Node_Data.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Node_DataPK.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Workflow_Data.java
- copied, changed from r1386768, incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Workflow_Data.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataResource.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentMetadataResource.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GramDataResource.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeDataResource.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkflowDataResource.java
Removed:
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Experiment_Data.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Gram_Data.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Node_Data.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Workflow_Data.java
Modified:
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceType.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceUtils.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/META-INF/persistence.xml
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-derby.sql
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-mysql.sql
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/provenance.sql
incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/provenance/test/JpaTest.java
Modified: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceType.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceType.java?rev=1386977&r1=1386976&r2=1386977&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceType.java (original)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceType.java Tue Sep 18 03:30:52 2012
@@ -31,5 +31,11 @@ public enum ResourceType {
APPLICATION_DESCRIPTOR,
EXPERIMENT,
CONFIGURATION,
- GATEWAY_WORKER
+ GATEWAY_WORKER,
+ EXPERIMENT_DATA,
+ EXPERIMENT_METADATA,
+ WORKFLOW_DATA,
+ NODE_DATA,
+ GRAM_DATA
+
}
Modified: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceUtils.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceUtils.java?rev=1386977&r1=1386976&r2=1386977&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceUtils.java (original)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/ResourceUtils.java Tue Sep 18 03:30:52 2012
@@ -51,6 +51,7 @@ public class ResourceUtils {
properties.put("openjpa.WriteLockLevel", "none");
properties.put("openjpa.LockTimeout", "30000");
properties.put("openjpa.LockManager", "none");
+// properties.put("openjpa.jdbc.Schema", "AIRAVATA");
properties.put("openjpa.ConnectionFactoryProperties","PrettyPrint=true, PrettyPrintLineLength=72, PrintParameters=true, MaxActive=10, MaxIdle=5, MinIdle=2, MaxWait=60000");
if (factory == null) {
Modified: incubator/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/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java?rev=1386977&r1=1386976&r2=1386977&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java (original)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/impl/AiravataJPARegistry.java Tue Sep 18 03:30:52 2012
@@ -31,7 +31,6 @@ import java.util.List;
import java.util.Map;
import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
import javax.persistence.Query;
import org.apache.airavata.common.registry.api.exception.RegistryException;
@@ -39,8 +38,6 @@ import org.apache.airavata.commons.gfac.
import org.apache.airavata.commons.gfac.type.HostDescription;
import org.apache.airavata.commons.gfac.type.ServiceDescription;
import org.apache.airavata.persistance.registry.jpa.JPAResourceAccessor;
-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.resources.ApplicationDescriptorResource;
import org.apache.airavata.persistance.registry.jpa.resources.ConfigurationResource;
@@ -52,9 +49,9 @@ import org.apache.airavata.persistance.r
import org.apache.airavata.persistance.registry.jpa.resources.ServiceDescriptorResource;
import org.apache.airavata.persistance.registry.jpa.resources.UserWorkflowResource;
import org.apache.airavata.persistance.registry.jpa.resources.WorkerResource;
-import org.apache.airavata.provenance.model.Experiment_Data;
-import org.apache.airavata.provenance.model.Node_Data;
-import org.apache.airavata.provenance.model.Workflow_Data;
+import org.apache.airavata.persistance.registry.jpa.model.Experiment_Data;
+import org.apache.airavata.persistance.registry.jpa.model.Node_Data;
+import org.apache.airavata.persistance.registry.jpa.model.Workflow_Data;
import org.apache.airavata.registry.api.AiravataExperiment;
import org.apache.airavata.registry.api.AiravataRegistry2;
import org.apache.airavata.registry.api.AiravataUser;
Copied: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Data.java (from r1386768, incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Experiment_Data.java)
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Data.java?p2=incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Data.java&p1=incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Experiment_Data.java&r1=1386768&r2=1386977&rev=1386977&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Experiment_Data.java (original)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Data.java Tue Sep 18 03:30:52 2012
@@ -18,7 +18,7 @@
* under the License.
*
*/
-package org.apache.airavata.provenance.model;
+package org.apache.airavata.persistance.registry.jpa.model;
import javax.persistence.Entity;
import javax.persistence.Id;
@@ -28,6 +28,7 @@ public class Experiment_Data {
@Id
private String experiment_ID;
private String name;
+ private String username;
/*@OneToMany(cascade=CascadeType.ALL, mappedBy = "Experiment_Data")
private final List<Workflow_Data> workflows = new ArrayList<Workflow_Data>();*/
@@ -47,8 +48,16 @@ public class Experiment_Data {
public void setName(String name) {
this.name = name;
}
-
- /*public List<Workflow_Data> getWorkflows() {
- return workflows;
- }*/
+
+ public String getUsername() {
+ return username;
+ }
+
+ public void setUsername(String username) {
+ this.username = username;
+ }
+
+ /*public List<Workflow_Data> getWorkflows() {
+ return workflows;
+ }*/
}
Added: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Metadata.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Metadata.java?rev=1386977&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Metadata.java (added)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Experiment_Metadata.java Tue Sep 18 03:30:52 2012
@@ -0,0 +1,29 @@
+package org.apache.airavata.persistance.registry.jpa.model;
+
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Lob;
+
+@Entity
+public class Experiment_Metadata {
+ @Id
+ private String experiment_ID;
+ @Lob
+ private String metadata;
+
+ public String getExperiment_ID() {
+ return experiment_ID;
+ }
+
+ public String getMetadata() {
+ return metadata;
+ }
+
+ public void setMetadata(String metadata) {
+ this.metadata = metadata;
+ }
+
+ public void setExperiment_ID(String experiment_ID) {
+ this.experiment_ID = experiment_ID;
+ }
+}
Copied: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gram_Data.java (from r1386768, incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Gram_Data.java)
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gram_Data.java?p2=incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gram_Data.java&p1=incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Gram_Data.java&r1=1386768&r2=1386977&rev=1386977&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Gram_Data.java (original)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gram_Data.java Tue Sep 18 03:30:52 2012
@@ -18,28 +18,26 @@
* under the License.
*
*/
-package org.apache.airavata.provenance.model;
+package org.apache.airavata.persistance.registry.jpa.model;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
+import javax.persistence.*;
@Entity
@IdClass(Gram_DataPK.class)
public class Gram_Data {
@Id
- @ManyToOne()
+ @ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name = "workflow_instanceID")
private Workflow_Data workflow_Data;
@Id
private String node_id;
+ @Lob
private String rsl;
private String invoked_host;
+ private String local_Job_ID;
public Workflow_Data getWorkflow_Data() {
return workflow_Data;
@@ -73,39 +71,12 @@ public class Gram_Data {
this.invoked_host = invoked_host;
}
+ public String getLocal_Job_ID() {
+ return local_Job_ID;
+ }
+
+ public void setLocal_Job_ID(String local_Job_ID) {
+ this.local_Job_ID = local_Job_ID;
+ }
}
-class Gram_DataPK {
- private String workflow_Data;
- private String node_id;
-
- public Gram_DataPK() {
- ;
- }
-
- @Override
- public boolean equals(Object o) {
- return false;
- }
-
- @Override
- public int hashCode() {
- return 1;
- }
-
- public String getWorkflow_Data() {
- return workflow_Data;
- }
-
- public void setWorkflow_Data(String workflow_Data) {
- this.workflow_Data = workflow_Data;
- }
-
- public String getNode_id() {
- return node_id;
- }
-
- public void setNode_id(String node_id) {
- this.node_id = node_id;
- }
-}
\ No newline at end of file
Added: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gram_DataPK.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gram_DataPK.java?rev=1386977&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gram_DataPK.java (added)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Gram_DataPK.java Tue Sep 18 03:30:52 2012
@@ -0,0 +1,42 @@
+package org.apache.airavata.persistance.registry.jpa.model;
+
+
+public class Gram_DataPK {
+ private String workflow_Data;
+ private String node_id;
+
+ public Gram_DataPK() {
+ ;
+ }
+
+ public Gram_DataPK(String workflow_Data, String node_id) {
+ this.workflow_Data = workflow_Data;
+ this.node_id = node_id;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ return 1;
+ }
+
+ public String getWorkflow_Data() {
+ return workflow_Data;
+ }
+
+ public void setWorkflow_Data(String workflow_Data) {
+ this.workflow_Data = workflow_Data;
+ }
+
+ public String getNode_id() {
+ return node_id;
+ }
+
+ public void setNode_id(String node_id) {
+ this.node_id = node_id;
+ }
+}
Copied: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Node_Data.java (from r1386768, incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Node_Data.java)
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Node_Data.java?p2=incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Node_Data.java&p1=incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Node_Data.java&r1=1386768&r2=1386977&rev=1386977&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Node_Data.java (original)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Node_Data.java Tue Sep 18 03:30:52 2012
@@ -18,15 +18,11 @@
* under the License.
*
*/
-package org.apache.airavata.provenance.model;
+package org.apache.airavata.persistance.registry.jpa.model;
import java.sql.Timestamp;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.IdClass;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
+import javax.persistence.*;
@Entity
@IdClass(Node_DataPK.class)
@@ -41,8 +37,10 @@ public class Node_Data {
private String node_id;
private String node_type;
- private String inputs;
- private String outputs;
+ @Lob
+ private String inputs;
+ @Lob
+ private String outputs;
private String status;
private Timestamp start_time;
private Timestamp last_update_time;
@@ -112,37 +110,3 @@ public class Node_Data {
}
}
-class Node_DataPK {
- private String workflow_Data;
- private String node_id;
-
- public Node_DataPK() {
- ;
- }
-
- @Override
- public boolean equals(Object o) {
- return false;
- }
-
- @Override
- public int hashCode() {
- return 1;
- }
-
- public String getWorkflow_Data() {
- return workflow_Data;
- }
-
- public void setWorkflow_Data(String workflow_Data) {
- this.workflow_Data = workflow_Data;
- }
-
- public String getNode_id() {
- return node_id;
- }
-
- public void setNode_id(String node_id) {
- this.node_id = node_id;
- }
-}
Added: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Node_DataPK.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Node_DataPK.java?rev=1386977&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Node_DataPK.java (added)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Node_DataPK.java Tue Sep 18 03:30:52 2012
@@ -0,0 +1,42 @@
+package org.apache.airavata.persistance.registry.jpa.model;
+
+
+public class Node_DataPK {
+ private String workflow_Data;
+ private String node_id;
+
+ public Node_DataPK() {
+ ;
+ }
+
+ public Node_DataPK(String workflow_Data, String node_id) {
+ this.workflow_Data = workflow_Data;
+ this.node_id = node_id;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ return 1;
+ }
+
+ public String getWorkflow_Data() {
+ return workflow_Data;
+ }
+
+ public void setWorkflow_Data(String workflow_Data) {
+ this.workflow_Data = workflow_Data;
+ }
+
+ public String getNode_id() {
+ return node_id;
+ }
+
+ public void setNode_id(String node_id) {
+ this.node_id = node_id;
+ }
+}
Copied: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Workflow_Data.java (from r1386768, incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Workflow_Data.java)
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Workflow_Data.java?p2=incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Workflow_Data.java&p1=incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Workflow_Data.java&r1=1386768&r2=1386977&rev=1386977&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/provenance/model/Workflow_Data.java (original)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/model/Workflow_Data.java Tue Sep 18 03:30:52 2012
@@ -18,19 +18,18 @@
* under the License.
*
*/
-package org.apache.airavata.provenance.model;
+package org.apache.airavata.persistance.registry.jpa.model;
+
+import org.apache.airavata.persistance.registry.jpa.model.Experiment_Data;
import java.sql.Timestamp;
-import javax.persistence.Entity;
-import javax.persistence.Id;
-import javax.persistence.JoinColumn;
-import javax.persistence.ManyToOne;
+import javax.persistence.*;
@Entity
public class Workflow_Data {
- @ManyToOne()
+ @ManyToOne(cascade = CascadeType.PERSIST)
@JoinColumn(name="experiment_ID")
private Experiment_Data experiment_Data;
@Id
Modified: incubator/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/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java?rev=1386977&r1=1386976&r2=1386977&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java (original)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/AbstractResource.java Tue Sep 18 03:30:52 2012
@@ -136,6 +136,47 @@ public abstract class AbstractResource i
}
+ //Experiment_Data table
+ public final class ExperimentDataConstants{
+ public static final String EXPERIMENT_ID="experiment_ID";
+ public static final String NAME = "name";
+ public static final String USERNAME = "username";
+ public static final String METADATA = "metadata";
+ }
+
+ //Workflow_Data table
+ public final class WorkflowDataConstants{
+ public static final String EXPERIMENT_ID="experiment_ID";
+ public static final String WORKFLOW_INSTANCE_ID = "workflow_instanceID";
+ public static final String TEMPLATE_NAME = "template_name";
+ public static final String STATUS = "status";
+ public static final String START_TIME = "start_time";
+ public static final String LAST_UPDATE_TIME = "last_update_time";
+ }
+
+ //Node_Data table
+ public final class NodeDataConstants{
+ public static final String WORKFLOW_INSTANCE_ID = "workflow_instanceID";
+ public static final String NODE_ID = "node_id";
+ public static final String NODE_TYPE = "node_type";
+ public static final String INPUTS = "inputs";
+ public static final String OUTPUTS = "outputs";
+ public static final String STATUS = "status";
+ public static final String START_TIME = "start_time";
+ public static final String LAST_UPDATE_TIME = "last_update_time";
+ }
+
+ //Gram_Data table
+ public final class GramDataConstants{
+ public static final String WORKFLOW_INSTANCE_ID = "workflow_instanceID";
+ public static final String NODE_ID = "node_id";
+ public static final String RSL = "rsl";
+ public static final String INVOKED_HOST = "invoked_host";
+ public static final String LOCAL_JOB_ID = "local_Job_ID";
+
+
+ }
+
protected AbstractResource() {
}
Added: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataResource.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataResource.java?rev=1386977&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataResource.java (added)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentDataResource.java Tue Sep 18 03:30:52 2012
@@ -0,0 +1,195 @@
+package org.apache.airavata.persistance.registry.jpa.resources;
+
+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_Data;
+import org.apache.airavata.persistance.registry.jpa.model.Experiment_Metadata;
+import org.apache.airavata.persistance.registry.jpa.model.Workflow_Data;
+import org.apache.airavata.persistance.registry.jpa.utils.QueryGenerator;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import java.util.ArrayList;
+import java.util.List;
+
+public class ExperimentDataResource extends AbstractResource{
+ public static final String WORKFLOW_DATA = "Workflow_Data";
+ public static final String EXPERIMENT_METADATA = "Experiment_Metadata";
+
+ private String experimentID;
+ private String expName;
+ private String userName;
+
+ public String getExperimentID() {
+ return experimentID;
+ }
+
+ public String getExpName() {
+ return expName;
+ }
+
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setExperimentID(String experimentID) {
+ this.experimentID = experimentID;
+ }
+
+ public void setExpName(String expName) {
+ this.expName = expName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ @Override
+ public Resource create(ResourceType type) {
+ switch (type){
+ case WORKFLOW_DATA:
+ WorkflowDataResource workflowDataResource = new WorkflowDataResource();
+ workflowDataResource.setExperimentID(experimentID);
+ return workflowDataResource;
+ case EXPERIMENT_METADATA:
+ ExperimentMetadataResource experimentMetadataResource = new ExperimentMetadataResource();
+ experimentMetadataResource.setExpID(experimentID);
+ return experimentMetadataResource;
+ default:
+ throw new IllegalArgumentException("Unsupported resource type for experiment data resource.");
+ }
+
+ }
+
+ @Override
+ public void remove(ResourceType type, Object name) {
+ EntityManager em = ResourceUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ QueryGenerator generator;
+ switch (type){
+ case WORKFLOW_DATA:
+ generator = new QueryGenerator(WORKFLOW_DATA);
+ generator.setParameter(WorkflowDataConstants.EXPERIMENT_ID, experimentID);
+ generator.setParameter(WorkflowDataConstants.WORKFLOW_INSTANCE_ID, name);
+ q = generator.deleteQuery(em);
+ q.executeUpdate();
+ break;
+ case EXPERIMENT_METADATA:
+ generator = new QueryGenerator(EXPERIMENT_METADATA);
+ generator.setParameter(ExperimentDataConstants.EXPERIMENT_ID, experimentID);
+ generator.setParameter(ExperimentDataConstants.METADATA, name);
+ q = generator.deleteQuery(em);
+ q.executeUpdate();
+ break;
+ default:
+ break;
+ }
+ em.getTransaction().commit();
+ em.close();
+ }
+
+ @Override
+ public Resource get(ResourceType type, Object name) {
+ EntityManager em = ResourceUtils.getEntityManager();
+ em.getTransaction().begin();
+ QueryGenerator generator;
+ Query q;
+ switch (type) {
+ case WORKFLOW_DATA:
+ generator = new QueryGenerator(WORKFLOW_DATA);
+ generator.setParameter(WorkflowDataConstants.EXPERIMENT_ID, experimentID);
+ generator.setParameter(WorkflowDataConstants.WORKFLOW_INSTANCE_ID, name);
+ 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();
+ return workflowDataResource;
+ case EXPERIMENT_METADATA:
+ generator = new QueryGenerator(EXPERIMENT_METADATA);
+ generator.setParameter(ExperimentDataConstants.EXPERIMENT_ID, experimentID);
+ generator.setParameter(ExperimentDataConstants.METADATA, name);
+ q = generator.selectQuery(em);
+ Experiment_Metadata expMetadata = (Experiment_Metadata)q.getSingleResult();
+ ExperimentMetadataResource experimentMetadataResource = (ExperimentMetadataResource)Utils.getResource(ResourceType.EXPERIMENT_METADATA, expMetadata);
+ em.getTransaction().commit();
+ em.close();
+ return experimentMetadataResource;
+ default:
+ em.getTransaction().commit();
+ em.close();
+ throw new IllegalArgumentException("Unsupported resource type for experiment data resource.");
+ }
+ }
+
+ @Override
+ public List<Resource> get(ResourceType type) {
+ List<Resource> resourceList = new ArrayList<Resource>();
+ EntityManager em = ResourceUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ QueryGenerator generator;
+ List results;
+ switch (type){
+ case WORKFLOW_DATA:
+ generator = new QueryGenerator(WORKFLOW_DATA);
+ generator.setParameter(WorkflowDataConstants.EXPERIMENT_ID, experimentID);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ Workflow_Data workflowData = (Workflow_Data) result;
+ WorkflowDataResource workflowDataResource = (WorkflowDataResource)Utils.getResource(ResourceType.WORKFLOW_DATA, workflowData);
+ resourceList.add(workflowDataResource);
+ }
+ }
+ break;
+ case EXPERIMENT_METADATA:
+ generator = new QueryGenerator(EXPERIMENT_METADATA);
+ generator.setParameter(ExperimentDataConstants.EXPERIMENT_ID, experimentID);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ Experiment_Metadata expMetadata = (Experiment_Metadata) result;
+ ExperimentMetadataResource experimentMetadataResource = (ExperimentMetadataResource)Utils.getResource(ResourceType.EXPERIMENT_METADATA, expMetadata);
+ resourceList.add(experimentMetadataResource);
+ }
+ }
+ break;
+ default:
+ em.getTransaction().commit();
+ em.close();
+ throw new IllegalArgumentException("Unsupported resource type for experiment data resource.");
+ }
+ em.getTransaction().commit();
+ em.close();
+ return resourceList;
+ }
+
+ @Override
+ public void save() {
+ EntityManager em = ResourceUtils.getEntityManager();
+ Experiment_Data existingExpData = em.find(Experiment_Data.class, experimentID);
+ em.close();
+
+ em = ResourceUtils.getEntityManager();
+ em.getTransaction().begin();
+ Experiment_Data experimentData = new Experiment_Data();
+ experimentData.setExperiment_ID(experimentID);
+ experimentData.setName(expName);
+ experimentData.setUsername(userName);
+ if(existingExpData != null){
+ existingExpData.setName(expName);
+ existingExpData.setUsername(userName);
+ experimentData = em.merge(existingExpData);
+ } else{
+ em.persist(experimentData);
+ }
+ em.getTransaction().commit();
+ em.close();
+
+ }
+}
Added: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentMetadataResource.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentMetadataResource.java?rev=1386977&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentMetadataResource.java (added)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ExperimentMetadataResource.java Tue Sep 18 03:30:52 2012
@@ -0,0 +1,70 @@
+package org.apache.airavata.persistance.registry.jpa.resources;
+
+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_Metadata;
+
+import javax.persistence.EntityManager;
+import java.util.List;
+
+public class ExperimentMetadataResource extends AbstractResource{
+ private String expID;
+ private String metadata;
+
+ public String getExpID() {
+ return expID;
+ }
+
+ public String getMetadata() {
+ return metadata;
+ }
+
+ public void setExpID(String expID) {
+ this.expID = expID;
+ }
+
+ public void setMetadata(String metadata) {
+ this.metadata = metadata;
+ }
+
+ @Override
+ public Resource create(ResourceType type) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void remove(ResourceType type, Object name) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Resource get(ResourceType type, Object name) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public List<Resource> get(ResourceType type) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void save() {
+ EntityManager em = ResourceUtils.getEntityManager();
+ Experiment_Metadata existingExpMetaData = em.find(Experiment_Metadata.class, expID);
+ em.close();
+
+ em = ResourceUtils.getEntityManager();
+ em.getTransaction().begin();
+ Experiment_Metadata experimentMetadata = new Experiment_Metadata();
+ existingExpMetaData.setMetadata(metadata);
+
+ if(existingExpMetaData != null){
+ existingExpMetaData.setMetadata(metadata);
+ experimentMetadata = em.merge(existingExpMetaData);
+ }else{
+ em.persist(existingExpMetaData);
+ }
+
+ }
+}
Added: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GramDataResource.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GramDataResource.java?rev=1386977&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GramDataResource.java (added)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/GramDataResource.java Tue Sep 18 03:30:52 2012
@@ -0,0 +1,108 @@
+package org.apache.airavata.persistance.registry.jpa.resources;
+
+
+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.Gram_Data;
+import org.apache.airavata.persistance.registry.jpa.model.Gram_DataPK;
+import org.apache.airavata.persistance.registry.jpa.model.Node_Data;
+import org.apache.airavata.persistance.registry.jpa.model.Workflow_Data;
+
+import javax.persistence.EntityManager;
+import java.util.List;
+
+public class GramDataResource extends AbstractResource{
+ private WorkflowDataResource workflowDataResource;
+ private String nodeID;
+ private String rsl;
+ private String invokedHost;
+ private String localJobID;
+
+ public String getNodeID() {
+ return nodeID;
+ }
+
+ public String getRsl() {
+ return rsl;
+ }
+
+ public String getInvokedHost() {
+ return invokedHost;
+ }
+
+ public String getLocalJobID() {
+ return localJobID;
+ }
+
+ public WorkflowDataResource getWorkflowDataResource() {
+ return workflowDataResource;
+ }
+
+ public void setWorkflowDataResource(WorkflowDataResource workflowDataResource) {
+ this.workflowDataResource = workflowDataResource;
+ }
+
+ public void setNodeID(String nodeID) {
+ this.nodeID = nodeID;
+ }
+
+ public void setRsl(String rsl) {
+ this.rsl = rsl;
+ }
+
+ public void setInvokedHost(String invokedHost) {
+ this.invokedHost = invokedHost;
+ }
+
+ public void setLocalJobID(String localJobID) {
+ this.localJobID = localJobID;
+ }
+
+ @Override
+ public Resource create(ResourceType type) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void remove(ResourceType type, Object name) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Resource get(ResourceType type, Object name) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public List<Resource> get(ResourceType type) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void save() {
+ EntityManager em = ResourceUtils.getEntityManager();
+ Gram_Data existingGramData = em.find(Gram_Data.class, new Gram_DataPK(workflowDataResource.getWorkflowInstanceID(), nodeID));
+ em.close();
+
+ em = ResourceUtils.getEntityManager();
+ Gram_Data gramData = new Gram_Data();
+ gramData.setNode_id(nodeID);
+ Workflow_Data workflow_data = em.find(Workflow_Data.class, workflowDataResource.getWorkflowInstanceID());
+ gramData.setWorkflow_Data(workflow_data);
+ gramData.setNode_id(nodeID);
+ gramData.setInvoked_host(invokedHost);
+ gramData.setLocal_Job_ID(localJobID);
+ gramData.setRsl(rsl);
+ if(existingGramData != null){
+ existingGramData.setInvoked_host(invokedHost);
+ existingGramData.setLocal_Job_ID(localJobID);
+ existingGramData.setRsl(rsl);
+ gramData = em.merge(existingGramData);
+ } else {
+ em.persist(gramData);
+ }
+ em.getTransaction().commit();
+ em.close();
+ }
+}
Added: incubator/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/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeDataResource.java?rev=1386977&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeDataResource.java (added)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeDataResource.java Tue Sep 18 03:30:52 2012
@@ -0,0 +1,140 @@
+package org.apache.airavata.persistance.registry.jpa.resources;
+
+
+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.Node_Data;
+import org.apache.airavata.persistance.registry.jpa.model.Node_DataPK;
+import org.apache.airavata.persistance.registry.jpa.model.Workflow_Data;
+
+import javax.persistence.EntityManager;
+import java.sql.Timestamp;
+import java.util.List;
+
+public class NodeDataResource extends AbstractResource{
+ private WorkflowDataResource workflowDataResource;
+ private String nodeID;
+ private String nodeType;
+ private String inputs;
+ private String outputs;
+ private String status;
+ private Timestamp startTime;
+ private Timestamp lastUpdateTime;
+
+ public WorkflowDataResource getWorkflowDataResource() {
+ return workflowDataResource;
+ }
+
+ public String getNodeID() {
+ return nodeID;
+ }
+
+ public String getNodeType() {
+ return nodeType;
+ }
+
+ public String getInputs() {
+ return inputs;
+ }
+
+ public String getOutputs() {
+ return outputs;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public Timestamp getStartTime() {
+ return startTime;
+ }
+
+ public Timestamp getLastUpdateTime() {
+ return lastUpdateTime;
+ }
+
+ public void setWorkflowDataResource(WorkflowDataResource workflowDataResource) {
+ this.workflowDataResource = workflowDataResource;
+ }
+
+ public void setNodeID(String nodeID) {
+ this.nodeID = nodeID;
+ }
+
+ public void setNodeType(String nodeType) {
+ this.nodeType = nodeType;
+ }
+
+ public void setInputs(String inputs) {
+ this.inputs = inputs;
+ }
+
+ public void setOutputs(String outputs) {
+ this.outputs = outputs;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public void setStartTime(Timestamp startTime) {
+ this.startTime = startTime;
+ }
+
+ public void setLastUpdateTime(Timestamp lastUpdateTime) {
+ this.lastUpdateTime = lastUpdateTime;
+ }
+
+ @Override
+ public Resource create(ResourceType type) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void remove(ResourceType type, Object name) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public Resource get(ResourceType type, Object name) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public List<Resource> get(ResourceType type) {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public void save() {
+ EntityManager em = ResourceUtils.getEntityManager();
+ Node_Data existingNodeData = em.find(Node_Data.class, new Node_DataPK(workflowDataResource.getWorkflowInstanceID(), nodeID));
+ em.close();
+
+ em = ResourceUtils.getEntityManager();
+ Node_Data nodeData = new Node_Data();
+ nodeData.setNode_id(nodeID);
+ Workflow_Data workflow_data = em.find(Workflow_Data.class, workflowDataResource.getWorkflowInstanceID());
+ nodeData.setWorkflow_Data(workflow_data);
+ nodeData.setInputs(inputs);
+ nodeData.setOutputs(outputs);
+ nodeData.setNode_type(nodeType);
+ nodeData.setLast_update_time(lastUpdateTime);
+ nodeData.setStart_time(startTime);
+ nodeData.setStatus(status);
+ if(existingNodeData != null){
+ existingNodeData.setInputs(inputs);
+ existingNodeData.setOutputs(outputs);
+ existingNodeData.setLast_update_time(lastUpdateTime);
+ existingNodeData.setNode_type(nodeType);
+ existingNodeData.setStart_time(startTime);
+ existingNodeData.setStatus(status);
+ nodeData = em.merge(existingNodeData);
+ } else {
+ em.persist(nodeData);
+ }
+ em.getTransaction().commit();
+ em.close();
+ }
+}
Modified: incubator/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/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java?rev=1386977&r1=1386976&r2=1386977&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java (original)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/Utils.java Tue Sep 18 03:30:52 2012
@@ -146,6 +146,36 @@ public class Utils {
} else {
throw new IllegalArgumentException("Object should be a Gateway Worker.");
}
+ case EXPERIMENT_DATA:
+ if (o instanceof Experiment_Data){
+ return createExperimentData((Experiment_Data)o);
+ }else {
+ throw new IllegalArgumentException("Object should be a Experiment Data.");
+ }
+ case EXPERIMENT_METADATA:
+ if (o instanceof Experiment_Metadata){
+ return createExperimentMetadata((Experiment_Metadata)o);
+ }else {
+ throw new IllegalArgumentException("Object should be a Experiment Metadata.");
+ }
+ case WORKFLOW_DATA:
+ if (o instanceof Workflow_Data){
+ return createWorkflowData((Workflow_Data) o);
+ }else {
+ throw new IllegalArgumentException("Object should be a Workflow Data.");
+ }
+ case NODE_DATA:
+ if (o instanceof Node_Data){
+ return createNodeData((Node_Data) o);
+ }else {
+ throw new IllegalArgumentException("Object should be a Node Data.");
+ }
+ case GRAM_DATA:
+ if (o instanceof Gram_Data){
+ return createGramData((Gram_Data) o);
+ }else {
+ throw new IllegalArgumentException("Object should be a Gram Data.");
+ }
default:
}
return null;
@@ -319,4 +349,54 @@ public class Utils {
return userResource;
}
+ private static Resource createExperimentData(Experiment_Data o){
+ ExperimentDataResource experimentDataResource = new ExperimentDataResource();
+ experimentDataResource.setExperimentID(o.getExperiment_ID());
+ experimentDataResource.setExpName(o.getName());
+ experimentDataResource.setUserName(o.getUsername());
+ return experimentDataResource;
+ }
+
+ private static Resource createExperimentMetadata(Experiment_Metadata o) {
+ ExperimentMetadataResource experimentMetadataResource = new ExperimentMetadataResource();
+ experimentMetadataResource.setExpID(o.getExperiment_ID());
+ experimentMetadataResource.setMetadata(o.getMetadata());
+ return experimentMetadataResource;
+ }
+
+ private static Resource createWorkflowData(Workflow_Data o){
+ WorkflowDataResource workflowDataResource = new WorkflowDataResource();
+ workflowDataResource.setExperimentID(o.getExperiment_Data().getExperiment_ID());
+ workflowDataResource.setWorkflowInstanceID(o.getWorkflow_instanceID());
+ workflowDataResource.setTemplateName(o.getTemplate_name());
+ workflowDataResource.setStatus(o.getStatus());
+ workflowDataResource.setStartTime(o.getStart_time());
+ workflowDataResource.setLastUpdatedTime(o.getLast_update_time());
+ return workflowDataResource;
+ }
+
+ private static Resource createNodeData (Node_Data o){
+ NodeDataResource nodeDataResource = new NodeDataResource();
+ WorkflowDataResource workflowDataResource = (WorkflowDataResource)createWorkflowData(o.getWorkflow_Data());
+ nodeDataResource.setWorkflowDataResource(workflowDataResource);
+ nodeDataResource.setNodeID(o.getNode_id());
+ nodeDataResource.setNodeType(o.getNode_type());
+ nodeDataResource.setInputs(o.getInputs());
+ nodeDataResource.setOutputs(o.getOutputs());
+ nodeDataResource.setStatus(o.getStatus());
+ nodeDataResource.setStartTime(o.getStart_time());
+ nodeDataResource.setLastUpdateTime(o.getLast_update_time());
+ return nodeDataResource;
+ }
+
+ private static Resource createGramData (Gram_Data o){
+ GramDataResource gramDataResource = new GramDataResource();
+ WorkflowDataResource workflowDataResource = (WorkflowDataResource)createWorkflowData(o.getWorkflow_Data());
+ gramDataResource.setWorkflowDataResource(workflowDataResource);
+ gramDataResource.setNodeID(o.getNode_id());
+ gramDataResource.setRsl(o.getRsl());
+ gramDataResource.setInvokedHost(o.getInvoked_host());
+ gramDataResource.setLocalJobID(o.getLocal_Job_ID());
+ return gramDataResource;
+ }
}
Added: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkflowDataResource.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkflowDataResource.java?rev=1386977&view=auto
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkflowDataResource.java (added)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/WorkflowDataResource.java Tue Sep 18 03:30:52 2012
@@ -0,0 +1,231 @@
+package org.apache.airavata.persistance.registry.jpa.resources;
+
+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_Data;
+import org.apache.airavata.persistance.registry.jpa.model.Gram_Data;
+import org.apache.airavata.persistance.registry.jpa.model.Node_Data;
+import org.apache.airavata.persistance.registry.jpa.model.Workflow_Data;
+import org.apache.airavata.persistance.registry.jpa.utils.QueryGenerator;
+
+import javax.persistence.EntityManager;
+import javax.persistence.Query;
+import java.sql.Timestamp;
+import java.util.ArrayList;
+import java.util.List;
+
+public class WorkflowDataResource extends AbstractResource{
+ public static final String NODE_DATA = "Node_Data";
+ public static final String GRAM_DATA = "Gram_Data";
+ private String experimentID;
+ private String workflowInstanceID;
+ private String templateName;
+ private String status;
+ private Timestamp startTime;
+ private Timestamp lastUpdatedTime;
+
+ public String getExperimentID() {
+ return experimentID;
+ }
+
+ public String getWorkflowInstanceID() {
+ return workflowInstanceID;
+ }
+
+ public String getTemplateName() {
+ return templateName;
+ }
+
+ public String getStatus() {
+ return status;
+ }
+
+ public void setExperimentID(String experimentID) {
+ this.experimentID = experimentID;
+ }
+
+ public void setWorkflowInstanceID(String workflowInstanceID) {
+ this.workflowInstanceID = workflowInstanceID;
+ }
+
+ public void setTemplateName(String templateName) {
+ this.templateName = templateName;
+ }
+
+ public void setStatus(String status) {
+ this.status = status;
+ }
+
+ public Timestamp getStartTime() {
+ return startTime;
+ }
+
+ public Timestamp getLastUpdatedTime() {
+ return lastUpdatedTime;
+ }
+
+ public void setStartTime(Timestamp startTime) {
+ this.startTime = startTime;
+ }
+
+ public void setLastUpdatedTime(Timestamp lastUpdatedTime) {
+ this.lastUpdatedTime = lastUpdatedTime;
+ }
+
+ @Override
+ public Resource create(ResourceType type) {
+ switch (type){
+ case NODE_DATA:
+ NodeDataResource nodeDataResource = new NodeDataResource();
+ nodeDataResource.setWorkflowDataResource(this);
+ return nodeDataResource;
+ case GRAM_DATA:
+ GramDataResource gramDataResource = new GramDataResource();
+ gramDataResource.setWorkflowDataResource(this);
+ return gramDataResource;
+ default:
+ throw new IllegalArgumentException("Unsupported resource type for workflow data resource.");
+ }
+ }
+
+ @Override
+ public void remove(ResourceType type, Object name) {
+ EntityManager em = ResourceUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ QueryGenerator generator;
+ switch (type){
+ case NODE_DATA:
+ generator = new QueryGenerator(NODE_DATA);
+ generator.setParameter(NodeDataConstants.WORKFLOW_INSTANCE_ID, workflowInstanceID);
+ generator.setParameter(NodeDataConstants.NODE_ID, name);
+ q = generator.deleteQuery(em);
+ q.executeUpdate();
+ break;
+ case GRAM_DATA:
+ generator = new QueryGenerator(GRAM_DATA);
+ generator.setParameter(GramDataConstants.WORKFLOW_INSTANCE_ID, workflowInstanceID);
+ generator.setParameter(GramDataConstants.NODE_ID, name);
+ q = generator.deleteQuery(em);
+ q.executeUpdate();
+ break;
+ default:
+ break;
+ }
+ em.getTransaction().commit();
+ em.close();
+ }
+
+ @Override
+ public Resource get(ResourceType type, Object name) {
+ EntityManager em = ResourceUtils.getEntityManager();
+ em.getTransaction().begin();
+ QueryGenerator generator;
+ Query q;
+ switch (type) {
+ case NODE_DATA:
+ generator = new QueryGenerator(NODE_DATA);
+ generator.setParameter(NodeDataConstants.WORKFLOW_INSTANCE_ID, workflowInstanceID);
+ generator.setParameter(NodeDataConstants.NODE_ID, name);
+ q = generator.selectQuery(em);
+ Node_Data enodeDeata = (Node_Data)q.getSingleResult();
+ NodeDataResource nodeDataResource = (NodeDataResource)Utils.getResource(ResourceType.NODE_DATA, enodeDeata);
+ em.getTransaction().commit();
+ em.close();
+ return nodeDataResource;
+ case GRAM_DATA:
+ generator = new QueryGenerator(GRAM_DATA);
+ generator.setParameter(GramDataConstants.WORKFLOW_INSTANCE_ID, workflowInstanceID);
+ generator.setParameter(GramDataConstants.NODE_ID, name);
+ q = generator.selectQuery(em);
+ Gram_Data egramData = (Gram_Data)q.getSingleResult();
+ GramDataResource gramDataResource = (GramDataResource)Utils.getResource(ResourceType.GRAM_DATA, egramData);
+ em.getTransaction().commit();
+ em.close();
+ return gramDataResource;
+ default:
+ em.getTransaction().commit();
+ em.close();
+ throw new IllegalArgumentException("Unsupported resource type for workflow data resource.");
+
+
+ }
+ }
+
+ @Override
+ public List<Resource> get(ResourceType type) {
+ List<Resource> resourceList = new ArrayList<Resource>();
+ EntityManager em = ResourceUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ QueryGenerator generator;
+ List results;
+ switch (type){
+ case NODE_DATA:
+ generator = new QueryGenerator(NODE_DATA);
+ generator.setParameter(NodeDataConstants.WORKFLOW_INSTANCE_ID, workflowInstanceID);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ Node_Data nodeData = (Node_Data)result;
+ NodeDataResource nodeDataResource = (NodeDataResource)Utils.getResource(ResourceType.NODE_DATA,nodeData);
+ resourceList.add(nodeDataResource);
+
+ }
+ }
+ break;
+ case GRAM_DATA:
+ generator = new QueryGenerator(GRAM_DATA);
+ generator.setParameter(GramDataConstants.WORKFLOW_INSTANCE_ID, workflowInstanceID);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ Gram_Data gramData = (Gram_Data)result;
+ GramDataResource gramDataResource = (GramDataResource)Utils.getResource(ResourceType.GRAM_DATA, gramData);
+ resourceList.add(gramDataResource);
+ }
+ }
+ break;
+ default:
+ em.getTransaction().commit();
+ em.close();
+ throw new IllegalArgumentException("Unsupported resource type for workflow data resource.");
+ }
+ em.getTransaction().commit();
+ em.close();
+ return resourceList;
+ }
+
+ @Override
+ public void save() {
+ EntityManager em = ResourceUtils.getEntityManager();
+ Workflow_Data existingWFData = em.find(Workflow_Data.class, workflowInstanceID);
+ em.close();
+
+ em = ResourceUtils.getEntityManager();
+ em.getTransaction().begin();
+ Workflow_Data workflowData = new Workflow_Data();
+ Experiment_Data expData = em.find(Experiment_Data.class, experimentID);
+ workflowData.setExperiment_Data(expData);
+ workflowData.setWorkflow_instanceID(workflowInstanceID);
+ workflowData.setLast_update_time(lastUpdatedTime);
+ workflowData.setStart_time(startTime);
+ workflowData.setTemplate_name(templateName);
+ workflowData.setStatus(status);
+ if(existingWFData != null){
+ existingWFData.setExperiment_Data(expData);
+ existingWFData.setLast_update_time(lastUpdatedTime);
+ existingWFData.setStart_time(startTime);
+ existingWFData.setStatus(status);
+ existingWFData.setTemplate_name(templateName);
+ workflowData = em.merge(existingWFData);
+ }else {
+ em.persist(workflowData);
+ }
+ em.getTransaction().commit();
+ em.close();
+ }
+}
Modified: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/META-INF/persistence.xml
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/META-INF/persistence.xml?rev=1386977&r1=1386976&r2=1386977&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/META-INF/persistence.xml (original)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/META-INF/persistence.xml Tue Sep 18 03:30:52 2012
@@ -34,10 +34,10 @@
<class>org.apache.airavata.persistance.registry.jpa.model.Service_Descriptor</class>
<class>org.apache.airavata.persistance.registry.jpa.model.Application_Descriptor</class>
<class>org.apache.airavata.persistance.registry.jpa.model.Experiment</class>
- <class>org.apache.airavata.provenance.model.Experiment_Data</class>
- <class>org.apache.airavata.provenance.model.Workflow_Data</class>
- <class>org.apache.airavata.provenance.model.Node_Data</class>
- <class>org.apache.airavata.provenance.model.Gram_Data</class>
+ <class>org.apache.airavata.persistance.registry.jpa.model.Experiment_Data</class>
+ <class>org.apache.airavata.persistance.registry.jpa.model.Workflow_Data</class>
+ <class>org.apache.airavata.persistance.registry.jpa.model.Node_Data</class>
+ <class>org.apache.airavata.persistance.registry.jpa.model.Gram_Data</class>
<!--properties>
<property name="openjpa.ConnectionURL"
value="jdbc:mysql://localhost:3306/persitant_data" />
Modified: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-derby.sql
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-derby.sql?rev=1386977&r1=1386976&r2=1386977&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-derby.sql (original)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-derby.sql Tue Sep 18 03:30:52 2012
@@ -140,3 +140,57 @@ create table Experiment
FOREIGN KEY (user_name) REFERENCES Users(user_name) ON DELETE CASCADE
);
+create table Experiment_Data
+(
+ experiment_ID varchar(255),
+ name varchar(255),
+ username varchar(255),
+ PRIMARY KEY (experiment_ID)
+);
+
+create table Experiment_Metadata
+(
+ experiment_ID varchar(255),
+ metadata BLOB,
+ PRIMARY KEY (experiment_ID)
+);
+
+
+create table Workflow_Data
+(
+ experiment_ID varchar(255),
+ workflow_instanceID varchar(255),
+ template_name varchar(255),
+ status varchar(100),
+ start_time TIMESTAMP DEFAULT '0000-00-00 00:00:00',
+ last_update_time TIMESTAMP DEFAULT now() on update now(),
+ PRIMARY KEY(workflow_instanceID),
+ FOREIGN KEY (experiment_ID) REFERENCES Experiment_Data(experiment_ID) ON DELETE CASCADE
+);
+
+create table Node_Data
+(
+ workflow_instanceID varchar(255),
+ node_id varchar(255),
+ node_type varchar(255),
+ inputs BLOB,
+ outputs BLOB,
+ status varchar(100),
+ start_time TIMESTAMP DEFAULT '0000-00-00 00:00:00',
+ last_update_time TIMESTAMP DEFAULT now() on update now(),
+ PRIMARY KEY(workflow_instanceID, node_id),
+ FOREIGN KEY (workflow_instanceID) REFERENCES Workflow_Data(workflow_instanceID) ON DELETE CASCADE
+);
+
+create table Gram_Data
+(
+ workflow_instanceID varchar(255),
+ node_id varchar(255),
+ rsl BLOB,
+ invoked_host varchar(255),
+ local_Job_ID varchar(255),
+ PRIMARY KEY(workflow_instanceID, node_id),
+ FOREIGN KEY (workflow_instanceID) REFERENCES Workflow_Data(workflow_instanceID) ON DELETE CASCADE
+);
+
+
Modified: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-mysql.sql
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-mysql.sql?rev=1386977&r1=1386976&r2=1386977&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-mysql.sql (original)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/data-mysql.sql Tue Sep 18 03:30:52 2012
@@ -138,3 +138,57 @@ create table Experiment
FOREIGN KEY (user_name) REFERENCES Users(user_name) ON DELETE CASCADE
);
+create table Experiment_Data
+(
+ experiment_ID varchar(255),
+ name varchar(255),
+ username varchar(255),
+ PRIMARY KEY (experiment_ID)
+);
+
+create table Experiment_Metadata
+(
+ experiment_ID varchar(255),
+ metadata BLOB,
+ PRIMARY KEY (experiment_ID)
+);
+
+
+create table Workflow_Data
+(
+ experiment_ID varchar(255),
+ workflow_instanceID varchar(255),
+ template_name varchar(255),
+ status varchar(100),
+ start_time TIMESTAMP DEFAULT '0000-00-00 00:00:00',
+ last_update_time TIMESTAMP DEFAULT now() on update now(),
+ PRIMARY KEY(workflow_instanceID),
+ FOREIGN KEY (experiment_ID) REFERENCES Experiment_Data(experiment_ID) ON DELETE CASCADE
+);
+
+create table Node_Data
+(
+ workflow_instanceID varchar(255),
+ node_id varchar(255),
+ node_type varchar(255),
+ inputs BLOB,
+ outputs BLOB,
+ status varchar(100),
+ start_time TIMESTAMP DEFAULT '0000-00-00 00:00:00',
+ last_update_time TIMESTAMP DEFAULT now() on update now(),
+ PRIMARY KEY(workflow_instanceID, node_id),
+ FOREIGN KEY (workflow_instanceID) REFERENCES Workflow_Data(workflow_instanceID) ON DELETE CASCADE
+);
+
+create table Gram_Data
+(
+ workflow_instanceID varchar(255),
+ node_id varchar(255),
+ rsl BLOB,
+ invoked_host varchar(255),
+ local_Job_ID varchar(255),
+ PRIMARY KEY(workflow_instanceID, node_id),
+ FOREIGN KEY (workflow_instanceID) REFERENCES Workflow_Data(workflow_instanceID) ON DELETE CASCADE
+);
+
+
Modified: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/provenance.sql
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/provenance.sql?rev=1386977&r1=1386976&r2=1386977&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/provenance.sql (original)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/main/resources/provenance.sql Tue Sep 18 03:30:52 2012
@@ -30,7 +30,7 @@ create table Experiment_Data
create table Experiment_Metadata
(
experiment_ID varchar(255),
- metadata varchar(2000),
+ metadata BLOB,
PRIMARY KEY (experiment_ID)
);
@@ -52,8 +52,8 @@ create table Node_Data
workflow_instanceID varchar(255),
node_id varchar(255),
node_type varchar(255),
- inputs varchar(1000),
- outputs varchar(1000),
+ inputs BLOB,
+ outputs BLOB,
status varchar(100),
start_time TIMESTAMP DEFAULT '0000-00-00 00:00:00',
last_update_time TIMESTAMP DEFAULT now() on update now(),
@@ -65,9 +65,9 @@ create table Gram_Data
(
workflow_instanceID varchar(255),
node_id varchar(255),
- rsl varchar(2000),
+ rsl BLOB,
invoked_host varchar(255),
-
+ local_Job_ID varchar(255),
PRIMARY KEY(workflow_instanceID, node_id),
FOREIGN KEY (workflow_instanceID) REFERENCES Workflow_Data(workflow_instanceID) ON DELETE CASCADE
);
Modified: incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/provenance/test/JpaTest.java
URL: http://svn.apache.org/viewvc/incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/provenance/test/JpaTest.java?rev=1386977&r1=1386976&r2=1386977&view=diff
==============================================================================
--- incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/provenance/test/JpaTest.java (original)
+++ incubator/airavata/trunk/modules/registry/airavata-jpa-registry/src/test/java/org/apache/airavata/provenance/test/JpaTest.java Tue Sep 18 03:30:52 2012
@@ -22,18 +22,6 @@ package org.apache.airavata.provenance.t
import static org.junit.Assert.assertTrue;
-import javax.persistence.EntityManager;
-import javax.persistence.EntityManagerFactory;
-import javax.persistence.Persistence;
-import javax.persistence.Query;
-
-import org.apache.airavata.provenance.model.Experiment_Data;
-import org.apache.airavata.provenance.model.Gram_Data;
-import org.apache.airavata.provenance.model.Node_Data;
-import org.apache.airavata.provenance.model.Workflow_Data;
-import org.junit.Before;
-import org.junit.Test;
-
public class JpaTest {
// private static final String PERSISTENCE_UNIT_NAME = "airavata_provenance";
// private EntityManagerFactory factory;