You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ch...@apache.org on 2014/08/14 22:24:35 UTC
[1/3] adding created time and update time to app catalog
Repository: airavata
Updated Branches:
refs/heads/master b19a8e06d -> 404913acd
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/SshJobSubmissionResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/SshJobSubmissionResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/SshJobSubmissionResource.java
index e2005ee..c94a8b1 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/SshJobSubmissionResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/SshJobSubmissionResource.java
@@ -19,6 +19,7 @@
package org.apache.aiaravata.application.catalog.data.resources;
+import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
@@ -43,6 +44,24 @@ public class SshJobSubmissionResource extends AbstractResource {
private String alternativeSshHostname;
private String securityProtocol;
private int sshPort;
+ private Timestamp createdTime;
+ private Timestamp updatedTime;
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
@Override
public void remove(Object identifier) throws AppCatalogException {
@@ -198,8 +217,10 @@ public class SshJobSubmissionResource extends AbstractResource {
em.getTransaction().begin();
if (existingSshJobSubmission == null) {
sshJobSubmission = new SshJobSubmission();
+ sshJobSubmission.setCreationTime(createdTime);
} else {
sshJobSubmission = existingSshJobSubmission;
+ sshJobSubmission.setUpdateTime(updatedTime);
}
sshJobSubmission.setResourceJobManagerId(getResourceJobManagerId());
ResourceJobManager resourceJobManager = em.find(ResourceJobManager.class, getResourceJobManagerId());
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowResource.java
index c9a14fc..f0d59d1 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/WorkflowResource.java
@@ -32,6 +32,7 @@ import org.slf4j.LoggerFactory;
import javax.persistence.EntityManager;
import javax.persistence.Query;
+import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
@@ -41,6 +42,24 @@ public class WorkflowResource extends AbstractResource {
private String createdUser;
private String graph;
private String wfTemplateId;
+ private Timestamp createdTime;
+ private Timestamp updatedTime;
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
@Override
public void remove(Object identifier) throws AppCatalogException {
@@ -252,8 +271,10 @@ public class WorkflowResource extends AbstractResource {
em.getTransaction().begin();
if (existingWorkflow == null) {
workflow = new Workflow();
+ workflow.setCreatedUser(createdUser);
} else {
workflow = existingWorkflow;
+ workflow.setUpdateTime(updatedTime);
}
workflow.setWfName(getWfName());
workflow.setCreatedUser(getCreatedUser());
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
index 367cfc3..8f23822 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogJPAUtils.java
@@ -177,20 +177,20 @@ public class AppCatalogJPAUtils {
logger.error("Object should be a Gridftp Endpoint.", new IllegalArgumentException());
throw new IllegalArgumentException("Object should be a Gridftp Endpoint.");
}
- case JOB_SUBMISSION_PROTOCOL:
- if (o instanceof JobSubmissionProtocol){
- return createJobSubmissionProtocol((JobSubmissionProtocol) o);
- }else {
- logger.error("Object should be a JobSubmissionProtocol.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a JobSubmissionProtocol.");
- }
- case DATA_MOVEMENT_PROTOCOL:
- if (o instanceof DataMovementProtocol){
- return createDataMovementProtocol((DataMovementProtocol) o);
- }else {
- logger.error("Object should be a DataMovementProtocol.", new IllegalArgumentException());
- throw new IllegalArgumentException("Object should be a DataMovementProtocol.");
- }
+// case JOB_SUBMISSION_PROTOCOL:
+// if (o instanceof JobSubmissionProtocol){
+// return createJobSubmissionProtocol((JobSubmissionProtocol) o);
+// }else {
+// logger.error("Object should be a JobSubmissionProtocol.", new IllegalArgumentException());
+// throw new IllegalArgumentException("Object should be a JobSubmissionProtocol.");
+// }
+// case DATA_MOVEMENT_PROTOCOL:
+// if (o instanceof DataMovementProtocol){
+// return createDataMovementProtocol((DataMovementProtocol) o);
+// }else {
+// logger.error("Object should be a DataMovementProtocol.", new IllegalArgumentException());
+// throw new IllegalArgumentException("Object should be a DataMovementProtocol.");
+// }
case APPLICATION_MODULE:
if (o instanceof ApplicationModule){
return createApplicationModule((ApplicationModule) o);
@@ -358,6 +358,10 @@ public class AppCatalogJPAUtils {
localSubmissionResource.setResourceJobManagerId(o.getResourceJobManagerId());
localSubmissionResource.setResourceJobManagerResource((ResourceJobManagerResource)createResourceJobManager(o.getResourceJobManager()));
localSubmissionResource.setJobSubmissionInterfaceId(o.getJobSubmissionInterfaceId());
+ localSubmissionResource.setCreatedTime(o.getCreationTime());
+ if (o.getUpdateTime() != null){
+ localSubmissionResource.setUpdatedTime(o.getUpdateTime());
+ }
}
return localSubmissionResource;
}
@@ -380,6 +384,10 @@ public class AppCatalogJPAUtils {
resourceJobManagerResource.setPushMonitoringEndpoint(o.getPushMonitoringEndpoint());
resourceJobManagerResource.setJobManagerBinPath(o.getJobManagerBinPath());
resourceJobManagerResource.setResourceJobManagerType(o.getResourceJobManagerType());
+ resourceJobManagerResource.setCreatedTime(o.getCreationTime());
+ if (o.getUpdateTime() != null){
+ resourceJobManagerResource.setUpdatedTime(o.getUpdateTime());
+ }
}
return resourceJobManagerResource;
}
@@ -392,6 +400,10 @@ public class AppCatalogJPAUtils {
dataMovementInterfaceResource.setDataMovementProtocol(o.getDataMovementProtocol());
dataMovementInterfaceResource.setDataMovementInterfaceId(o.getDataMovementInterfaceId());
dataMovementInterfaceResource.setPriorityOrder(o.getPriorityOrder());
+ dataMovementInterfaceResource.setCreatedTime(o.getCreationTime());
+ if (o.getUpdateTime() != null){
+ dataMovementInterfaceResource.setUpdatedTime(o.getUpdateTime());
+ }
}
return dataMovementInterfaceResource;
}
@@ -404,6 +416,10 @@ public class AppCatalogJPAUtils {
jobSubmissionInterfaceResource.setComputeHostResource((ComputeResourceResource)createComputeResource(o.getComputeResource()));
jobSubmissionInterfaceResource.setJobSubmissionProtocol(o.getJobSubmissionProtocol());
jobSubmissionInterfaceResource.setPriorityOrder(o.getPriorityOrder());
+ jobSubmissionInterfaceResource.setCreatedTime(o.getCreationTime());
+ if (o.getUpdateTime() != null){
+ jobSubmissionInterfaceResource.setUpdatedTime(o.getUpdateTime());
+ }
}
return jobSubmissionInterfaceResource;
}
@@ -439,6 +455,10 @@ public class AppCatalogJPAUtils {
computeResourceResource.setResourceDescription(o.getResourceDescription());
computeResourceResource.setResourceId(o.getResourceId());
computeResourceResource.setHostName(o.getHostName());
+ computeResourceResource.setCreatedTime(o.getCreationTime());
+ if (o.getUpdateTime() != null){
+ computeResourceResource.setUpdatedTime(o.getUpdateTime());
+ }
}
return computeResourceResource;
}
@@ -534,6 +554,10 @@ public class AppCatalogJPAUtils {
sshJobSubmissionResource.setAlternativeSshHostname(o.getAlternativeSshHostname());
sshJobSubmissionResource.setSecurityProtocol(o.getSecurityProtocol());
sshJobSubmissionResource.setSshPort(o.getSshPort());
+ sshJobSubmissionResource.setCreatedTime(o.getCreationTime());
+ if (o.getUpdateTime() != null){
+ sshJobSubmissionResource.setUpdatedTime(o.getUpdateTime());
+ }
}
return sshJobSubmissionResource;
}
@@ -546,6 +570,10 @@ public class AppCatalogJPAUtils {
scpDataMovementResource.setSecurityProtocol(o.getSecurityProtocol());
scpDataMovementResource.setAlternativeScpHostname(o.getAlternativeScpHostname());
scpDataMovementResource.setSshPort(o.getSshPort());
+ scpDataMovementResource.setCreatedTime(o.getCreationTime());
+ if (o.getUpdateTime() != null){
+ scpDataMovementResource.setUpdatedTime(o.getUpdateTime());
+ }
}
return scpDataMovementResource;
}
@@ -555,6 +583,10 @@ public class AppCatalogJPAUtils {
if (o != null){
gridftpDataMovementResource.setDataMovementInterfaceId(o.getDataMovementInterfaceId());
gridftpDataMovementResource.setSecurityProtocol(o.getSecurityProtocol());
+ gridftpDataMovementResource.setCreatedTime(o.getCreationTime());
+ if (o.getUpdateTime() != null){
+ gridftpDataMovementResource.setUpdatedTime(o.getUpdateTime());
+ }
}
return gridftpDataMovementResource;
}
@@ -565,31 +597,35 @@ public class AppCatalogJPAUtils {
gridftpEndpointResource.setEndpoint(o.getEndpoint());
gridftpEndpointResource.setDataMovementInterfaceId(o.getDataMovementInterfaceId());
gridftpEndpointResource.setGridftpDataMovementResource((GridftpDataMovementResource)createGridftpDataMovement(o.getGridftpDataMovement()));
+ gridftpEndpointResource.setCreatedTime(o.getCreationTime());
+ if (o.getUpdateTime() != null){
+ gridftpEndpointResource.setUpdatedTime(o.getUpdateTime());
+ }
}
return gridftpEndpointResource;
}
- private static Resource createJobSubmissionProtocol(JobSubmissionProtocol o) {
- JobSubmissionProtocolResource resource = new JobSubmissionProtocolResource();
- if (o != null){
- resource.setResourceID(o.getResourceID());
- resource.setSubmissionID(o.getSubmissionID());
- resource.setJobType(o.getJobType());
- resource.setComputeHostResource((ComputeResourceResource)createComputeResource(o.getComputeResource()));
- }
- return resource;
- }
-
- private static Resource createDataMovementProtocol(DataMovementProtocol o) {
- DataMovementProtocolResource resource = new DataMovementProtocolResource();
- if (o != null) {
- resource.setResourceID(o.getResourceID());
- resource.setDataMoveID(o.getDataMoveID());
- resource.setDataMoveType(o.getDataMoveType());
- resource.setComputeHostResource((ComputeResourceResource)createComputeResource(o.getComputeResource()));
- }
- return resource;
- }
+// private static Resource createJobSubmissionProtocol(JobSubmissionProtocol o) {
+// JobSubmissionProtocolResource resource = new JobSubmissionProtocolResource();
+// if (o != null){
+// resource.setResourceID(o.getResourceID());
+// resource.setSubmissionID(o.getSubmissionID());
+// resource.setJobType(o.getJobType());
+// resource.setComputeHostResource((ComputeResourceResource)createComputeResource(o.getComputeResource()));
+// }
+// return resource;
+// }
+//
+// private static Resource createDataMovementProtocol(DataMovementProtocol o) {
+// DataMovementProtocolResource resource = new DataMovementProtocolResource();
+// if (o != null) {
+// resource.setResourceID(o.getResourceID());
+// resource.setDataMoveID(o.getDataMoveID());
+// resource.setDataMoveType(o.getDataMoveType());
+// resource.setComputeHostResource((ComputeResourceResource)createComputeResource(o.getComputeResource()));
+// }
+// return resource;
+// }
private static Resource createApplicationModule(ApplicationModule o) {
AppModuleResource moduleResource = new AppModuleResource();
@@ -598,6 +634,10 @@ public class AppCatalogJPAUtils {
moduleResource.setModuleDesc(o.getModuleDesc());
moduleResource.setModuleName(o.getModuleName());
moduleResource.setModuleVersion(o.getModuleVersion());
+ moduleResource.setCreatedTime(o.getCreationTime());
+ if (o.getUpdateTime() != null){
+ moduleResource.setUpdatedTime(o.getUpdateTime());
+ }
}
return moduleResource;
}
@@ -613,6 +653,10 @@ public class AppCatalogJPAUtils {
resource.setParallelism(o.getParallelism());
resource.setModuleResource((AppModuleResource) createApplicationModule(o.getApplicationModule()));
resource.setHostResource((ComputeResourceResource) createComputeResource(o.getComputeResource()));
+ resource.setCreatedTime(o.getCreationTime());
+ if (o.getUpdateTime() != null){
+ resource.setUpdatedTime(o.getUpdateTime());
+ }
}
return resource;
}
@@ -656,6 +700,10 @@ public class AppCatalogJPAUtils {
resource.setInterfaceId(o.getInterfaceID());
resource.setAppName(o.getAppName());
resource.setAppDescription(o.getAppDescription());
+ resource.setCreatedTime(o.getCreationTime());
+ if (o.getUpdateTime() != null){
+ resource.setUpdatedTime(o.getUpdateTime());
+ }
}
return resource;
}
@@ -703,6 +751,10 @@ public class AppCatalogJPAUtils {
resource.setGatewayID(o.getGatewayID());
resource.setGatewayName(o.getGatewayName());
resource.setGatewayDesc(o.getGatewayDesc());
+ resource.setCreatedTime(o.getCreationTime());
+ if (o.getUpdateTime() != null){
+ resource.setUpdatedTime(o.getUpdateTime());
+ }
}
return resource;
}
@@ -741,6 +793,10 @@ public class AppCatalogJPAUtils {
if (o.getGraph() != null){
workflowResource.setGraph(new String(o.getGraph()));
}
+ workflowResource.setCreatedTime(o.getCreationTime());
+ if (o.getUpdateTime() != null){
+ workflowResource.setUpdatedTime(o.getUpdateTime());
+ }
workflowResource.setWfTemplateId(o.getWfTemplateId());
return workflowResource;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
index 24830c8..dc7766e 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogThriftConversion.java
@@ -200,23 +200,23 @@ public class AppCatalogThriftConversion {
return batchQueue;
}
- public static Map<String, JobSubmissionProtocol> getJobSubmissionProtocolList(List<Resource> resources){
- Map<String, JobSubmissionProtocol> protocols = new HashMap<String, JobSubmissionProtocol>();
- for (Resource resource : resources){
- JobSubmissionProtocolResource submission = (JobSubmissionProtocolResource) resource;
- protocols.put(submission.getSubmissionID(), JobSubmissionProtocol.valueOf(submission.getJobType()));
- }
- return protocols;
- }
+// public static Map<String, JobSubmissionProtocol> getJobSubmissionProtocolList(List<Resource> resources){
+// Map<String, JobSubmissionProtocol> protocols = new HashMap<String, JobSubmissionProtocol>();
+// for (Resource resource : resources){
+// JobSubmissionProtocolResource submission = (JobSubmissionProtocolResource) resource;
+// protocols.put(submission.getSubmissionID(), JobSubmissionProtocol.valueOf(submission.getJobType()));
+// }
+// return protocols;
+// }
- public static Map<String, DataMovementProtocol> getDataMoveProtocolList(List<Resource> resources){
- Map<String, DataMovementProtocol> protocols = new HashMap<String, DataMovementProtocol>();
- for (Resource resource : resources){
- DataMovementProtocolResource protocolResource = (DataMovementProtocolResource) resource;
- protocols.put(protocolResource.getDataMoveID(), DataMovementProtocol.valueOf(protocolResource.getDataMoveType()));
- }
- return protocols;
- }
+// public static Map<String, DataMovementProtocol> getDataMoveProtocolList(List<Resource> resources){
+// Map<String, DataMovementProtocol> protocols = new HashMap<String, DataMovementProtocol>();
+// for (Resource resource : resources){
+// DataMovementProtocolResource protocolResource = (DataMovementProtocolResource) resource;
+// protocols.put(protocolResource.getDataMoveID(), DataMovementProtocol.valueOf(protocolResource.getDataMoveType()));
+// }
+// return protocols;
+// }
public static SshJobSubmissionResource getSSHJobSubmission (SSHJobSubmission submission){
SshJobSubmissionResource resource = new SshJobSubmissionResource();
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/resources/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/resources/META-INF/persistence.xml b/modules/app-catalog/app-catalog-data/src/main/resources/META-INF/persistence.xml
index 3bf5daa..0f9bb72 100644
--- a/modules/app-catalog/app-catalog-data/src/main/resources/META-INF/persistence.xml
+++ b/modules/app-catalog/app-catalog-data/src/main/resources/META-INF/persistence.xml
@@ -24,7 +24,6 @@
<persistence-unit name="appcatalog_data">
<provider>org.apache.openjpa.persistence.PersistenceProviderImpl</provider>
<class>org.apache.aiaravata.application.catalog.data.model.ComputeResource</class>
- <class>org.apache.aiaravata.application.catalog.data.model.DataMovementProtocol</class>
<class>org.apache.aiaravata.application.catalog.data.model.GlobusJobSubmission</class>
<class>org.apache.aiaravata.application.catalog.data.model.GlobusGKEndpoint</class>
<class>org.apache.aiaravata.application.catalog.data.model.GSISSHSubmission</class>
@@ -33,7 +32,6 @@
<class>org.apache.aiaravata.application.catalog.data.model.GSISSHPostJobCommand</class>
<class>org.apache.aiaravata.application.catalog.data.model.HostAlias</class>
<class>org.apache.aiaravata.application.catalog.data.model.HostIPAddress</class>
- <class>org.apache.aiaravata.application.catalog.data.model.JobSubmissionProtocol</class>
<class>org.apache.aiaravata.application.catalog.data.model.ScpDataMovement</class>
<class>org.apache.aiaravata.application.catalog.data.model.GridftpDataMovement</class>
<class>org.apache.aiaravata.application.catalog.data.model.GridftpEndpoint</class>
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
index ca423ab..8340116 100644
--- a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
+++ b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-derby.sql
@@ -23,6 +23,8 @@ CREATE TABLE COMPUTE_RESOURCE
RESOURCE_ID VARCHAR (255) NOT NULL,
HOST_NAME VARCHAR (255) NOT NULL,
RESOURCE_DESCRIPTION VARCHAR (255),
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (RESOURCE_ID)
);
@@ -98,6 +100,8 @@ CREATE TABLE RESOURCE_JOB_MANAGER
PUSH_MONITORING_ENDPOINT VARCHAR (255),
JOB_MANAGER_BIN_PATH VARCHAR (255),
RESOURCE_JOB_MANAGER_TYPE VARCHAR (255) NOT NULL,
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (RESOURCE_JOB_MANAGER_ID)
);
@@ -108,6 +112,8 @@ CREATE TABLE SSH_JOB_SUBMISSION
ALTERNATIVE_SSH_HOSTNAME VARCHAR (255),
SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
SSH_PORT INTEGER,
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID),
FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
);
@@ -119,6 +125,8 @@ CREATE TABLE SCP_DATA_MOVEMENT
SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
ALTERNATIVE_SCP_HOSTNAME VARCHAR (255),
SSH_PORT INTEGER,
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
);
@@ -126,6 +134,8 @@ CREATE TABLE GRIDFTP_DATA_MOVEMENT
(
DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
);
@@ -134,26 +144,32 @@ CREATE TABLE GRIDFTP_ENDPOINT
ENDPOINT VARCHAR (255) NOT NULL,
DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID,ENDPOINT),
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
FOREIGN KEY (DATA_MOVEMENT_INTERFACE_ID) REFERENCES GRIDFTP_DATA_MOVEMENT(DATA_MOVEMENT_INTERFACE_ID) ON DELETE CASCADE
);
-CREATE TABLE JOB_SUBMISSION_PROTOCOL
-(
- RESOURCE_ID VARCHAR(255),
- SUBMISSION_ID VARCHAR(255),
- JOB_TYPE VARCHAR(255),
- PRIMARY KEY(RESOURCE_ID,SUBMISSION_ID,JOB_TYPE),
- FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE DATA_MOVEMENT_PROTOCOL
-(
- RESOURCE_ID VARCHAR(255),
- DATA_MOVE_ID VARCHAR(255),
- DATA_MOVE_TYPE VARCHAR(255),
- PRIMARY KEY(RESOURCE_ID,DATA_MOVE_ID,DATA_MOVE_TYPE),
- FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
+--CREATE TABLE JOB_SUBMISSION_PROTOCOL
+--(
+-- RESOURCE_ID VARCHAR(255),
+-- SUBMISSION_ID VARCHAR(255),
+-- JOB_TYPE VARCHAR(255),
+-- CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+-- UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
+-- PRIMARY KEY(RESOURCE_ID,SUBMISSION_ID,JOB_TYPE),
+-- FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+--);
+--
+--CREATE TABLE DATA_MOVEMENT_PROTOCOL
+--(
+-- RESOURCE_ID VARCHAR(255),
+-- DATA_MOVE_ID VARCHAR(255),
+-- DATA_MOVE_TYPE VARCHAR(255),
+-- CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+-- UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
+-- PRIMARY KEY(RESOURCE_ID,DATA_MOVE_ID,DATA_MOVE_TYPE),
+-- FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+--);
CREATE TABLE APPLICATION_MODULE
(
@@ -161,6 +177,8 @@ CREATE TABLE APPLICATION_MODULE
MODULE_NAME VARCHAR(255),
MODULE_VERSION VARCHAR(255),
MODULE_DESC VARCHAR(255),
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY(MODULE_ID)
);
@@ -170,8 +188,10 @@ CREATE TABLE APPLICATION_DEPLOYMENT
APP_MODULE_ID VARCHAR(255),
COMPUTE_HOSTID VARCHAR(255),
EXECUTABLE_PATH VARCHAR(255),
- PARALLELISM VARCHAR(255),
+ PARALLELISM VARCHAR(255),
APPLICATION_DESC VARCHAR(255),
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY(DEPLOYMENT_ID),
FOREIGN KEY (COMPUTE_HOSTID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
FOREIGN KEY (APP_MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
@@ -217,6 +237,8 @@ CREATE TABLE APPLICATION_INTERFACE
INTERFACE_ID VARCHAR(255),
APPLICATION_NAME VARCHAR(255),
APPLICATION_DESCRIPTION VARCHAR(255),
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY(INTERFACE_ID)
);
@@ -258,6 +280,8 @@ CREATE TABLE GATEWAY_PROFILE
GATEWAY_ID VARCHAR(255),
GATEWAY_NAME VARCHAR(255),
GATEWAY_DESC VARCHAR(255),
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY(GATEWAY_ID)
);
@@ -304,6 +328,8 @@ CREATE TABLE JOB_SUBMISSION_INTERFACE
COMPUTE_RESOURCE_ID VARCHAR (255) NOT NULL,
JOB_SUBMISSION_PROTOCOL VARCHAR (255) NOT NULL,
PRIORITY_ORDER INTEGER,
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (COMPUTE_RESOURCE_ID,JOB_SUBMISSION_INTERFACE_ID),
FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
);
@@ -314,6 +340,8 @@ CREATE TABLE DATA_MOVEMENT_INTERFACE
DATA_MOVEMENT_PROTOCOL VARCHAR (255) NOT NULL,
DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
PRIORITY_ORDER INTEGER,
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (COMPUTE_RESOURCE_ID,DATA_MOVEMENT_INTERFACE_ID),
FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
);
@@ -331,6 +359,8 @@ CREATE TABLE LOCAL_SUBMISSION
(
RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID),
FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
);
@@ -347,6 +377,8 @@ CREATE TABLE WORKFLOW
WF_NAME VARCHAR (255) NOT NULL,
GRAPH CLOB,
OWNER VARCHAR(255),
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (WF_TEMPLATE_ID)
);
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
index bb72c7f..5b09829 100644
--- a/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
+++ b/modules/app-catalog/app-catalog-data/src/main/resources/appcatalog-mysql.sql
@@ -23,6 +23,8 @@ CREATE TABLE COMPUTE_RESOURCE
RESOURCE_ID VARCHAR (255) NOT NULL,
HOST_NAME VARCHAR (255) NOT NULL,
RESOURCE_DESCRIPTION VARCHAR (255),
+ CREATION_TIME TIMESTAMP DEFAULT NOW(),
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE now(),
PRIMARY KEY (RESOURCE_ID)
);
@@ -98,6 +100,8 @@ CREATE TABLE RESOURCE_JOB_MANAGER
PUSH_MONITORING_ENDPOINT VARCHAR (255),
JOB_MANAGER_BIN_PATH VARCHAR (255),
RESOURCE_JOB_MANAGER_TYPE VARCHAR (255) NOT NULL,
+ CREATION_TIME TIMESTAMP DEFAULT NOW(),
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE now(),
PRIMARY KEY (RESOURCE_JOB_MANAGER_ID)
);
@@ -108,6 +112,8 @@ CREATE TABLE SSH_JOB_SUBMISSION
ALTERNATIVE_SSH_HOSTNAME VARCHAR (255),
SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
SSH_PORT INTEGER,
+ CREATION_TIME TIMESTAMP DEFAULT NOW(),
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE now(),
PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID),
FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
);
@@ -119,6 +125,8 @@ CREATE TABLE SCP_DATA_MOVEMENT
SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
ALTERNATIVE_SCP_HOSTNAME VARCHAR (255),
SSH_PORT INTEGER,
+ CREATION_TIME TIMESTAMP DEFAULT NOW(),
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE now(),
PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
);
@@ -126,6 +134,8 @@ CREATE TABLE GRIDFTP_DATA_MOVEMENT
(
DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
+ CREATION_TIME TIMESTAMP DEFAULT NOW(),
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE now(),
PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
);
@@ -134,26 +144,28 @@ CREATE TABLE GRIDFTP_ENDPOINT
ENDPOINT VARCHAR (255) NOT NULL,
DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID,ENDPOINT),
+ CREATION_TIME TIMESTAMP DEFAULT NOW(),
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE now(),
FOREIGN KEY (DATA_MOVEMENT_INTERFACE_ID) REFERENCES GRIDFTP_DATA_MOVEMENT(DATA_MOVEMENT_INTERFACE_ID) ON DELETE CASCADE
);
-CREATE TABLE JOB_SUBMISSION_PROTOCOL
-(
- RESOURCE_ID VARCHAR(255),
- SUBMISSION_ID VARCHAR(255),
- JOB_TYPE VARCHAR(255),
- PRIMARY KEY(RESOURCE_ID,SUBMISSION_ID,JOB_TYPE),
- FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE DATA_MOVEMENT_PROTOCOL
-(
- RESOURCE_ID VARCHAR(255),
- DATA_MOVE_ID VARCHAR(255),
- DATA_MOVE_TYPE VARCHAR(255),
- PRIMARY KEY(RESOURCE_ID,DATA_MOVE_ID,DATA_MOVE_TYPE),
- FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
+--CREATE TABLE JOB_SUBMISSION_PROTOCOL
+--(
+-- RESOURCE_ID VARCHAR(255),
+-- SUBMISSION_ID VARCHAR(255),
+-- JOB_TYPE VARCHAR(255),
+-- PRIMARY KEY(RESOURCE_ID,SUBMISSION_ID,JOB_TYPE),
+-- FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+--);
+--
+--CREATE TABLE DATA_MOVEMENT_PROTOCOL
+--(
+-- RESOURCE_ID VARCHAR(255),
+-- DATA_MOVE_ID VARCHAR(255),
+-- DATA_MOVE_TYPE VARCHAR(255),
+-- PRIMARY KEY(RESOURCE_ID,DATA_MOVE_ID,DATA_MOVE_TYPE),
+-- FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+--);
CREATE TABLE APPLICATION_MODULE
(
@@ -161,6 +173,8 @@ CREATE TABLE APPLICATION_MODULE
MODULE_NAME VARCHAR(255),
MODULE_VERSION VARCHAR(255),
MODULE_DESC VARCHAR(255),
+ CREATION_TIME TIMESTAMP DEFAULT NOW(),
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE now(),
PRIMARY KEY(MODULE_ID)
);
@@ -173,6 +187,8 @@ CREATE TABLE APPLICATION_DEPLOYMENT
PARALLELISM VARCHAR(255),
APPLICATION_DESC VARCHAR(255),
ENV_MODULE_LOAD_CMD VARCHAR(255),
+ CREATION_TIME TIMESTAMP DEFAULT NOW(),
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE now(),
PRIMARY KEY(DEPLOYMENT_ID),
FOREIGN KEY (COMPUTE_HOSTID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
FOREIGN KEY (APP_MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
@@ -210,6 +226,8 @@ CREATE TABLE APPLICATION_INTERFACE
INTERFACE_ID VARCHAR(255),
APPLICATION_NAME VARCHAR(255),
APPLICATION_DESCRIPTION VARCHAR(255),
+ CREATION_TIME TIMESTAMP DEFAULT NOW(),
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE now(),
PRIMARY KEY(INTERFACE_ID)
);
@@ -251,6 +269,8 @@ CREATE TABLE GATEWAY_PROFILE
GATEWAY_ID VARCHAR(255),
GATEWAY_NAME VARCHAR(255),
GATEWAY_DESC VARCHAR(255),
+ CREATION_TIME TIMESTAMP DEFAULT NOW(),
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE now(),
PRIMARY KEY(GATEWAY_ID)
);
@@ -297,6 +317,8 @@ CREATE TABLE JOB_SUBMISSION_INTERFACE
COMPUTE_RESOURCE_ID VARCHAR (255) NOT NULL,
JOB_SUBMISSION_PROTOCOL VARCHAR (255) NOT NULL,
PRIORITY_ORDER INTEGER,
+ CREATION_TIME TIMESTAMP DEFAULT NOW(),
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE now(),
PRIMARY KEY (COMPUTE_RESOURCE_ID,JOB_SUBMISSION_INTERFACE_ID),
FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
);
@@ -307,6 +329,8 @@ CREATE TABLE DATA_MOVEMENT_INTERFACE
DATA_MOVEMENT_PROTOCOL VARCHAR (255) NOT NULL,
DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
PRIORITY_ORDER INTEGER,
+ CREATION_TIME TIMESTAMP DEFAULT NOW(),
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE now(),
PRIMARY KEY (COMPUTE_RESOURCE_ID,DATA_MOVEMENT_INTERFACE_ID),
FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
);
@@ -324,6 +348,8 @@ CREATE TABLE LOCAL_SUBMISSION
(
RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
+ CREATION_TIME TIMESTAMP DEFAULT NOW(),
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE now(),
PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID),
FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
);
@@ -340,6 +366,8 @@ CREATE TABLE WORKFLOW
WF_NAME VARCHAR (255) NOT NULL,
GRAPH LONGTEXT,
OWNER VARCHAR(255),
+ CREATION_TIME TIMESTAMP DEFAULT NOW(),
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE now(),
PRIMARY KEY (WF_TEMPLATE_ID)
);
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/test/resources/appcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/test/resources/appcatalog-derby.sql b/modules/app-catalog/app-catalog-data/src/test/resources/appcatalog-derby.sql
index ca423ab..a9da4b7 100644
--- a/modules/app-catalog/app-catalog-data/src/test/resources/appcatalog-derby.sql
+++ b/modules/app-catalog/app-catalog-data/src/test/resources/appcatalog-derby.sql
@@ -23,6 +23,8 @@ CREATE TABLE COMPUTE_RESOURCE
RESOURCE_ID VARCHAR (255) NOT NULL,
HOST_NAME VARCHAR (255) NOT NULL,
RESOURCE_DESCRIPTION VARCHAR (255),
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (RESOURCE_ID)
);
@@ -98,6 +100,8 @@ CREATE TABLE RESOURCE_JOB_MANAGER
PUSH_MONITORING_ENDPOINT VARCHAR (255),
JOB_MANAGER_BIN_PATH VARCHAR (255),
RESOURCE_JOB_MANAGER_TYPE VARCHAR (255) NOT NULL,
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (RESOURCE_JOB_MANAGER_ID)
);
@@ -108,6 +112,8 @@ CREATE TABLE SSH_JOB_SUBMISSION
ALTERNATIVE_SSH_HOSTNAME VARCHAR (255),
SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
SSH_PORT INTEGER,
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID),
FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
);
@@ -119,6 +125,8 @@ CREATE TABLE SCP_DATA_MOVEMENT
SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
ALTERNATIVE_SCP_HOSTNAME VARCHAR (255),
SSH_PORT INTEGER,
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
);
@@ -126,6 +134,8 @@ CREATE TABLE GRIDFTP_DATA_MOVEMENT
(
DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
);
@@ -134,26 +144,32 @@ CREATE TABLE GRIDFTP_ENDPOINT
ENDPOINT VARCHAR (255) NOT NULL,
DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID,ENDPOINT),
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
FOREIGN KEY (DATA_MOVEMENT_INTERFACE_ID) REFERENCES GRIDFTP_DATA_MOVEMENT(DATA_MOVEMENT_INTERFACE_ID) ON DELETE CASCADE
);
-CREATE TABLE JOB_SUBMISSION_PROTOCOL
-(
- RESOURCE_ID VARCHAR(255),
- SUBMISSION_ID VARCHAR(255),
- JOB_TYPE VARCHAR(255),
- PRIMARY KEY(RESOURCE_ID,SUBMISSION_ID,JOB_TYPE),
- FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE DATA_MOVEMENT_PROTOCOL
-(
- RESOURCE_ID VARCHAR(255),
- DATA_MOVE_ID VARCHAR(255),
- DATA_MOVE_TYPE VARCHAR(255),
- PRIMARY KEY(RESOURCE_ID,DATA_MOVE_ID,DATA_MOVE_TYPE),
- FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
+--CREATE TABLE JOB_SUBMISSION_PROTOCOL
+--(
+-- RESOURCE_ID VARCHAR(255),
+-- SUBMISSION_ID VARCHAR(255),
+-- JOB_TYPE VARCHAR(255),
+-- CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+-- UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
+-- PRIMARY KEY(RESOURCE_ID,SUBMISSION_ID,JOB_TYPE),
+-- FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+--);
+--
+--CREATE TABLE DATA_MOVEMENT_PROTOCOL
+--(
+-- RESOURCE_ID VARCHAR(255),
+-- DATA_MOVE_ID VARCHAR(255),
+-- DATA_MOVE_TYPE VARCHAR(255),
+-- CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+-- UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
+-- PRIMARY KEY(RESOURCE_ID,DATA_MOVE_ID,DATA_MOVE_TYPE),
+-- FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+--);
CREATE TABLE APPLICATION_MODULE
(
@@ -161,6 +177,8 @@ CREATE TABLE APPLICATION_MODULE
MODULE_NAME VARCHAR(255),
MODULE_VERSION VARCHAR(255),
MODULE_DESC VARCHAR(255),
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY(MODULE_ID)
);
@@ -170,8 +188,10 @@ CREATE TABLE APPLICATION_DEPLOYMENT
APP_MODULE_ID VARCHAR(255),
COMPUTE_HOSTID VARCHAR(255),
EXECUTABLE_PATH VARCHAR(255),
- PARALLELISM VARCHAR(255),
+ PARALLELISM VARCHAR(255),
APPLICATION_DESC VARCHAR(255),
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY(DEPLOYMENT_ID),
FOREIGN KEY (COMPUTE_HOSTID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
FOREIGN KEY (APP_MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
@@ -217,6 +237,8 @@ CREATE TABLE APPLICATION_INTERFACE
INTERFACE_ID VARCHAR(255),
APPLICATION_NAME VARCHAR(255),
APPLICATION_DESCRIPTION VARCHAR(255),
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY(INTERFACE_ID)
);
@@ -258,6 +280,8 @@ CREATE TABLE GATEWAY_PROFILE
GATEWAY_ID VARCHAR(255),
GATEWAY_NAME VARCHAR(255),
GATEWAY_DESC VARCHAR(255),
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY(GATEWAY_ID)
);
@@ -304,6 +328,8 @@ CREATE TABLE JOB_SUBMISSION_INTERFACE
COMPUTE_RESOURCE_ID VARCHAR (255) NOT NULL,
JOB_SUBMISSION_PROTOCOL VARCHAR (255) NOT NULL,
PRIORITY_ORDER INTEGER,
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (COMPUTE_RESOURCE_ID,JOB_SUBMISSION_INTERFACE_ID),
FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
);
@@ -314,6 +340,8 @@ CREATE TABLE DATA_MOVEMENT_INTERFACE
DATA_MOVEMENT_PROTOCOL VARCHAR (255) NOT NULL,
DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
PRIORITY_ORDER INTEGER,
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (COMPUTE_RESOURCE_ID,DATA_MOVEMENT_INTERFACE_ID),
FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
);
@@ -331,6 +359,8 @@ CREATE TABLE LOCAL_SUBMISSION
(
RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID),
FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
);
@@ -347,6 +377,8 @@ CREATE TABLE WORKFLOW
WF_NAME VARCHAR (255) NOT NULL,
GRAPH CLOB,
OWNER VARCHAR(255),
+ CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
+ UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
PRIMARY KEY (WF_TEMPLATE_ID)
);
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
----------------------------------------------------------------------
diff --git a/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql b/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
index a30f093..286a8fb 100644
--- a/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
+++ b/modules/registry/airavata-jpa-registry/src/main/resources/registry-mysql.sql
@@ -263,7 +263,7 @@ CREATE TABLE STATUS
TASK_ID VARCHAR(255),
JOB_ID VARCHAR(255),
STATE VARCHAR(255),
- STATUS_UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
+ STATUS_UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00' ON UPDATE now(),
STATUS_TYPE VARCHAR(255),
PRIMARY KEY(STATUS_ID),
FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE,
[3/3] git commit: adding created time and update time to app catalog
Posted by ch...@apache.org.
adding created time and update time to app catalog
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/404913ac
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/404913ac
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/404913ac
Branch: refs/heads/master
Commit: 404913acd380787b98ddf8c0673dcb10bf6e1087
Parents: b19a8e0
Author: Chathuri Wimalasena <ka...@gmail.com>
Authored: Thu Aug 14 16:24:26 2014 -0400
Committer: Chathuri Wimalasena <ka...@gmail.com>
Committed: Thu Aug 14 16:24:26 2014 -0400
----------------------------------------------------------------------
.../conf/airavata-client-properties.ini | 2 +-
.../resources/conf/app-catalog-identifiers.ini | 3 +-
.../client/samples/CreateLaunchExperiment.java | 48 +-
.../samples/TestCreateLaunchExperiment.java | 19 +
.../data/model/ApplicationDeployment.java | 22 +
.../data/model/ApplicationInterface.java | 23 +
.../catalog/data/model/ApplicationModule.java | 23 +
.../catalog/data/model/ComputeResource.java | 27 +-
.../data/model/DataMovementInterface.java | 28 +-
.../data/model/DataMovementProtocol.java | 152 ++--
.../data/model/DataMovementProtocolPK.java | 148 ++--
.../catalog/data/model/GatewayProfile.java | 23 +
.../catalog/data/model/GridftpDataMovement.java | 27 +-
.../catalog/data/model/GridftpEndpoint.java | 30 +-
.../data/model/JobSubmissionInterface.java | 28 +-
.../data/model/JobSubmissionProtocol.java | 154 ++--
.../data/model/JobSubmissionProtocolPK.java | 148 ++--
.../catalog/data/model/LocalSubmission.java | 27 +-
.../catalog/data/model/ResourceJobManager.java | 23 +
.../catalog/data/model/ScpDataMovement.java | 28 +-
.../catalog/data/model/SshJobSubmission.java | 28 +-
.../catalog/data/model/Workflow.java | 23 +
.../data/resources/AppDeploymentResource.java | 21 +
.../data/resources/AppInterfaceResource.java | 21 +
.../data/resources/AppModuleResource.java | 21 +
.../data/resources/ComputeResourceResource.java | 25 +-
.../DataMovementInterfaceResource.java | 21 +
.../resources/DataMovementProtocolResource.java | 720 +++++++++----------
.../data/resources/GatewayProfileResource.java | 21 +
.../resources/GridftpDataMovementResource.java | 21 +
.../data/resources/GridftpEndpointResource.java | 21 +
.../JobSubmissionInterfaceResource.java | 21 +
.../JobSubmissionProtocolResource.java | 718 +++++++++---------
.../data/resources/LocalSubmissionResource.java | 21 +
.../resources/ResourceJobManagerResource.java | 21 +
.../data/resources/ScpDataMovementResource.java | 21 +
.../resources/SshJobSubmissionResource.java | 21 +
.../data/resources/WorkflowResource.java | 21 +
.../catalog/data/util/AppCatalogJPAUtils.java | 126 +++-
.../data/util/AppCatalogThriftConversion.java | 32 +-
.../src/main/resources/META-INF/persistence.xml | 2 -
.../src/main/resources/appcatalog-derby.sql | 68 +-
.../src/main/resources/appcatalog-mysql.sql | 62 +-
.../src/test/resources/appcatalog-derby.sql | 68 +-
.../src/main/resources/registry-mysql.sql | 2 +-
45 files changed, 1973 insertions(+), 1157 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/conf/airavata-client-properties.ini
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/conf/airavata-client-properties.ini b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/conf/airavata-client-properties.ini
index 0fc113d..959a77f 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/conf/airavata-client-properties.ini
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/conf/airavata-client-properties.ini
@@ -8,7 +8,7 @@ THRIFT_LIB_DIR = "../lib/Thrift/"
AIRAVATA_PHP_STUBS_DIR = "../lib/Airavata/"
; Host which runs the Airavata Server
-AIRAVATA_SERVER = "gw56.iu.xsede.org"
+AIRAVATA_SERVER = "gw111.iu.xsede.org"
;AIRAVATA_SERVER = "localhost"
; Airavata Server thrift port
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/conf/app-catalog-identifiers.ini
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/conf/app-catalog-identifiers.ini b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/conf/app-catalog-identifiers.ini
index 7380248..9771085 100644
--- a/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/conf/app-catalog-identifiers.ini
+++ b/airavata-api/airavata-client-sdks/airavata-php-sdk/src/main/resources/conf/app-catalog-identifiers.ini
@@ -11,4 +11,5 @@ wrfInterfaceId=WRF_a390e041-cae3-4b85-9bb9-e03df666deb9
autoDockInterfaceId=
nwChemInterfaceId=NWChem_bdc7b97a-dd39-49cb-b203-6d779781d5c8
lammpsInterfaceId=LAMMPS_f43520e2-b77a-4f11-b3b7-98693349fcd0
-echoInterfaceId=Echo_271e6d47-a5db-434e-8453-e27985b7ea59
+#echoInterfaceId=Echo_271e6d47-a5db-434e-8453-e27985b7ea59
+echoInterfaceId=Echo_c6e6aaac-7d9d-44fc-aba2-63b5100528e8
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
index 967577c..5178965 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/CreateLaunchExperiment.java
@@ -37,13 +37,17 @@ import org.apache.airavata.client.tools.DocumentCreator;
import org.apache.airavata.client.tools.DocumentCreatorNew;
import org.apache.airavata.common.utils.AiravataUtils;
import org.apache.airavata.model.util.ExperimentModelUtil;
+import org.apache.airavata.persistance.registry.jpa.model.ErrorDetail;
import org.apache.airavata.schemas.gfac.InputParameterType;
import org.apache.airavata.schemas.gfac.OutputParameterType;
import org.apache.airavata.schemas.gfac.ParameterType;
+import org.apache.airavata.workflow.model.component.system.StreamSourceComponent;
import org.apache.thrift.TException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
+import org.xmlsoap.schemas.soap.encoding.*;
+import java.lang.String;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@@ -60,8 +64,8 @@ public class CreateLaunchExperiment {
private static Airavata.Client client;
private static String localHostAppId = "localhost_9c5b098c-8906-4be1-9ef3-a7706c9b1e2c,SimpleEcho0_315d9b93-2cdb-4c1b-8dc3-d2077936f5ae";
private static String sshHostAppId;
- private static String pbsEchoAppId = "trestles.sdsc.edu_849a1136-7e0a-4f4a-b835-322a83b967b6,SimpleEcho2_f89d3b8c-6f22-4a77-a9f5-a4df88785ab6";
- private static String pbsWRFAppId = "trestles.sdsc.edu_00482169-8fc4-4633-b779-5ca1f66f27c1,WRF_0f1e90d3-5915-4629-a5a4-73346c1e7535";
+ private static String pbsEchoAppId = "trestles.sdsc.edu_d4b6dfd0-d273-4499-b5dd-19b7f83176ed,SimpleEcho2_060f9325-3f72-4ff6-b8a2-8a2b4911e09d";
+ private static String pbsWRFAppId = "trestles.sdsc.edu_03d239f1-b923-487a-9aa4-fcc7aed8628e,WRF_a5a7372d-2c59-4986-8351-eac563b53f89";
private static String slurmAppId = "stampede.tacc.xsede.org_b2ef59cb-f626-4767-9ca0-601f94c42ba4,SimpleEcho3_b81c2559-a088-42a3-84ce-40119d874918";
private static String sgeAppId;
private static String br2EchoAppId = "bigred2_9c1e6be8-f7d8-4494-98f2-bf508790e8c6,SimpleEchoBR_149fd613-98e2-46e7-ac7c-4d393349469e";
@@ -76,13 +80,14 @@ public class CreateLaunchExperiment {
try {
AiravataUtils.setExecutionAsClient();
client = AiravataClientFactory.createAiravataClient(THRIFT_SERVER_HOST, THRIFT_SERVER_PORT);
- System.out.println("API version is " + client.getAPIVersion());
- addDescriptors();
+// System.out.println("API version is " + client.getAPIVersion());
+// getExperiment(client, "WRFExperiment_2a2de26c-7f74-47c9-8e14-40e50dedfe0f");
+// addDescriptors();
//// final String expId = createExperimentForSSHHost(airavata);
-//// final String expId = createExperimentForTrestles(client);
+ final String expId = createExperimentForTrestles(client);
//// final String expId = createExperimentForStampede(client);
- final String expId = createExperimentForLocalHost(client);
+// final String expId = createExperimentForLocalHost(client);
// final String expId = createExperimentForLonestar(airavata);
// final String expId = createExperimentWRFTrestles(client);
// final String expId = createExperimentForBR2(client);
@@ -248,17 +253,17 @@ public class CreateLaunchExperiment {
DataObjectType input = new DataObjectType();
input.setKey("WRF_Namelist");
input.setType(DataType.URI);
- input.setValue("/Users/lahirugunathilake/Downloads/wrf_sample_inputs/namelist.input");
+ input.setValue("/Users/chathuri/Downloads/wrf_sample_inputs/namelist1.input");
DataObjectType input1 = new DataObjectType();
input1.setKey("WRF_Input_File");
input1.setType(DataType.URI);
- input1.setValue("/Users/lahirugunathilake/Downloads/wrf_sample_inputs/wrfinput_d01");
+ input1.setValue("/Users/chathuri/Downloads/wrf_sample_inputs/wrfinput1_d01");
DataObjectType input2 = new DataObjectType();
input2.setKey("WRF_Boundary_File");
input2.setType(DataType.URI);
- input2.setValue("/Users/lahirugunathilake/Downloads/wrf_sample_inputs/wrfbdy_d01");
+ input2.setValue("/Users/chathuri/Downloads/wrf_sample_inputs/wrfbdy_d011");
exInputs.add(input);
exInputs.add(input1);
@@ -918,4 +923,29 @@ public class CreateLaunchExperiment {
}
return null;
}
+
+ public static void getExperiment (Airavata.Client client, String expId) throws Exception{
+ try{
+ Experiment experiment = client.getExperiment(expId);
+ List<ErrorDetails> errors = experiment.getErrors();
+ if (errors != null && !errors.isEmpty()){
+ for (ErrorDetails error : errors){
+ System.out.println("ERROR MESSAGE : " + error.getActualErrorMessage());
+ }
+ }
+
+ } catch (ExperimentNotFoundException e) {
+ logger.error("Experiment does not exist", e);
+ throw new ExperimentNotFoundException("Experiment does not exist");
+ } catch (AiravataSystemException e) {
+ logger.error("Error while retrieving experiment", e);
+ throw new AiravataSystemException(AiravataErrorType.INTERNAL_ERROR);
+ } catch (InvalidRequestException e) {
+ logger.error("Error while retrieving experiment", e);
+ throw new InvalidRequestException("Error while retrieving experiment");
+ } catch (AiravataClientException e) {
+ logger.error("Error while retrieving experiment", e);
+ throw new AiravataClientException(AiravataErrorType.INTERNAL_ERROR);
+ }
+ }
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java
----------------------------------------------------------------------
diff --git a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java
index 9f17835..f5612aa 100644
--- a/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java
+++ b/airavata-api/airavata-client-sdks/java-client-samples/src/main/java/org/apache/airavata/client/samples/TestCreateLaunchExperiment.java
@@ -39,6 +39,7 @@ import org.apache.airavata.model.workspace.Project;
import org.apache.airavata.model.workspace.experiment.*;
import org.apache.airavata.model.workspace.experiment.Experiment;
import org.apache.airavata.persistance.registry.jpa.model.*;
+import org.apache.airavata.workflow.model.component.system.SystemComponent;
import org.apache.thrift.TException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -149,6 +150,24 @@ public class TestCreateLaunchExperiment {
}
}
+ public static void getAllAppInterfaces (Airavata.Client client){
+ try {
+ Map<String, String> allApps = client.getAllApplicationInterfaceNames();
+ for (String id : allApps.keySet()){
+ System.out.println("app id : " + id);
+ System.out.println("app name : " + allApps.get(id));
+ }
+ } catch (AiravataSystemException e) {
+ e.printStackTrace();
+ } catch (InvalidRequestException e) {
+ e.printStackTrace();
+ } catch (AiravataClientException e) {
+ e.printStackTrace();
+ }catch (TException e) {
+ e.printStackTrace();
+ }
+ }
+
public static void getAppModule (Airavata.Client client, String moduleId){
try {
ApplicationModule applicationModule = client.getApplicationModule(moduleId);
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationDeployment.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationDeployment.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationDeployment.java
index 24fda20..9cca5eb 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationDeployment.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationDeployment.java
@@ -23,6 +23,7 @@ package org.apache.aiaravata.application.catalog.data.model;
import javax.persistence.*;
import java.io.Serializable;
+import java.sql.Timestamp;
@Entity
@Table(name = "APPLICATION_DEPLOYMENT")
@@ -49,6 +50,27 @@ public class ApplicationDeployment implements Serializable {
@JoinColumn(name = "COMPUTE_HOSTID")
private ComputeResource computeResource;
+ @Column(name = "CREATION_TIME")
+ private Timestamp creationTime;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
public String getDeploymentID() {
return deploymentID;
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInterface.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInterface.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInterface.java
index 4e46f4f..c7c1ad2 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInterface.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInterface.java
@@ -26,6 +26,7 @@ import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
+import java.sql.Timestamp;
@Entity
@Table(name = "APPLICATION_INTERFACE")
@@ -37,6 +38,28 @@ public class ApplicationInterface implements Serializable {
private String appName;
@Column(name = "APPLICATION_DESCRIPTION")
private String appDescription;
+ @Column(name = "CREATION_TIME")
+ private Timestamp creationTime;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
+
public String getInterfaceID() {
return interfaceID;
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationModule.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationModule.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationModule.java
index d15ff8d..ece8c87 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationModule.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationModule.java
@@ -26,6 +26,7 @@ import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
+import java.sql.Timestamp;
@Entity
@Table(name = "APPLICATION_MODULE")
@@ -39,6 +40,28 @@ public class ApplicationModule implements Serializable {
private String moduleVersion;
@Column(name = "MODULE_DESC")
private String moduleDesc;
+ @Column(name = "CREATION_TIME")
+ private Timestamp creationTime;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
+
public String getModuleID() {
return moduleID;
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ComputeResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ComputeResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ComputeResource.java
index 4d99407..2692a29 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ComputeResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ComputeResource.java
@@ -22,6 +22,7 @@
package org.apache.aiaravata.application.catalog.data.model;
import java.io.Serializable;
+import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -44,8 +45,30 @@ public class ComputeResource implements Serializable {
@Column(name = "HOST_NAME")
private String hostName;
-
- public String getResourceDescription() {
+
+ @Column(name = "CREATION_TIME")
+ private Timestamp creationTime;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ public String getResourceDescription() {
return resourceDescription;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/DataMovementInterface.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/DataMovementInterface.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/DataMovementInterface.java
index ff5e962..9ba1a6d 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/DataMovementInterface.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/DataMovementInterface.java
@@ -22,6 +22,7 @@
package org.apache.aiaravata.application.catalog.data.model;
import java.io.Serializable;
+import java.sql.Timestamp;
import javax.persistence.CascadeType;
import javax.persistence.Column;
@@ -57,8 +58,31 @@ public class DataMovementInterface implements Serializable {
@Column(name = "PRIORITY_ORDER")
private int priorityOrder;
-
- public String getComputeResourceId() {
+
+ @Column(name = "CREATION_TIME")
+ private Timestamp creationTime;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
+
+
+ public String getComputeResourceId() {
return computeResourceId;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/DataMovementProtocol.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/DataMovementProtocol.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/DataMovementProtocol.java
index 4203e89..d45c4e8 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/DataMovementProtocol.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/DataMovementProtocol.java
@@ -1,76 +1,76 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.aiaravata.application.catalog.data.model;
-
-import javax.persistence.*;
-import java.io.Serializable;
-
-@Entity
-@Table(name = "DATA_MOVEMENT_PROTOCOL")
-@IdClass(DataMovementProtocolPK.class)
-public class DataMovementProtocol implements Serializable {
- @Id
- @Column(name = "RESOURCE_ID")
- private String resourceID;
- @Id
- @Column(name = "DATA_MOVE_ID")
- private String dataMoveID;
- @Id
- @Column(name = "DATA_MOVE_TYPE")
- private String dataMoveType;
-
- @ManyToOne(cascade= CascadeType.MERGE)
- @JoinColumn(name = "RESOURCE_ID")
- private ComputeResource computeResource;
-
- public String getResourceID() {
- return resourceID;
- }
-
- public void setResourceID(String resourceID) {
- this.resourceID = resourceID;
- }
-
- public String getDataMoveID() {
- return dataMoveID;
- }
-
- public void setDataMoveID(String dataMoveID) {
- this.dataMoveID = dataMoveID;
- }
-
- public String getDataMoveType() {
- return dataMoveType;
- }
-
- public void setDataMoveType(String dataMoveType) {
- this.dataMoveType = dataMoveType;
- }
-
- public ComputeResource getComputeResource() {
- return computeResource;
- }
-
- public void setComputeResource(ComputeResource computeResource) {
- this.computeResource = computeResource;
- }
-}
+///*
+// *
+// * Licensed to the Apache Software Foundation (ASF) under one
+// * or more contributor license agreements. See the NOTICE file
+// * distributed with this work for additional information
+// * regarding copyright ownership. The ASF licenses this file
+// * to you under the Apache License, Version 2.0 (the
+// * "License"); you may not use this file except in compliance
+// * with the License. You may obtain a copy of the License at
+// *
+// * http://www.apache.org/licenses/LICENSE-2.0
+// *
+// * Unless required by applicable law or agreed to in writing,
+// * software distributed under the License is distributed on an
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// * KIND, either express or implied. See the License for the
+// * specific language governing permissions and limitations
+// * under the License.
+// *
+// */
+//
+//package org.apache.aiaravata.application.catalog.data.model;
+//
+//import javax.persistence.*;
+//import java.io.Serializable;
+//
+//@Entity
+//@Table(name = "DATA_MOVEMENT_PROTOCOL")
+//@IdClass(DataMovementProtocolPK.class)
+//public class DataMovementProtocol implements Serializable {
+// @Id
+// @Column(name = "RESOURCE_ID")
+// private String resourceID;
+// @Id
+// @Column(name = "DATA_MOVE_ID")
+// private String dataMoveID;
+// @Id
+// @Column(name = "DATA_MOVE_TYPE")
+// private String dataMoveType;
+//
+// @ManyToOne(cascade= CascadeType.MERGE)
+// @JoinColumn(name = "RESOURCE_ID")
+// private ComputeResource computeResource;
+//
+// public String getResourceID() {
+// return resourceID;
+// }
+//
+// public void setResourceID(String resourceID) {
+// this.resourceID = resourceID;
+// }
+//
+// public String getDataMoveID() {
+// return dataMoveID;
+// }
+//
+// public void setDataMoveID(String dataMoveID) {
+// this.dataMoveID = dataMoveID;
+// }
+//
+// public String getDataMoveType() {
+// return dataMoveType;
+// }
+//
+// public void setDataMoveType(String dataMoveType) {
+// this.dataMoveType = dataMoveType;
+// }
+//
+// public ComputeResource getComputeResource() {
+// return computeResource;
+// }
+//
+// public void setComputeResource(ComputeResource computeResource) {
+// this.computeResource = computeResource;
+// }
+//}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/DataMovementProtocolPK.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/DataMovementProtocolPK.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/DataMovementProtocolPK.java
index 9fed4b3..9e53d1f 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/DataMovementProtocolPK.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/DataMovementProtocolPK.java
@@ -1,74 +1,74 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.aiaravata.application.catalog.data.model;
-
-import java.io.Serializable;
-
-public class DataMovementProtocolPK implements Serializable {
- private String resourceID;
- private String dataMoveID;
- private String dataMoveType;
-
- public DataMovementProtocolPK(String resourceID, String dataMoveID, String dataMoveType) {
- this.resourceID = resourceID;
- this.dataMoveID = dataMoveID;
- this.dataMoveType = dataMoveType;
- }
-
- public DataMovementProtocolPK() {
- ;
- }
-
- @Override
- public boolean equals(Object o) {
- return false;
- }
-
- @Override
- public int hashCode() {
- return 1;
- }
-
- public String getResourceID() {
- return resourceID;
- }
-
- public void setResourceID(String resourceID) {
- this.resourceID = resourceID;
- }
-
- public String getDataMoveID() {
- return dataMoveID;
- }
-
- public void setDataMoveID(String dataMoveID) {
- this.dataMoveID = dataMoveID;
- }
-
- public String getDataMoveType() {
- return dataMoveType;
- }
-
- public void setDataMoveType(String dataMoveType) {
- this.dataMoveType = dataMoveType;
- }
-}
+///*
+// *
+// * Licensed to the Apache Software Foundation (ASF) under one
+// * or more contributor license agreements. See the NOTICE file
+// * distributed with this work for additional information
+// * regarding copyright ownership. The ASF licenses this file
+// * to you under the Apache License, Version 2.0 (the
+// * "License"); you may not use this file except in compliance
+// * with the License. You may obtain a copy of the License at
+// *
+// * http://www.apache.org/licenses/LICENSE-2.0
+// *
+// * Unless required by applicable law or agreed to in writing,
+// * software distributed under the License is distributed on an
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// * KIND, either express or implied. See the License for the
+// * specific language governing permissions and limitations
+// * under the License.
+// *
+// */
+//
+//package org.apache.aiaravata.application.catalog.data.model;
+//
+//import java.io.Serializable;
+//
+//public class DataMovementProtocolPK implements Serializable {
+// private String resourceID;
+// private String dataMoveID;
+// private String dataMoveType;
+//
+// public DataMovementProtocolPK(String resourceID, String dataMoveID, String dataMoveType) {
+// this.resourceID = resourceID;
+// this.dataMoveID = dataMoveID;
+// this.dataMoveType = dataMoveType;
+// }
+//
+// public DataMovementProtocolPK() {
+// ;
+// }
+//
+// @Override
+// public boolean equals(Object o) {
+// return false;
+// }
+//
+// @Override
+// public int hashCode() {
+// return 1;
+// }
+//
+// public String getResourceID() {
+// return resourceID;
+// }
+//
+// public void setResourceID(String resourceID) {
+// this.resourceID = resourceID;
+// }
+//
+// public String getDataMoveID() {
+// return dataMoveID;
+// }
+//
+// public void setDataMoveID(String dataMoveID) {
+// this.dataMoveID = dataMoveID;
+// }
+//
+// public String getDataMoveType() {
+// return dataMoveType;
+// }
+//
+// public void setDataMoveType(String dataMoveType) {
+// this.dataMoveType = dataMoveType;
+// }
+//}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GatewayProfile.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GatewayProfile.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GatewayProfile.java
index 2809b53..0bcb096 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GatewayProfile.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GatewayProfile.java
@@ -26,6 +26,7 @@ import javax.persistence.Entity;
import javax.persistence.Id;
import javax.persistence.Table;
import java.io.Serializable;
+import java.sql.Timestamp;
@Entity
@Table(name = "GATEWAY_PROFILE")
@@ -37,6 +38,28 @@ public class GatewayProfile implements Serializable {
private String gatewayName;
@Column(name = "GATEWAY_DESC")
private String gatewayDesc;
+ @Column(name = "CREATION_TIME")
+ private Timestamp creationTime;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
+
public String getGatewayID() {
return gatewayID;
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridftpDataMovement.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridftpDataMovement.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridftpDataMovement.java
index fcae1d6..1d5ac9e 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridftpDataMovement.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridftpDataMovement.java
@@ -22,6 +22,7 @@
package org.apache.aiaravata.application.catalog.data.model;
import java.io.Serializable;
+import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -41,8 +42,30 @@ public class GridftpDataMovement implements Serializable {
@Column(name = "SECURITY_PROTOCOL")
private String securityProtocol;
-
- public String getDataMovementInterfaceId() {
+
+ @Column(name = "CREATION_TIME")
+ private Timestamp creationTime;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ public String getDataMovementInterfaceId() {
return dataMovementInterfaceId;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridftpEndpoint.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridftpEndpoint.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridftpEndpoint.java
index b9cf40b..be2a833 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridftpEndpoint.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridftpEndpoint.java
@@ -22,6 +22,7 @@
package org.apache.aiaravata.application.catalog.data.model;
import java.io.Serializable;
+import java.sql.Timestamp;
import javax.persistence.CascadeType;
import javax.persistence.Column;
@@ -47,12 +48,35 @@ public class GridftpEndpoint implements Serializable {
@Id
@Column(name = "DATA_MOVEMENT_INTERFACE_ID")
private String dataMovementInterfaceId;
-
+
@ManyToOne(cascade= CascadeType.MERGE)
@JoinColumn(name = "DATA_MOVEMENT_INTERFACE_ID")
private GridftpDataMovement gridftpDataMovement;
-
- public String getEndpoint() {
+
+ @Column(name = "CREATION_TIME")
+ private Timestamp creationTime;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
+
+
+ public String getEndpoint() {
return endpoint;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/JobSubmissionInterface.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/JobSubmissionInterface.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/JobSubmissionInterface.java
index d8114c6..2b89ee7 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/JobSubmissionInterface.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/JobSubmissionInterface.java
@@ -22,6 +22,7 @@
package org.apache.aiaravata.application.catalog.data.model;
import java.io.Serializable;
+import java.sql.Timestamp;
import javax.persistence.CascadeType;
import javax.persistence.Column;
@@ -57,8 +58,31 @@ public class JobSubmissionInterface implements Serializable {
@Column(name = "PRIORITY_ORDER")
private int priorityOrder;
-
- public String getJobSubmissionInterfaceId() {
+
+ @Column(name = "CREATION_TIME")
+ private Timestamp creationTime;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
+
+
+ public String getJobSubmissionInterfaceId() {
return jobSubmissionInterfaceId;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/JobSubmissionProtocol.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/JobSubmissionProtocol.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/JobSubmissionProtocol.java
index 3b1915c..d913e58 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/JobSubmissionProtocol.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/JobSubmissionProtocol.java
@@ -1,77 +1,77 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.aiaravata.application.catalog.data.model;
-
-import javax.persistence.*;
-import java.io.Serializable;
-
-@Entity
-@Table(name = "JOB_SUBMISSION_PROTOCOL")
-@IdClass(JobSubmissionProtocolPK.class)
-public class JobSubmissionProtocol implements Serializable {
- @Id
- @Column(name = "RESOURCE_ID")
- private String resourceID;
- @Id
- @Column(name = "SUBMISSION_ID")
- private String submissionID;
-
- @Id
- @Column(name = "JOB_TYPE")
- private String jobType;
-
- @ManyToOne(cascade= CascadeType.MERGE)
- @JoinColumn(name = "RESOURCE_ID")
- private ComputeResource computeResource;
-
- public String getResourceID() {
- return resourceID;
- }
-
- public void setResourceID(String resourceID) {
- this.resourceID = resourceID;
- }
-
- public String getSubmissionID() {
- return submissionID;
- }
-
- public void setSubmissionID(String submissionID) {
- this.submissionID = submissionID;
- }
-
- public String getJobType() {
- return jobType;
- }
-
- public void setJobType(String jobType) {
- this.jobType = jobType;
- }
-
- public ComputeResource getComputeResource() {
- return computeResource;
- }
-
- public void setComputeResource(ComputeResource computeResource) {
- this.computeResource = computeResource;
- }
-}
+///*
+// *
+// * Licensed to the Apache Software Foundation (ASF) under one
+// * or more contributor license agreements. See the NOTICE file
+// * distributed with this work for additional information
+// * regarding copyright ownership. The ASF licenses this file
+// * to you under the Apache License, Version 2.0 (the
+// * "License"); you may not use this file except in compliance
+// * with the License. You may obtain a copy of the License at
+// *
+// * http://www.apache.org/licenses/LICENSE-2.0
+// *
+// * Unless required by applicable law or agreed to in writing,
+// * software distributed under the License is distributed on an
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// * KIND, either express or implied. See the License for the
+// * specific language governing permissions and limitations
+// * under the License.
+// *
+// */
+//
+//package org.apache.aiaravata.application.catalog.data.model;
+//
+//import javax.persistence.*;
+//import java.io.Serializable;
+//
+//@Entity
+//@Table(name = "JOB_SUBMISSION_PROTOCOL")
+//@IdClass(JobSubmissionProtocolPK.class)
+//public class JobSubmissionProtocol implements Serializable {
+// @Id
+// @Column(name = "RESOURCE_ID")
+// private String resourceID;
+// @Id
+// @Column(name = "SUBMISSION_ID")
+// private String submissionID;
+//
+// @Id
+// @Column(name = "JOB_TYPE")
+// private String jobType;
+//
+// @ManyToOne(cascade= CascadeType.MERGE)
+// @JoinColumn(name = "RESOURCE_ID")
+// private ComputeResource computeResource;
+//
+// public String getResourceID() {
+// return resourceID;
+// }
+//
+// public void setResourceID(String resourceID) {
+// this.resourceID = resourceID;
+// }
+//
+// public String getSubmissionID() {
+// return submissionID;
+// }
+//
+// public void setSubmissionID(String submissionID) {
+// this.submissionID = submissionID;
+// }
+//
+// public String getJobType() {
+// return jobType;
+// }
+//
+// public void setJobType(String jobType) {
+// this.jobType = jobType;
+// }
+//
+// public ComputeResource getComputeResource() {
+// return computeResource;
+// }
+//
+// public void setComputeResource(ComputeResource computeResource) {
+// this.computeResource = computeResource;
+// }
+//}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/JobSubmissionProtocolPK.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/JobSubmissionProtocolPK.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/JobSubmissionProtocolPK.java
index 04f6ed0..aefe87a 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/JobSubmissionProtocolPK.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/JobSubmissionProtocolPK.java
@@ -1,74 +1,74 @@
-/*
- *
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- *
- */
-
-package org.apache.aiaravata.application.catalog.data.model;
-
-import java.io.Serializable;
-
-public class JobSubmissionProtocolPK implements Serializable {
- private String resourceID;
- private String submissionID;
- private String jobType;
-
- public JobSubmissionProtocolPK(String resourceID, String submissionID, String jobType) {
- this.resourceID = resourceID;
- this.submissionID = submissionID;
- this.jobType = jobType;
- }
-
- public JobSubmissionProtocolPK() {
- ;
- }
-
- @Override
- public boolean equals(Object o) {
- return false;
- }
-
- @Override
- public int hashCode() {
- return 1;
- }
-
- public String getResourceID() {
- return resourceID;
- }
-
- public void setResourceID(String resourceID) {
- this.resourceID = resourceID;
- }
-
- public String getSubmissionID() {
- return submissionID;
- }
-
- public void setSubmissionID(String submissionID) {
- this.submissionID = submissionID;
- }
-
- public String getJobType() {
- return jobType;
- }
-
- public void setJobType(String jobType) {
- this.jobType = jobType;
- }
-}
+///*
+// *
+// * Licensed to the Apache Software Foundation (ASF) under one
+// * or more contributor license agreements. See the NOTICE file
+// * distributed with this work for additional information
+// * regarding copyright ownership. The ASF licenses this file
+// * to you under the Apache License, Version 2.0 (the
+// * "License"); you may not use this file except in compliance
+// * with the License. You may obtain a copy of the License at
+// *
+// * http://www.apache.org/licenses/LICENSE-2.0
+// *
+// * Unless required by applicable law or agreed to in writing,
+// * software distributed under the License is distributed on an
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// * KIND, either express or implied. See the License for the
+// * specific language governing permissions and limitations
+// * under the License.
+// *
+// */
+//
+//package org.apache.aiaravata.application.catalog.data.model;
+//
+//import java.io.Serializable;
+//
+//public class JobSubmissionProtocolPK implements Serializable {
+// private String resourceID;
+// private String submissionID;
+// private String jobType;
+//
+// public JobSubmissionProtocolPK(String resourceID, String submissionID, String jobType) {
+// this.resourceID = resourceID;
+// this.submissionID = submissionID;
+// this.jobType = jobType;
+// }
+//
+// public JobSubmissionProtocolPK() {
+// ;
+// }
+//
+// @Override
+// public boolean equals(Object o) {
+// return false;
+// }
+//
+// @Override
+// public int hashCode() {
+// return 1;
+// }
+//
+// public String getResourceID() {
+// return resourceID;
+// }
+//
+// public void setResourceID(String resourceID) {
+// this.resourceID = resourceID;
+// }
+//
+// public String getSubmissionID() {
+// return submissionID;
+// }
+//
+// public void setSubmissionID(String submissionID) {
+// this.submissionID = submissionID;
+// }
+//
+// public String getJobType() {
+// return jobType;
+// }
+//
+// public void setJobType(String jobType) {
+// this.jobType = jobType;
+// }
+//}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LocalSubmission.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LocalSubmission.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LocalSubmission.java
index 0378343..01df76b 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LocalSubmission.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LocalSubmission.java
@@ -22,6 +22,7 @@
package org.apache.aiaravata.application.catalog.data.model;
import java.io.Serializable;
+import java.sql.Timestamp;
import javax.persistence.CascadeType;
import javax.persistence.Column;
@@ -48,8 +49,30 @@ public class LocalSubmission implements Serializable {
@Id
@Column(name = "JOB_SUBMISSION_INTERFACE_ID")
private String jobSubmissionInterfaceId;
-
- public String getResourceJobManagerId() {
+
+ @Column(name = "CREATION_TIME")
+ private Timestamp creationTime;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
+
+ public String getResourceJobManagerId() {
return resourceJobManagerId;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ResourceJobManager.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ResourceJobManager.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ResourceJobManager.java
index ab485f8..65b0f3c 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ResourceJobManager.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ResourceJobManager.java
@@ -22,6 +22,7 @@
package org.apache.aiaravata.application.catalog.data.model;
import java.io.Serializable;
+import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -47,6 +48,28 @@ public class ResourceJobManager implements Serializable {
@Column(name = "RESOURCE_JOB_MANAGER_TYPE")
private String resourceJobManagerType;
+
+ @Column(name = "CREATION_TIME")
+ private Timestamp creationTime;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
public String getResourceJobManagerId() {
return resourceJobManagerId;
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ScpDataMovement.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ScpDataMovement.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ScpDataMovement.java
index 35317d2..3cf038b 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ScpDataMovement.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ScpDataMovement.java
@@ -22,6 +22,7 @@
package org.apache.aiaravata.application.catalog.data.model;
import java.io.Serializable;
+import java.sql.Timestamp;
import javax.persistence.Column;
import javax.persistence.Entity;
@@ -50,8 +51,31 @@ public class ScpDataMovement implements Serializable {
@Column(name = "SSH_PORT")
private int sshPort;
-
- public String getQueueDescription() {
+
+ @Column(name = "CREATION_TIME")
+ private Timestamp creationTime;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
+
+
+ public String getQueueDescription() {
return queueDescription;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/SshJobSubmission.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/SshJobSubmission.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/SshJobSubmission.java
index bd29f7b..fc72881 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/SshJobSubmission.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/SshJobSubmission.java
@@ -22,6 +22,7 @@
package org.apache.aiaravata.application.catalog.data.model;
import java.io.Serializable;
+import java.sql.Timestamp;
import javax.persistence.CascadeType;
import javax.persistence.Column;
@@ -57,8 +58,31 @@ public class SshJobSubmission implements Serializable {
@Column(name = "SSH_PORT")
private int sshPort;
-
- public String getResourceJobManagerId() {
+
+ @Column(name = "CREATION_TIME")
+ private Timestamp creationTime;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
+
+
+ public String getResourceJobManagerId() {
return resourceJobManagerId;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/Workflow.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/Workflow.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/Workflow.java
index 585b2ad..908c6fc 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/Workflow.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/Workflow.java
@@ -25,6 +25,7 @@ import org.apache.openjpa.persistence.DataCache;
import javax.persistence.*;
import java.io.Serializable;
+import java.sql.Timestamp;
@DataCache
@Entity
@@ -45,6 +46,28 @@ public class Workflow implements Serializable {
@Column(name = "WF_TEMPLATE_ID")
private String wfTemplateId;
+ @Column(name = "CREATION_TIME")
+ private Timestamp creationTime;
+
+ @Column(name = "UPDATE_TIME")
+ private Timestamp updateTime;
+
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ public Timestamp getUpdateTime() {
+ return updateTime;
+ }
+
+ public void setUpdateTime(Timestamp updateTime) {
+ this.updateTime = updateTime;
+ }
+
public String getWfName() {
return wfName;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppDeploymentResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppDeploymentResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppDeploymentResource.java
index 0f43bcb..6dfd69b 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppDeploymentResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppDeploymentResource.java
@@ -34,6 +34,7 @@ import org.slf4j.LoggerFactory;
import javax.persistence.EntityManager;
import javax.persistence.Query;
+import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
@@ -47,6 +48,24 @@ public class AppDeploymentResource extends AbstractResource {
private String appDes;
private ComputeResourceResource hostResource;
private AppModuleResource moduleResource;
+ private Timestamp createdTime;
+ private Timestamp updatedTime;
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
public String getDeploymentId() {
return deploymentId;
@@ -352,6 +371,7 @@ public class AppDeploymentResource extends AbstractResource {
existingDeployment.setHostID(hostId);
existingDeployment.setExecutablePath(executablePath);
existingDeployment.setParallelism(parallelism);
+ existingDeployment.setUpdateTime(updatedTime);
em.merge(existingDeployment);
}else {
ApplicationDeployment deployment = new ApplicationDeployment();
@@ -363,6 +383,7 @@ public class AppDeploymentResource extends AbstractResource {
deployment.setComputeResource(computeHost);
deployment.setExecutablePath(executablePath);
deployment.setParallelism(parallelism);
+ deployment.setCreationTime(createdTime);
em.persist(deployment);
}
em.getTransaction().commit();
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppInterfaceResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppInterfaceResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppInterfaceResource.java
index ca88764..d013a9f 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppInterfaceResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppInterfaceResource.java
@@ -32,6 +32,7 @@ import org.slf4j.LoggerFactory;
import javax.persistence.EntityManager;
import javax.persistence.Query;
+import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
@@ -40,6 +41,24 @@ public class AppInterfaceResource extends AbstractResource {
private String interfaceId;
private String appName;
private String appDescription;
+ private Timestamp createdTime;
+ private Timestamp updatedTime;
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
public String getInterfaceId() {
return interfaceId;
@@ -283,12 +302,14 @@ public class AppInterfaceResource extends AbstractResource {
if (existigAppInterface != null){
existigAppInterface.setAppName(appName);
existigAppInterface.setAppDescription(appDescription);
+ existigAppInterface.setUpdateTime(updatedTime);
em.merge(existigAppInterface);
}else {
ApplicationInterface applicationInterface = new ApplicationInterface();
applicationInterface.setInterfaceID(interfaceId);
applicationInterface.setAppName(appName);
applicationInterface.setAppDescription(appDescription);
+ applicationInterface.setCreationTime(createdTime);
em.persist(applicationInterface);
}
em.getTransaction().commit();
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppModuleResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppModuleResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppModuleResource.java
index adc2fa0..3da66c5 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppModuleResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AppModuleResource.java
@@ -32,6 +32,7 @@ import org.slf4j.LoggerFactory;
import javax.persistence.EntityManager;
import javax.persistence.Query;
+import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
@@ -41,6 +42,24 @@ public class AppModuleResource extends AbstractResource {
private String moduleName;
private String moduleVersion;
private String moduleDesc;
+ private Timestamp createdTime;
+ private Timestamp updatedTime;
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
public String getModuleId() {
return moduleId;
@@ -237,6 +256,7 @@ public class AppModuleResource extends AbstractResource {
existingModule.setModuleName(moduleName);
existingModule.setModuleVersion(moduleVersion);
existingModule.setModuleDesc(moduleDesc);
+ existingModule.setUpdateTime(updatedTime);
em.merge(existingModule);
}else {
ApplicationModule applicationModule = new ApplicationModule();
@@ -244,6 +264,7 @@ public class AppModuleResource extends AbstractResource {
applicationModule.setModuleName(moduleName);
applicationModule.setModuleVersion(moduleVersion);
applicationModule.setModuleDesc(moduleDesc);
+ applicationModule.setCreationTime(createdTime);
em.persist(applicationModule);
}
em.getTransaction().commit();
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeResourceResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeResourceResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeResourceResource.java
index 51a1fa1..2ecaeb6 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeResourceResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ComputeResourceResource.java
@@ -32,6 +32,7 @@ import org.slf4j.LoggerFactory;
import javax.persistence.EntityManager;
import javax.persistence.Query;
+import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
@@ -40,8 +41,26 @@ public class ComputeResourceResource extends AbstractResource {
private String resourceDescription;
private String resourceId;
private String hostName;
-
- @Override
+ private Timestamp createdTime;
+ private Timestamp updatedTime;
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
+
+ @Override
public void remove(Object identifier) throws AppCatalogException {
EntityManager em = null;
try {
@@ -246,8 +265,10 @@ public class ComputeResourceResource extends AbstractResource {
em.getTransaction().begin();
if (existingComputeResource == null) {
computeResource = new ComputeResource();
+ computeResource.setCreationTime(createdTime);
} else {
computeResource = existingComputeResource;
+ computeResource.setUpdateTime(updatedTime);
}
computeResource.setResourceDescription(getResourceDescription());
computeResource.setResourceId(getResourceId());
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/DataMovementInterfaceResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/DataMovementInterfaceResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/DataMovementInterfaceResource.java
index 37b8a9d..c9016ef 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/DataMovementInterfaceResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/DataMovementInterfaceResource.java
@@ -21,6 +21,7 @@
package org.apache.aiaravata.application.catalog.data.resources;
+import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -47,6 +48,24 @@ public class DataMovementInterfaceResource extends AbstractResource {
private String dataMovementProtocol;
private String dataMovementInterfaceId;
private int priorityOrder;
+ private Timestamp createdTime;
+ private Timestamp updatedTime;
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
@Override
public void remove(Object identifier) throws AppCatalogException {
@@ -218,8 +237,10 @@ public class DataMovementInterfaceResource extends AbstractResource {
em.getTransaction().begin();
if (existingDataMovementInterface == null) {
dataMovementInterface = new DataMovementInterface();
+ dataMovementInterface.setCreationTime(createdTime);
} else {
dataMovementInterface = existingDataMovementInterface;
+ dataMovementInterface.setUpdateTime(updatedTime);
}
dataMovementInterface.setComputeResourceId(getComputeResourceId());
ComputeResource computeResource = em.find(ComputeResource.class, getComputeResourceId());
[2/3] adding created time and update time to app catalog
Posted by ch...@apache.org.
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/DataMovementProtocolResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/DataMovementProtocolResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/DataMovementProtocolResource.java
index db7080d..6a5b88e 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/DataMovementProtocolResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/DataMovementProtocolResource.java
@@ -1,360 +1,360 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.aiaravata.application.catalog.data.resources;
-
-import org.airavata.appcatalog.cpi.AppCatalogException;
-import org.apache.aiaravata.application.catalog.data.model.ComputeResource;
-import org.apache.aiaravata.application.catalog.data.model.DataMovementProtocol;
-import org.apache.aiaravata.application.catalog.data.model.DataMovementProtocolPK;
-import org.apache.aiaravata.application.catalog.data.util.AppCatalogJPAUtils;
-import org.apache.aiaravata.application.catalog.data.util.AppCatalogQueryGenerator;
-import org.apache.aiaravata.application.catalog.data.util.AppCatalogResourceType;
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class DataMovementProtocolResource extends AbstractResource {
-
- private final static Logger logger = LoggerFactory.getLogger(DataMovementProtocolResource.class);
-
- private String resourceID;
- private String dataMoveID;
- private String dataMoveType;
- private ComputeResourceResource computeHostResource;
-
- public void remove(Object identifier) throws AppCatalogException {
- HashMap<String, String> ids;
- if (identifier instanceof Map) {
- ids = (HashMap) identifier;
- } else {
- logger.error("Identifier should be a map with the field name and it's value");
- throw new AppCatalogException("Identifier should be a map with the field name and it's value");
- }
-
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(DATA_MOVEMENT_PROTOCOL);
- generator.setParameter(DataMoveProtocolConstants.DATA_MOVE_TYPE, ids.get(DataMoveProtocolConstants.DATA_MOVE_TYPE));
- generator.setParameter(DataMoveProtocolConstants.RESOURCE_ID, ids.get(DataMoveProtocolConstants.RESOURCE_ID));
- generator.setParameter(DataMoveProtocolConstants.DATA_MOVE_ID, ids.get(DataMoveProtocolConstants.DATA_MOVE_ID));
- Query q = generator.deleteQuery(em);
- q.executeUpdate();
- em.getTransaction().commit();
- em.close();
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- public Resource get(Object identifier) throws AppCatalogException {
- HashMap<String, String> ids;
- if (identifier instanceof Map) {
- ids = (HashMap) identifier;
- } else {
- logger.error("Identifier should be a map with the field name and it's value");
- throw new AppCatalogException("Identifier should be a map with the field name and it's value");
- }
-
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(DATA_MOVEMENT_PROTOCOL);
- generator.setParameter(DataMoveProtocolConstants.DATA_MOVE_TYPE, ids.get(DataMoveProtocolConstants.DATA_MOVE_TYPE));
- generator.setParameter(DataMoveProtocolConstants.RESOURCE_ID, ids.get(DataMoveProtocolConstants.RESOURCE_ID));
- generator.setParameter(DataMoveProtocolConstants.DATA_MOVE_ID, ids.get(DataMoveProtocolConstants.DATA_MOVE_ID));
- Query q = generator.selectQuery(em);
- DataMovementProtocol dataMovementProtocol = (DataMovementProtocol) q.getSingleResult();
- DataMovementProtocolResource dataMovementProtocolResource =
- (DataMovementProtocolResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.DATA_MOVEMENT_PROTOCOL, dataMovementProtocol);
- em.getTransaction().commit();
- em.close();
- return dataMovementProtocolResource;
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- public List<Resource> get(String fieldName, Object value) throws AppCatalogException {
- List<Resource> dataMoveProtocolResourcesList = new ArrayList<Resource>();
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- Query q;
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(DATA_MOVEMENT_PROTOCOL);
- List results;
- if (fieldName.equals(DataMoveProtocolConstants.RESOURCE_ID)) {
- generator.setParameter(DataMoveProtocolConstants.RESOURCE_ID, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- DataMovementProtocol dataMovementProtocol = (DataMovementProtocol) result;
- DataMovementProtocolResource dataMovementProtocolResource =
- (DataMovementProtocolResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.DATA_MOVEMENT_PROTOCOL, dataMovementProtocol);
- dataMoveProtocolResourcesList.add(dataMovementProtocolResource);
- }
- }
- } else if (fieldName.equals(DataMoveProtocolConstants.DATA_MOVE_TYPE)) {
- generator.setParameter(DataMoveProtocolConstants.DATA_MOVE_TYPE, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- DataMovementProtocol dataMovementProtocol = (DataMovementProtocol) result;
- DataMovementProtocolResource dataMovementProtocolResource =
- (DataMovementProtocolResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.DATA_MOVEMENT_PROTOCOL, dataMovementProtocol);
- dataMoveProtocolResourcesList.add(dataMovementProtocolResource);
- }
- }
- } else if (fieldName.equals(DataMoveProtocolConstants.DATA_MOVE_ID)) {
- generator.setParameter(DataMoveProtocolConstants.DATA_MOVE_ID, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- DataMovementProtocol dataMovementProtocol = (DataMovementProtocol) result;
- DataMovementProtocolResource dataMovementProtocolResource =
- (DataMovementProtocolResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.DATA_MOVEMENT_PROTOCOL, dataMovementProtocol);
- dataMoveProtocolResourcesList.add(dataMovementProtocolResource);
- }
- }
- } else {
- em.getTransaction().commit();
- em.close();
- logger.error("Unsupported field name for Data Movement Protocol Resource.", new IllegalArgumentException());
- throw new IllegalArgumentException("Unsupported field name for Data Movement Protocol Resource.");
- }
- em.getTransaction().commit();
- em.close();
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- return dataMoveProtocolResourcesList;
- }
-
- @Override
- public List<Resource> getAll() throws AppCatalogException {
- return null;
- }
-
- @Override
- public List<String> getAllIds() throws AppCatalogException {
- return null;
- }
-
- public List<String> getIds(String fieldName, Object value) throws AppCatalogException {
- List<String> dataMovementProtocolIDs = new ArrayList<String>();
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- Query q;
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(DATA_MOVEMENT_PROTOCOL);
- List results;
- if (fieldName.equals(DataMoveProtocolConstants.DATA_MOVE_ID)) {
- generator.setParameter(DataMoveProtocolConstants.DATA_MOVE_ID, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- DataMovementProtocol dataMovementProtocol = (DataMovementProtocol) result;
- dataMovementProtocolIDs.add(dataMovementProtocol.getDataMoveID());
- }
- }
- } else if (fieldName.equals(DataMoveProtocolConstants.RESOURCE_ID)) {
- generator.setParameter(DataMoveProtocolConstants.RESOURCE_ID, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- DataMovementProtocol dataMovementProtocol = (DataMovementProtocol) result;
- dataMovementProtocolIDs.add(dataMovementProtocol.getDataMoveID());
- }
- }
- } else if (fieldName.equals(DataMoveProtocolConstants.DATA_MOVE_TYPE)) {
- generator.setParameter(DataMoveProtocolConstants.DATA_MOVE_TYPE, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- DataMovementProtocol dataMovementProtocol = (DataMovementProtocol) result;
- dataMovementProtocolIDs.add(dataMovementProtocol.getDataMoveID());
- }
- }
- } else {
- em.getTransaction().commit();
- em.close();
- logger.error("Unsupported field name for Data Move Protocol resource.", new IllegalArgumentException());
- throw new IllegalArgumentException("Unsupported field name for Data Move Protocol Resource.");
- }
- em.getTransaction().commit();
- em.close();
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- return dataMovementProtocolIDs;
- }
-
- public void save() throws AppCatalogException {
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- DataMovementProtocol existingDataMovementProtocol = em.find(DataMovementProtocol.class, new DataMovementProtocolPK(resourceID, dataMoveID, dataMoveType));
- em.close();
-
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- if (existingDataMovementProtocol != null) {
- existingDataMovementProtocol.setDataMoveID(dataMoveType);
- existingDataMovementProtocol.setDataMoveID(dataMoveID);
- ComputeResource computeResource = em.find(ComputeResource.class, resourceID);
- existingDataMovementProtocol.setComputeResource(computeResource);
- existingDataMovementProtocol.setResourceID(resourceID);
- em.merge(existingDataMovementProtocol);
- } else {
- DataMovementProtocol dataMovementProtocol = new DataMovementProtocol();
- dataMovementProtocol.setDataMoveType(dataMoveType);
- dataMovementProtocol.setDataMoveID(dataMoveID);
- dataMovementProtocol.setResourceID(resourceID);
- ComputeResource computeResource = em.find(ComputeResource.class, resourceID);
- dataMovementProtocol.setComputeResource(computeResource);
- em.persist(dataMovementProtocol);
- }
- em.getTransaction().commit();
- em.close();
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- public boolean isExists(Object identifier) throws AppCatalogException {
- HashMap<String, String> ids;
- if (identifier instanceof Map) {
- ids = (HashMap) identifier;
- } else {
- logger.error("Identifier should be a map with the field name and it's value");
- throw new AppCatalogException("Identifier should be a map with the field name and it's value");
- }
-
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- DataMovementProtocol dataMovementProtocol = em.find(DataMovementProtocol.class, new DataMovementProtocolPK(
- ids.get(DataMoveProtocolConstants.RESOURCE_ID),
- ids.get(DataMoveProtocolConstants.DATA_MOVE_ID), ids.get(DataMoveProtocolConstants.DATA_MOVE_TYPE)));
-
- em.close();
- return dataMovementProtocol != null;
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- public String getResourceID() {
- return resourceID;
- }
-
- public void setResourceID(String resourceID) {
- this.resourceID = resourceID;
- }
-
- public String getDataMoveID() {
- return dataMoveID;
- }
-
- public void setDataMoveID(String dataMoveID) {
- this.dataMoveID = dataMoveID;
- }
-
- public String getDataMoveType() {
- return dataMoveType;
- }
-
- public void setDataMoveType(String dataMoveType) {
- this.dataMoveType = dataMoveType;
- }
-
- public ComputeResourceResource getComputeHostResource() {
- return computeHostResource;
- }
-
- public void setComputeHostResource(ComputeResourceResource computeHostResource) {
- this.computeHostResource = computeHostResource;
- }
-}
+///**
+// * Licensed to the Apache Software Foundation (ASF) under one
+// * or more contributor license agreements. See the NOTICE file
+// * distributed with this work for additional information
+// * regarding copyright ownership. The ASF licenses this file
+// * to you under the Apache License, Version 2.0 (the
+// * "License"); you may not use this file except in compliance
+// * with the License. You may obtain a copy of the License at
+// *
+// * http://www.apache.org/licenses/LICENSE-2.0
+// *
+// * Unless required by applicable law or agreed to in writing,
+// * software distributed under the License is distributed on an
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// * KIND, either express or implied. See the License for the
+// * specific language governing permissions and limitations
+// * under the License.
+// */
+//
+//package org.apache.aiaravata.application.catalog.data.resources;
+//
+//import org.airavata.appcatalog.cpi.AppCatalogException;
+//import org.apache.aiaravata.application.catalog.data.model.ComputeResource;
+//import org.apache.aiaravata.application.catalog.data.model.DataMovementProtocol;
+//import org.apache.aiaravata.application.catalog.data.model.DataMovementProtocolPK;
+//import org.apache.aiaravata.application.catalog.data.util.AppCatalogJPAUtils;
+//import org.apache.aiaravata.application.catalog.data.util.AppCatalogQueryGenerator;
+//import org.apache.aiaravata.application.catalog.data.util.AppCatalogResourceType;
+//import org.apache.airavata.common.exception.ApplicationSettingsException;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//
+//import javax.persistence.EntityManager;
+//import javax.persistence.Query;
+//import java.util.ArrayList;
+//import java.util.HashMap;
+//import java.util.List;
+//import java.util.Map;
+//
+//public class DataMovementProtocolResource extends AbstractResource {
+//
+// private final static Logger logger = LoggerFactory.getLogger(DataMovementProtocolResource.class);
+//
+// private String resourceID;
+// private String dataMoveID;
+// private String dataMoveType;
+// private ComputeResourceResource computeHostResource;
+//
+// public void remove(Object identifier) throws AppCatalogException {
+// HashMap<String, String> ids;
+// if (identifier instanceof Map) {
+// ids = (HashMap) identifier;
+// } else {
+// logger.error("Identifier should be a map with the field name and it's value");
+// throw new AppCatalogException("Identifier should be a map with the field name and it's value");
+// }
+//
+// EntityManager em = null;
+// try {
+// em = AppCatalogJPAUtils.getEntityManager();
+// em.getTransaction().begin();
+// AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(DATA_MOVEMENT_PROTOCOL);
+// generator.setParameter(DataMoveProtocolConstants.DATA_MOVE_TYPE, ids.get(DataMoveProtocolConstants.DATA_MOVE_TYPE));
+// generator.setParameter(DataMoveProtocolConstants.RESOURCE_ID, ids.get(DataMoveProtocolConstants.RESOURCE_ID));
+// generator.setParameter(DataMoveProtocolConstants.DATA_MOVE_ID, ids.get(DataMoveProtocolConstants.DATA_MOVE_ID));
+// Query q = generator.deleteQuery(em);
+// q.executeUpdate();
+// em.getTransaction().commit();
+// em.close();
+// } catch (ApplicationSettingsException e) {
+// logger.error(e.getMessage(), e);
+// throw new AppCatalogException(e);
+// } finally {
+// if (em != null && em.isOpen()) {
+// if (em.getTransaction().isActive()) {
+// em.getTransaction().rollback();
+// }
+// em.close();
+// }
+// }
+// }
+//
+// public Resource get(Object identifier) throws AppCatalogException {
+// HashMap<String, String> ids;
+// if (identifier instanceof Map) {
+// ids = (HashMap) identifier;
+// } else {
+// logger.error("Identifier should be a map with the field name and it's value");
+// throw new AppCatalogException("Identifier should be a map with the field name and it's value");
+// }
+//
+// EntityManager em = null;
+// try {
+// em = AppCatalogJPAUtils.getEntityManager();
+// em.getTransaction().begin();
+// AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(DATA_MOVEMENT_PROTOCOL);
+// generator.setParameter(DataMoveProtocolConstants.DATA_MOVE_TYPE, ids.get(DataMoveProtocolConstants.DATA_MOVE_TYPE));
+// generator.setParameter(DataMoveProtocolConstants.RESOURCE_ID, ids.get(DataMoveProtocolConstants.RESOURCE_ID));
+// generator.setParameter(DataMoveProtocolConstants.DATA_MOVE_ID, ids.get(DataMoveProtocolConstants.DATA_MOVE_ID));
+// Query q = generator.selectQuery(em);
+// DataMovementProtocol dataMovementProtocol = (DataMovementProtocol) q.getSingleResult();
+// DataMovementProtocolResource dataMovementProtocolResource =
+// (DataMovementProtocolResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.DATA_MOVEMENT_PROTOCOL, dataMovementProtocol);
+// em.getTransaction().commit();
+// em.close();
+// return dataMovementProtocolResource;
+// } catch (ApplicationSettingsException e) {
+// logger.error(e.getMessage(), e);
+// throw new AppCatalogException(e);
+// } finally {
+// if (em != null && em.isOpen()) {
+// if (em.getTransaction().isActive()) {
+// em.getTransaction().rollback();
+// }
+// em.close();
+// }
+// }
+// }
+//
+// public List<Resource> get(String fieldName, Object value) throws AppCatalogException {
+// List<Resource> dataMoveProtocolResourcesList = new ArrayList<Resource>();
+// EntityManager em = null;
+// try {
+// em = AppCatalogJPAUtils.getEntityManager();
+// em.getTransaction().begin();
+// Query q;
+// AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(DATA_MOVEMENT_PROTOCOL);
+// List results;
+// if (fieldName.equals(DataMoveProtocolConstants.RESOURCE_ID)) {
+// generator.setParameter(DataMoveProtocolConstants.RESOURCE_ID, value);
+// q = generator.selectQuery(em);
+// results = q.getResultList();
+// if (results.size() != 0) {
+// for (Object result : results) {
+// DataMovementProtocol dataMovementProtocol = (DataMovementProtocol) result;
+// DataMovementProtocolResource dataMovementProtocolResource =
+// (DataMovementProtocolResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.DATA_MOVEMENT_PROTOCOL, dataMovementProtocol);
+// dataMoveProtocolResourcesList.add(dataMovementProtocolResource);
+// }
+// }
+// } else if (fieldName.equals(DataMoveProtocolConstants.DATA_MOVE_TYPE)) {
+// generator.setParameter(DataMoveProtocolConstants.DATA_MOVE_TYPE, value);
+// q = generator.selectQuery(em);
+// results = q.getResultList();
+// if (results.size() != 0) {
+// for (Object result : results) {
+// DataMovementProtocol dataMovementProtocol = (DataMovementProtocol) result;
+// DataMovementProtocolResource dataMovementProtocolResource =
+// (DataMovementProtocolResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.DATA_MOVEMENT_PROTOCOL, dataMovementProtocol);
+// dataMoveProtocolResourcesList.add(dataMovementProtocolResource);
+// }
+// }
+// } else if (fieldName.equals(DataMoveProtocolConstants.DATA_MOVE_ID)) {
+// generator.setParameter(DataMoveProtocolConstants.DATA_MOVE_ID, value);
+// q = generator.selectQuery(em);
+// results = q.getResultList();
+// if (results.size() != 0) {
+// for (Object result : results) {
+// DataMovementProtocol dataMovementProtocol = (DataMovementProtocol) result;
+// DataMovementProtocolResource dataMovementProtocolResource =
+// (DataMovementProtocolResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.DATA_MOVEMENT_PROTOCOL, dataMovementProtocol);
+// dataMoveProtocolResourcesList.add(dataMovementProtocolResource);
+// }
+// }
+// } else {
+// em.getTransaction().commit();
+// em.close();
+// logger.error("Unsupported field name for Data Movement Protocol Resource.", new IllegalArgumentException());
+// throw new IllegalArgumentException("Unsupported field name for Data Movement Protocol Resource.");
+// }
+// em.getTransaction().commit();
+// em.close();
+// } catch (Exception e) {
+// logger.error(e.getMessage(), e);
+// throw new AppCatalogException(e);
+// } finally {
+// if (em != null && em.isOpen()) {
+// if (em.getTransaction().isActive()) {
+// em.getTransaction().rollback();
+// }
+// em.close();
+// }
+// }
+// return dataMoveProtocolResourcesList;
+// }
+//
+// @Override
+// public List<Resource> getAll() throws AppCatalogException {
+// return null;
+// }
+//
+// @Override
+// public List<String> getAllIds() throws AppCatalogException {
+// return null;
+// }
+//
+// public List<String> getIds(String fieldName, Object value) throws AppCatalogException {
+// List<String> dataMovementProtocolIDs = new ArrayList<String>();
+// EntityManager em = null;
+// try {
+// em = AppCatalogJPAUtils.getEntityManager();
+// em.getTransaction().begin();
+// Query q;
+// AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(DATA_MOVEMENT_PROTOCOL);
+// List results;
+// if (fieldName.equals(DataMoveProtocolConstants.DATA_MOVE_ID)) {
+// generator.setParameter(DataMoveProtocolConstants.DATA_MOVE_ID, value);
+// q = generator.selectQuery(em);
+// results = q.getResultList();
+// if (results.size() != 0) {
+// for (Object result : results) {
+// DataMovementProtocol dataMovementProtocol = (DataMovementProtocol) result;
+// dataMovementProtocolIDs.add(dataMovementProtocol.getDataMoveID());
+// }
+// }
+// } else if (fieldName.equals(DataMoveProtocolConstants.RESOURCE_ID)) {
+// generator.setParameter(DataMoveProtocolConstants.RESOURCE_ID, value);
+// q = generator.selectQuery(em);
+// results = q.getResultList();
+// if (results.size() != 0) {
+// for (Object result : results) {
+// DataMovementProtocol dataMovementProtocol = (DataMovementProtocol) result;
+// dataMovementProtocolIDs.add(dataMovementProtocol.getDataMoveID());
+// }
+// }
+// } else if (fieldName.equals(DataMoveProtocolConstants.DATA_MOVE_TYPE)) {
+// generator.setParameter(DataMoveProtocolConstants.DATA_MOVE_TYPE, value);
+// q = generator.selectQuery(em);
+// results = q.getResultList();
+// if (results.size() != 0) {
+// for (Object result : results) {
+// DataMovementProtocol dataMovementProtocol = (DataMovementProtocol) result;
+// dataMovementProtocolIDs.add(dataMovementProtocol.getDataMoveID());
+// }
+// }
+// } else {
+// em.getTransaction().commit();
+// em.close();
+// logger.error("Unsupported field name for Data Move Protocol resource.", new IllegalArgumentException());
+// throw new IllegalArgumentException("Unsupported field name for Data Move Protocol Resource.");
+// }
+// em.getTransaction().commit();
+// em.close();
+// } catch (Exception e) {
+// logger.error(e.getMessage(), e);
+// throw new AppCatalogException(e);
+// } finally {
+// if (em != null && em.isOpen()) {
+// if (em.getTransaction().isActive()) {
+// em.getTransaction().rollback();
+// }
+// em.close();
+// }
+// }
+// return dataMovementProtocolIDs;
+// }
+//
+// public void save() throws AppCatalogException {
+// EntityManager em = null;
+// try {
+// em = AppCatalogJPAUtils.getEntityManager();
+// DataMovementProtocol existingDataMovementProtocol = em.find(DataMovementProtocol.class, new DataMovementProtocolPK(resourceID, dataMoveID, dataMoveType));
+// em.close();
+//
+// em = AppCatalogJPAUtils.getEntityManager();
+// em.getTransaction().begin();
+// if (existingDataMovementProtocol != null) {
+// existingDataMovementProtocol.setDataMoveID(dataMoveType);
+// existingDataMovementProtocol.setDataMoveID(dataMoveID);
+// ComputeResource computeResource = em.find(ComputeResource.class, resourceID);
+// existingDataMovementProtocol.setComputeResource(computeResource);
+// existingDataMovementProtocol.setResourceID(resourceID);
+// em.merge(existingDataMovementProtocol);
+// } else {
+// DataMovementProtocol dataMovementProtocol = new DataMovementProtocol();
+// dataMovementProtocol.setDataMoveType(dataMoveType);
+// dataMovementProtocol.setDataMoveID(dataMoveID);
+// dataMovementProtocol.setResourceID(resourceID);
+// ComputeResource computeResource = em.find(ComputeResource.class, resourceID);
+// dataMovementProtocol.setComputeResource(computeResource);
+// em.persist(dataMovementProtocol);
+// }
+// em.getTransaction().commit();
+// em.close();
+// } catch (Exception e) {
+// logger.error(e.getMessage(), e);
+// throw new AppCatalogException(e);
+// } finally {
+// if (em != null && em.isOpen()) {
+// if (em.getTransaction().isActive()) {
+// em.getTransaction().rollback();
+// }
+// em.close();
+// }
+// }
+// }
+//
+// public boolean isExists(Object identifier) throws AppCatalogException {
+// HashMap<String, String> ids;
+// if (identifier instanceof Map) {
+// ids = (HashMap) identifier;
+// } else {
+// logger.error("Identifier should be a map with the field name and it's value");
+// throw new AppCatalogException("Identifier should be a map with the field name and it's value");
+// }
+//
+// EntityManager em = null;
+// try {
+// em = AppCatalogJPAUtils.getEntityManager();
+// DataMovementProtocol dataMovementProtocol = em.find(DataMovementProtocol.class, new DataMovementProtocolPK(
+// ids.get(DataMoveProtocolConstants.RESOURCE_ID),
+// ids.get(DataMoveProtocolConstants.DATA_MOVE_ID), ids.get(DataMoveProtocolConstants.DATA_MOVE_TYPE)));
+//
+// em.close();
+// return dataMovementProtocol != null;
+// } catch (ApplicationSettingsException e) {
+// logger.error(e.getMessage(), e);
+// throw new AppCatalogException(e);
+// } finally {
+// if (em != null && em.isOpen()) {
+// if (em.getTransaction().isActive()) {
+// em.getTransaction().rollback();
+// }
+// em.close();
+// }
+// }
+// }
+//
+// public String getResourceID() {
+// return resourceID;
+// }
+//
+// public void setResourceID(String resourceID) {
+// this.resourceID = resourceID;
+// }
+//
+// public String getDataMoveID() {
+// return dataMoveID;
+// }
+//
+// public void setDataMoveID(String dataMoveID) {
+// this.dataMoveID = dataMoveID;
+// }
+//
+// public String getDataMoveType() {
+// return dataMoveType;
+// }
+//
+// public void setDataMoveType(String dataMoveType) {
+// this.dataMoveType = dataMoveType;
+// }
+//
+// public ComputeResourceResource getComputeHostResource() {
+// return computeHostResource;
+// }
+//
+// public void setComputeHostResource(ComputeResourceResource computeHostResource) {
+// this.computeHostResource = computeHostResource;
+// }
+//}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GatewayProfileResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GatewayProfileResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GatewayProfileResource.java
index 47c1c8a..3fe339a 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GatewayProfileResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GatewayProfileResource.java
@@ -30,6 +30,7 @@ import org.slf4j.LoggerFactory;
import javax.persistence.EntityManager;
import javax.persistence.Query;
+import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
@@ -39,6 +40,24 @@ public class GatewayProfileResource extends AbstractResource {
private String gatewayID;
private String gatewayName;
private String gatewayDesc;
+ private Timestamp createdTime;
+ private Timestamp updatedTime;
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
public void remove(Object identifier) throws AppCatalogException {
EntityManager em = null;
@@ -220,12 +239,14 @@ public class GatewayProfileResource extends AbstractResource {
if (existingGatewayProfile != null) {
existingGatewayProfile.setGatewayDesc(gatewayDesc);
existingGatewayProfile.setGatewayName(gatewayName);
+ existingGatewayProfile.setUpdateTime(updatedTime);
em.merge(existingGatewayProfile);
} else {
GatewayProfile gatewayProfile = new GatewayProfile();
gatewayProfile.setGatewayID(gatewayID);
gatewayProfile.setGatewayName(gatewayName);
gatewayProfile.setGatewayDesc(gatewayDesc);
+ gatewayProfile.setCreationTime(createdTime);
em.persist(gatewayProfile);
}
em.getTransaction().commit();
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GridftpDataMovementResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GridftpDataMovementResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GridftpDataMovementResource.java
index 2b350c9..70b9af9 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GridftpDataMovementResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GridftpDataMovementResource.java
@@ -19,6 +19,7 @@
package org.apache.aiaravata.application.catalog.data.resources;
+import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
@@ -38,6 +39,24 @@ public class GridftpDataMovementResource extends AbstractResource {
private final static Logger logger = LoggerFactory.getLogger(GridftpDataMovementResource.class);
private String dataMovementInterfaceId;
private String securityProtocol;
+ private Timestamp createdTime;
+ private Timestamp updatedTime;
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
@Override
public void remove(Object identifier) throws AppCatalogException {
@@ -193,8 +212,10 @@ public class GridftpDataMovementResource extends AbstractResource {
em.getTransaction().begin();
if (existingGridftpDataMovement == null) {
gridftpDataMovement = new GridftpDataMovement();
+ gridftpDataMovement.setCreationTime(createdTime);
} else {
gridftpDataMovement = existingGridftpDataMovement;
+ gridftpDataMovement.setUpdateTime(updatedTime);
}
gridftpDataMovement.setDataMovementInterfaceId(getDataMovementInterfaceId());
gridftpDataMovement.setSecurityProtocol(getSecurityProtocol());
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GridftpEndpointResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GridftpEndpointResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GridftpEndpointResource.java
index d325fdf..8364711 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GridftpEndpointResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GridftpEndpointResource.java
@@ -19,6 +19,7 @@
package org.apache.aiaravata.application.catalog.data.resources;
+import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -43,6 +44,24 @@ public class GridftpEndpointResource extends AbstractResource {
private String endpoint;
private String dataMovementInterfaceId;
private GridftpDataMovementResource gridftpDataMovementResource;
+ private Timestamp createdTime;
+ private Timestamp updatedTime;
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
@Override
public void remove(Object identifier) throws AppCatalogException {
@@ -214,8 +233,10 @@ public class GridftpEndpointResource extends AbstractResource {
em.getTransaction().begin();
if (existingGridftpEndpoint == null) {
gridftpEndpoint = new GridftpEndpoint();
+ gridftpEndpoint.setCreationTime(createdTime);
} else {
gridftpEndpoint = existingGridftpEndpoint;
+ gridftpEndpoint.setUpdateTime(updatedTime);
}
gridftpEndpoint.setEndpoint(getEndpoint());
gridftpEndpoint.setDataMovementInterfaceId(getDataMovementInterfaceId());
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/JobSubmissionInterfaceResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/JobSubmissionInterfaceResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/JobSubmissionInterfaceResource.java
index 745dd93..8654789 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/JobSubmissionInterfaceResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/JobSubmissionInterfaceResource.java
@@ -21,6 +21,7 @@
package org.apache.aiaravata.application.catalog.data.resources;
+import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
@@ -47,6 +48,24 @@ public class JobSubmissionInterfaceResource extends AbstractResource {
private ComputeResourceResource computeHostResource;
private String jobSubmissionProtocol;
private int priorityOrder;
+ private Timestamp createdTime;
+ private Timestamp updatedTime;
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
@Override
public void remove(Object identifier) throws AppCatalogException {
@@ -218,8 +237,10 @@ public class JobSubmissionInterfaceResource extends AbstractResource {
em.getTransaction().begin();
if (existingJobSubmissionInterface == null) {
jobSubmissionInterface = new JobSubmissionInterface();
+ jobSubmissionInterface.setCreationTime(createdTime);
} else {
jobSubmissionInterface = existingJobSubmissionInterface;
+ jobSubmissionInterface.setUpdateTime(updatedTime);
}
jobSubmissionInterface.setJobSubmissionInterfaceId(getJobSubmissionInterfaceId());
jobSubmissionInterface.setComputeResourceId(getComputeResourceId());
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/JobSubmissionProtocolResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/JobSubmissionProtocolResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/JobSubmissionProtocolResource.java
index 6c965a2..d6134af 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/JobSubmissionProtocolResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/JobSubmissionProtocolResource.java
@@ -1,359 +1,359 @@
-/**
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-
-package org.apache.aiaravata.application.catalog.data.resources;
-
-import org.airavata.appcatalog.cpi.AppCatalogException;
-import org.apache.aiaravata.application.catalog.data.model.ComputeResource;
-import org.apache.aiaravata.application.catalog.data.model.JobSubmissionProtocol;
-import org.apache.aiaravata.application.catalog.data.model.JobSubmissionProtocolPK;
-import org.apache.aiaravata.application.catalog.data.util.AppCatalogJPAUtils;
-import org.apache.aiaravata.application.catalog.data.util.AppCatalogQueryGenerator;
-import org.apache.aiaravata.application.catalog.data.util.AppCatalogResourceType;
-import org.apache.airavata.common.exception.ApplicationSettingsException;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.persistence.EntityManager;
-import javax.persistence.Query;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-public class JobSubmissionProtocolResource extends AbstractResource {
-
- private final static Logger logger = LoggerFactory.getLogger(JobSubmissionProtocolResource.class);
-
- private String resourceID;
- private String submissionID;
- private String jobType;
- private ComputeResourceResource computeHostResource;
-
- public void remove(Object identifier) throws AppCatalogException {
- HashMap<String, String> ids;
- if (identifier instanceof Map) {
- ids = (HashMap) identifier;
- } else {
- logger.error("Identifier should be a map with the field name and it's value");
- throw new AppCatalogException("Identifier should be a map with the field name and it's value");
- }
-
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(JOB_SUBMISSION_PROTOCOL);
- generator.setParameter(JobSubmissionProtocolConstants.RESOURCE_ID, ids.get(JobSubmissionProtocolConstants.RESOURCE_ID));
- generator.setParameter(JobSubmissionProtocolConstants.SUBMISSION_ID, ids.get(JobSubmissionProtocolConstants.SUBMISSION_ID));
- generator.setParameter(JobSubmissionProtocolConstants.JOB_TYPE, ids.get(JobSubmissionProtocolConstants.JOB_TYPE));
- Query q = generator.deleteQuery(em);
- q.executeUpdate();
- em.getTransaction().commit();
- em.close();
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- public Resource get(Object identifier) throws AppCatalogException {
- HashMap<String, String> ids;
- if (identifier instanceof Map) {
- ids = (HashMap) identifier;
- } else {
- logger.error("Identifier should be a map with the field name and it's value");
- throw new AppCatalogException("Identifier should be a map with the field name and it's value");
- }
-
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(JOB_SUBMISSION_PROTOCOL);
- generator.setParameter(JobSubmissionProtocolConstants.RESOURCE_ID, ids.get(JobSubmissionProtocolConstants.RESOURCE_ID));
- generator.setParameter(JobSubmissionProtocolConstants.SUBMISSION_ID, ids.get(JobSubmissionProtocolConstants.SUBMISSION_ID));
- generator.setParameter(JobSubmissionProtocolConstants.JOB_TYPE, ids.get(JobSubmissionProtocolConstants.JOB_TYPE));
- Query q = generator.selectQuery(em);
- JobSubmissionProtocol jobSubmissionProtocol = (JobSubmissionProtocol) q.getSingleResult();
- JobSubmissionProtocolResource jobSubmissionProtocolResource =
- (JobSubmissionProtocolResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.JOB_SUBMISSION_PROTOCOL, jobSubmissionProtocol);
- em.getTransaction().commit();
- em.close();
- return jobSubmissionProtocolResource;
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- public List<Resource> get(String fieldName, Object value) throws AppCatalogException {
- List<Resource> jobSubmissionProtocolResourceList = new ArrayList<Resource>();
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- Query q;
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(JOB_SUBMISSION_PROTOCOL);
- List results;
- if (fieldName.equals(JobSubmissionProtocolConstants.SUBMISSION_ID)) {
- generator.setParameter(JobSubmissionProtocolConstants.SUBMISSION_ID, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- JobSubmissionProtocol jobSubmissionProtocol = (JobSubmissionProtocol) result;
- JobSubmissionProtocolResource jobSubmissionProtocolResource =
- (JobSubmissionProtocolResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.JOB_SUBMISSION_PROTOCOL, jobSubmissionProtocol);
- jobSubmissionProtocolResourceList.add(jobSubmissionProtocolResource);
- }
- }
- } else if (fieldName.equals(JobSubmissionProtocolConstants.JOB_TYPE)) {
- generator.setParameter(JobSubmissionProtocolConstants.JOB_TYPE, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- JobSubmissionProtocol jobSubmissionProtocol = (JobSubmissionProtocol) result;
- JobSubmissionProtocolResource jobSubmissionProtocolResource =
- (JobSubmissionProtocolResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.JOB_SUBMISSION_PROTOCOL, jobSubmissionProtocol);
- jobSubmissionProtocolResourceList.add(jobSubmissionProtocolResource);
- }
- }
- } else if (fieldName.equals(HostIPAddressConstants.RESOURCE_ID)) {
- generator.setParameter(HostIPAddressConstants.RESOURCE_ID, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- JobSubmissionProtocol jobSubmissionProtocol = (JobSubmissionProtocol) result;
- JobSubmissionProtocolResource jobSubmissionProtocolResource =
- (JobSubmissionProtocolResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.JOB_SUBMISSION_PROTOCOL, jobSubmissionProtocol);
- jobSubmissionProtocolResourceList.add(jobSubmissionProtocolResource);
- }
- }
- } else {
- em.getTransaction().commit();
- em.close();
- logger.error("Unsupported field name for Job Submission Protocol Resource.", new IllegalArgumentException());
- throw new IllegalArgumentException("Unsupported field name for Job Submission Protocol Resource.");
- }
- em.getTransaction().commit();
- em.close();
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- return jobSubmissionProtocolResourceList;
- }
-
- @Override
- public List<Resource> getAll() throws AppCatalogException {
- return null;
- }
-
- @Override
- public List<String> getAllIds() throws AppCatalogException {
- return null;
- }
-
- public List<String> getIds(String fieldName, Object value) throws AppCatalogException {
- List<String> jobSubmissionProtocolIDs = new ArrayList<String>();
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- Query q;
- AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(JOB_SUBMISSION_PROTOCOL);
- List results;
- if (fieldName.equals(JobSubmissionProtocolConstants.SUBMISSION_ID)) {
- generator.setParameter(JobSubmissionProtocolConstants.SUBMISSION_ID, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- JobSubmissionProtocol jobSubmissionProtocol = (JobSubmissionProtocol) result;
- jobSubmissionProtocolIDs.add(jobSubmissionProtocol.getSubmissionID());
- }
- }
- } else if (fieldName.equals(JobSubmissionProtocolConstants.RESOURCE_ID)) {
- generator.setParameter(JobSubmissionProtocolConstants.RESOURCE_ID, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- JobSubmissionProtocol jobSubmissionProtocol = (JobSubmissionProtocol) result;
- jobSubmissionProtocolIDs.add(jobSubmissionProtocol.getSubmissionID());
- }
- }
- } else if (fieldName.equals(JobSubmissionProtocolConstants.JOB_TYPE)) {
- generator.setParameter(JobSubmissionProtocolConstants.JOB_TYPE, value);
- q = generator.selectQuery(em);
- results = q.getResultList();
- if (results.size() != 0) {
- for (Object result : results) {
- JobSubmissionProtocol jobSubmissionProtocol = (JobSubmissionProtocol) result;
- jobSubmissionProtocolIDs.add(jobSubmissionProtocol.getSubmissionID());
- }
- }
- } else {
- em.getTransaction().commit();
- em.close();
- logger.error("Unsupported field name for Job Submission Protocol resource.", new IllegalArgumentException());
- throw new IllegalArgumentException("Unsupported field name for Job Submission Protocol Resource.");
- }
- em.getTransaction().commit();
- em.close();
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- return jobSubmissionProtocolIDs;
- }
-
- public void save() throws AppCatalogException {
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- JobSubmissionProtocol existingJobSubProtocol = em.find(JobSubmissionProtocol.class, new JobSubmissionProtocolPK(resourceID, submissionID, jobType));
- em.close();
-
- em = AppCatalogJPAUtils.getEntityManager();
- em.getTransaction().begin();
- ComputeResource computeResource = em.find(ComputeResource.class, resourceID);
- if (existingJobSubProtocol != null) {
- existingJobSubProtocol.setJobType(jobType);
- existingJobSubProtocol.setSubmissionID(submissionID);
- existingJobSubProtocol.setComputeResource(computeResource);
- existingJobSubProtocol.setResourceID(resourceID);
- em.merge(existingJobSubProtocol);
- } else {
- JobSubmissionProtocol jobSubmissionProtocol = new JobSubmissionProtocol();
- jobSubmissionProtocol.setJobType(jobType);
- jobSubmissionProtocol.setSubmissionID(submissionID);
- jobSubmissionProtocol.setResourceID(resourceID);
- jobSubmissionProtocol.setComputeResource(computeResource);
- em.persist(jobSubmissionProtocol);
- }
- em.getTransaction().commit();
- em.close();
- } catch (Exception e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
-
- }
-
- public boolean isExists(Object identifier) throws AppCatalogException {
- HashMap<String, String> ids;
- if (identifier instanceof Map) {
- ids = (HashMap) identifier;
- } else {
- logger.error("Identifier should be a map with the field name and it's value");
- throw new AppCatalogException("Identifier should be a map with the field name and it's value");
- }
-
- EntityManager em = null;
- try {
- em = AppCatalogJPAUtils.getEntityManager();
- JobSubmissionProtocol jobSubmissionProtocol = em.find(JobSubmissionProtocol.class, new JobSubmissionProtocolPK(ids.get(JobSubmissionProtocolConstants.RESOURCE_ID),
- ids.get(JobSubmissionProtocolConstants.SUBMISSION_ID), ids.get(JobSubmissionProtocolConstants.JOB_TYPE)));
-
- em.close();
- return jobSubmissionProtocol != null;
- } catch (ApplicationSettingsException e) {
- logger.error(e.getMessage(), e);
- throw new AppCatalogException(e);
- } finally {
- if (em != null && em.isOpen()) {
- if (em.getTransaction().isActive()) {
- em.getTransaction().rollback();
- }
- em.close();
- }
- }
- }
-
- public String getResourceID() {
- return resourceID;
- }
-
- public void setResourceID(String resourceID) {
- this.resourceID = resourceID;
- }
-
- public String getSubmissionID() {
- return submissionID;
- }
-
- public void setSubmissionID(String submissionID) {
- this.submissionID = submissionID;
- }
-
- public String getJobType() {
- return jobType;
- }
-
- public void setJobType(String jobType) {
- this.jobType = jobType;
- }
-
- public ComputeResourceResource getComputeHostResource() {
- return computeHostResource;
- }
-
- public void setComputeHostResource(ComputeResourceResource computeHostResource) {
- this.computeHostResource = computeHostResource;
- }
-}
+///**
+// * Licensed to the Apache Software Foundation (ASF) under one
+// * or more contributor license agreements. See the NOTICE file
+// * distributed with this work for additional information
+// * regarding copyright ownership. The ASF licenses this file
+// * to you under the Apache License, Version 2.0 (the
+// * "License"); you may not use this file except in compliance
+// * with the License. You may obtain a copy of the License at
+// *
+// * http://www.apache.org/licenses/LICENSE-2.0
+// *
+// * Unless required by applicable law or agreed to in writing,
+// * software distributed under the License is distributed on an
+// * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+// * KIND, either express or implied. See the License for the
+// * specific language governing permissions and limitations
+// * under the License.
+// */
+//
+//package org.apache.aiaravata.application.catalog.data.resources;
+//
+//import org.airavata.appcatalog.cpi.AppCatalogException;
+//import org.apache.aiaravata.application.catalog.data.model.ComputeResource;
+//import org.apache.aiaravata.application.catalog.data.model.JobSubmissionProtocol;
+//import org.apache.aiaravata.application.catalog.data.model.JobSubmissionProtocolPK;
+//import org.apache.aiaravata.application.catalog.data.util.AppCatalogJPAUtils;
+//import org.apache.aiaravata.application.catalog.data.util.AppCatalogQueryGenerator;
+//import org.apache.aiaravata.application.catalog.data.util.AppCatalogResourceType;
+//import org.apache.airavata.common.exception.ApplicationSettingsException;
+//import org.slf4j.Logger;
+//import org.slf4j.LoggerFactory;
+//
+//import javax.persistence.EntityManager;
+//import javax.persistence.Query;
+//import java.util.ArrayList;
+//import java.util.HashMap;
+//import java.util.List;
+//import java.util.Map;
+//
+//public class JobSubmissionProtocolResource extends AbstractResource {
+//
+// private final static Logger logger = LoggerFactory.getLogger(JobSubmissionProtocolResource.class);
+//
+// private String resourceID;
+// private String submissionID;
+// private String jobType;
+// private ComputeResourceResource computeHostResource;
+//
+// public void remove(Object identifier) throws AppCatalogException {
+// HashMap<String, String> ids;
+// if (identifier instanceof Map) {
+// ids = (HashMap) identifier;
+// } else {
+// logger.error("Identifier should be a map with the field name and it's value");
+// throw new AppCatalogException("Identifier should be a map with the field name and it's value");
+// }
+//
+// EntityManager em = null;
+// try {
+// em = AppCatalogJPAUtils.getEntityManager();
+// em.getTransaction().begin();
+// AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(JOB_SUBMISSION_PROTOCOL);
+// generator.setParameter(JobSubmissionProtocolConstants.RESOURCE_ID, ids.get(JobSubmissionProtocolConstants.RESOURCE_ID));
+// generator.setParameter(JobSubmissionProtocolConstants.SUBMISSION_ID, ids.get(JobSubmissionProtocolConstants.SUBMISSION_ID));
+// generator.setParameter(JobSubmissionProtocolConstants.JOB_TYPE, ids.get(JobSubmissionProtocolConstants.JOB_TYPE));
+// Query q = generator.deleteQuery(em);
+// q.executeUpdate();
+// em.getTransaction().commit();
+// em.close();
+// } catch (ApplicationSettingsException e) {
+// logger.error(e.getMessage(), e);
+// throw new AppCatalogException(e);
+// } finally {
+// if (em != null && em.isOpen()) {
+// if (em.getTransaction().isActive()) {
+// em.getTransaction().rollback();
+// }
+// em.close();
+// }
+// }
+// }
+//
+// public Resource get(Object identifier) throws AppCatalogException {
+// HashMap<String, String> ids;
+// if (identifier instanceof Map) {
+// ids = (HashMap) identifier;
+// } else {
+// logger.error("Identifier should be a map with the field name and it's value");
+// throw new AppCatalogException("Identifier should be a map with the field name and it's value");
+// }
+//
+// EntityManager em = null;
+// try {
+// em = AppCatalogJPAUtils.getEntityManager();
+// em.getTransaction().begin();
+// AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(JOB_SUBMISSION_PROTOCOL);
+// generator.setParameter(JobSubmissionProtocolConstants.RESOURCE_ID, ids.get(JobSubmissionProtocolConstants.RESOURCE_ID));
+// generator.setParameter(JobSubmissionProtocolConstants.SUBMISSION_ID, ids.get(JobSubmissionProtocolConstants.SUBMISSION_ID));
+// generator.setParameter(JobSubmissionProtocolConstants.JOB_TYPE, ids.get(JobSubmissionProtocolConstants.JOB_TYPE));
+// Query q = generator.selectQuery(em);
+// JobSubmissionProtocol jobSubmissionProtocol = (JobSubmissionProtocol) q.getSingleResult();
+// JobSubmissionProtocolResource jobSubmissionProtocolResource =
+// (JobSubmissionProtocolResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.JOB_SUBMISSION_PROTOCOL, jobSubmissionProtocol);
+// em.getTransaction().commit();
+// em.close();
+// return jobSubmissionProtocolResource;
+// } catch (ApplicationSettingsException e) {
+// logger.error(e.getMessage(), e);
+// throw new AppCatalogException(e);
+// } finally {
+// if (em != null && em.isOpen()) {
+// if (em.getTransaction().isActive()) {
+// em.getTransaction().rollback();
+// }
+// em.close();
+// }
+// }
+// }
+//
+// public List<Resource> get(String fieldName, Object value) throws AppCatalogException {
+// List<Resource> jobSubmissionProtocolResourceList = new ArrayList<Resource>();
+// EntityManager em = null;
+// try {
+// em = AppCatalogJPAUtils.getEntityManager();
+// em.getTransaction().begin();
+// Query q;
+// AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(JOB_SUBMISSION_PROTOCOL);
+// List results;
+// if (fieldName.equals(JobSubmissionProtocolConstants.SUBMISSION_ID)) {
+// generator.setParameter(JobSubmissionProtocolConstants.SUBMISSION_ID, value);
+// q = generator.selectQuery(em);
+// results = q.getResultList();
+// if (results.size() != 0) {
+// for (Object result : results) {
+// JobSubmissionProtocol jobSubmissionProtocol = (JobSubmissionProtocol) result;
+// JobSubmissionProtocolResource jobSubmissionProtocolResource =
+// (JobSubmissionProtocolResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.JOB_SUBMISSION_PROTOCOL, jobSubmissionProtocol);
+// jobSubmissionProtocolResourceList.add(jobSubmissionProtocolResource);
+// }
+// }
+// } else if (fieldName.equals(JobSubmissionProtocolConstants.JOB_TYPE)) {
+// generator.setParameter(JobSubmissionProtocolConstants.JOB_TYPE, value);
+// q = generator.selectQuery(em);
+// results = q.getResultList();
+// if (results.size() != 0) {
+// for (Object result : results) {
+// JobSubmissionProtocol jobSubmissionProtocol = (JobSubmissionProtocol) result;
+// JobSubmissionProtocolResource jobSubmissionProtocolResource =
+// (JobSubmissionProtocolResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.JOB_SUBMISSION_PROTOCOL, jobSubmissionProtocol);
+// jobSubmissionProtocolResourceList.add(jobSubmissionProtocolResource);
+// }
+// }
+// } else if (fieldName.equals(HostIPAddressConstants.RESOURCE_ID)) {
+// generator.setParameter(HostIPAddressConstants.RESOURCE_ID, value);
+// q = generator.selectQuery(em);
+// results = q.getResultList();
+// if (results.size() != 0) {
+// for (Object result : results) {
+// JobSubmissionProtocol jobSubmissionProtocol = (JobSubmissionProtocol) result;
+// JobSubmissionProtocolResource jobSubmissionProtocolResource =
+// (JobSubmissionProtocolResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.JOB_SUBMISSION_PROTOCOL, jobSubmissionProtocol);
+// jobSubmissionProtocolResourceList.add(jobSubmissionProtocolResource);
+// }
+// }
+// } else {
+// em.getTransaction().commit();
+// em.close();
+// logger.error("Unsupported field name for Job Submission Protocol Resource.", new IllegalArgumentException());
+// throw new IllegalArgumentException("Unsupported field name for Job Submission Protocol Resource.");
+// }
+// em.getTransaction().commit();
+// em.close();
+// } catch (Exception e) {
+// logger.error(e.getMessage(), e);
+// throw new AppCatalogException(e);
+// } finally {
+// if (em != null && em.isOpen()) {
+// if (em.getTransaction().isActive()) {
+// em.getTransaction().rollback();
+// }
+// em.close();
+// }
+// }
+// return jobSubmissionProtocolResourceList;
+// }
+//
+// @Override
+// public List<Resource> getAll() throws AppCatalogException {
+// return null;
+// }
+//
+// @Override
+// public List<String> getAllIds() throws AppCatalogException {
+// return null;
+// }
+//
+// public List<String> getIds(String fieldName, Object value) throws AppCatalogException {
+// List<String> jobSubmissionProtocolIDs = new ArrayList<String>();
+// EntityManager em = null;
+// try {
+// em = AppCatalogJPAUtils.getEntityManager();
+// em.getTransaction().begin();
+// Query q;
+// AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(JOB_SUBMISSION_PROTOCOL);
+// List results;
+// if (fieldName.equals(JobSubmissionProtocolConstants.SUBMISSION_ID)) {
+// generator.setParameter(JobSubmissionProtocolConstants.SUBMISSION_ID, value);
+// q = generator.selectQuery(em);
+// results = q.getResultList();
+// if (results.size() != 0) {
+// for (Object result : results) {
+// JobSubmissionProtocol jobSubmissionProtocol = (JobSubmissionProtocol) result;
+// jobSubmissionProtocolIDs.add(jobSubmissionProtocol.getSubmissionID());
+// }
+// }
+// } else if (fieldName.equals(JobSubmissionProtocolConstants.RESOURCE_ID)) {
+// generator.setParameter(JobSubmissionProtocolConstants.RESOURCE_ID, value);
+// q = generator.selectQuery(em);
+// results = q.getResultList();
+// if (results.size() != 0) {
+// for (Object result : results) {
+// JobSubmissionProtocol jobSubmissionProtocol = (JobSubmissionProtocol) result;
+// jobSubmissionProtocolIDs.add(jobSubmissionProtocol.getSubmissionID());
+// }
+// }
+// } else if (fieldName.equals(JobSubmissionProtocolConstants.JOB_TYPE)) {
+// generator.setParameter(JobSubmissionProtocolConstants.JOB_TYPE, value);
+// q = generator.selectQuery(em);
+// results = q.getResultList();
+// if (results.size() != 0) {
+// for (Object result : results) {
+// JobSubmissionProtocol jobSubmissionProtocol = (JobSubmissionProtocol) result;
+// jobSubmissionProtocolIDs.add(jobSubmissionProtocol.getSubmissionID());
+// }
+// }
+// } else {
+// em.getTransaction().commit();
+// em.close();
+// logger.error("Unsupported field name for Job Submission Protocol resource.", new IllegalArgumentException());
+// throw new IllegalArgumentException("Unsupported field name for Job Submission Protocol Resource.");
+// }
+// em.getTransaction().commit();
+// em.close();
+// } catch (Exception e) {
+// logger.error(e.getMessage(), e);
+// throw new AppCatalogException(e);
+// } finally {
+// if (em != null && em.isOpen()) {
+// if (em.getTransaction().isActive()) {
+// em.getTransaction().rollback();
+// }
+// em.close();
+// }
+// }
+// return jobSubmissionProtocolIDs;
+// }
+//
+// public void save() throws AppCatalogException {
+// EntityManager em = null;
+// try {
+// em = AppCatalogJPAUtils.getEntityManager();
+// JobSubmissionProtocol existingJobSubProtocol = em.find(JobSubmissionProtocol.class, new JobSubmissionProtocolPK(resourceID, submissionID, jobType));
+// em.close();
+//
+// em = AppCatalogJPAUtils.getEntityManager();
+// em.getTransaction().begin();
+// ComputeResource computeResource = em.find(ComputeResource.class, resourceID);
+// if (existingJobSubProtocol != null) {
+// existingJobSubProtocol.setJobType(jobType);
+// existingJobSubProtocol.setSubmissionID(submissionID);
+// existingJobSubProtocol.setComputeResource(computeResource);
+// existingJobSubProtocol.setResourceID(resourceID);
+// em.merge(existingJobSubProtocol);
+// } else {
+// JobSubmissionProtocol jobSubmissionProtocol = new JobSubmissionProtocol();
+// jobSubmissionProtocol.setJobType(jobType);
+// jobSubmissionProtocol.setSubmissionID(submissionID);
+// jobSubmissionProtocol.setResourceID(resourceID);
+// jobSubmissionProtocol.setComputeResource(computeResource);
+// em.persist(jobSubmissionProtocol);
+// }
+// em.getTransaction().commit();
+// em.close();
+// } catch (Exception e) {
+// logger.error(e.getMessage(), e);
+// throw new AppCatalogException(e);
+// } finally {
+// if (em != null && em.isOpen()) {
+// if (em.getTransaction().isActive()) {
+// em.getTransaction().rollback();
+// }
+// em.close();
+// }
+// }
+//
+// }
+//
+// public boolean isExists(Object identifier) throws AppCatalogException {
+// HashMap<String, String> ids;
+// if (identifier instanceof Map) {
+// ids = (HashMap) identifier;
+// } else {
+// logger.error("Identifier should be a map with the field name and it's value");
+// throw new AppCatalogException("Identifier should be a map with the field name and it's value");
+// }
+//
+// EntityManager em = null;
+// try {
+// em = AppCatalogJPAUtils.getEntityManager();
+// JobSubmissionProtocol jobSubmissionProtocol = em.find(JobSubmissionProtocol.class, new JobSubmissionProtocolPK(ids.get(JobSubmissionProtocolConstants.RESOURCE_ID),
+// ids.get(JobSubmissionProtocolConstants.SUBMISSION_ID), ids.get(JobSubmissionProtocolConstants.JOB_TYPE)));
+//
+// em.close();
+// return jobSubmissionProtocol != null;
+// } catch (ApplicationSettingsException e) {
+// logger.error(e.getMessage(), e);
+// throw new AppCatalogException(e);
+// } finally {
+// if (em != null && em.isOpen()) {
+// if (em.getTransaction().isActive()) {
+// em.getTransaction().rollback();
+// }
+// em.close();
+// }
+// }
+// }
+//
+// public String getResourceID() {
+// return resourceID;
+// }
+//
+// public void setResourceID(String resourceID) {
+// this.resourceID = resourceID;
+// }
+//
+// public String getSubmissionID() {
+// return submissionID;
+// }
+//
+// public void setSubmissionID(String submissionID) {
+// this.submissionID = submissionID;
+// }
+//
+// public String getJobType() {
+// return jobType;
+// }
+//
+// public void setJobType(String jobType) {
+// this.jobType = jobType;
+// }
+//
+// public ComputeResourceResource getComputeHostResource() {
+// return computeHostResource;
+// }
+//
+// public void setComputeHostResource(ComputeResourceResource computeHostResource) {
+// this.computeHostResource = computeHostResource;
+// }
+//}
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/LocalSubmissionResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/LocalSubmissionResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/LocalSubmissionResource.java
index 6774b04..e954fae 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/LocalSubmissionResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/LocalSubmissionResource.java
@@ -21,6 +21,7 @@
package org.apache.aiaravata.application.catalog.data.resources;
+import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
@@ -42,6 +43,24 @@ public class LocalSubmissionResource extends AbstractResource {
private String resourceJobManagerId;
private ResourceJobManagerResource resourceJobManagerResource;
private String jobSubmissionInterfaceId;
+ private Timestamp createdTime;
+ private Timestamp updatedTime;
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
@Override
public void remove(Object identifier) throws AppCatalogException {
@@ -197,8 +216,10 @@ public class LocalSubmissionResource extends AbstractResource {
em.getTransaction().begin();
if (existingLocalSubmission == null) {
localSubmission = new LocalSubmission();
+ localSubmission.setCreationTime(createdTime);
} else {
localSubmission = existingLocalSubmission;
+ localSubmission.setUpdateTime(updatedTime);
}
localSubmission.setResourceJobManagerId(getResourceJobManagerId());
ResourceJobManager resourceJobManager = em.find(ResourceJobManager.class, getResourceJobManagerId());
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ResourceJobManagerResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ResourceJobManagerResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ResourceJobManagerResource.java
index 7ba0141..3addb71 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ResourceJobManagerResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ResourceJobManagerResource.java
@@ -21,6 +21,7 @@
package org.apache.aiaravata.application.catalog.data.resources;
+import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
@@ -42,6 +43,24 @@ public class ResourceJobManagerResource extends AbstractResource {
private String pushMonitoringEndpoint;
private String jobManagerBinPath;
private String resourceJobManagerType;
+ private Timestamp createdTime;
+ private Timestamp updatedTime;
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
@Override
public void remove(Object identifier) throws AppCatalogException {
@@ -197,8 +216,10 @@ public class ResourceJobManagerResource extends AbstractResource {
em.getTransaction().begin();
if (existingResourceJobManager == null) {
resourceJobManager = new ResourceJobManager();
+ resourceJobManager.setCreationTime(createdTime);
} else {
resourceJobManager = existingResourceJobManager;
+ resourceJobManager.setUpdateTime(updatedTime);
}
resourceJobManager.setResourceJobManagerId(getResourceJobManagerId());
resourceJobManager.setPushMonitoringEndpoint(getPushMonitoringEndpoint());
http://git-wip-us.apache.org/repos/asf/airavata/blob/404913ac/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ScpDataMovementResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ScpDataMovementResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ScpDataMovementResource.java
index b1fccfe..8c995b6 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ScpDataMovementResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/ScpDataMovementResource.java
@@ -30,6 +30,7 @@ import org.slf4j.LoggerFactory;
import javax.persistence.EntityManager;
import javax.persistence.Query;
+import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List;
@@ -40,6 +41,24 @@ public class ScpDataMovementResource extends AbstractResource {
private String securityProtocol;
private String alternativeScpHostname;
private int sshPort;
+ private Timestamp createdTime;
+ private Timestamp updatedTime;
+
+ public Timestamp getCreatedTime() {
+ return createdTime;
+ }
+
+ public void setCreatedTime(Timestamp createdTime) {
+ this.createdTime = createdTime;
+ }
+
+ public Timestamp getUpdatedTime() {
+ return updatedTime;
+ }
+
+ public void setUpdatedTime(Timestamp updatedTime) {
+ this.updatedTime = updatedTime;
+ }
@Override
public void remove(Object identifier) throws AppCatalogException {
@@ -195,8 +214,10 @@ public class ScpDataMovementResource extends AbstractResource {
em.getTransaction().begin();
if (existingScpDataMovement == null) {
scpDataMovement = new ScpDataMovement();
+ scpDataMovement.setCreationTime(createdTime);
} else {
scpDataMovement = existingScpDataMovement;
+ scpDataMovement.setUpdateTime(updatedTime);
}
scpDataMovement.setQueueDescription(getQueueDescription());
scpDataMovement.setDataMovementInterfaceId(getDataMovementInterfaceId());