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/27 15:52:30 UTC

git commit: adding app-catalog openJPA models - AIRAVATA-1236

Repository: airavata
Updated Branches:
  refs/heads/master bed07458d -> e7bb56595


adding app-catalog openJPA models - AIRAVATA-1236


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

Branch: refs/heads/master
Commit: e7bb5659554a351e2b8dd4d99ef46c033fe41612
Parents: bed0745
Author: Chathuri Wimalasena <ka...@gmail.com>
Authored: Fri Jun 27 09:52:17 2014 -0400
Committer: Chathuri Wimalasena <ka...@gmail.com>
Committed: Fri Jun 27 09:52:17 2014 -0400

----------------------------------------------------------------------
 .../catalog/data/model/AppEnvironment.java      |  75 ++++++++++++
 .../catalog/data/model/AppEnvironment_PK.java   |  62 ++++++++++
 .../catalog/data/model/AppInput_PK.java         |  62 ++++++++++
 .../catalog/data/model/AppModuleMapping.java    |  76 ++++++++++++
 .../catalog/data/model/AppModuleMapping_PK.java |  62 ++++++++++
 .../catalog/data/model/AppOutput_PK.java        |  62 ++++++++++
 .../data/model/ApplicationDeployment.java       | 122 +++++++++++++++++++
 .../catalog/data/model/ApplicationInput.java    | 115 +++++++++++++++++
 .../data/model/ApplicationInterface.java        |  53 ++++++++
 .../catalog/data/model/ApplicationModule.java   |  73 +++++++++++
 .../catalog/data/model/ApplicationOutput.java   |  95 +++++++++++++++
 .../catalog/data/model/GatewayProfile.java      |  73 +++++++++++
 .../catalog/data/model/LibraryApendPath.java    |  75 ++++++++++++
 .../catalog/data/model/LibraryApendPath_PK.java |  62 ++++++++++
 .../catalog/data/model/LibraryPrepandPath.java  |  75 ++++++++++++
 .../data/model/LibraryPrepandPath_PK.java       |  62 ++++++++++
 .../src/main/resources/META-INF/persistence.xml |  10 ++
 .../src/main/resources/appcatalog-derby.sql     |  99 +++++++++++++++
 .../src/main/resources/appcatalog-mysql.sql     | 100 +++++++++++++++
 19 files changed, 1413 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppEnvironment.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppEnvironment.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppEnvironment.java
new file mode 100644
index 0000000..749afe1
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppEnvironment.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.aiaravata.application.catalog.data.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "APP_ENVIRONMENT")
+@IdClass(AppEnvironment_PK.class)
+public class AppEnvironment {
+    @Id
+    @Column(name = "DEPLOYMENT_ID")
+    private String deploymentID;
+    @Id
+    @Column(name = "NAME")
+    private String name;
+
+    @Column(name = "VALUE")
+    private String value;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "DEPLOYMENT_ID")
+    private ApplicationDeployment applicationDeployment;
+
+    public String getDeploymentID() {
+        return deploymentID;
+    }
+
+    public void setDeploymentID(String deploymentID) {
+        this.deploymentID = deploymentID;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public ApplicationDeployment getApplicationDeployment() {
+        return applicationDeployment;
+    }
+
+    public void setApplicationDeployment(ApplicationDeployment applicationDeployment) {
+        this.applicationDeployment = applicationDeployment;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppEnvironment_PK.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppEnvironment_PK.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppEnvironment_PK.java
new file mode 100644
index 0000000..9e72116
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppEnvironment_PK.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.aiaravata.application.catalog.data.model;
+
+public class AppEnvironment_PK {
+    private String deploymentID;
+    private String name;
+
+    public AppEnvironment_PK(String deploymentID, String name) {
+        this.deploymentID = deploymentID;
+        this.name = name;
+    }
+
+    public AppEnvironment_PK() {
+        ;
+    }
+
+    @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 getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppInput_PK.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppInput_PK.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppInput_PK.java
new file mode 100644
index 0000000..97edabf
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppInput_PK.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.aiaravata.application.catalog.data.model;
+
+public class AppInput_PK {
+    private String interfaceID;
+    private String inputKey;
+
+    public AppInput_PK(String interfaceID, String inputKey) {
+        this.interfaceID = interfaceID;
+        this.inputKey = inputKey;
+    }
+
+    public AppInput_PK() {
+        ;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return 1;
+    }
+
+    public String getInterfaceID() {
+        return interfaceID;
+    }
+
+    public void setInterfaceID(String interfaceID) {
+        this.interfaceID = interfaceID;
+    }
+
+    public String getInputKey() {
+        return inputKey;
+    }
+
+    public void setInputKey(String inputKey) {
+        this.inputKey = inputKey;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppModuleMapping.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppModuleMapping.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppModuleMapping.java
new file mode 100644
index 0000000..f51bae6
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppModuleMapping.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.aiaravata.application.catalog.data.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "APP_MODULE_MAPPING")
+@IdClass(AppModuleMapping_PK.class)
+public class AppModuleMapping {
+    @Id
+    @Column(name = "INTERFACE_ID")
+    private String interfaceID;
+    @Id
+    @Column(name = "MODULE_ID")
+    private String moduleID;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "INTERFACE_ID")
+    private ApplicationInterface applicationInterface;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "MODULE_ID")
+    private ApplicationModule applicationModule;
+
+    public String getInterfaceID() {
+        return interfaceID;
+    }
+
+    public void setInterfaceID(String interfaceID) {
+        this.interfaceID = interfaceID;
+    }
+
+    public String getModuleID() {
+        return moduleID;
+    }
+
+    public void setModuleID(String moduleID) {
+        this.moduleID = moduleID;
+    }
+
+    public ApplicationInterface getApplicationInterface() {
+        return applicationInterface;
+    }
+
+    public void setApplicationInterface(ApplicationInterface applicationInterface) {
+        this.applicationInterface = applicationInterface;
+    }
+
+    public ApplicationModule getApplicationModule() {
+        return applicationModule;
+    }
+
+    public void setApplicationModule(ApplicationModule applicationModule) {
+        this.applicationModule = applicationModule;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppModuleMapping_PK.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppModuleMapping_PK.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppModuleMapping_PK.java
new file mode 100644
index 0000000..f600cc1
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppModuleMapping_PK.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.aiaravata.application.catalog.data.model;
+
+public class AppModuleMapping_PK {
+    private String interfaceID;
+    private String moduleID;
+
+    public AppModuleMapping_PK(String interfaceID, String moduleID) {
+        this.interfaceID = interfaceID;
+        this.moduleID = moduleID;
+    }
+
+    public AppModuleMapping_PK() {
+        ;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return 1;
+    }
+
+    public String getInterfaceID() {
+        return interfaceID;
+    }
+
+    public void setInterfaceID(String interfaceID) {
+        this.interfaceID = interfaceID;
+    }
+
+    public String getModuleID() {
+        return moduleID;
+    }
+
+    public void setModuleID(String moduleID) {
+        this.moduleID = moduleID;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppOutput_PK.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppOutput_PK.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppOutput_PK.java
new file mode 100644
index 0000000..4d0e95b
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/AppOutput_PK.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.aiaravata.application.catalog.data.model;
+
+public class AppOutput_PK {
+    private String interfaceID;
+    private String outputKey;
+
+    public AppOutput_PK(String interfaceID, String outputKey) {
+        this.interfaceID = interfaceID;
+        this.outputKey = outputKey;
+    }
+
+    public AppOutput_PK() {
+        ;
+    }
+
+    @Override
+    public boolean equals(Object o) {
+        return false;
+    }
+
+    @Override
+    public int hashCode() {
+        return 1;
+    }
+
+    public String getInterfaceID() {
+        return interfaceID;
+    }
+
+    public void setInterfaceID(String interfaceID) {
+        this.interfaceID = interfaceID;
+    }
+
+    public String getOutputKey() {
+        return outputKey;
+    }
+
+    public void setOutputKey(String outputKey) {
+        this.outputKey = outputKey;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationDeployment.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationDeployment.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationDeployment.java
new file mode 100644
index 0000000..ad7bf7c
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationDeployment.java
@@ -0,0 +1,122 @@
+/*
+ *
+ * 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.*;
+
+@Entity
+@Table(name = "APPLICATION_DEPLOYMENT")
+public class ApplicationDeployment {
+    @Id
+    @Column(name = "DEPLOYMENT_ID")
+    private String deployementID;
+    @Column(name = "APP_MODULE_ID")
+    private String appModuleID;
+    @Column(name = "COMPUTE_HOST_ID")
+    private String hostID;
+    @Column(name = "EXECUTABLE_PATH")
+    private String executablePath;
+    @Column(name = "APPLICATION_DESC")
+    private String applicationDesc;
+    @Column(name = "APPLICATION_VERSION")
+    private String applicationVersion;
+    @Column(name = "MODULE_LOAD_STRING")
+    private String moduleLoadString;
+    @Column(name = "ENV_MODULE_LOAD_CMD")
+    private String envModuleLoaString;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "APP_MODULE_ID")
+    private ApplicationModule applicationModule;
+
+    public String getDeployementID() {
+        return deployementID;
+    }
+
+    public void setDeployementID(String deployementID) {
+        this.deployementID = deployementID;
+    }
+
+    public String getAppModuleID() {
+        return appModuleID;
+    }
+
+    public void setAppModuleID(String appModuleID) {
+        this.appModuleID = appModuleID;
+    }
+
+    public String getHostID() {
+        return hostID;
+    }
+
+    public void setHostID(String hostID) {
+        this.hostID = hostID;
+    }
+
+    public String getExecutablePath() {
+        return executablePath;
+    }
+
+    public void setExecutablePath(String executablePath) {
+        this.executablePath = executablePath;
+    }
+
+    public String getApplicationDesc() {
+        return applicationDesc;
+    }
+
+    public void setApplicationDesc(String applicationDesc) {
+        this.applicationDesc = applicationDesc;
+    }
+
+    public String getApplicationVersion() {
+        return applicationVersion;
+    }
+
+    public void setApplicationVersion(String applicationVersion) {
+        this.applicationVersion = applicationVersion;
+    }
+
+    public String getModuleLoadString() {
+        return moduleLoadString;
+    }
+
+    public void setModuleLoadString(String moduleLoadString) {
+        this.moduleLoadString = moduleLoadString;
+    }
+
+    public String getEnvModuleLoaString() {
+        return envModuleLoaString;
+    }
+
+    public void setEnvModuleLoaString(String envModuleLoaString) {
+        this.envModuleLoaString = envModuleLoaString;
+    }
+
+    public ApplicationModule getApplicationModule() {
+        return applicationModule;
+    }
+
+    public void setApplicationModule(ApplicationModule applicationModule) {
+        this.applicationModule = applicationModule;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInput.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInput.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInput.java
new file mode 100644
index 0000000..5a0e72f
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInput.java
@@ -0,0 +1,115 @@
+/*
+ *
+ * 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.*;
+
+@Entity
+@Table(name = "APPLICATION_INPUT")
+@IdClass(AppInput_PK.class)
+public class ApplicationInput {
+    @Id
+    @Column(name = "INTERFACE_ID")
+    private String interfaceID;
+    @Id
+    @Column(name = "INPUT_KEY")
+    private String inputKey;
+    @Column(name = "INPUT_VALUE")
+    private String inputVal;
+    @Column(name = "DATA_TYPE")
+    private String dataType;
+    @Column(name = "METADATA")
+    private String metadata;
+    @Column(name = "APP_PARAMETER")
+    private String appParameter;
+    @Column(name = "APP_UI_DESCRIPTION")
+    private String appUIDesc;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "INTERFACE_ID")
+    private ApplicationInterface applicationInterface;
+
+    public String getInterfaceID() {
+        return interfaceID;
+    }
+
+    public void setInterfaceID(String interfaceID) {
+        this.interfaceID = interfaceID;
+    }
+
+    public String getInputKey() {
+        return inputKey;
+    }
+
+    public void setInputKey(String inputKey) {
+        this.inputKey = inputKey;
+    }
+
+    public String getInputVal() {
+        return inputVal;
+    }
+
+    public void setInputVal(String inputVal) {
+        this.inputVal = inputVal;
+    }
+
+    public String getDataType() {
+        return dataType;
+    }
+
+    public void setDataType(String dataType) {
+        this.dataType = dataType;
+    }
+
+    public String getMetadata() {
+        return metadata;
+    }
+
+    public void setMetadata(String metadata) {
+        this.metadata = metadata;
+    }
+
+    public String getAppParameter() {
+        return appParameter;
+    }
+
+    public void setAppParameter(String appParameter) {
+        this.appParameter = appParameter;
+    }
+
+    public String getAppUIDesc() {
+        return appUIDesc;
+    }
+
+    public void setAppUIDesc(String appUIDesc) {
+        this.appUIDesc = appUIDesc;
+    }
+
+    public ApplicationInterface getApplicationInterface() {
+        return applicationInterface;
+    }
+
+    public void setApplicationInterface(ApplicationInterface applicationInterface) {
+        this.applicationInterface = applicationInterface;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInterface.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInterface.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInterface.java
new file mode 100644
index 0000000..a17fd37
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationInterface.java
@@ -0,0 +1,53 @@
+/*
+ *
+ * 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.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "APPLICATION_INTERFACE")
+public class ApplicationInterface {
+    @Id
+    @Column(name = "INTERFACE_ID")
+    private String interfaceID;
+    @Column(name = "APPLICATION_NAME")
+    private String appName;
+
+    public String getInterfaceID() {
+        return interfaceID;
+    }
+
+    public void setInterfaceID(String interfaceID) {
+        this.interfaceID = interfaceID;
+    }
+
+    public String getAppName() {
+        return appName;
+    }
+
+    public void setAppName(String appName) {
+        this.appName = appName;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationModule.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationModule.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationModule.java
new file mode 100644
index 0000000..c9eb01e
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationModule.java
@@ -0,0 +1,73 @@
+/*
+ *
+ * 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.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.Table;
+
+@Entity
+@Table(name = "APPLICATION_MODULE")
+public class ApplicationModule {
+    @Id
+    @Column(name = "MODULE_ID")
+    private String moduleID;
+    @Column(name = "MODULE_NAME")
+    private String moduleName;
+    @Column(name = "MODULE_VERSION")
+    private String moduleVersion;
+    @Column(name = "MODULE_DESC")
+    private String moduleDesc;
+
+    public String getModuleID() {
+        return moduleID;
+    }
+
+    public void setModuleID(String moduleID) {
+        this.moduleID = moduleID;
+    }
+
+    public String getModuleName() {
+        return moduleName;
+    }
+
+    public void setModuleName(String moduleName) {
+        this.moduleName = moduleName;
+    }
+
+    public String getModuleVersion() {
+        return moduleVersion;
+    }
+
+    public void setModuleVersion(String moduleVersion) {
+        this.moduleVersion = moduleVersion;
+    }
+
+    public String getModuleDesc() {
+        return moduleDesc;
+    }
+
+    public void setModuleDesc(String moduleDesc) {
+        this.moduleDesc = moduleDesc;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationOutput.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationOutput.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationOutput.java
new file mode 100644
index 0000000..f3d8f74
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/ApplicationOutput.java
@@ -0,0 +1,95 @@
+/*
+ *
+ * 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.*;
+
+@Entity
+@Table(name = "APPLICATION_OUTPUT")
+@IdClass(AppOutput_PK.class)
+public class ApplicationOutput {
+    @Id
+    @Column(name = "INTERFACE_ID")
+    private String interfaceID;
+    @Id
+    @Column(name = "OUTPUT_KEY")
+    private String outputKey;
+    @Column(name = "OUTPUT_VALUE")
+    private String outputVal;
+    @Column(name = "DATA_TYPE")
+    private String dataType;
+    @Column(name = "METADATA")
+    private String metadata;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "INTERFACE_ID")
+    private ApplicationInterface applicationInterface;
+
+    public String getInterfaceID() {
+        return interfaceID;
+    }
+
+    public void setInterfaceID(String interfaceID) {
+        this.interfaceID = interfaceID;
+    }
+
+    public String getDataType() {
+        return dataType;
+    }
+
+    public void setDataType(String dataType) {
+        this.dataType = dataType;
+    }
+
+    public String getMetadata() {
+        return metadata;
+    }
+
+    public void setMetadata(String metadata) {
+        this.metadata = metadata;
+    }
+
+    public ApplicationInterface getApplicationInterface() {
+        return applicationInterface;
+    }
+
+    public void setApplicationInterface(ApplicationInterface applicationInterface) {
+        this.applicationInterface = applicationInterface;
+    }
+
+    public String getOutputKey() {
+        return outputKey;
+    }
+
+    public void setOutputKey(String outputKey) {
+        this.outputKey = outputKey;
+    }
+
+    public String getOutputVal() {
+        return outputVal;
+    }
+
+    public void setOutputVal(String outputVal) {
+        this.outputVal = outputVal;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GatewayProfile.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GatewayProfile.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GatewayProfile.java
new file mode 100644
index 0000000..c8a0f38
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/GatewayProfile.java
@@ -0,0 +1,73 @@
+/*
+ *
+ * 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.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_DESC")
+    private String gatewayDesc;
+    @Column(name = "PREFERED_RESOURCE")
+    private String preferedResource;
+
+    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 getGatewayDesc() {
+        return gatewayDesc;
+    }
+
+    public void setGatewayDesc(String gatewayDesc) {
+        this.gatewayDesc = gatewayDesc;
+    }
+
+    public String getPreferedResource() {
+        return preferedResource;
+    }
+
+    public void setPreferedResource(String preferedResource) {
+        this.preferedResource = preferedResource;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LibraryApendPath.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LibraryApendPath.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LibraryApendPath.java
new file mode 100644
index 0000000..2ab25b0
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LibraryApendPath.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.aiaravata.application.catalog.data.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "LIBRARY_APEND_PATH")
+@IdClass(LibraryApendPath_PK.class)
+public class LibraryApendPath {
+    @Id
+    @Column(name = "DEPLOYMENT_ID")
+    private String deploymentID;
+    @Id
+    @Column(name = "NAME")
+    private String name;
+
+    @Column(name = "VALUE")
+    private String value;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "DEPLOYMENT_ID")
+    private ApplicationDeployment applicationDeployment;
+
+    public String getDeploymentID() {
+        return deploymentID;
+    }
+
+    public void setDeploymentID(String deploymentID) {
+        this.deploymentID = deploymentID;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public ApplicationDeployment getApplicationDeployment() {
+        return applicationDeployment;
+    }
+
+    public void setApplicationDeployment(ApplicationDeployment applicationDeployment) {
+        this.applicationDeployment = applicationDeployment;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LibraryApendPath_PK.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LibraryApendPath_PK.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LibraryApendPath_PK.java
new file mode 100644
index 0000000..c39c5b9
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LibraryApendPath_PK.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.aiaravata.application.catalog.data.model;
+
+public class LibraryApendPath_PK {
+    private String deploymentID;
+    private String name;
+
+    public LibraryApendPath_PK(String deploymentID, String name) {
+        this.deploymentID = deploymentID;
+        this.name = name;
+    }
+
+    public LibraryApendPath_PK() {
+        ;
+    }
+
+    @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 getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LibraryPrepandPath.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LibraryPrepandPath.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LibraryPrepandPath.java
new file mode 100644
index 0000000..d56fe6d
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LibraryPrepandPath.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.aiaravata.application.catalog.data.model;
+
+import javax.persistence.*;
+
+@Entity
+@Table(name = "LIBRARY_PREPAND_PATH")
+@IdClass(LibraryPrepandPath_PK.class)
+public class LibraryPrepandPath {
+    @Id
+    @Column(name = "DEPLOYMENT_ID")
+    private String deploymentID;
+    @Id
+    @Column(name = "NAME")
+    private String name;
+
+    @Column(name = "VALUE")
+    private String value;
+
+    @ManyToOne(cascade= CascadeType.MERGE)
+    @JoinColumn(name = "DEPLOYMENT_ID")
+    private ApplicationDeployment applicationDeployment;
+
+    public String getDeploymentID() {
+        return deploymentID;
+    }
+
+    public void setDeploymentID(String deploymentID) {
+        this.deploymentID = deploymentID;
+    }
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getValue() {
+        return value;
+    }
+
+    public void setValue(String value) {
+        this.value = value;
+    }
+
+    public ApplicationDeployment getApplicationDeployment() {
+        return applicationDeployment;
+    }
+
+    public void setApplicationDeployment(ApplicationDeployment applicationDeployment) {
+        this.applicationDeployment = applicationDeployment;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LibraryPrepandPath_PK.java
----------------------------------------------------------------------
diff --git a/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LibraryPrepandPath_PK.java b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LibraryPrepandPath_PK.java
new file mode 100644
index 0000000..2f7447a
--- /dev/null
+++ b/modules/app-catalog/app-catalog-data/src/main/java/org/apache/aiaravata/application/catalog/data/model/LibraryPrepandPath_PK.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.aiaravata.application.catalog.data.model;
+
+public class LibraryPrepandPath_PK {
+    private String deploymentID;
+    private String name;
+
+    public LibraryPrepandPath_PK(String deploymentID, String name) {
+        this.deploymentID = deploymentID;
+        this.name = name;
+    }
+
+    public LibraryPrepandPath_PK() {
+        ;
+    }
+
+    @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 getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+}

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/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 5fe0272..7e4c9c2 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,16 @@
         <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.SSHSubmission</class>
+        <class>org.apache.aiaravata.application.catalog.data.model.ApplicationModule</class>
+        <class>org.apache.aiaravata.application.catalog.data.model.ApplicationDeployment</class>
+        <class>org.apache.aiaravata.application.catalog.data.model.LibraryPrepandPath</class>
+        <class>org.apache.aiaravata.application.catalog.data.model.LibraryApendPath</class>
+        <class>org.apache.aiaravata.application.catalog.data.model.AppEnvironment</class>
+        <class>org.apache.aiaravata.application.catalog.data.model.ApplicationInterface</class>
+        <class>org.apache.aiaravata.application.catalog.data.model.AppModuleMapping</class>
+        <class>org.apache.aiaravata.application.catalog.data.model.ApplicationInput</class>
+        <class>org.apache.aiaravata.application.catalog.data.model.ApplicationOutput</class>
+        <class>org.apache.aiaravata.application.catalog.data.model.GatewayProfile</class>
         <exclude-unlisted-classes>true</exclude-unlisted-classes>
     </persistence-unit>
 </persistence>

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/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 5f3db14..6895ade 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
@@ -140,6 +140,105 @@ CREATE TABLE DATA_MOVEMENT_PROTOCOL
          FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
 );
 
+CREATE TABLE APPLICATION_MODULE
+(
+         MODULE_ID VARCHAR(255),
+         MODULE_NAME VARCHAR(255),
+         MODULE_VERSION VARCHAR(255),
+         MODULE_DESC VARCHAR(255),
+         PRIMARY KEY(MODULE_ID)
+);
+
+CREATE TABLE APPLICATION_DEPLOYMENT
+(
+         DEPLOYMENT_ID VARCHAR(255),
+         APP_MODULE_ID VARCHAR(255),
+         COMPUTE_HOSTID VARCHAR(255),
+         EXECUTABLE_PATH VARCHAR(255),
+         APPLICATION_DESC VARCHAR(255),
+         ENV_MODULE_LOAD_CMD VARCHAR(255),
+         MODULE_LOAD_STRING VARCHAR(255),
+         PRIMARY KEY(DEPLOYMENT_ID),
+         FOREIGN KEY (COMPUTE_HOSTID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+         FOREIGN KEY (APP_MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE LIBRARY_PREPAND_PATH
+(
+         DEPLOYMENT_ID VARCHAR(255),
+         NAME VARCHAR(255),
+         VALUE VARCHAR(255),
+         PRIMARY KEY(DEPLOYMENT_ID, NAME),
+         FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE LIBRARY_APEND_PATH
+(
+         DEPLOYMENT_ID VARCHAR(255),
+         NAME VARCHAR(255),
+         VALUE VARCHAR(255),
+         PRIMARY KEY(DEPLOYMENT_ID, NAME),
+         FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE APP_ENVIRONMENT
+(
+         DEPLOYMENT_ID VARCHAR(255),
+         NAME VARCHAR(255),
+         VALUE VARCHAR(255),
+         PRIMARY KEY(DEPLOYMENT_ID, NAME),
+         FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE APPLICATION_INTERFACE
+(
+         INTERFACE_ID VARCHAR(255),
+         APPLICATION_NAME VARCHAR(255),
+         PRIMARY KEY(INTERFACE_ID)
+);
+
+CREATE TABLE APP_MODULE_MAPPING
+(
+         INTERFACE_ID VARCHAR(255),
+         MODULE_ID VARCHAR(255),
+         PRIMARY KEY(INTERFACE_ID, MODULE_ID),
+         FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE,
+         FOREIGN KEY (MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE APPLICATION_INPUT
+(
+         INTERFACE_ID VARCHAR(255),
+         INPUT_KEY VARCHAR(255),
+         INPUT_VALUE VARCHAR(255),
+         DATA_TYPE VARCHAR(255),
+         METADATA VARCHAR(255),
+         APP_PARAMETER VARCHAR(255),
+         APP_UI_DESCRIPTION VARCHAR(255),
+         PRIMARY KEY(INTERFACE_ID,INPUT_KEY),
+         FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE APPLICATION_OUTPUT
+(
+         INTERFACE_ID VARCHAR(255),
+         OUTPUT_KEY VARCHAR(255),
+         OUTPUT_VALUE VARCHAR(255),
+         DATA_TYPE VARCHAR(255),
+         METADATA VARCHAR(255),
+         PRIMARY KEY(INTERFACE_ID,OUTPUT_KEY),
+         FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE GATEWAY_PROFILE
+(
+         GATEWAY_ID VARCHAR(255),
+         GATEWAY_NAME VARCHAR(255),
+         GATEWAY_DESC VARCHAR(255),
+         PREFERED_RESOURCE VARCHAR(255),
+         PRIMARY KEY(GATEWAY_ID)
+);
+
 
 
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/e7bb5659/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 7e25ca4..49d9f2a 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
@@ -139,3 +139,103 @@ CREATE TABLE DATA_MOVEMENT_PROTOCOL
          PRIMARY KEY(RESOURCE_ID,DATA_MOVE_ID,JOB_TYPE),
          FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
 );
+
+CREATE TABLE APPLICATION_MODULE
+(
+         MODULE_ID VARCHAR(255),
+         MODULE_NAME VARCHAR(255),
+         MODULE_VERSION VARCHAR(255),
+         MODULE_DESC VARCHAR(255),
+         PRIMARY KEY(MODULE_ID)
+);
+
+CREATE TABLE APPLICATION_DEPLOYMENT
+(
+         DEPLOYMENT_ID VARCHAR(255),
+         APP_MODULE_ID VARCHAR(255),
+         COMPUTE_HOST_ID VARCHAR(255),
+         EXECUTABLE_PATH VARCHAR(255),
+         APPLICATION_DESC VARCHAR(255),
+         ENV_MODULE_LOAD_CMD VARCHAR(255),
+         MODULE_LOAD_STRING VARCHAR(255),
+         PRIMARY KEY(DEPLOYMENT_ID),
+         FOREIGN KEY (COMPUTE_HOSTID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
+         FOREIGN KEY (APP_MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE LIBRARY_PREPAND_PATH
+(
+         DEPLOYMENT_ID VARCHAR(255),
+         NAME VARCHAR(255),
+         VALUE VARCHAR(255),
+         PRIMARY KEY(DEPLOYMENT_ID, NAME),
+         FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE LIBRARY_APEND_PATH
+(
+         DEPLOYMENT_ID VARCHAR(255),
+         NAME VARCHAR(255),
+         VALUE VARCHAR(255),
+         PRIMARY KEY(DEPLOYMENT_ID, NAME),
+         FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE APP_ENVIRONMENT
+(
+         DEPLOYMENT_ID VARCHAR(255),
+         NAME VARCHAR(255),
+         VALUE VARCHAR(255),
+         PRIMARY KEY(DEPLOYMENT_ID, NAME),
+         FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE APPLICATION_INTERFACE
+(
+         INTERFACE_ID VARCHAR(255),
+         APPLICATION_NAME VARCHAR(255),
+         PRIMARY KEY(INTERFACE_ID)
+);
+
+CREATE TABLE APP_MODULE_MAPPING
+(
+         INTERFACE_ID VARCHAR(255),
+         MODULE_ID VARCHAR(255),
+         PRIMARY KEY(INTERFACE_ID, MODULE_ID),
+         FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE,
+         FOREIGN KEY (MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE APPLICATION_INPUT
+(
+         INTERFACE_ID VARCHAR(255),
+         INPUT_KEY VARCHAR(255),
+         INPUT_VALUE VARCHAR(255),
+         DATA_TYPE VARCHAR(255),
+         METADATA VARCHAR(255),
+         APP_PARAMETER VARCHAR(255),
+         APP_UI_DESCRIPTION VARCHAR(255),
+         PRIMARY KEY(INTERFACE_ID,INPUT_KEY),
+         FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE APPLICATION_OUTPUT
+(
+         INTERFACE_ID VARCHAR(255),
+         OUTPUT_KEY VARCHAR(255),
+         OUTPUT_VALUE VARCHAR(255),
+         DATA_TYPE VARCHAR(255),
+         METADATA VARCHAR(255),
+         PRIMARY KEY(INTERFACE_ID,OUTPUT_KEY),
+         FOREIGN KEY (INTERFACE_ID) REFERENCES APPLICATION_INTERFACE(INTERFACE_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE GATEWAY_PROFILE
+(
+         GATEWAY_ID VARCHAR(255),
+         GATEWAY_NAME VARCHAR(255),
+         GATEWAY_DESC VARCHAR(255),
+         PREFERED_RESOURCE VARCHAR(255),
+         PRIMARY KEY(GATEWAY_ID)
+);
+