Repository: airavata
Updated Branches:
refs/heads/master 0e2e21ce5 -> e8ac03899
added resource functions
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/4066c477
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/4066c477
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/4066c477
Branch: refs/heads/master
Commit: 4066c4777255661250f7237c319c2870d3b88149
Parents: a584c2c
Author: raminder <raminder@apache.org>
Authored: Tue Feb 18 13:33:36 2014 -0500
Committer: raminder <raminder@apache.org>
Committed: Tue Feb 18 13:33:36 2014 -0500
----------------------------------------------------------------------
.../jpa/resources/ApplicationInputResource.java | 57 +++++++++++++++++---
.../resources/ApplicationOutputResource.java | 57 +++++++++++++++++---
.../jpa/resources/NodeInputResource.java | 31 ++++++++---
3 files changed, 124 insertions(+), 21 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/4066c477/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
index 833ba91..ca3245a 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationInputResource.java
@@ -21,13 +21,23 @@
package org.apache.airavata.persistance.registry.jpa.resources;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+
import org.apache.airavata.persistance.registry.jpa.Resource;
import org.apache.airavata.persistance.registry.jpa.ResourceType;
-
-import java.util.List;
+import org.apache.airavata.persistance.registry.jpa.ResourceUtils;
+import org.apache.airavata.persistance.registry.jpa.model.ApplicationInput;
+import org.apache.airavata.persistance.registry.jpa.model.ApplicationInput_PK;
+import org.apache.airavata.persistance.registry.jpa.model.TaskDetail;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class ApplicationInputResource extends AbstractResource {
- private String taskId;
+ private static final Logger logger = LoggerFactory.getLogger(ApplicationInputResource.class);
+
+ private String taskId;
private String inputKey;
private String inputType;
private String metadata;
@@ -75,26 +85,57 @@ public class ApplicationInputResource extends AbstractResource {
@Override
public Resource create(ResourceType type) {
- return null;
+ logger.error("Unsupported resource type for application input data resource.", new
UnsupportedOperationException());
+ throw new UnsupportedOperationException();
}
@Override
public void remove(ResourceType type, Object name) {
-
+ logger.error("Unsupported resource type for application input data resource.", new
UnsupportedOperationException());
+ throw new UnsupportedOperationException();
}
@Override
public Resource get(ResourceType type, Object name) {
- return null;
+ logger.error("Unsupported resource type for application input data resource.", new
UnsupportedOperationException());
+ throw new UnsupportedOperationException();
}
@Override
public List<Resource> get(ResourceType type) {
- return null;
+ logger.error("Unsupported resource type for application input data resource.", new
UnsupportedOperationException());
+ throw new UnsupportedOperationException();
}
@Override
public void save() {
-
+ EntityManager em = ResourceUtils.getEntityManager();
+ ApplicationInput existingInput = em.find(ApplicationInput.class, new ApplicationInput_PK(inputKey,
taskId));
+ em.close();
+
+ em = ResourceUtils.getEntityManager();
+ em.getTransaction().begin();
+ ApplicationInput applicationInput = new ApplicationInput();
+ TaskDetail taskDetail = em.find(TaskDetail.class, taskId);
+ applicationInput.setTask(taskDetail);
+ applicationInput.setTaskId(taskDetail.getTaskId());
+ applicationInput.setInputKey(inputKey);
+ applicationInput.setInputKeyType(inputType);
+ applicationInput.setValue(value);
+ applicationInput.setMetadata(metadata);
+
+ if (existingInput != null){
+ existingInput.setTask(taskDetail);
+ existingInput.setTaskId(taskDetail.getTaskId());
+ existingInput.setInputKey(inputKey);
+ existingInput.setInputKeyType(inputType);
+ existingInput.setValue(value);
+ existingInput.setMetadata(metadata);
+ applicationInput = em.merge(existingInput);
+ }else {
+ em.persist(applicationInput);
+ }
+ em.getTransaction().commit();
+ em.close();
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4066c477/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
index 9a7bf2f..7fe7b3d 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/ApplicationOutputResource.java
@@ -21,13 +21,23 @@
package org.apache.airavata.persistance.registry.jpa.resources;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+
import org.apache.airavata.persistance.registry.jpa.Resource;
import org.apache.airavata.persistance.registry.jpa.ResourceType;
-
-import java.util.List;
+import org.apache.airavata.persistance.registry.jpa.ResourceUtils;
+import org.apache.airavata.persistance.registry.jpa.model.ApplicationOutput;
+import org.apache.airavata.persistance.registry.jpa.model.ApplicationOutput_PK;
+import org.apache.airavata.persistance.registry.jpa.model.TaskDetail;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class ApplicationOutputResource extends AbstractResource {
- private String taskId;
+ private static final Logger logger = LoggerFactory.getLogger(ApplicationOutputResource.class);
+
+ private String taskId;
private String outputKey;
private String outputType;
private String metadata;
@@ -75,26 +85,59 @@ public class ApplicationOutputResource extends AbstractResource {
@Override
public Resource create(ResourceType type) {
- return null;
+ logger.error("Unsupported resource type for application output data resource.", new
UnsupportedOperationException());
+ throw new UnsupportedOperationException();
}
@Override
public void remove(ResourceType type, Object name) {
-
+ logger.error("Unsupported resource type for application output data resource.", new
UnsupportedOperationException());
+ throw new UnsupportedOperationException();
}
@Override
public Resource get(ResourceType type, Object name) {
- return null;
+ logger.error("Unsupported resource type for application output data resource.", new
UnsupportedOperationException());
+ throw new UnsupportedOperationException();
}
@Override
public List<Resource> get(ResourceType type) {
- return null;
+ logger.error("Unsupported resource type for application output data resource.", new
UnsupportedOperationException());
+ throw new UnsupportedOperationException();
}
@Override
public void save() {
+ EntityManager em = ResourceUtils.getEntityManager();
+ ApplicationOutput existingOutput = em.find(ApplicationOutput.class, new ApplicationOutput_PK(outputKey,
taskId));
+ em.close();
+
+ em = ResourceUtils.getEntityManager();
+ em.getTransaction().begin();
+ ApplicationOutput applicationOutput = new ApplicationOutput();
+ TaskDetail taskDetail = em.find(TaskDetail.class, taskId);
+ applicationOutput.setTask(taskDetail);
+ applicationOutput.setTaskId(taskDetail.getTaskId());
+ applicationOutput.setOutputKey(outputKey);
+ applicationOutput.setOutputKeyType(outputType);
+ applicationOutput.setValue(value);
+ applicationOutput.setMetadata(metadata);
+
+ if (existingOutput != null){
+ existingOutput.setTask(taskDetail);
+ existingOutput.setTaskId(taskDetail.getTaskId());
+ existingOutput.setOutputKey(outputKey);
+ existingOutput.setOutputKeyType(outputType);
+ existingOutput.setValue(value);
+ existingOutput.setMetadata(metadata);
+ applicationOutput = em.merge(existingOutput);
+ }else {
+ em.persist(applicationOutput);
+ }
+ em.getTransaction().commit();
+ em.close();
+
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/4066c477/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java
b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java
index dd7d484..e483d8f 100644
--- a/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java
+++ b/modules/registry/airavata-jpa-registry/src/main/java/org/apache/airavata/persistance/registry/jpa/resources/NodeInputResource.java
@@ -21,12 +21,21 @@
package org.apache.airavata.persistance.registry.jpa.resources;
+import java.util.List;
+
+import javax.persistence.EntityManager;
+
import org.apache.airavata.persistance.registry.jpa.Resource;
import org.apache.airavata.persistance.registry.jpa.ResourceType;
-
-import java.util.List;
+import org.apache.airavata.persistance.registry.jpa.ResourceUtils;
+import org.apache.airavata.persistance.registry.jpa.model.NodeInput;
+import org.apache.airavata.persistance.registry.jpa.model.NodeInput_PK;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
public class NodeInputResource extends AbstractResource {
+ private static final Logger logger = LoggerFactory.getLogger(NodeInputResource.class);
+
private String nodeInstanceId;
private String inputKey;
private String inputType;
@@ -75,26 +84,36 @@ public class NodeInputResource extends AbstractResource {
@Override
public Resource create(ResourceType type) {
- return null;
+ logger.error("Unsupported resource type for node input data resource.", new UnsupportedOperationException());
+ throw new UnsupportedOperationException();
}
@Override
public void remove(ResourceType type, Object name) {
-
+ logger.error("Unsupported resource type for node input data resource.", new UnsupportedOperationException());
+ throw new UnsupportedOperationException();
}
@Override
public Resource get(ResourceType type, Object name) {
- return null;
+ logger.error("Unsupported resource type for node input data resource.", new UnsupportedOperationException());
+ throw new UnsupportedOperationException();
}
@Override
public List<Resource> get(ResourceType type) {
- return null;
+ logger.error("Unsupported resource type for node input data resource.", new UnsupportedOperationException());
+ throw new UnsupportedOperationException();
}
@Override
public void save() {
+ EntityManager em = ResourceUtils.getEntityManager();
+ NodeInput existingInput = em.find(NodeInput.class, new NodeInput_PK(inputKey, nodeInstanceId));
+ em.close();
+ em = ResourceUtils.getEntityManager();
+ em.getTransaction().begin();
+
}
}
|