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/06/30 05:34:28 UTC
git commit: app catlog cpi impl - AIRAVATA-1228
Repository: airavata
Updated Branches:
refs/heads/master 6f0b74c51 -> c1718d6a7
app catlog cpi impl - AIRAVATA-1228
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/c1718d6a
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/c1718d6a
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/c1718d6a
Branch: refs/heads/master
Commit: c1718d6a73450c4b32940ffe8ad60fd10e7afbe1
Parents: 6f0b74c
Author: Chathuri Wimalasena <ka...@gmail.com>
Authored: Sun Jun 29 23:34:19 2014 -0400
Committer: Chathuri Wimalasena <ka...@gmail.com>
Committed: Sun Jun 29 23:34:19 2014 -0400
----------------------------------------------------------------------
.../catalog/data/impl/ComputeResourceImpl.java | 119 +++++++-
.../data/model/DataMovementProtocol.java | 12 +-
.../data/model/DataMovementProtocolPK.java | 14 +-
.../catalog/data/model/GlobusGKEndpoint.java | 10 +-
.../catalog/data/model/GlobusJobSubmission.java | 10 -
.../catalog/data/model/GridFTPDMEndPointPK.java | 64 ++++
.../catalog/data/model/GridFTPDMEndpoint.java | 65 ++++
.../data/resources/AbstractResource.java | 6 +
.../resources/DataMovementProtocolResource.java | 16 +-
.../resources/GlobusGKEndpointResource.java | 16 +-
.../resources/GlobusJobSubmissionResource.java | 11 -
.../resources/GridFTPDMEndpointResource.java | 295 +++++++++++++++++++
.../catalog/data/util/AppCatalogJPAUtils.java | 5 +-
.../data/util/AppCatalogResourceType.java | 1 +
.../data/util/AppCatalogThriftConversion.java | 40 +++
.../src/main/resources/META-INF/persistence.xml | 1 +
.../src/main/resources/appcatalog-derby.sql | 13 +-
.../src/main/resources/appcatalog-mysql.sql | 13 +-
18 files changed, 640 insertions(+), 71 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
index 9ac2bc5..8f421b7 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/impl/ComputeResourceImpl.java
@@ -47,6 +47,7 @@ public class ComputeResourceImpl implements ComputeResource {
computeHostResource.setPreferredJobSubmissionProtocol(description.getPreferredJobSubmissionProtocol());
computeHostResource.setDescription(description.getResourceDescription());
computeHostResource.save();
+ description.setResourceId(computeHostResource.getResoureId());
Set<String> hostAliases = description.getHostAliases();
if (hostAliases != null && !hostAliases.isEmpty()) {
@@ -90,7 +91,7 @@ public class ComputeResourceImpl implements ComputeResource {
resource.setResourceID(computeHostResource.getResoureId());
resource.setComputeHostResource(computeHostResource);
resource.setDataMoveID(key);
- resource.setJobType(dataMovementProtocol.toString());
+ resource.setDataMoveType(dataMovementProtocol.toString());
resource.save();
}
}
@@ -114,6 +115,7 @@ public class ComputeResourceImpl implements ComputeResource {
resource.setResourceJobManager(sshJobSubmission.getResourceJobManager().toString());
resource.setComputeHostResource(AppCatalogThriftConversion.getComputeHostResource(computeResource));
resource.save();
+ sshJobSubmission.setJobSubmissionDataID(resource.getSubmissionID());
return resource.getSubmissionID();
}catch (Exception e) {
logger.error("Error while saving SSH Job Submission...", e);
@@ -152,6 +154,7 @@ public class ComputeResourceImpl implements ComputeResource {
resource.setInstalledPath(gsisshJobSubmission.getInstalledPath());
resource.setMonitorMode(gsisshJobSubmission.getMonitorMode());
resource.save();
+ gsisshJobSubmission.setJobSubmissionDataID(resource.getSubmissionID());
Set<String> exports = gsisshJobSubmission.getExports();
if (exports != null && !exports.isEmpty()){
@@ -210,32 +213,134 @@ public class ComputeResourceImpl implements ComputeResource {
@Override
public String addGlobusJobSubmission(String computeResourceId, GlobusJobSubmission globusJobSubmission) throws AppCatalogException {
- return null;
+ try {
+ GlobusJobSubmissionResource resource = new GlobusJobSubmissionResource();
+ resource.setResourceID(computeResourceId);
+ ComputeResourceDescription computeResource = getComputeResource(computeResourceId);
+ String hostName = computeResource.getHostName();
+ hostName = "GLOBUS" + hostName;
+ resource.setSubmissionID(AppCatalogUtils.getID(hostName));
+ resource.setSecurityProtocol(globusJobSubmission.getSecurityProtocol().toString());
+ resource.setResourceJobManager(globusJobSubmission.getResourceJobManager().toString());
+ resource.setComputeHostResource(AppCatalogThriftConversion.getComputeHostResource(computeResource));
+ resource.save();
+ globusJobSubmission.setJobSubmissionDataID(resource.getSubmissionID());
+ List<String> globusGateKeeperEndPoint = globusJobSubmission.getGlobusGateKeeperEndPoint();
+ if (globusGateKeeperEndPoint != null && !globusGateKeeperEndPoint.isEmpty()) {
+ for (String endpoint : globusGateKeeperEndPoint) {
+ GlobusGKEndpointResource endpointResource = new GlobusGKEndpointResource();
+ endpointResource.setSubmissionID(resource.getSubmissionID());
+ endpointResource.setEndpoint(endpoint);
+ endpointResource.setGlobusJobSubmissionResource(resource);
+ endpointResource.save();
+ }
+ }
+ return resource.getSubmissionID();
+ } catch (Exception e) {
+ logger.error("Error while saving Globus Job Submission...", e);
+ throw new AppCatalogException(e);
+ }
+
}
@Override
public void addGlobusJobSubmissionProtocol(String computeResourceId, String jobSubmissionId) throws AppCatalogException {
-
+ try {
+ JobSubmissionProtocolResource resource = new JobSubmissionProtocolResource();
+ resource.setResourceID(computeResourceId);
+ resource.setSubmissionID(jobSubmissionId);
+ ComputeResourceDescription computeResource = getComputeResource(computeResourceId);
+ resource.setComputeHostResource(AppCatalogThriftConversion.getComputeHostResource(computeResource));
+ resource.setJobType(JobSubmissionProtocol.GRAM.toString());
+ resource.save();
+ }catch (Exception e){
+ logger.error("Error while saving Globus Job Submission Protocol...", e);
+ throw new AppCatalogException(e);
+ }
}
@Override
public String addScpDataMovement(String computeResourceId, SCPDataMovement scpDataMovement) throws AppCatalogException {
- return null;
+ try {
+ SCPDataMovementResource resource = new SCPDataMovementResource();
+ resource.setResourceID(computeResourceId);
+ ComputeResourceDescription computeResource = getComputeResource(computeResourceId);
+ String hostName = computeResource.getHostName();
+ hostName = "SCP" + hostName;
+ resource.setDataMoveID(AppCatalogUtils.getID(hostName));
+ resource.setSecurityProtocol(scpDataMovement.getSecurityProtocol().toString());
+ resource.setSshPort(scpDataMovement.getSshPort());
+ resource.setComputeHostResource(AppCatalogThriftConversion.getComputeHostResource(computeResource));
+ resource.save();
+ scpDataMovement.setDataMovementDataID(resource.getDataMoveID());
+ return resource.getDataMoveID();
+ }catch (Exception e){
+ logger.error("Error while saving SCP Data Movement...", e);
+ throw new AppCatalogException(e);
+ }
}
@Override
public void addScpDataMovementProtocol(String computeResourceId, String dataMoveId) throws AppCatalogException {
-
+ try {
+ DataMovementProtocolResource resource = new DataMovementProtocolResource();
+ resource.setResourceID(computeResourceId);
+ resource.setDataMoveID(dataMoveId);
+ ComputeResourceDescription computeResource = getComputeResource(computeResourceId);
+ resource.setComputeHostResource(AppCatalogThriftConversion.getComputeHostResource(computeResource));
+ resource.setDataMoveType(DataMovementProtocol.SCP.toString());
+ resource.save();
+ }catch (Exception e){
+ logger.error("Error while saving SCP data movement Protocol...", e);
+ throw new AppCatalogException(e);
+ }
}
@Override
public String addGridFTPDataMovement(String computeResourceId, GridFTPDataMovement gridFTPDataMovement) throws AppCatalogException {
- return null;
+ try {
+ GridFTPDataMovementResource resource = new GridFTPDataMovementResource();
+ resource.setResourceID(computeResourceId);
+ ComputeResourceDescription computeResource = getComputeResource(computeResourceId);
+ String hostName = computeResource.getHostName();
+ hostName = "SCP" + hostName;
+ resource.setDataMoveID(AppCatalogUtils.getID(hostName));
+ resource.setSecurityProtocol(gridFTPDataMovement.getSecurityProtocol().toString());
+ resource.setComputeHostResource(AppCatalogThriftConversion.getComputeHostResource(computeResource));
+ resource.save();
+ gridFTPDataMovement.setDataMovementDataID(resource.getDataMoveID());
+
+ List<String> gridFTPEndPoint = gridFTPDataMovement.getGridFTPEndPoint();
+ if (gridFTPEndPoint != null && !gridFTPEndPoint.isEmpty()) {
+ for (String endpoint : gridFTPEndPoint) {
+ GridFTPDMEndpointResource endpointResource = new GridFTPDMEndpointResource();
+ endpointResource.setDataMoveId(resource.getDataMoveID());
+ endpointResource.setEndpoint(endpoint);
+ endpointResource.setGridFTPDataMovementResource(resource);
+ endpointResource.save();
+ }
+ }
+ return resource.getDataMoveID();
+ }catch (Exception e){
+ logger.error("Error while saving GridFTP Data Movement...", e);
+ throw new AppCatalogException(e);
+ }
}
@Override
public void addGridFTPDataMovementProtocol(String computeResourceId, String dataMoveId) throws AppCatalogException {
-
+ try {
+ DataMovementProtocolResource resource = new DataMovementProtocolResource();
+ resource.setResourceID(computeResourceId);
+ resource.setDataMoveID(dataMoveId);
+ ComputeResourceDescription computeResource = getComputeResource(computeResourceId);
+ resource.setComputeHostResource(AppCatalogThriftConversion.getComputeHostResource(computeResource));
+ resource.setDataMoveType(DataMovementProtocol.GridFTP.toString());
+ resource.save();
+ }catch (Exception e){
+ logger.error("Error while saving GridFTP data movement Protocol...", e);
+ throw new AppCatalogException(e);
+ }
}
@Override
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/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 5a61dc6..4203e89 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
@@ -35,8 +35,8 @@ public class DataMovementProtocol implements Serializable {
@Column(name = "DATA_MOVE_ID")
private String dataMoveID;
@Id
- @Column(name = "JOB_TYPE")
- private String jobType;
+ @Column(name = "DATA_MOVE_TYPE")
+ private String dataMoveType;
@ManyToOne(cascade= CascadeType.MERGE)
@JoinColumn(name = "RESOURCE_ID")
@@ -58,12 +58,12 @@ public class DataMovementProtocol implements Serializable {
this.dataMoveID = dataMoveID;
}
- public String getJobType() {
- return jobType;
+ public String getDataMoveType() {
+ return dataMoveType;
}
- public void setJobType(String jobType) {
- this.jobType = jobType;
+ public void setDataMoveType(String dataMoveType) {
+ this.dataMoveType = dataMoveType;
}
public ComputeResource getComputeResource() {
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/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 3d590e5..9fed4b3 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
@@ -26,12 +26,12 @@ import java.io.Serializable;
public class DataMovementProtocolPK implements Serializable {
private String resourceID;
private String dataMoveID;
- private String jobType;
+ private String dataMoveType;
- public DataMovementProtocolPK(String resourceID, String dataMoveID, String jobType) {
+ public DataMovementProtocolPK(String resourceID, String dataMoveID, String dataMoveType) {
this.resourceID = resourceID;
this.dataMoveID = dataMoveID;
- this.jobType = jobType;
+ this.dataMoveType = dataMoveType;
}
public DataMovementProtocolPK() {
@@ -64,11 +64,11 @@ public class DataMovementProtocolPK implements Serializable {
this.dataMoveID = dataMoveID;
}
- public String getJobType() {
- return jobType;
+ public String getDataMoveType() {
+ return dataMoveType;
}
- public void setJobType(String jobType) {
- this.jobType = jobType;
+ public void setDataMoveType(String dataMoveType) {
+ this.dataMoveType = dataMoveType;
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GlobusGKEndpoint.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GlobusGKEndpoint.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GlobusGKEndpoint.java
index e9bbc41..62b8b12 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GlobusGKEndpoint.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GlobusGKEndpoint.java
@@ -37,7 +37,7 @@ public class GlobusGKEndpoint implements Serializable {
@ManyToOne(cascade= CascadeType.MERGE)
@JoinColumn(name = "SUBMISSION_ID")
- private GSISSHSubmission gsisshJobSubmission;
+ private GlobusJobSubmission globusSubmission;
public String getSubmissionID() {
return submissionID;
@@ -55,11 +55,11 @@ public class GlobusGKEndpoint implements Serializable {
this.endpoint = endpoint;
}
- public GSISSHSubmission getGsisshJobSubmission() {
- return gsisshJobSubmission;
+ public GlobusJobSubmission getGlobusSubmission() {
+ return globusSubmission;
}
- public void setGsisshJobSubmission(GSISSHSubmission gsisshJobSubmission) {
- this.gsisshJobSubmission = gsisshJobSubmission;
+ public void setGlobusSubmission(GlobusJobSubmission globusSubmission) {
+ this.globusSubmission = globusSubmission;
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GlobusJobSubmission.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GlobusJobSubmission.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GlobusJobSubmission.java
index 4a29426..5775fd8 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GlobusJobSubmission.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GlobusJobSubmission.java
@@ -36,8 +36,6 @@ public class GlobusJobSubmission implements Serializable {
private String resourceJobManager;
@Column(name = "SECURITY_PROTOCAL")
private String securityProtocol;
- @Column(name = "GLOBUS_GATEKEEPER_EP")
- private String globusEP;
@ManyToOne(cascade= CascadeType.MERGE)
@JoinColumn(name = "RESOURCE_ID")
@@ -75,14 +73,6 @@ public class GlobusJobSubmission implements Serializable {
this.securityProtocol = securityProtocol;
}
- public String getGlobusEP() {
- return globusEP;
- }
-
- public void setGlobusEP(String globusEP) {
- this.globusEP = globusEP;
- }
-
public ComputeResource getComputeResource() {
return computeResource;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridFTPDMEndPointPK.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridFTPDMEndPointPK.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridFTPDMEndPointPK.java
new file mode 100644
index 0000000..611a9c7
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridFTPDMEndPointPK.java
@@ -0,0 +1,64 @@
+/*
+ *
+ * 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 GridFTPDMEndPointPK implements Serializable {
+ private String dataMoveId;
+ private String endpoint;
+
+ public GridFTPDMEndPointPK(String dataMoveId, String endpoint) {
+ this.dataMoveId = dataMoveId;
+ this.endpoint = endpoint;
+ }
+
+ public GridFTPDMEndPointPK() {
+ ;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ return false;
+ }
+
+ @Override
+ public int hashCode() {
+ return 1;
+ }
+
+ public String getDataMoveId() {
+ return dataMoveId;
+ }
+
+ public void setDataMoveId(String dataMoveId) {
+ this.dataMoveId = dataMoveId;
+ }
+
+ public String getEndpoint() {
+ return endpoint;
+ }
+
+ public void setEndpoint(String endpoint) {
+ this.endpoint = endpoint;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridFTPDMEndpoint.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridFTPDMEndpoint.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridFTPDMEndpoint.java
new file mode 100644
index 0000000..0d4768d
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GridFTPDMEndpoint.java
@@ -0,0 +1,65 @@
+/*
+ *
+ * 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 = "GRIDFTP_DM_ENDPOINT")
+@IdClass(GridFTPDMEndPointPK.class)
+public class GridFTPDMEndpoint implements Serializable {
+ @Id
+ @Column(name = "DATA_MOVE_ID")
+ private String dataMoveId;
+ @Id
+ @Column(name = "ENDPOINT")
+ private String endpoint;
+
+ @ManyToOne(cascade= CascadeType.MERGE)
+ @JoinColumn(name = "SUBMISSION_ID")
+ private GridFTPDataMovement gridFTPDataMovement;
+
+ public String getEndpoint() {
+ return endpoint;
+ }
+
+ public void setEndpoint(String endpoint) {
+ this.endpoint = endpoint;
+ }
+
+ public String getDataMoveId() {
+ return dataMoveId;
+ }
+
+ public void setDataMoveId(String dataMoveId) {
+ this.dataMoveId = dataMoveId;
+ }
+
+ public GridFTPDataMovement getGridFTPDataMovement() {
+ return gridFTPDataMovement;
+ }
+
+ public void setGridFTPDataMovement(GridFTPDataMovement gridFTPDataMovement) {
+ this.gridFTPDataMovement = gridFTPDataMovement;
+ }
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AbstractResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AbstractResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AbstractResource.java
index f992f44..b85cc9a 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AbstractResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/AbstractResource.java
@@ -35,6 +35,7 @@ public abstract class AbstractResource implements Resource {
public static final String SSH_SUBMISSION = "SSHSubmission";
public static final String SCP_DATAMOVEMENT = "SCPDataMovement";
public static final String GRID_FTP_DATAMOVEMENT = "GridFTPDataMovement";
+ public static final String GRIDFTP_DM_ENDPOINT = "GridFTPDMEndpoint";
public static final String JOB_SUBMISSION_PROTOCOL = "JobSubmissionProtocol";
public static final String DATA_MOVEMENT_PROTOCOL = "DataMovementProtocol";
public static final String APPLICATION_MODULE = "ApplicationModule";
@@ -133,6 +134,11 @@ public abstract class AbstractResource implements Resource {
public static final String GRID_FTP_EP = "gridFTPEP";
}
+ public final class GridFTPDMEPConstants{
+ public static final String DATA_MOVE_ID = "dataMoveId";
+ public static final String ENDPOINT = "endpoint";
+ }
+
public final class JobSubmissionProtocolConstants {
public static final String RESOURCE_ID = "resourceID";
public static final String SUBMISSION_ID = "submissionID";
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/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 c7cd333..906be2f 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
@@ -24,7 +24,7 @@ public class DataMovementProtocolResource extends AbstractResource {
private String resourceID;
private String dataMoveID;
- private String jobType;
+ private String dataMoveType;
private ComputeHostResource computeHostResource;
public void remove(Object identifier) throws AppCatalogException {
@@ -230,13 +230,13 @@ public class DataMovementProtocolResource extends AbstractResource {
EntityManager em = null;
try {
em = AppCatalogJPAUtils.getEntityManager();
- DataMovementProtocol existingDataMovementProtocol = em.find(DataMovementProtocol.class, new DataMovementProtocolPK(resourceID, dataMoveID, jobType));
+ DataMovementProtocol existingDataMovementProtocol = em.find(DataMovementProtocol.class, new DataMovementProtocolPK(resourceID, dataMoveID, dataMoveType));
em.close();
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
if (existingDataMovementProtocol != null) {
- existingDataMovementProtocol.setJobType(jobType);
+ existingDataMovementProtocol.setDataMoveID(dataMoveType);
existingDataMovementProtocol.setDataMoveID(dataMoveID);
ComputeResource computeResource = em.find(ComputeResource.class, resourceID);
existingDataMovementProtocol.setComputeResource(computeResource);
@@ -245,7 +245,7 @@ public class DataMovementProtocolResource extends AbstractResource {
em.merge(existingDataMovementProtocol);
} else {
DataMovementProtocol dataMovementProtocol = new DataMovementProtocol();
- dataMovementProtocol.setJobType(jobType);
+ dataMovementProtocol.setDataMoveType(dataMoveType);
dataMovementProtocol.setDataMoveID(dataMoveID);
dataMovementProtocol.setResourceID(resourceID);
ComputeResource computeResource = em.find(ComputeResource.class, resourceID);
@@ -315,12 +315,12 @@ public class DataMovementProtocolResource extends AbstractResource {
this.dataMoveID = dataMoveID;
}
- public String getJobType() {
- return jobType;
+ public String getDataMoveType() {
+ return dataMoveType;
}
- public void setJobType(String jobType) {
- this.jobType = jobType;
+ public void setDataMoveType(String dataMoveType) {
+ this.dataMoveType = dataMoveType;
}
public ComputeHostResource getComputeHostResource() {
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GlobusGKEndpointResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GlobusGKEndpointResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GlobusGKEndpointResource.java
index 6e84ae0..fe01a27 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GlobusGKEndpointResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GlobusGKEndpointResource.java
@@ -22,7 +22,7 @@ public class GlobusGKEndpointResource extends AbstractResource {
private String submissionID;
private String endpoint;
- private GSISSHSubmissionResource gsisshSubmissionResource;
+ private GlobusJobSubmissionResource globusJobSubmissionResource;
public void remove(Object identifier) throws AppCatalogException {
@@ -209,17 +209,17 @@ public class GlobusGKEndpointResource extends AbstractResource {
em = AppCatalogJPAUtils.getEntityManager();
em.getTransaction().begin();
- GSISSHSubmission gsisshSubmission = em.find(GSISSHSubmission.class, submissionID);
+ GlobusJobSubmission globusJobSubmission = em.find(GlobusJobSubmission.class, submissionID);
if (existingGlobusEP != null) {
existingGlobusEP.setSubmissionID(submissionID);
existingGlobusEP.setEndpoint(endpoint);
- existingGlobusEP.setGsisshJobSubmission(gsisshSubmission);
+ existingGlobusEP.setGlobusSubmission(globusJobSubmission);
em.merge(existingGlobusEP);
} else {
GlobusGKEndpoint globusGKEndpoint = new GlobusGKEndpoint();
globusGKEndpoint.setSubmissionID(submissionID);
globusGKEndpoint.setEndpoint(endpoint);
- globusGKEndpoint.setGsisshJobSubmission(gsisshSubmission);
+ globusGKEndpoint.setGlobusSubmission(globusJobSubmission);
em.persist(globusGKEndpoint);
}
em.getTransaction().commit();
@@ -282,11 +282,11 @@ public class GlobusGKEndpointResource extends AbstractResource {
this.endpoint = endpoint;
}
- public GSISSHSubmissionResource getGsisshSubmissionResource() {
- return gsisshSubmissionResource;
+ public GlobusJobSubmissionResource getGlobusJobSubmissionResource() {
+ return globusJobSubmissionResource;
}
- public void setGsisshSubmissionResource(GSISSHSubmissionResource gsisshSubmissionResource) {
- this.gsisshSubmissionResource = gsisshSubmissionResource;
+ public void setGlobusJobSubmissionResource(GlobusJobSubmissionResource globusJobSubmissionResource) {
+ this.globusJobSubmissionResource = globusJobSubmissionResource;
}
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GlobusJobSubmissionResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GlobusJobSubmissionResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GlobusJobSubmissionResource.java
index 383aaca..8954854 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GlobusJobSubmissionResource.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GlobusJobSubmissionResource.java
@@ -23,7 +23,6 @@ public class GlobusJobSubmissionResource extends AbstractResource {
private String submissionID;
private String resourceJobManager;
private String securityProtocol;
- private String globusEP;
private ComputeHostResource computeHostResource;
@@ -270,7 +269,6 @@ public class GlobusJobSubmissionResource extends AbstractResource {
if (existingGlobusSubmission != null) {
existingGlobusSubmission.setSubmissionID(submissionID);
existingGlobusSubmission.setResourceID(resourceID);
- existingGlobusSubmission.setGlobusEP(globusEP);
existingGlobusSubmission.setResourceJobManager(resourceJobManager);
existingGlobusSubmission.setSecurityProtocol(securityProtocol);
ComputeResource computeResource = em.find(ComputeResource.class, resourceID);
@@ -282,7 +280,6 @@ public class GlobusJobSubmissionResource extends AbstractResource {
globusJobSubmission.setResourceID(resourceID);
globusJobSubmission.setSubmissionID(submissionID);
globusJobSubmission.setSecurityProtocol(securityProtocol);
- globusJobSubmission.setGlobusEP(globusEP);
globusJobSubmission.setResourceJobManager(resourceJobManager);
ComputeResource computeResource = em.find(ComputeResource.class, resourceID);
globusJobSubmission.setComputeResource(computeResource);
@@ -355,14 +352,6 @@ public class GlobusJobSubmissionResource extends AbstractResource {
this.securityProtocol = securityProtocol;
}
- public String getGlobusEP() {
- return globusEP;
- }
-
- public void setGlobusEP(String globusEP) {
- this.globusEP = globusEP;
- }
-
public ComputeHostResource getComputeHostResource() {
return computeHostResource;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GridFTPDMEndpointResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GridFTPDMEndpointResource.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GridFTPDMEndpointResource.java
new file mode 100644
index 0000000..724e449
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/resources/GridFTPDMEndpointResource.java
@@ -0,0 +1,295 @@
+package org.apache.aiaravata.application.catalog.data.resources;
+
+import org.airavata.appcatalog.cpi.AppCatalogException;
+import org.apache.aiaravata.application.catalog.data.model.GridFTPDMEndPointPK;
+import org.apache.aiaravata.application.catalog.data.model.GridFTPDMEndpoint;
+import org.apache.aiaravata.application.catalog.data.model.GridFTPDataMovement;
+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 GridFTPDMEndpointResource extends AbstractResource {
+ private final static Logger logger = LoggerFactory.getLogger(GridFTPDMEndpointResource.class);
+
+ private String dataMoveId;
+ private String endpoint;
+
+ private GridFTPDataMovementResource gridFTPDataMovementResource;
+
+
+ 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(GRIDFTP_DM_ENDPOINT);
+ generator.setParameter(GridFTPDMEPConstants.ENDPOINT, ids.get(GridFTPDMEPConstants.ENDPOINT));
+ generator.setParameter(GridFTPDMEPConstants.DATA_MOVE_ID, ids.get(GridFTPDMEPConstants.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(GRIDFTP_DM_ENDPOINT);
+ generator.setParameter(GridFTPDMEPConstants.DATA_MOVE_ID, ids.get(GridFTPDMEPConstants.DATA_MOVE_ID));
+ generator.setParameter(GridFTPDMEPConstants.ENDPOINT, ids.get(GridFTPDMEPConstants.ENDPOINT));
+ Query q = generator.selectQuery(em);
+ GridFTPDMEndpoint result = (GridFTPDMEndpoint) q.getSingleResult();
+ GridFTPDMEndpointResource gkEndpointResource =
+ (GridFTPDMEndpointResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.GRID_FTP_DM_ENDPOINT, result);
+ em.getTransaction().commit();
+ em.close();
+ return gkEndpointResource;
+ } 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> resources = new ArrayList<Resource>();
+ EntityManager em = null;
+ try {
+ em = AppCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(GRIDFTP_DM_ENDPOINT);
+ List results;
+ if (fieldName.equals(GridFTPDMEPConstants.ENDPOINT)) {
+ generator.setParameter(GridFTPDMEPConstants.ENDPOINT, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ GridFTPDMEndpoint gridFTPDMEndpoint = (GridFTPDMEndpoint) result;
+ GridFTPDMEndpointResource gkEndpointResource =
+ (GridFTPDMEndpointResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.GRID_FTP_DM_ENDPOINT, gridFTPDMEndpoint);
+ resources.add(gkEndpointResource);
+ }
+ }
+ } else if (fieldName.equals(GridFTPDMEPConstants.DATA_MOVE_ID)) {
+ generator.setParameter(GridFTPDMEPConstants.DATA_MOVE_ID, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ GridFTPDMEndpoint gridFTPDMEndpoint = (GridFTPDMEndpoint) result;
+ GridFTPDMEndpointResource gkEndpointResource =
+ (GridFTPDMEndpointResource) AppCatalogJPAUtils.getResource(AppCatalogResourceType.GRID_FTP_DM_ENDPOINT, gridFTPDMEndpoint);
+ resources.add(gkEndpointResource);
+ }
+ }
+ } else {
+ em.getTransaction().commit();
+ em.close();
+ logger.error("Unsupported field name for GridFTPDMEndpoint Resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for GridFTPDMEndpoint 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 resources;
+ }
+
+ public List<String> getIds(String fieldName, Object value) throws AppCatalogException {
+ List<String> list = new ArrayList<String>();
+ EntityManager em = null;
+ try {
+ em = AppCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ Query q;
+ AppCatalogQueryGenerator generator = new AppCatalogQueryGenerator(GRIDFTP_DM_ENDPOINT);
+ List results;
+ if (fieldName.equals(GridFTPDMEPConstants.DATA_MOVE_ID)) {
+ generator.setParameter(GridFTPDMEPConstants.DATA_MOVE_ID, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ GridFTPDMEndpoint gridFTPDMEndpoint = (GridFTPDMEndpoint) result;
+ list.add(gridFTPDMEndpoint.getDataMoveId());
+ }
+ }
+ } else if (fieldName.equals(GridFTPDMEPConstants.ENDPOINT)) {
+ generator.setParameter(GridFTPDMEPConstants.ENDPOINT, value);
+ q = generator.selectQuery(em);
+ results = q.getResultList();
+ if (results.size() != 0) {
+ for (Object result : results) {
+ GridFTPDMEndpoint gridFTPDMEndpoint = (GridFTPDMEndpoint) result;
+ list.add(gridFTPDMEndpoint.getDataMoveId());
+ }
+ }
+ } else {
+ em.getTransaction().commit();
+ em.close();
+ logger.error("Unsupported field name for GridFTPDMEndpoint resource.", new IllegalArgumentException());
+ throw new IllegalArgumentException("Unsupported field name for GridFTPDMEndpoint 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 list;
+ }
+
+ public void save() throws AppCatalogException {
+ EntityManager em = null;
+ try {
+ em = AppCatalogJPAUtils.getEntityManager();
+ GridFTPDMEndpoint ftpdmEndpoint = em.find(GridFTPDMEndpoint.class, new GridFTPDMEndPointPK(dataMoveId, endpoint));
+ em.close();
+
+ em = AppCatalogJPAUtils.getEntityManager();
+ em.getTransaction().begin();
+ GridFTPDataMovement dataMovement = em.find(GridFTPDataMovement.class, dataMoveId);
+ if (ftpdmEndpoint != null) {
+ ftpdmEndpoint.setDataMoveId(dataMoveId);
+ ftpdmEndpoint.setEndpoint(endpoint);
+ ftpdmEndpoint.setGridFTPDataMovement(dataMovement);
+ em.merge(ftpdmEndpoint);
+ } else {
+ GridFTPDMEndpoint gridFTPDMEndpoint = new GridFTPDMEndpoint();
+ gridFTPDMEndpoint.setDataMoveId(dataMoveId);
+ gridFTPDMEndpoint.setEndpoint(endpoint);
+ gridFTPDMEndpoint.setGridFTPDataMovement(dataMovement);
+ em.persist(gridFTPDMEndpoint);
+ }
+ 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();
+ GridFTPDMEndpoint gridFTPDMEndpoint = em.find(GridFTPDMEndpoint.class, new GridFTPDMEndPointPK(ids.get(GridFTPDMEPConstants.DATA_MOVE_ID),
+ ids.get(GridFTPDMEPConstants.ENDPOINT)));
+
+ em.close();
+ return gridFTPDMEndpoint != 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 getDataMoveId() {
+ return dataMoveId;
+ }
+
+ public void setDataMoveId(String dataMoveId) {
+ this.dataMoveId = dataMoveId;
+ }
+
+ public GridFTPDataMovementResource getGridFTPDataMovementResource() {
+ return gridFTPDataMovementResource;
+ }
+
+ public void setGridFTPDataMovementResource(GridFTPDataMovementResource gridFTPDataMovementResource) {
+ this.gridFTPDataMovementResource = gridFTPDataMovementResource;
+ }
+
+ public String getEndpoint() {
+ return endpoint;
+ }
+
+ public void setEndpoint(String endpoint) {
+ this.endpoint = endpoint;
+ }
+
+}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/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 92f5172..599c956 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
@@ -327,7 +327,6 @@ public class AppCatalogJPAUtils {
resource.setSubmissionID(o.getSubmissionID());
resource.setResourceJobManager(o.getResourceJobManager());
resource.setSecurityProtocol(o.getSecurityProtocol());
- resource.setGlobusEP(o.getGlobusEP());
resource.setComputeHostResource((ComputeHostResource)createComputeResource(o.getComputeResource()));
return resource;
}
@@ -336,7 +335,7 @@ public class AppCatalogJPAUtils {
GlobusGKEndpointResource resource = new GlobusGKEndpointResource();
resource.setSubmissionID(o.getSubmissionID());
resource.setEndpoint(o.getEndpoint());
- resource.setGsisshSubmissionResource((GSISSHSubmissionResource)createGSSISSHSubmission(o.getGsisshJobSubmission()));
+ resource.setGlobusJobSubmissionResource((GlobusJobSubmissionResource)createGlobusJobSubmission(o.getGlobusSubmission()));
return resource;
}
@@ -383,7 +382,7 @@ public class AppCatalogJPAUtils {
DataMovementProtocolResource resource = new DataMovementProtocolResource();
resource.setResourceID(o.getResourceID());
resource.setDataMoveID(o.getDataMoveID());
- resource.setJobType(o.getJobType());
+ resource.setDataMoveType(o.getDataMoveType());
resource.setComputeHostResource((ComputeHostResource)createComputeResource(o.getComputeResource()));
return resource;
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogResourceType.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogResourceType.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogResourceType.java
index 15720ab..7e48250 100644
--- a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogResourceType.java
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/util/AppCatalogResourceType.java
@@ -34,6 +34,7 @@ public enum AppCatalogResourceType {
SSH_SUBMISSION,
SCP_DATAMOVEMENT,
GRID_FTP_DATAMOVEMENT,
+ GRID_FTP_DM_ENDPOINT,
JOB_SUBMISSION_PROTOCOL,
DATA_MOVEMENT_PROTOCOL,
APPLICATION_MODULE,
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/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 32c6502..19b5100 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
@@ -22,7 +22,13 @@
package org.apache.aiaravata.application.catalog.data.util;
import org.apache.aiaravata.application.catalog.data.resources.ComputeHostResource;
+import org.apache.aiaravata.application.catalog.data.resources.GSISSHSubmissionResource;
+import org.apache.aiaravata.application.catalog.data.resources.GlobusJobSubmissionResource;
+import org.apache.aiaravata.application.catalog.data.resources.SSHSubmissionResource;
import org.apache.airavata.model.computehost.ComputeResourceDescription;
+import org.apache.airavata.model.computehost.GSISSHJobSubmission;
+import org.apache.airavata.model.computehost.GlobusJobSubmission;
+import org.apache.airavata.model.computehost.SSHJobSubmission;
public class AppCatalogThriftConversion {
public static ComputeHostResource getComputeHostResource (ComputeResourceDescription description){
@@ -33,4 +39,38 @@ public class AppCatalogThriftConversion {
resource.setPreferredJobSubmissionProtocol(description.getResourceId());
return resource;
}
+
+ public static GSISSHSubmissionResource getGSISSHSubmission (ComputeHostResource hostResource, GSISSHJobSubmission submission){
+ GSISSHSubmissionResource resource = new GSISSHSubmissionResource();
+ resource.setComputeHostResource(hostResource);
+ resource.setSubmissionID(submission.getJobSubmissionDataID());
+ resource.setMonitorMode(submission.getMonitorMode());
+ resource.setInstalledPath(submission.getInstalledPath());
+ resource.setResourceID(hostResource.getResoureId());
+ resource.setResourceJobManager(submission.getResourceJobManager().toString());
+ resource.setSshPort(submission.getSshPort());
+ return resource;
+ }
+
+ public static GlobusJobSubmissionResource getGlobusJobSubmission (ComputeHostResource hostResource, GlobusJobSubmission submission){
+ GlobusJobSubmissionResource resource = new GlobusJobSubmissionResource();
+ resource.setComputeHostResource(hostResource);
+ resource.setResourceID(hostResource.getResoureId());
+ resource.setSubmissionID(submission.getJobSubmissionDataID());
+ resource.setSecurityProtocol(submission.getSecurityProtocol().toString());
+ resource.setResourceJobManager(submission.getResourceJobManager().toString());
+ return resource;
+ }
+
+ public static SSHSubmissionResource getSSHJobSubmission (ComputeHostResource hostResource, SSHJobSubmission submission){
+ SSHSubmissionResource resource = new SSHSubmissionResource();
+ resource.setComputeHostResource(hostResource);
+ resource.setResourceID(hostResource.getResoureId());
+ resource.setSubmissionID(submission.getJobSubmissionDataID());
+ resource.setResourceJobManager(submission.getResourceJobManager().toString());
+ return resource;
+ }
+
+
+
}
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/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 ff03fca..167e08c 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
@@ -36,6 +36,7 @@
<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.GridFTPDMEndpoint</class>
<class>org.apache.aiaravata.application.catalog.data.model.SSHSubmission</class>
<class>org.apache.aiaravata.application.catalog.data.model.ApplicationModule</class>
<class>org.apache.aiaravata.application.catalog.data.model.ApplicationDeployment</class>
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/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 574f2ab..a151bbb 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
@@ -123,11 +123,18 @@ CREATE TABLE GRID_FTP_DATAMOVEMENT
DATA_MOVE_ID VARCHAR(255),
RESOURCE_ID VARCHAR(255),
SECURITY_PROTOCOL VARCHAR(255),
- GRID_FTP_EP VARCHAR(255),
PRIMARY KEY(DATA_MOVE_ID),
FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
);
+CREATE TABLE GRIDFTP_DM_ENDPOINT
+(
+ DATA_MOVE_ID VARCHAR(255),
+ ENDPOINT VARCHAR(255),
+ PRIMARY KEY(DATA_MOVE_ID, ENDPOINT),
+ FOREIGN KEY (DATA_MOVE_ID) REFERENCES GRID_FTP_DATAMOVEMENT(DATA_MOVE_ID) ON DELETE CASCADE
+);
+
CREATE TABLE JOB_SUBMISSION_PROTOCOL
(
RESOURCE_ID VARCHAR(255),
@@ -141,8 +148,8 @@ CREATE TABLE DATA_MOVEMENT_PROTOCOL
(
RESOURCE_ID VARCHAR(255),
DATA_MOVE_ID VARCHAR(255),
- JOB_TYPE VARCHAR(255),
- PRIMARY KEY(RESOURCE_ID,DATA_MOVE_ID,JOB_TYPE),
+ 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
);
http://git-wip-us.apache.org/repos/asf/airavata/blob/c1718d6a/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 7cc2353..19e5b02 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
@@ -123,11 +123,18 @@ CREATE TABLE GRID_FTP_DATAMOVEMENT
DATA_MOVE_ID VARCHAR(255),
RESOURCE_ID VARCHAR(255),
SECURITY_PROTOCOL VARCHAR(255),
- GRID_FTP_EP VARCHAR(255),
PRIMARY KEY(DATA_MOVE_ID),
FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
);
+CREATE TABLE GRIDFTP_DM_ENDPOINT
+(
+ DATA_MOVE_ID VARCHAR(255),
+ ENDPOINT VARCHAR(255),
+ PRIMARY KEY(DATA_MOVE_ID, ENDPOINT),
+ FOREIGN KEY (DATA_MOVE_ID) REFERENCES GRID_FTP_DATAMOVEMENT(DATA_MOVE_ID) ON DELETE CASCADE
+);
+
CREATE TABLE JOB_SUBMISSION_PROTOCOL
(
RESOURCE_ID VARCHAR(255),
@@ -141,8 +148,8 @@ CREATE TABLE DATA_MOVEMENT_PROTOCOL
(
RESOURCE_ID VARCHAR(255),
DATA_MOVE_ID VARCHAR(255),
- JOB_TYPE VARCHAR(255),
- PRIMARY KEY(RESOURCE_ID,DATA_MOVE_ID,JOB_TYPE),
+ 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
);