airavata-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sach...@apache.org
Subject git commit: adding app catalog data models
Date Fri, 20 Jun 2014 03:34:56 GMT
Repository: airavata
Updated Branches:
  refs/heads/master 2bcadf554 -> 48cd362a5


adding app catalog data models


Project: http://git-wip-us.apache.org/repos/asf/airavata/repo
Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/48cd362a
Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/48cd362a
Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/48cd362a

Branch: refs/heads/master
Commit: 48cd362a54293593d140c7ccd806c9f1be8283d4
Parents: 2bcadf5
Author: Sachith Withana <sachith@apache.org>
Authored: Fri Jun 20 09:06:29 2014 +0530
Committer: Sachith Withana <sachith@apache.org>
Committed: Fri Jun 20 09:06:29 2014 +0530

----------------------------------------------------------------------
 .../appcatalog/jpa/model/Application.java       |  77 ++++++++++++
 .../jpa/model/ApplicationDeployment.java        |  29 +++++
 .../jpa/model/ApplicationDeploymentPk.java      |  40 ++++++
 .../jpa/model/ApplicationInputOutputs.java      |  68 ++++++++++
 .../jpa/model/ApplicationInputOutputsPK.java    |  39 ++++++
 .../appcatalog/jpa/model/ComputeResource.java   |  68 ++++++++++
 .../jpa/model/DataMovementProtocol.java         |  75 +++++++++++
 .../jpa/model/DataMovementProtocolPK.java       |  72 +++++++++++
 .../appcatalog/jpa/model/Deployment.java        | 124 +++++++++++++++++++
 .../appcatalog/jpa/model/GSISSHExport.java      |  64 ++++++++++
 .../appcatalog/jpa/model/GSISSHExportPK.java    |  62 ++++++++++
 .../jpa/model/GSISSHPostJobCommand.java         |  66 ++++++++++
 .../jpa/model/GSISSHPostJobCommandPK.java       |  62 ++++++++++
 .../jpa/model/GSISSHPreJobCommand.java          |  64 ++++++++++
 .../jpa/model/GSISSHPreJobCommandPK.java        |  62 ++++++++++
 .../appcatalog/jpa/model/GSISSHSubmission.java  | 102 +++++++++++++++
 .../jpa/model/GatewayApplications.java          |  68 ++++++++++
 .../jpa/model/GatewayApplicationsPK.java        |  40 ++++++
 .../appcatalog/jpa/model/GatewayProfile.java    |  43 +++++++
 .../jpa/model/GlobusJobSubmission.java          |  92 ++++++++++++++
 .../appcatalog/jpa/model/InputOutputs.java      |  67 ++++++++++
 .../jpa/model/JobSubmissionProtocol.java        |  76 ++++++++++++
 .../jpa/model/JobSubmissionProtocolPK.java      |  72 +++++++++++
 .../appcatalog/jpa/model/SCPDataMovement.java   |  82 ++++++++++++
 .../appcatalog/jpa/model/SSHSubmission.java     |  82 ++++++++++++
 .../src/main/resources/appcatalog-mysql_new.sql |  14 +--
 26 files changed, 1703 insertions(+), 7 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/Application.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/Application.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/Application.java
new file mode 100644
index 0000000..8c64d0c
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/Application.java
@@ -0,0 +1,77 @@
+package org.apache.airavata.persistence.appcatalog.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "GATEWAY_PROFILE")
+public class Application {
+
+    @Id
+    @Column(name = "APPLICATION_ID")
+    private String applicationID;
+    @Column(name = "APPLICATION_NAME")
+    private String applicationName;
+
+    // the gateway that owns the application
+    @Column(name = "GATEWAY_ID")
+    private String gatewayID;
+
+    //whether the appliation is publicly available or not
+    @Column(name = "IS_PUBLIC")
+    private boolean published;
+    @Column(name = "APPLICATION_DESCRIPTION")
+    private String applicationDescription;
+
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "GATEWAY_ID")
+    private GatewayProfile gatewayProfile;
+
+    public GatewayProfile getGatewayProfile() {
+        return gatewayProfile;
+    }
+
+    public void setGatewayProfile(GatewayProfile gatewayProfile) {
+        this.gatewayProfile = gatewayProfile;
+    }
+
+    public String getApplicationID() {
+        return applicationID;
+    }
+
+    public void setApplicationID(String applicationID) {
+        this.applicationID = applicationID;
+    }
+
+    public String getApplicationName() {
+        return applicationName;
+    }
+
+    public void setApplicationName(String applicationName) {
+        this.applicationName = applicationName;
+    }
+
+    public String getGatewayID() {
+        return gatewayID;
+    }
+
+    public void setGatewayID(String gatewayID) {
+        this.gatewayID = gatewayID;
+    }
+
+    public boolean isPublished() {
+        return published;
+    }
+
+    public void setPublished(boolean published) {
+        this.published = published;
+    }
+
+    public String getApplicationDescription() {
+        return applicationDescription;
+    }
+
+    public void setApplicationDescription(String applicationDescription) {
+        this.applicationDescription = applicationDescription;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ApplicationDeployment.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ApplicationDeployment.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ApplicationDeployment.java
new file mode 100644
index 0000000..a1290d3
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ApplicationDeployment.java
@@ -0,0 +1,29 @@
+package org.apache.airavata.persistence.appcatalog.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "GATEWAY_PROFILE")
+@IdClass(ApplicationDeploymentPK.class)
+public class ApplicationDeployment {
+
+    @Id
+    @Column(name = "DEPLOYMENT_ID")
+    private String deploymentID;
+
+    @Id
+    @Column(name = "APPLICATION_ID")
+    private String applicationID;
+
+    @Column(name = "DEPLOYMENT_HOST_NAME")
+    private String deploymentHostName;
+
+
+    @ManyToOne(cascade = CascadeType.REMOVE)
+    @JoinColumn(name = "DEPLOYMENT_ID")
+    private Deployment deployment;
+
+    @ManyToOne(cascade = CascadeType.REMOVE)
+    @JoinColumn(name = "APPLICATION_ID")
+    private Application application;
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ApplicationDeploymentPk.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ApplicationDeploymentPk.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ApplicationDeploymentPk.java
new file mode 100644
index 0000000..a5695aa
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ApplicationDeploymentPk.java
@@ -0,0 +1,40 @@
+package org.apache.airavata.persistence.appcatalog.jpa.model;
+
+public class ApplicationDeploymentPK {
+    private String deploymentID;
+    private String applicationID;
+
+    public ApplicationDeploymentPK(String deploymentID, String applicationID) {
+        this.deploymentID = deploymentID;
+        this.applicationID = applicationID;
+    }
+
+    public ApplicationDeploymentPK() {
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return 1;
+    }
+
+    public String getDeploymentID() {
+        return deploymentID;
+    }
+
+    public void setDeploymentID(String deploymentID) {
+        this.deploymentID = deploymentID;
+    }
+
+    public String getApplicationID() {
+        return applicationID;
+    }
+
+    public void setApplicationID(String applicationID) {
+        this.applicationID = applicationID;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ApplicationInputOutputs.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ApplicationInputOutputs.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ApplicationInputOutputs.java
new file mode 100644
index 0000000..2d3fed1
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ApplicationInputOutputs.java
@@ -0,0 +1,68 @@
+package org.apache.airavata.persistence.appcatalog.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "APPLICATION_INPUT_OUTPUTS")
+@IdClass(ApplicationInputOutputsPK.class)
+public class ApplicationInputOutputs {
+
+    @Id
+    @Column(name = "APPLICATION_ID")
+    private String applicationID;
+
+    @Id
+    @Column(name = "INPUT_OUTPUT_ID")
+    private String inputOutputID;
+
+    @Column(name = "IS_INPUT")
+    private boolean input;
+
+    @OneToOne(cascade = CascadeType.REMOVE)
+    @JoinColumn(name = "INPUT_OUTPUT_ID")
+    private InputOutputs inputOutputs;
+
+    @ManyToOne(cascade = CascadeType.REMOVE)
+    @JoinColumn(name = "APPLICATION_ID")
+    private Application application;
+
+    public String getApplicationID() {
+        return applicationID;
+    }
+
+    public void setApplicationID(String applicationID) {
+        this.applicationID = applicationID;
+    }
+
+    public String getInputOutputID() {
+        return inputOutputID;
+    }
+
+    public void setInputOutputID(String inputOutputID) {
+        this.inputOutputID = inputOutputID;
+    }
+
+    public boolean isInput() {
+        return input;
+    }
+
+    public void setInput(boolean input) {
+        this.input = input;
+    }
+
+    public InputOutputs getInputOutputs() {
+        return inputOutputs;
+    }
+
+    public void setInputOutputs(InputOutputs inputOutputs) {
+        this.inputOutputs = inputOutputs;
+    }
+
+    public Application getApplication() {
+        return application;
+    }
+
+    public void setApplication(Application application) {
+        this.application = application;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ApplicationInputOutputsPK.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ApplicationInputOutputsPK.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ApplicationInputOutputsPK.java
new file mode 100644
index 0000000..715b5be
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ApplicationInputOutputsPK.java
@@ -0,0 +1,39 @@
+package org.apache.airavata.persistence.appcatalog.jpa.model;
+
+public class ApplicationInputOutputsPK {
+    private String applicationID;
+    private String inputOutputID;
+
+    public ApplicationInputOutputsPK(String applicationID, String inputOutputID) {
+        this.applicationID = applicationID;
+        this.inputOutputID = inputOutputID;
+    }
+
+    public ApplicationInputOutputsPK() {
+    }
+    @Override
+    public boolean equals(Object o) {
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return 1;
+    }
+
+    public String getApplicationID() {
+        return applicationID;
+    }
+
+    public void setApplicationID(String applicationID) {
+        this.applicationID = applicationID;
+    }
+
+    public String getInputOutputID() {
+        return inputOutputID;
+    }
+
+    public void setInputOutputID(String inputOutputID) {
+        this.inputOutputID = inputOutputID;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ComputeResource.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ComputeResource.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ComputeResource.java
new file mode 100644
index 0000000..b9cc227
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/ComputeResource.java
@@ -0,0 +1,68 @@
+package org.apache.airavata.persistence.appcatalog.jpa.model;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "COMPUTE_RESOURCE")
+public class ComputeResource {
+
+
+    @Id
+    @Column(name = "RESOURCE_ID")
+    private String applicationID;
+
+    @Column(name = "HOST_NAME")
+    private String hostname;
+
+    @Column(name = "IP_ADDRESS")
+    private String ipAddress;
+
+    @Column(name = "DESCRIPTION")
+    private String description;
+
+    @Column(name = "PREFERRED_JOB_SUBMISSION_PROTOCOL ")
+    private String preferredJobSubmissionProtocol;
+
+    public String getApplicationID() {
+        return applicationID;
+    }
+
+    public void setApplicationID(String applicationID) {
+        this.applicationID = applicationID;
+    }
+
+    public String getHostname() {
+        return hostname;
+    }
+
+    public void setHostname(String hostname) {
+        this.hostname = hostname;
+    }
+
+    public String getIpAddress() {
+        return ipAddress;
+    }
+
+    public void setIpAddress(String ipAddress) {
+        this.ipAddress = ipAddress;
+    }
+
+    public String getDescription() {
+        return description;
+    }
+
+    public void setDescription(String description) {
+        this.description = description;
+    }
+
+    public String getPreferredJobSubmissionProtocol() {
+        return preferredJobSubmissionProtocol;
+    }
+
+    public void setPreferredJobSubmissionProtocol(String preferredJobSubmissionProtocol) {
+        this.preferredJobSubmissionProtocol = preferredJobSubmissionProtocol;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/DataMovementProtocol.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/DataMovementProtocol.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/DataMovementProtocol.java
new file mode 100644
index 0000000..4b7d64e
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/DataMovementProtocol.java
@@ -0,0 +1,75 @@
+/*
+ *
+ * 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.airavata.persistence.appcatalog.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "DATA_MOVEMENT_PROTOCOL")
+@IdClass(DataMovementProtocolPK.class)
+public class DataMovementProtocol {
+    @Id
+    @Column(name = "RESOURCE_ID")
+    private String resourceID;
+    @Id
+    @Column(name = "DATA_MOVE_ID")
+    private String dataMoveID;
+    @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 getDataMoveID() {
+        return dataMoveID;
+    }
+
+    public void setDataMoveID(String dataMoveID) {
+        this.dataMoveID = dataMoveID;
+    }
+
+    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/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/DataMovementProtocolPK.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/DataMovementProtocolPK.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/DataMovementProtocolPK.java
new file mode 100644
index 0000000..6367132
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/DataMovementProtocolPK.java
@@ -0,0 +1,72 @@
+/*
+ *
+ * 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.airavata.persistence.appcatalog.jpa.model;
+
+public class DataMovementProtocolPK {
+    private String resourceID;
+    private String dataMoveID;
+    private String jobType;
+
+    public DataMovementProtocolPK(String resourceID, String dataMoveID, String jobType) {
+        this.resourceID = resourceID;
+        this.dataMoveID = dataMoveID;
+        this.jobType = jobType;
+    }
+
+    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 getJobType() {
+        return jobType;
+    }
+
+    public void setJobType(String jobType) {
+        this.jobType = jobType;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/Deployment.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/Deployment.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/Deployment.java
new file mode 100644
index 0000000..14fafa1
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/Deployment.java
@@ -0,0 +1,124 @@
+package org.apache.airavata.persistence.appcatalog.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "DEPLOYMENT")
+public class Deployment {
+    @Id
+    @Column(name = "DEPLOYMENT_ID")
+    private String applicationID;
+
+    @Column(name = "COMPUTE_RESOURCE_ID")
+    private String computeResourceID;
+
+    @Column(name = "DEPLOYMENT_HOST_NAME")
+    private String deploymentHostName;
+
+    @Column(name = "INPUT_DIR")
+    private String inputDir;
+
+    @Column(name = "OUTPUT_DIR")
+    private String outputDir;
+
+    @Column(name = "SCRATCH_DIR")
+    private String scratchDir;
+
+    @Column(name = "EXECUTION_PATH")
+    private String executionPath;
+
+    @Column(name = "CPU_COUNT")
+    private String cpuCount;
+
+    @Column(name = "NODE_COUNT")
+    private String nodeCount;
+
+    @Column(name = "WALLTIME")
+    private String walltime;
+
+
+    @ManyToOne(cascade = CascadeType.REMOVE)
+    @JoinColumn(name = "COMPUTE_RESOURCE_ID")
+    private ComputeResource computeResource;
+
+
+    public String getApplicationID() {
+        return applicationID;
+    }
+
+    public void setApplicationID(String applicationID) {
+        this.applicationID = applicationID;
+    }
+
+    public String getComputeResourceID() {
+        return computeResourceID;
+    }
+
+    public void setComputeResourceID(String computeResourceID) {
+        this.computeResourceID = computeResourceID;
+    }
+
+    public String getDeploymentHostName() {
+        return deploymentHostName;
+    }
+
+    public void setDeploymentHostName(String deploymentHostName) {
+        this.deploymentHostName = deploymentHostName;
+    }
+
+    public String getInputDir() {
+        return inputDir;
+    }
+
+    public void setInputDir(String inputDir) {
+        this.inputDir = inputDir;
+    }
+
+    public String getOutputDir() {
+        return outputDir;
+    }
+
+    public void setOutputDir(String outputDir) {
+        this.outputDir = outputDir;
+    }
+
+    public String getScratchDir() {
+        return scratchDir;
+    }
+
+    public void setScratchDir(String scratchDir) {
+        this.scratchDir = scratchDir;
+    }
+
+    public String getExecutionPath() {
+        return executionPath;
+    }
+
+    public void setExecutionPath(String executionPath) {
+        this.executionPath = executionPath;
+    }
+
+    public String getCpuCount() {
+        return cpuCount;
+    }
+
+    public void setCpuCount(String cpuCount) {
+        this.cpuCount = cpuCount;
+    }
+
+    public String getNodeCount() {
+        return nodeCount;
+    }
+
+    public void setNodeCount(String nodeCount) {
+        this.nodeCount = nodeCount;
+    }
+
+    public String getWalltime() {
+        return walltime;
+    }
+
+    public void setWalltime(String walltime) {
+        this.walltime = walltime;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHExport.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHExport.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHExport.java
new file mode 100644
index 0000000..2123340
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHExport.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.airavata.persistence.appcatalog.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "GSISSH_EXPORT")
+@IdClass(GSISSHExportPK.class)
+public class GSISSHExport {
+    @Id
+    @Column(name = "SUBMISSION_ID")
+    private String submissionID;
+    @Id
+    @Column(name = "EXPORT")
+    private String export;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "SUBMISSION_ID")
+    private GSISSHSubmission gsisshJobSubmission;
+
+    public String getSubmissionID() {
+        return submissionID;
+    }
+
+    public void setSubmissionID(String submissionID) {
+        this.submissionID = submissionID;
+    }
+
+    public String getExport() {
+        return export;
+    }
+
+    public void setExport(String export) {
+        this.export = export;
+    }
+
+    public GSISSHSubmission getGsisshJobSubmission() {
+        return gsisshJobSubmission;
+    }
+
+    public void setGsisshJobSubmission(GSISSHSubmission gsisshJobSubmission) {
+        this.gsisshJobSubmission = gsisshJobSubmission;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHExportPK.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHExportPK.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHExportPK.java
new file mode 100644
index 0000000..8ec8315
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHExportPK.java
@@ -0,0 +1,62 @@
+/*
+ *
+ * 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.airavata.persistence.appcatalog.jpa.model;
+
+public class GSISSHExportPK {
+    private String submissionID;
+    private String export;
+
+    public GSISSHExportPK(String submissionID, String export) {
+        this.submissionID = submissionID;
+        this.export = export;
+    }
+
+    public GSISSHExportPK() {
+        ;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return 1;
+    }
+
+    public String getSubmissionID() {
+        return submissionID;
+    }
+
+    public void setSubmissionID(String submissionID) {
+        this.submissionID = submissionID;
+    }
+
+    public String getExport() {
+        return export;
+    }
+
+    public void setExport(String export) {
+        this.export = export;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHPostJobCommand.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHPostJobCommand.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHPostJobCommand.java
new file mode 100644
index 0000000..0e1ee4f
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHPostJobCommand.java
@@ -0,0 +1,66 @@
+/*
+ *
+ * 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.airavata.persistence.appcatalog.jpa.model;
+
+import org.apache.airavata.model.appcatalog.GSISSHJobSubmission;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "GSISSH_POSTJOBCOMMAND")
+@IdClass(GSISSHPostJobCommandPK.class)
+public class GSISSHPostJobCommand {
+    @Id
+    @Column(name = "SUBMISSION_ID")
+    private String submissionID;
+    @Id
+    @Column(name = "COMMAND")
+    private String command;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "SUBMISSION_ID")
+    private GSISSHJobSubmission gsisshJobSubmission;
+
+    public String getSubmissionID() {
+        return submissionID;
+    }
+
+    public void setSubmissionID(String submissionID) {
+        this.submissionID = submissionID;
+    }
+
+    public String getCommand() {
+        return command;
+    }
+
+    public void setCommand(String command) {
+        this.command = command;
+    }
+
+    public GSISSHJobSubmission getGsisshJobSubmission() {
+        return gsisshJobSubmission;
+    }
+
+    public void setGsisshJobSubmission(GSISSHJobSubmission gsisshJobSubmission) {
+        this.gsisshJobSubmission = gsisshJobSubmission;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHPostJobCommandPK.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHPostJobCommandPK.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHPostJobCommandPK.java
new file mode 100644
index 0000000..ca7ae6a
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHPostJobCommandPK.java
@@ -0,0 +1,62 @@
+/*
+ *
+ * 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.airavata.persistence.appcatalog.jpa.model;
+
+public class GSISSHPostJobCommandPK {
+    private String submissionID;
+    private String command;
+
+    public GSISSHPostJobCommandPK(String submissionID, String command) {
+        this.submissionID = submissionID;
+        this.command = command;
+    }
+
+    public GSISSHPostJobCommandPK() {
+        ;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return 1;
+    }
+
+    public String getSubmissionID() {
+        return submissionID;
+    }
+
+    public void setSubmissionID(String submissionID) {
+        this.submissionID = submissionID;
+    }
+
+    public String getCommand() {
+        return command;
+    }
+
+    public void setCommand(String command) {
+        this.command = command;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHPreJobCommand.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHPreJobCommand.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHPreJobCommand.java
new file mode 100644
index 0000000..92a4e5d
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHPreJobCommand.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.airavata.persistence.appcatalog.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "GSISSH_PREJOBCOMMAND")
+@IdClass(GSISSHPreJobCommandPK.class)
+public class GSISSHPreJobCommand {
+    @Id
+    @Column(name = "SUBMISSION_ID")
+    private String submissionID;
+    @Id
+    @Column(name = "COMMAND")
+    private String command;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "SUBMISSION_ID")
+    private GSISSHSubmission gsisshJobSubmission;
+
+    public String getSubmissionID() {
+        return submissionID;
+    }
+
+    public void setSubmissionID(String submissionID) {
+        this.submissionID = submissionID;
+    }
+
+    public String getCommand() {
+        return command;
+    }
+
+    public void setCommand(String command) {
+        this.command = command;
+    }
+
+    public GSISSHSubmission getGsisshJobSubmission() {
+        return gsisshJobSubmission;
+    }
+
+    public void setGsisshJobSubmission(GSISSHSubmission gsisshJobSubmission) {
+        this.gsisshJobSubmission = gsisshJobSubmission;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHPreJobCommandPK.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHPreJobCommandPK.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHPreJobCommandPK.java
new file mode 100644
index 0000000..7aba7c8
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHPreJobCommandPK.java
@@ -0,0 +1,62 @@
+/*
+ *
+ * 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.airavata.persistence.appcatalog.jpa.model;
+
+public class GSISSHPreJobCommandPK {
+    private String submissionID;
+    private String command;
+
+    public GSISSHPreJobCommandPK(String submissionID, String command) {
+        this.submissionID = submissionID;
+        this.command = command;
+    }
+
+    public GSISSHPreJobCommandPK() {
+        ;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return 1;
+    }
+
+    public String getSubmissionID() {
+        return submissionID;
+    }
+
+    public void setSubmissionID(String submissionID) {
+        this.submissionID = submissionID;
+    }
+
+    public String getCommand() {
+        return command;
+    }
+
+    public void setCommand(String command) {
+        this.command = command;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHSubmission.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHSubmission.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHSubmission.java
new file mode 100644
index 0000000..aa68daa
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GSISSHSubmission.java
@@ -0,0 +1,102 @@
+/*
+ *
+ * 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.airavata.persistence.appcatalog.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "GSISSH_SUBMISSION")
+public class GSISSHSubmission {
+    @Column(name = "RESOURCE_ID")
+    private String resourceID;
+    @Id
+    @Column(name = "SUBMISSION_ID")
+    private String submissionID;
+    @Column(name = "RESOURCE_JOB_MANAGER")
+    private String resourceJobManager;
+    @Column(name = "SSH_PORT")
+    private int sshPort;
+    @Column(name = "INSTALLED_PATH")
+    private String installedPath;
+    @Column(name = "MONITOR_MODE")
+    private String monitorMode;
+
+    @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 getResourceJobManager() {
+        return resourceJobManager;
+    }
+
+    public void setResourceJobManager(String resourceJobManager) {
+        this.resourceJobManager = resourceJobManager;
+    }
+
+    public int getSshPort() {
+        return sshPort;
+    }
+
+    public void setSshPort(int sshPort) {
+        this.sshPort = sshPort;
+    }
+
+    public String getInstalledPath() {
+        return installedPath;
+    }
+
+    public void setInstalledPath(String installedPath) {
+        this.installedPath = installedPath;
+    }
+
+    public String getMonitorMode() {
+        return monitorMode;
+    }
+
+    public void setMonitorMode(String monitorMode) {
+        this.monitorMode = monitorMode;
+    }
+
+    public ComputeResource getComputeResource() {
+        return computeResource;
+    }
+
+    public void setComputeResource(ComputeResource computeResource) {
+        this.computeResource = computeResource;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GatewayApplications.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GatewayApplications.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GatewayApplications.java
new file mode 100644
index 0000000..64538b7
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GatewayApplications.java
@@ -0,0 +1,68 @@
+package org.apache.airavata.persistence.appcatalog.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "GATEWAY_PROFILE")
+@IdClass(GatewayApplicationsPK.class)
+public class GatewayApplications {
+
+    @Id
+    @Column(name = "GATEWAY_ID")
+    private String gatewayID;
+
+    @Id
+    @Column(name = "APPLICATION_ID")
+    private String applicationID;
+
+    @Column(name = "IS_TURNED_ON")
+    private boolean turnedOn;
+
+    @ManyToOne(cascade = CascadeType.REMOVE)
+    @JoinColumn(name = "GATEWAY_ID")
+    private GatewayProfile gatewayProfile;
+
+    @ManyToOne(cascade = CascadeType.REMOVE)
+    @JoinColumn(name = "APPLICATION_ID")
+    private Application application;
+
+    public GatewayProfile getGatewayProfile() {
+        return gatewayProfile;
+    }
+
+    public void setGatewayProfile(GatewayProfile gatewayProfile) {
+        this.gatewayProfile = gatewayProfile;
+    }
+
+    public Application getApplication() {
+        return application;
+    }
+
+    public void setApplication(Application application) {
+        this.application = application;
+    }
+
+    public String getGatewayID() {
+        return gatewayID;
+    }
+
+    public void setGatewayID(String gatewayID) {
+        this.gatewayID = gatewayID;
+    }
+
+    public String getApplicationID() {
+        return applicationID;
+    }
+
+    public void setApplicationID(String applicationID) {
+        this.applicationID = applicationID;
+    }
+
+    public boolean isTurnedOn() {
+        return turnedOn;
+    }
+
+    public void setTurnedOn(boolean turnedOn) {
+        this.turnedOn = turnedOn;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GatewayApplicationsPK.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GatewayApplicationsPK.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GatewayApplicationsPK.java
new file mode 100644
index 0000000..2ce6eb2
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GatewayApplicationsPK.java
@@ -0,0 +1,40 @@
+package org.apache.airavata.persistence.appcatalog.jpa.model;
+
+public class GatewayApplicationsPK {
+
+    private String gatewayID;
+    private String applicationID;
+
+    public GatewayApplicationsPK(String gatewayID, String applicationID) {
+        this.gatewayID = gatewayID;
+        this.applicationID = applicationID;
+    }
+
+    public GatewayApplicationsPK() {
+    }
+    @Override
+    public boolean equals(Object o) {
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return 1;
+    }
+
+    public String getGatewayID() {
+        return gatewayID;
+    }
+
+    public void setGatewayID(String gatewayID) {
+        this.gatewayID = gatewayID;
+    }
+
+    public String getApplicationID() {
+        return applicationID;
+    }
+
+    public void setApplicationID(String applicationID) {
+        this.applicationID = applicationID;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GatewayProfile.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GatewayProfile.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GatewayProfile.java
new file mode 100644
index 0000000..eaad518
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GatewayProfile.java
@@ -0,0 +1,43 @@
+package org.apache.airavata.persistence.appcatalog.jpa.model;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "GATEWAY_PROFILE")
+public class GatewayProfile {
+
+    @Id
+    @Column(name = "GATEWAY_ID")
+    private String gatewayID;
+    @Column(name = "GATEWAY_NAME")
+    private String gatewayName;
+    @Column(name = "GATEWAY_DESCRIPTION")
+    private String gatewayDescription;
+
+    public String getGatewayID() {
+        return gatewayID;
+    }
+
+    public void setGatewayID(String gatewayID) {
+        this.gatewayID = gatewayID;
+    }
+
+    public String getGatewayName() {
+        return gatewayName;
+    }
+
+    public void setGatewayName(String gatewayName) {
+        this.gatewayName = gatewayName;
+    }
+
+    public String getGatewayDescription() {
+        return gatewayDescription;
+    }
+
+    public void setGatewayDescription(String gatewayDescription) {
+        this.gatewayDescription = gatewayDescription;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GlobusJobSubmission.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GlobusJobSubmission.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GlobusJobSubmission.java
new file mode 100644
index 0000000..890d19f
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/GlobusJobSubmission.java
@@ -0,0 +1,92 @@
+/*
+ *
+ * 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.airavata.persistence.appcatalog.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "GLOBUS_SUBMISSION")
+public class GlobusJobSubmission {
+    @Column(name = "RESOURCE_ID")
+    private String resourceID;
+    @Id
+    @Column(name = "SUBMISSION_ID")
+    private String submissionID;
+    @Column(name = "RESOURCE_JOB_MANAGER")
+    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")
+    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 getResourceJobManager() {
+        return resourceJobManager;
+    }
+
+    public void setResourceJobManager(String resourceJobManager) {
+        this.resourceJobManager = resourceJobManager;
+    }
+
+    public String getSecurityProtocol() {
+        return securityProtocol;
+    }
+
+    public void setSecurityProtocol(String securityProtocol) {
+        this.securityProtocol = securityProtocol;
+    }
+
+    public String getGlobusEP() {
+        return globusEP;
+    }
+
+    public void setGlobusEP(String globusEP) {
+        this.globusEP = globusEP;
+    }
+
+    public ComputeResource getComputeResource() {
+        return computeResource;
+    }
+
+    public void setComputeResource(ComputeResource computeResource) {
+        this.computeResource = computeResource;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/InputOutputs.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/InputOutputs.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/InputOutputs.java
new file mode 100644
index 0000000..8ca5450
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/InputOutputs.java
@@ -0,0 +1,67 @@
+package org.apache.airavata.persistence.appcatalog.jpa.model;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "GATEWAY_PROFILE")
+public class InputOutputs {
+
+    @Id
+    @Column(name = "INPUT_OUTPUT_ID")
+    private String inputOutputID;
+
+    @Column(name = "INPUT_OUTPUT_NAME")
+    private String inputOutputName;
+
+    @Column(name = "INPUT_OUTPUT_TYPE")
+    private String inputOutputType;
+
+    @Column(name = "MAXSIZE")
+    private int maxSize;
+
+    @Column(name = "MINSIZE")
+    private int minSize;
+
+    public String getInputOutputID() {
+        return inputOutputID;
+    }
+
+    public void setInputOutputID(String inputOutputID) {
+        this.inputOutputID = inputOutputID;
+    }
+
+    public String getInputOutputName() {
+        return inputOutputName;
+    }
+
+    public void setInputOutputName(String inputOutputName) {
+        this.inputOutputName = inputOutputName;
+    }
+
+    public String getInputOutputType() {
+        return inputOutputType;
+    }
+
+    public void setInputOutputType(String inputOutputType) {
+        this.inputOutputType = inputOutputType;
+    }
+
+    public int getMaxSize() {
+        return maxSize;
+    }
+
+    public void setMaxSize(int maxSize) {
+        this.maxSize = maxSize;
+    }
+
+    public int getMinSize() {
+        return minSize;
+    }
+
+    public void setMinSize(int minSize) {
+        this.minSize = minSize;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/JobSubmissionProtocol.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/JobSubmissionProtocol.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/JobSubmissionProtocol.java
new file mode 100644
index 0000000..6a46f40
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/JobSubmissionProtocol.java
@@ -0,0 +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.airavata.persistence.appcatalog.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "JOB_SUBMISSION_PROTOCOL")
+@IdClass(JobSubmissionProtocolPK.class)
+public class JobSubmissionProtocol {
+    @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/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/JobSubmissionProtocolPK.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/JobSubmissionProtocolPK.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/JobSubmissionProtocolPK.java
new file mode 100644
index 0000000..5482d63
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/JobSubmissionProtocolPK.java
@@ -0,0 +1,72 @@
+/*
+ *
+ * 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.airavata.persistence.appcatalog.jpa.model;
+
+public class JobSubmissionProtocolPK {
+    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/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/SCPDataMovement.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/SCPDataMovement.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/SCPDataMovement.java
new file mode 100644
index 0000000..42c3e03
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/SCPDataMovement.java
@@ -0,0 +1,82 @@
+/*
+ *
+ * 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.airavata.persistence.appcatalog.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "SCP_DATAMOVEMENT")
+public class SCPDataMovement {
+    @Column(name = "RESOURCE_ID")
+    private String resourceID;
+    @Id
+    @Column(name = "DATA_MOVE_ID")
+    private String dataMoveID;
+    @Column(name = "RESOURCE_JOB_MANAGER")
+    private String resourceJobManager;
+    @Column(name = "SSH_PORT")
+    private int sshPort;
+
+    @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 getResourceJobManager() {
+        return resourceJobManager;
+    }
+
+    public void setResourceJobManager(String resourceJobManager) {
+        this.resourceJobManager = resourceJobManager;
+    }
+
+    public int getSshPort() {
+        return sshPort;
+    }
+
+    public void setSshPort(int sshPort) {
+        this.sshPort = sshPort;
+    }
+
+    public ComputeResource getComputeResource() {
+        return computeResource;
+    }
+
+    public void setComputeResource(ComputeResource computeResource) {
+        this.computeResource = computeResource;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/SSHSubmission.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/SSHSubmission.java b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/SSHSubmission.java
new file mode 100644
index 0000000..1ef2c1e
--- /dev/null
+++ b/modules/app-catalog/app-catalog-jpa/src/main/java/org/apache/airavata/persistence/appcatalog/jpa/model/SSHSubmission.java
@@ -0,0 +1,82 @@
+/*
+ *
+ * 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.airavata.persistence.appcatalog.jpa.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "SSH_SUBMISSION")
+public class SSHSubmission {
+    @Column(name = "RESOURCE_ID")
+    private String resourceID;
+    @Id
+    @Column(name = "SUBMISSION_ID")
+    private String submissionID;
+    @Column(name = "RESOURCE_JOB_MANAGER")
+    private String resourceJobManager;
+    @Column(name = "SSH_PORT")
+    private int sshPort;
+
+    @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 getResourceJobManager() {
+        return resourceJobManager;
+    }
+
+    public void setResourceJobManager(String resourceJobManager) {
+        this.resourceJobManager = resourceJobManager;
+    }
+
+    public int getSshPort() {
+        return sshPort;
+    }
+
+    public void setSshPort(int sshPort) {
+        this.sshPort = sshPort;
+    }
+
+    public ComputeResource getComputeResource() {
+        return computeResource;
+    }
+
+    public void setComputeResource(ComputeResource computeResource) {
+        this.computeResource = computeResource;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/48cd362a/modules/app-catalog/app-catalog-jpa/src/main/resources/appcatalog-mysql_new.sql
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-jpa/src/main/resources/appcatalog-mysql_new.sql b/modules/app-catalog/app-catalog-jpa/src/main/resources/appcatalog-mysql_new.sql
index 802f3d4..df36eb9 100644
--- a/modules/app-catalog/app-catalog-jpa/src/main/resources/appcatalog-mysql_new.sql
+++ b/modules/app-catalog/app-catalog-jpa/src/main/resources/appcatalog-mysql_new.sql
@@ -53,12 +53,12 @@ CREATE TABLE GATEWAY_APPLICATIONS
 
 CREATE TABLE INPUT_OUTPUTS
 (
-        ID VARCHAR (255),
-        NAME VARCHAR (255),
-        TYPE VARCHAR (255),
+        INPUT_OUTPUT_ID VARCHAR (255),
+        INPUT_OUTPUT_NAME VARCHAR (255),
+        INPUT_OUTPUT_TYPE VARCHAR (255),
         MAXSIZE INTEGER ,
         MINSIZE INTEGER ,
-        PRIMARY KEY (ID)
+        PRIMARY KEY (INPUT_OUTPUT_ID)
 
 );
 
@@ -69,7 +69,7 @@ CREATE TABLE APPLICATION_INPUT_OUTPUTS
         IS_INPUT BOOLEAN,
         PRIMARY KEY (APPLICATION_ID,INPUT_OUTPUT_ID),
         FOREIGN KEY (APPLICATION_ID) REFERENCES APPLICATION(APPLICATION_ID) ON DELETE CASCADE,
-        FOREIGN KEY (INPUT_OUTPUT_ID) REFERENCES INPUT_OUTPUTS(ID) ON DELETE CASCADE
+        FOREIGN KEY (INPUT_OUTPUT_ID) REFERENCES INPUT_OUTPUTS(INPUT_OUTPUT_ID) ON DELETE CASCADE
 
 );
 
@@ -79,7 +79,6 @@ CREATE TABLE COMPUTE_RESOURCE
          HOST_NAME VARCHAR(255),
          IP_ADDRESS VARCHAR(255),
          DESCRIPTION VARCHAR(255),
-         SCRATCH_LOCATION VARCHAR(255),
          PREFERRED_JOB_SUBMISSION_PROTOCOL VARCHAR(255),
          PRIMARY KEY(RESOURCE_ID)
 );
@@ -90,13 +89,14 @@ CREATE TABLE DEPLOYMENT
         DEPLOYMENT_ID VARCHAR (255),
         COMPUTE_RESOURCE_ID VARCHAR (255),
         DEPLOYMENT_HOST_NAME VARCHAR (255),
-        INPUT_DIR_ID VARCHAR (255),
+        INPUT_DIR VARCHAR (255),
         ERROR_DIR VARCHAR (255),
         OUTPUT_DIR VARCHAR (255),
         SCRATCH_DIR VARCHAR (255),
         EXECUTION_PATH VARCHAR (255),
         CPU_COUNT SMALLINT ,
         NODE_COUNT SMALLINT ,
+        WALLCOUNT SMALLINT ,
         PRIMARY KEY (DEPLOYMENT_ID),
         FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
 


Mime
View raw message