You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2018/11/06 16:47:36 UTC

[airavata] branch develop updated (a62bb05 -> 2c01b94)

This is an automated email from the ASF dual-hosted git repository.

machristie pushed a change to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git.


    from a62bb05  Uncommenting status publisher initialization
     new f4b61a7  AIRAVATA-2872 Allow setting resourceSpecificCredStoreToken to null
     new cc4437e  AIRAVATA-2872 Fixing tests broken by loaded nulls strategy
     new 2c01b94  AIRAVATA-2872 Adding NOT NULL to foreign key columns

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.


Summary of changes:
 .../entities/appcatalog/AppEnvironmentEntity.java  |   4 +-
 .../appcatalog/BatchQueueResourcePolicyEntity.java |  16 +-
 .../appcatalog/BatchQueueResourcePolicyPK.java     |  60 --
 .../appcatalog/ComputeResourcePolicyEntity.java    |  18 +-
 .../appcatalog/GroupComputeResourcePrefEntity.java |  22 +-
 .../appcatalog/GroupResourceProfileEntity.java     |  15 +-
 .../appcatalog/GroupResourceProfilePK.java         |  59 --
 .../GroupSSHAccountProvisionerConfig.java          |  14 +-
 .../expcatalog/ExperimentStatusEntity.java         |   4 +-
 .../core/entities/expcatalog/ProcessEntity.java    |   4 +-
 .../entities/expcatalog/ProcessStatusEntity.java   |   4 +-
 .../core/entities/expcatalog/TaskEntity.java       |   4 +-
 .../replicacatalog/DataReplicaLocationEntity.java  |   4 +-
 .../appcatalog/BatchQueuePolicyRepository.java     |   3 +-
 .../appcatalog/GroupResourceProfileRepository.java |  26 +-
 .../core/utils/JPAUtil/AppCatalogJPAUtils.java     |   1 +
 .../core/utils/JPAUtil/ExpCatalogJPAUtils.java     |   1 +
 .../core/utils/JPAUtil/RepCatalogJPAUtils.java     |   1 +
 .../utils/JPAUtil/WorkflowCatalogJPAUtils.java     |   1 +
 .../registry/core/utils/ObjectMapperSingleton.java |  11 +-
 .../src/main/resources/appcatalog-derby.sql        | 113 ++--
 .../src/main/resources/appcatalog-mysql.sql        | 114 ++--
 .../src/main/resources/expcatalog-derby.sql        |  46 +-
 .../src/main/resources/expcatalog-mysql.sql        |  58 +-
 .../src/main/resources/replicacatalog-derby.sql    |   4 +-
 .../src/main/resources/replicacatalog-mysql.sql    |   4 +-
 .../src/main/resources/workflowcatalog-derby.sql   |   4 +-
 .../src/main/resources/workflowcatalog-mysql.sql   |   4 +-
 .../GroupResourceProfileRepositoryTest.java        |  35 ++
 .../expcatalog/ExperimentStatusRepositoryTest.java |   1 +
 .../expcatalog/ProcessStatusRepositoryTest.java    |   2 -
 .../resources/airavataworkflowcatalog-derby.sql    | 180 ------
 .../src/test/resources/appcatalog-derby.sql        | 684 ---------------------
 .../src/test/resources/expcatalog-derby.sql        | 399 ------------
 .../src/test/resources/replicacatalog-derby.sql    |  77 ---
 .../src/test/resources/workflowcatalog-derby.sql   | 128 ----
 36 files changed, 340 insertions(+), 1785 deletions(-)
 delete mode 100644 modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyPK.java
 delete mode 100644 modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupResourceProfilePK.java
 delete mode 100644 modules/registry-refactoring/src/test/resources/airavataworkflowcatalog-derby.sql
 delete mode 100644 modules/registry-refactoring/src/test/resources/appcatalog-derby.sql
 delete mode 100644 modules/registry-refactoring/src/test/resources/expcatalog-derby.sql
 delete mode 100644 modules/registry-refactoring/src/test/resources/replicacatalog-derby.sql
 delete mode 100644 modules/registry-refactoring/src/test/resources/workflowcatalog-derby.sql


[airavata] 01/03: AIRAVATA-2872 Allow setting resourceSpecificCredStoreToken to null

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit f4b61a7614c51f0eb0c7cc0406e1746327bc64c7
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Wed Oct 31 09:58:55 2018 -0400

    AIRAVATA-2872 Allow setting resourceSpecificCredStoreToken to null
    
    Changed the "detach state" setting in OpenJPA to "all" which changes how
    null values are merged. Without "all", null values are treated as simply
    unspecified and are not merged in. With "all", null values are treated
    as specified values that are merged in.
    
    One consequence is that any field on the JPA entities that isn't in the
    Thrift models OpenJPA will attempt to set it to null. For this reason,
    @ManyToOne references, which aren't in the Thrift models, are configured
    so that the @JoinColumn is not nullable and not updateable, which is
    true regardless but is necessary now with the change in "detach state"
    setting.
    
    I also set up orphanRemoval on the GroupResourceProfileEntity to test
    that that would still work as well.
---
 .../appcatalog/BatchQueueResourcePolicyEntity.java | 16 ++++--
 .../appcatalog/BatchQueueResourcePolicyPK.java     | 60 ----------------------
 .../appcatalog/ComputeResourcePolicyEntity.java    | 18 +++++--
 .../appcatalog/GroupComputeResourcePrefEntity.java | 22 ++++++--
 .../appcatalog/GroupResourceProfileEntity.java     | 15 ++++--
 .../appcatalog/GroupResourceProfilePK.java         | 59 ---------------------
 .../GroupSSHAccountProvisionerConfig.java          | 14 ++++-
 .../appcatalog/BatchQueuePolicyRepository.java     |  3 +-
 .../appcatalog/GroupResourceProfileRepository.java | 26 +++-------
 .../core/utils/JPAUtil/AppCatalogJPAUtils.java     |  1 +
 .../core/utils/JPAUtil/ExpCatalogJPAUtils.java     |  1 +
 .../core/utils/JPAUtil/RepCatalogJPAUtils.java     |  1 +
 .../utils/JPAUtil/WorkflowCatalogJPAUtils.java     |  1 +
 .../registry/core/utils/ObjectMapperSingleton.java |  7 +--
 .../src/main/resources/appcatalog-derby.sql        |  2 +-
 .../src/main/resources/appcatalog-mysql.sql        |  2 +-
 .../GroupResourceProfileRepositoryTest.java        | 35 +++++++++++++
 .../src/test/resources/appcatalog-derby.sql        |  2 +-
 18 files changed, 121 insertions(+), 164 deletions(-)

diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyEntity.java
index 4cb3abb..f0631d7 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyEntity.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyEntity.java
@@ -20,7 +20,15 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import org.apache.openjpa.persistence.jdbc.ForeignKey;
+import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
 import java.io.Serializable;
 
 /**
@@ -28,7 +36,6 @@ import java.io.Serializable;
  */
 @Entity
 @Table(name = "BATCH_QUEUE_RESOURCE_POLICY")
-@IdClass(BatchQueueResourcePolicyPK.class)
 public class BatchQueueResourcePolicyEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -55,8 +62,9 @@ public class BatchQueueResourcePolicyEntity implements Serializable {
     @Column(name = "MAX_ALLOWED_WALLTIME")
     private Integer maxAllowedWalltime;
 
-    @ManyToOne(targetEntity = GroupResourceProfileEntity.class, cascade = CascadeType.MERGE)
-    @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID")
+    @ManyToOne(targetEntity = GroupResourceProfileEntity.class)
+    @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", nullable = false, updatable = false)
+    @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
     private GroupResourceProfileEntity groupResourceProfile;
 
     public BatchQueueResourcePolicyEntity() {
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyPK.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyPK.java
deleted file mode 100644
index 296bdb1..0000000
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/BatchQueueResourcePolicyPK.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- *
- * 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.registry.core.entities.appcatalog;
-
-import java.io.Serializable;
-
-/**
- * The primary key class for the batch_queue_resource_policy database table.
- *
- */
-public class BatchQueueResourcePolicyPK implements Serializable{
-
-    private static final long serialVersionUID = 1L;
-
-    private String resourcePolicyId;
-
-    public BatchQueueResourcePolicyPK() {
-    }
-
-    public String getResourcePolicyId() {
-        return resourcePolicyId;
-    }
-
-    public void setResourcePolicyId(String resourcePolicyId) {
-        this.resourcePolicyId = resourcePolicyId;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        BatchQueueResourcePolicyPK that = (BatchQueueResourcePolicyPK) o;
-
-        return resourcePolicyId != null ? resourcePolicyId.equals(that.resourcePolicyId) : that.resourcePolicyId == null;
-    }
-
-    @Override
-    public int hashCode() {
-        return resourcePolicyId != null ? resourcePolicyId.hashCode() : 0;
-    }
-}
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePolicyEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePolicyEntity.java
index e62fba5..da7dcb9 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePolicyEntity.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/ComputeResourcePolicyEntity.java
@@ -20,7 +20,18 @@
 */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import org.apache.openjpa.persistence.jdbc.ForeignKey;
+import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
+
+import javax.persistence.CollectionTable;
+import javax.persistence.Column;
+import javax.persistence.ElementCollection;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
 import java.io.Serializable;
 import java.util.List;
 
@@ -49,8 +60,9 @@ public class ComputeResourcePolicyEntity implements Serializable {
     @Column(name = "QUEUE_NAME")
     private List<String> allowedBatchQueues;
 
-    @ManyToOne(targetEntity = GroupResourceProfileEntity.class, cascade = CascadeType.MERGE)
-    @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID")
+    @ManyToOne(targetEntity = GroupResourceProfileEntity.class)
+    @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", nullable = false, updatable = false)
+    @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
     private GroupResourceProfileEntity groupResourceProfile;
 
     public ComputeResourcePolicyEntity() {
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupComputeResourcePrefEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupComputeResourcePrefEntity.java
index 7db64be..8260764 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupComputeResourcePrefEntity.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupComputeResourcePrefEntity.java
@@ -21,8 +21,21 @@ package org.apache.airavata.registry.core.entities.appcatalog;
 
 import org.apache.airavata.model.appcatalog.computeresource.JobSubmissionProtocol;
 import org.apache.airavata.model.data.movement.DataMovementProtocol;
-
-import javax.persistence.*;
+import org.apache.openjpa.persistence.jdbc.ForeignKey;
+import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.EnumType;
+import javax.persistence.Enumerated;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.IdClass;
+import javax.persistence.JoinColumn;
+import javax.persistence.ManyToOne;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
 import java.io.Serializable;
 import java.sql.Timestamp;
 import java.util.List;
@@ -95,8 +108,9 @@ public class GroupComputeResourcePrefEntity implements Serializable {
     @OneToMany(targetEntity = GroupSSHAccountProvisionerConfig.class, mappedBy = "groupComputeResourcePref", cascade = CascadeType.ALL, fetch = FetchType.EAGER)
     private List<GroupSSHAccountProvisionerConfig> groupSSHAccountProvisionerConfigs;
 
-    @ManyToOne(targetEntity = GroupResourceProfileEntity.class, cascade = CascadeType.MERGE)
-    @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID")
+    @ManyToOne(targetEntity = GroupResourceProfileEntity.class)
+    @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", nullable = false, updatable = false)
+    @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
     private  GroupResourceProfileEntity groupResourceProfile;
 
     public GroupComputeResourcePrefEntity() {
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupResourceProfileEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupResourceProfileEntity.java
index 3add1b1..c6bc0a1 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupResourceProfileEntity.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupResourceProfileEntity.java
@@ -19,7 +19,13 @@
  */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.FetchType;
+import javax.persistence.Id;
+import javax.persistence.OneToMany;
+import javax.persistence.Table;
 import java.io.Serializable;
 import java.util.List;
 
@@ -28,7 +34,6 @@ import java.util.List;
  */
 @Entity
 @Table(name = "GROUP_RESOURCE_PROFILE")
-@IdClass(GroupResourceProfilePK.class)
 public class GroupResourceProfileEntity implements Serializable {
 
     private static final long serialVersionUID = 1L;
@@ -53,15 +58,15 @@ public class GroupResourceProfileEntity implements Serializable {
     private String defaultCredentialStoreToken;
 
     @OneToMany(targetEntity = GroupComputeResourcePrefEntity.class, cascade = CascadeType.ALL,
-            mappedBy = "groupResourceProfile", fetch = FetchType.EAGER)
+            mappedBy = "groupResourceProfile", fetch = FetchType.EAGER, orphanRemoval = true)
     private List<GroupComputeResourcePrefEntity> computePreferences;
 
     @OneToMany(targetEntity = ComputeResourcePolicyEntity.class, cascade = CascadeType.ALL,
-            mappedBy = "groupResourceProfile", fetch = FetchType.EAGER)
+            mappedBy = "groupResourceProfile", fetch = FetchType.EAGER, orphanRemoval = true)
     private List<ComputeResourcePolicyEntity> computeResourcePolicies;
 
     @OneToMany(targetEntity = BatchQueueResourcePolicyEntity.class, cascade = CascadeType.ALL,
-            mappedBy = "groupResourceProfile", fetch = FetchType.EAGER)
+            mappedBy = "groupResourceProfile", fetch = FetchType.EAGER, orphanRemoval = true)
     private List<BatchQueueResourcePolicyEntity> batchQueueResourcePolicies;
 
     public GroupResourceProfileEntity() {
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupResourceProfilePK.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupResourceProfilePK.java
deleted file mode 100644
index 0a46b68..0000000
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupResourceProfilePK.java
+++ /dev/null
@@ -1,59 +0,0 @@
-/**
- *
- * 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.registry.core.entities.appcatalog;
-
-import java.io.Serializable;
-
-/**
- * The primary key class for the group_resource_profile database table.
- */
-public class GroupResourceProfilePK implements Serializable {
-
-    private static final long serialVersionUID = 1L;
-
-    private String groupResourceProfileId;
-
-    public GroupResourceProfilePK() {
-
-    }
-
-    public String getGroupResourceProfileId() {
-        return groupResourceProfileId;
-    }
-
-    public void setGroupResourceProfileId(String groupResourceProfileId) {
-        this.groupResourceProfileId = groupResourceProfileId;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        GroupResourceProfilePK that = (GroupResourceProfilePK) o;
-
-        return groupResourceProfileId != null ? groupResourceProfileId.equals(that.groupResourceProfileId) : that.groupResourceProfileId == null;
-    }
-
-    @Override
-    public int hashCode() {
-        return groupResourceProfileId != null ? groupResourceProfileId.hashCode() : 0;
-    }
-}
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupSSHAccountProvisionerConfig.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupSSHAccountProvisionerConfig.java
index c4eb6c9..1241144 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupSSHAccountProvisionerConfig.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/GroupSSHAccountProvisionerConfig.java
@@ -19,7 +19,18 @@
  */
 package org.apache.airavata.registry.core.entities.appcatalog;
 
-import javax.persistence.*;
+import org.apache.openjpa.persistence.jdbc.ForeignKey;
+import org.apache.openjpa.persistence.jdbc.ForeignKeyAction;
+
+import javax.persistence.CascadeType;
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Id;
+import javax.persistence.IdClass;
+import javax.persistence.JoinColumn;
+import javax.persistence.JoinColumns;
+import javax.persistence.ManyToOne;
+import javax.persistence.Table;
 import java.io.Serializable;
 
 /**
@@ -52,6 +63,7 @@ public class GroupSSHAccountProvisionerConfig implements Serializable{
             @JoinColumn(name = "RESOURCE_ID", referencedColumnName = "RESOURCE_ID", nullable = false),
             @JoinColumn(name = "GROUP_RESOURCE_PROFILE_ID", referencedColumnName = "GROUP_RESOURCE_PROFILE_ID", nullable = false)
     })
+    @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
     private GroupComputeResourcePrefEntity groupComputeResourcePref;
 
     public GroupSSHAccountProvisionerConfig() {
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/BatchQueuePolicyRepository.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/BatchQueuePolicyRepository.java
index 859b096..74c12f1 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/BatchQueuePolicyRepository.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/BatchQueuePolicyRepository.java
@@ -21,12 +21,11 @@ package org.apache.airavata.registry.core.repositories.appcatalog;
 
 import org.apache.airavata.model.appcatalog.groupresourceprofile.BatchQueueResourcePolicy;
 import org.apache.airavata.registry.core.entities.appcatalog.BatchQueueResourcePolicyEntity;
-import org.apache.airavata.registry.core.entities.appcatalog.BatchQueueResourcePolicyPK;
 
 /**
  * Created by skariyat on 2/10/18.
  */
-public class BatchQueuePolicyRepository extends AppCatAbstractRepository<BatchQueueResourcePolicy, BatchQueueResourcePolicyEntity, BatchQueueResourcePolicyPK> {
+public class BatchQueuePolicyRepository extends AppCatAbstractRepository<BatchQueueResourcePolicy, BatchQueueResourcePolicyEntity, String> {
 
     public BatchQueuePolicyRepository() {
         super(BatchQueueResourcePolicy.class, BatchQueueResourcePolicyEntity.class);
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/GroupResourceProfileRepository.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/GroupResourceProfileRepository.java
index 3c9a401..07709b2 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/GroupResourceProfileRepository.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/appcatalog/GroupResourceProfileRepository.java
@@ -24,10 +24,8 @@ import org.apache.airavata.model.appcatalog.groupresourceprofile.ComputeResource
 import org.apache.airavata.model.appcatalog.groupresourceprofile.GroupComputeResourcePreference;
 import org.apache.airavata.model.appcatalog.groupresourceprofile.GroupResourceProfile;
 import org.apache.airavata.model.commons.airavata_commonsConstants;
-import org.apache.airavata.registry.core.entities.appcatalog.BatchQueueResourcePolicyPK;
 import org.apache.airavata.registry.core.entities.appcatalog.GroupComputeResourcePrefPK;
 import org.apache.airavata.registry.core.entities.appcatalog.GroupResourceProfileEntity;
-import org.apache.airavata.registry.core.entities.appcatalog.GroupResourceProfilePK;
 import org.apache.airavata.registry.core.utils.DBConstants;
 import org.apache.airavata.registry.core.utils.QueryConstants;
 
@@ -39,7 +37,7 @@ import java.util.UUID;
 /**
  * Created by skariyat on 2/8/18.
  */
-public class GroupResourceProfileRepository extends AppCatAbstractRepository<GroupResourceProfile, GroupResourceProfileEntity, GroupResourceProfilePK> {
+public class GroupResourceProfileRepository extends AppCatAbstractRepository<GroupResourceProfile, GroupResourceProfileEntity, String> {
 
     public GroupResourceProfileRepository() {
         super(GroupResourceProfile.class, GroupResourceProfileEntity.class);
@@ -90,22 +88,16 @@ public class GroupResourceProfileRepository extends AppCatAbstractRepository<Gro
     }
 
     public GroupResourceProfile getGroupResourceProfile(String groupResourceProfileId) {
-        GroupResourceProfilePK groupResourceProfilePK = new GroupResourceProfilePK();
-        groupResourceProfilePK.setGroupResourceProfileId(groupResourceProfileId);
-        GroupResourceProfile groupResourceProfile = get(groupResourceProfilePK);
+        GroupResourceProfile groupResourceProfile = get(groupResourceProfileId);
         return groupResourceProfile;
     }
 
     public boolean removeGroupResourceProfile(String groupResourceProfileId) {
-        GroupResourceProfilePK groupResourceProfilePK = new GroupResourceProfilePK();
-        groupResourceProfilePK.setGroupResourceProfileId(groupResourceProfileId);
-        return delete(groupResourceProfilePK);
+        return delete(groupResourceProfileId);
     }
 
     public boolean isGroupResourceProfileExists(String groupResourceProfileId) {
-        GroupResourceProfilePK groupResourceProfilePK = new GroupResourceProfilePK();
-        groupResourceProfilePK.setGroupResourceProfileId(groupResourceProfileId);
-        return isExists(groupResourceProfilePK);
+        return isExists(groupResourceProfileId);
     }
 
     public List<GroupResourceProfile> getAllGroupResourceProfiles(String gatewayId, List<String> accessibleGroupResProfileIds) {
@@ -133,10 +125,7 @@ public class GroupResourceProfileRepository extends AppCatAbstractRepository<Gro
     }
 
     public boolean removeBatchQueueResourcePolicy(String resourcePolicyId) {
-        BatchQueueResourcePolicyPK batchQueueResourcePolicyPK = new BatchQueueResourcePolicyPK();
-        batchQueueResourcePolicyPK.setResourcePolicyId(resourcePolicyId);
-
-        return (new BatchQueuePolicyRepository().delete(batchQueueResourcePolicyPK));
+        return (new BatchQueuePolicyRepository().delete(resourcePolicyId));
     }
 
     public GroupComputeResourcePreference getGroupComputeResourcePreference(String computeResourceId, String groupResourceProfileId) {
@@ -152,10 +141,7 @@ public class GroupResourceProfileRepository extends AppCatAbstractRepository<Gro
     }
 
     public BatchQueueResourcePolicy getBatchQueueResourcePolicy(String resourcePolicyId) {
-        BatchQueueResourcePolicyPK batchQueueResourcePolicyPK = new BatchQueueResourcePolicyPK();
-        batchQueueResourcePolicyPK.setResourcePolicyId(resourcePolicyId);
-
-        return (new BatchQueuePolicyRepository().get(batchQueueResourcePolicyPK));
+        return (new BatchQueuePolicyRepository().get(resourcePolicyId));
     }
 
     public List<GroupComputeResourcePreference> getAllGroupComputeResourcePreferences(String groupResourceProfileId) {
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/AppCatalogJPAUtils.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/AppCatalogJPAUtils.java
index f3c82f4..097effd 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/AppCatalogJPAUtils.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/AppCatalogJPAUtils.java
@@ -64,6 +64,7 @@ public class AppCatalogJPAUtils {
             properties.put("openjpa.Log", "DefaultLevel=INFO, Runtime=INFO, Tool=INFO, SQL=INFO");
             properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
             properties.put("openjpa.jdbc.QuerySQLCache", "false");
+            properties.put("openjpa.DetachState", "all");
             properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72, PrintParameters=true, MaxActive=10, MaxIdle=5, MinIdle=2, MaxWait=31536000,  autoReconnect=true");
             factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME, properties);
         }
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/ExpCatalogJPAUtils.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/ExpCatalogJPAUtils.java
index d83733a..9c9d4ff 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/ExpCatalogJPAUtils.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/ExpCatalogJPAUtils.java
@@ -64,6 +64,7 @@ public class ExpCatalogJPAUtils {
             properties.put("openjpa.RemoteCommitProvider", "sjvm");
             properties.put("openjpa.Log", "DefaultLevel=INFO, Runtime=INFO, Tool=INFO, SQL=INFO");
             properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
+            properties.put("openjpa.DetachState", "all");
             properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72, PrintParameters=true, MaxActive=10, MaxIdle=5, MinIdle=2, MaxWait=31536000,  autoReconnect=true");
 //			properties.put("openjpa.jdbc.QuerySQLCache", "false");
             factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME, properties);
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/RepCatalogJPAUtils.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/RepCatalogJPAUtils.java
index 234db06..2cc6f03 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/RepCatalogJPAUtils.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/RepCatalogJPAUtils.java
@@ -60,6 +60,7 @@ public class RepCatalogJPAUtils {
             properties.put("openjpa.Log","DefaultLevel=INFO, Runtime=INFO, Tool=INFO, SQL=INFO");
             properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
             properties.put("openjpa.jdbc.QuerySQLCache", "false");
+            properties.put("openjpa.DetachState", "all");
             properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72," +
                     " PrintParameters=true, MaxActive=10, MaxIdle=5, MinIdle=2, MaxWait=31536000,  autoReconnect=true");
             factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME, properties);
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/WorkflowCatalogJPAUtils.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/WorkflowCatalogJPAUtils.java
index 57971b3..852007e 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/WorkflowCatalogJPAUtils.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/JPAUtil/WorkflowCatalogJPAUtils.java
@@ -61,6 +61,7 @@ public class WorkflowCatalogJPAUtils {
             properties.put("openjpa.Log","DefaultLevel=INFO, Runtime=INFO, Tool=INFO, SQL=INFO");
             properties.put("openjpa.jdbc.SynchronizeMappings", "buildSchema(ForeignKeys=true)");
             properties.put("openjpa.jdbc.QuerySQLCache", "false");
+            properties.put("openjpa.DetachState", "all");
             properties.put("openjpa.ConnectionFactoryProperties", "PrettyPrint=true, PrettyPrintLineLength=72, PrintParameters=true, MaxActive=10, MaxIdle=5, MinIdle=2, MaxWait=31536000,  autoReconnect=true");
             factory = Persistence.createEntityManagerFactory(PERSISTENCE_UNIT_NAME, properties);
         }
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/ObjectMapperSingleton.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/ObjectMapperSingleton.java
index b184bc1..8ff15c4 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/ObjectMapperSingleton.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/ObjectMapperSingleton.java
@@ -20,6 +20,7 @@
 */
 package org.apache.airavata.registry.core.utils;
 
+import org.apache.commons.lang3.ClassUtils;
 import org.apache.thrift.TBase;
 import org.apache.thrift.TFieldIdEnum;
 import org.dozer.CustomFieldMapper;
@@ -53,9 +54,9 @@ public class ObjectMapperSingleton extends DozerBeanMapper{
     private static class MyCustomFieldMapper implements CustomFieldMapper {
         @Override
         public boolean mapField(Object source, Object destination, Object sourceFieldValue, ClassMap classMap, FieldMap fieldMap) {
-            // Just skipping mapping field if not set on Thrift source model
-            if (isSourceUnsetThriftField(source, fieldMap)) {
-                logger.debug("Skipping field " + fieldMap.getSrcFieldName() + " since it is unset thrift field");
+            // Just skipping mapping field if not set on Thrift source model and it is primitive
+            if (isSourceUnsetThriftField(source, fieldMap) && ClassUtils.isPrimitiveOrWrapper(source.getClass())) {
+                logger.debug("Skipping field " + fieldMap.getSrcFieldName() + " since it is unset thrift field and is primitive");
                 return true;
             }
             return false;
diff --git a/modules/registry-refactoring/src/main/resources/appcatalog-derby.sql b/modules/registry-refactoring/src/main/resources/appcatalog-derby.sql
index 8cddba8..5c5c55c 100644
--- a/modules/registry-refactoring/src/main/resources/appcatalog-derby.sql
+++ b/modules/registry-refactoring/src/main/resources/appcatalog-derby.sql
@@ -633,7 +633,7 @@ CREATE TABLE GROUP_COMPUTE_RESOURCE_PREFERENCE
         SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO VARCHAR(1000),
         PRIMARY KEY(RESOURCE_ID,GROUP_RESOURCE_PROFILE_ID),
         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-        FOREIGN KEY (GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_RESOURCE_PROFILE(GROUP_RESOURCE_PROFILE_ID)
+        FOREIGN KEY (GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_RESOURCE_PROFILE(GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE
 );
 
 CREATE TABLE GRP_SSH_ACC_PROV_CONFIG
diff --git a/modules/registry-refactoring/src/main/resources/appcatalog-mysql.sql b/modules/registry-refactoring/src/main/resources/appcatalog-mysql.sql
index 3c4a7e5..21dc233 100644
--- a/modules/registry-refactoring/src/main/resources/appcatalog-mysql.sql
+++ b/modules/registry-refactoring/src/main/resources/appcatalog-mysql.sql
@@ -632,7 +632,7 @@ CREATE TABLE GROUP_COMPUTE_RESOURCE_PREFERENCE
         SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO VARCHAR(1000),
         PRIMARY KEY(RESOURCE_ID,GROUP_RESOURCE_PROFILE_ID),
         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-        FOREIGN KEY (GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_RESOURCE_PROFILE(GROUP_RESOURCE_PROFILE_ID)
+        FOREIGN KEY (GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_RESOURCE_PROFILE(GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE
 )ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
 CREATE TABLE GRP_SSH_ACC_PROV_CONFIG
diff --git a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/GroupResourceProfileRepositoryTest.java b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/GroupResourceProfileRepositoryTest.java
index 3815dad..2489094 100644
--- a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/GroupResourceProfileRepositoryTest.java
+++ b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/appcatalog/GroupResourceProfileRepositoryTest.java
@@ -32,6 +32,7 @@ import java.util.ArrayList;
 import java.util.List;
 
 import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
 
 public class GroupResourceProfileRepositoryTest extends TestBase {
@@ -207,6 +208,40 @@ public class GroupResourceProfileRepositoryTest extends TestBase {
         assertTrue(groupResourceProfileRepository.getAllGroupComputeResourcePolicies(groupResourceProfileId).size() == 2);
         assertTrue(groupResourceProfileRepository.getAllGroupBatchQueueResourcePolicies(groupResourceProfileId).size() == 2);
 
+        // AIRAVATA-2872 Test setting resourceSpecificCredentialStoreToken to a value and then changing it to null
+        GroupResourceProfile retrievedGroupResourceProfile = groupResourceProfileRepository.getGroupResourceProfile(groupResourceProfileId);
+        GroupComputeResourcePreference retrievedGroupComputeResourcePreference = retrievedGroupResourceProfile.getComputePreferences().stream()
+                .filter(pref -> pref.getComputeResourceId().equals(resourceId1))
+                .findFirst()
+                .get();
+        assertNull(retrievedGroupComputeResourcePreference.getResourceSpecificCredentialStoreToken());
+        retrievedGroupComputeResourcePreference.setResourceSpecificCredentialStoreToken("abc123");
+        groupResourceProfileRepository.updateGroupResourceProfile(retrievedGroupResourceProfile);
+
+        GroupResourceProfile retrievedGroupResourceProfile2 = groupResourceProfileRepository.getGroupResourceProfile(groupResourceProfileId);
+        GroupComputeResourcePreference retrievedGroupComputeResourcePreference2 = retrievedGroupResourceProfile2.getComputePreferences().stream()
+                .filter(pref -> pref.getComputeResourceId().equals(resourceId1))
+                .findFirst()
+                .get();
+        assertEquals("abc123", retrievedGroupComputeResourcePreference2.getResourceSpecificCredentialStoreToken());
+        retrievedGroupComputeResourcePreference2.setResourceSpecificCredentialStoreToken(null);
+        assertNull(retrievedGroupComputeResourcePreference2.getResourceSpecificCredentialStoreToken());
+        groupResourceProfileRepository.updateGroupResourceProfile(retrievedGroupResourceProfile2);
+
+        GroupResourceProfile retrievedGroupResourceProfile3 = groupResourceProfileRepository.getGroupResourceProfile(groupResourceProfileId);
+        GroupComputeResourcePreference retrievedGroupComputeResourcePreference3 = retrievedGroupResourceProfile3.getComputePreferences().stream()
+                .filter(pref -> pref.getComputeResourceId().equals(resourceId1))
+                .findFirst()
+                .get();
+        assertNull(retrievedGroupComputeResourcePreference3.getResourceSpecificCredentialStoreToken());
+
+        // Orphan removal test
+        assertEquals(2, retrievedGroupResourceProfile3.getComputePreferencesSize());
+        retrievedGroupResourceProfile3.setComputePreferences(retrievedGroupResourceProfile3.getComputePreferences().subList(0, 1));
+        groupResourceProfileRepository.updateGroupResourceProfile(retrievedGroupResourceProfile3);
+        GroupResourceProfile retrievedGroupResourceProfile4 = groupResourceProfileRepository.getGroupResourceProfile(groupResourceProfileId);
+        assertEquals(1, retrievedGroupResourceProfile4.getComputePreferencesSize());
+
         groupResourceProfileRepository.removeGroupResourceProfile(groupResourceProfileId);
         computeResourceRepository.removeComputeResource(resourceId1);
         computeResourceRepository.removeComputeResource(resourceId2);
diff --git a/modules/registry-refactoring/src/test/resources/appcatalog-derby.sql b/modules/registry-refactoring/src/test/resources/appcatalog-derby.sql
index 792f1e1..0dbbd6a 100644
--- a/modules/registry-refactoring/src/test/resources/appcatalog-derby.sql
+++ b/modules/registry-refactoring/src/test/resources/appcatalog-derby.sql
@@ -639,7 +639,7 @@ CREATE TABLE GROUP_COMPUTE_RESOURCE_PREFERENCE
         SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO VARCHAR(1000),
         PRIMARY KEY(RESOURCE_ID,GROUP_RESOURCE_PROFILE_ID),
         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-        FOREIGN KEY (GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_RESOURCE_PROFILE(GROUP_RESOURCE_PROFILE_ID)
+        FOREIGN KEY (GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_RESOURCE_PROFILE(GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE
 );
 
 CREATE TABLE GRP_SSH_ACC_PROV_CONFIG


[airavata] 02/03: AIRAVATA-2872 Fixing tests broken by loaded nulls strategy

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit cc4437e48f205d03a15df0490e4fe13bb366f57e
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Tue Nov 6 09:24:38 2018 -0500

    AIRAVATA-2872 Fixing tests broken by loaded nulls strategy
---
 .../registry/core/entities/appcatalog/AppEnvironmentEntity.java   | 4 ++--
 .../registry/core/entities/expcatalog/ExperimentStatusEntity.java | 4 ++--
 .../airavata/registry/core/entities/expcatalog/ProcessEntity.java | 4 ++--
 .../airavata/registry/core/entities/expcatalog/TaskEntity.java    | 4 ++--
 .../core/entities/replicacatalog/DataReplicaLocationEntity.java   | 4 ++--
 .../airavata/registry/core/utils/ObjectMapperSingleton.java       | 8 ++++----
 .../repositories/expcatalog/ExperimentStatusRepositoryTest.java   | 1 +
 7 files changed, 15 insertions(+), 14 deletions(-)

diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java
index 597d148..cbeec0b 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/appcatalog/AppEnvironmentEntity.java
@@ -49,8 +49,8 @@ public class AppEnvironmentEntity implements Serializable {
     @Column(name = "ENV_ORDER")
     private int envPathOrder;
 
-    @ManyToOne(targetEntity = ApplicationDeploymentEntity.class, cascade = CascadeType.MERGE)
-    @JoinColumn(name = "DEPLOYMENT_ID")
+    @ManyToOne(targetEntity = ApplicationDeploymentEntity.class)
+    @JoinColumn(name = "DEPLOYMENT_ID", nullable = false, updatable = false)
     @ForeignKey(deleteAction = ForeignKeyAction.CASCADE)
     private ApplicationDeploymentEntity applicationDeployment;
 
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java
index 91ec10f..5ef5a0a 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java
@@ -54,8 +54,8 @@ public class ExperimentStatusEntity implements Serializable {
     @Column(name = "REASON")
     private String reason;
 
-    @ManyToOne(targetEntity = ExperimentEntity.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY)
-    @JoinColumn(name = "EXPERIMENT_ID", referencedColumnName = "EXPERIMENT_ID")
+    @ManyToOne(targetEntity = ExperimentEntity.class, fetch = FetchType.LAZY)
+    @JoinColumn(name = "EXPERIMENT_ID", referencedColumnName = "EXPERIMENT_ID", nullable = false, updatable = false)
     private ExperimentEntity experiment;
 
     public ExperimentStatusEntity() {
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java
index b5c5ab7..3e3c378 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java
@@ -120,8 +120,8 @@ public class ProcessEntity implements Serializable {
             mappedBy = "process", fetch = FetchType.EAGER)
     private List<TaskEntity> tasks;
 
-    @ManyToOne(targetEntity = ExperimentEntity.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY)
-    @JoinColumn(name = "EXPERIMENT_ID", referencedColumnName = "EXPERIMENT_ID")
+    @ManyToOne(targetEntity = ExperimentEntity.class, fetch = FetchType.LAZY)
+    @JoinColumn(name = "EXPERIMENT_ID", referencedColumnName = "EXPERIMENT_ID", nullable = false, updatable = false)
     private ExperimentEntity experiment;
 
     public ProcessEntity() {
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskEntity.java
index fb37e87..90dfa79 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskEntity.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskEntity.java
@@ -73,8 +73,8 @@ public class TaskEntity implements Serializable {
             mappedBy = "task", fetch = FetchType.EAGER)
     private List<JobEntity> jobs;
 
-    @ManyToOne(targetEntity = ProcessEntity.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY)
-    @JoinColumn(name = "PARENT_PROCESS_ID", referencedColumnName = "PROCESS_ID")
+    @ManyToOne(targetEntity = ProcessEntity.class, fetch = FetchType.LAZY)
+    @JoinColumn(name = "PARENT_PROCESS_ID", referencedColumnName = "PROCESS_ID", nullable = false, updatable = false)
     private ProcessEntity process;
 
     public TaskEntity() {
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java
index 458119c..ca0360b 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/replicacatalog/DataReplicaLocationEntity.java
@@ -78,8 +78,8 @@ public class DataReplicaLocationEntity implements Serializable {
     @Column(name = "METADATA_VALUE")
     private Map<String, String> replicaMetadata;
 
-    @ManyToOne(targetEntity = DataProductEntity.class, cascade = CascadeType.MERGE)
-    @JoinColumn(name = "PRODUCT_URI")
+    @ManyToOne(targetEntity = DataProductEntity.class)
+    @JoinColumn(name = "PRODUCT_URI", nullable = false, updatable = false)
     private DataProductEntity dataProduct;
 
     public String getReplicaId() {
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/ObjectMapperSingleton.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/ObjectMapperSingleton.java
index 8ff15c4..ab5ffe9 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/ObjectMapperSingleton.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/utils/ObjectMapperSingleton.java
@@ -46,16 +46,16 @@ public class ObjectMapperSingleton extends DozerBeanMapper{
                     new ArrayList<String>(){{
                         add("dozer_mapping.xml");
                     }});
-            instance.setCustomFieldMapper(new MyCustomFieldMapper());
+            instance.setCustomFieldMapper(new SkipUnsetPrimitiveFieldMapper());
         }
         return instance;
     }
 
-    private static class MyCustomFieldMapper implements CustomFieldMapper {
+    private static class SkipUnsetPrimitiveFieldMapper implements CustomFieldMapper {
         @Override
         public boolean mapField(Object source, Object destination, Object sourceFieldValue, ClassMap classMap, FieldMap fieldMap) {
-            // Just skipping mapping field if not set on Thrift source model and it is primitive
-            if (isSourceUnsetThriftField(source, fieldMap) && ClassUtils.isPrimitiveOrWrapper(source.getClass())) {
+            // Just skipping mapping field if not set on Thrift source model and the field's value is primitive
+            if (isSourceUnsetThriftField(source, fieldMap) && sourceFieldValue != null && ClassUtils.isPrimitiveOrWrapper(sourceFieldValue.getClass())) {
                 logger.debug("Skipping field " + fieldMap.getSrcFieldName() + " since it is unset thrift field and is primitive");
                 return true;
             }
diff --git a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentStatusRepositoryTest.java b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentStatusRepositoryTest.java
index a2e628a..f6dc02a 100644
--- a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentStatusRepositoryTest.java
+++ b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentStatusRepositoryTest.java
@@ -89,6 +89,7 @@ public class ExperimentStatusRepositoryTest extends TestBase {
 
         ExperimentStatus updatedExecutingStatus = new ExperimentStatus(ExperimentState.EXECUTING);
         updatedExecutingStatus.setReason("updated reason");
+        updatedExecutingStatus.setTimeOfStateChange(experimentStatus.getTimeOfStateChange());
         String updatedExperimentStatusId = experimentStatusRepository.updateExperimentStatus(updatedExecutingStatus, experimentId);
 
         ExperimentStatus retrievedExpStatus = experimentStatusRepository.getExperimentStatus(experimentId);


[airavata] 03/03: AIRAVATA-2872 Adding NOT NULL to foreign key columns

Posted by ma...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

machristie pushed a commit to branch develop
in repository https://gitbox.apache.org/repos/asf/airavata.git

commit 2c01b94181be962f62bfca11c44a375745b00b45
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Tue Nov 6 11:32:05 2018 -0500

    AIRAVATA-2872 Adding NOT NULL to foreign key columns
    
    Also cleaning up, syncing up SQL files. I removed the derby SQL files
    from test/resources since we don't need a separate copy from the ones in
    main/resources and having a single copy should reduce confusion.
---
 .../entities/expcatalog/ProcessStatusEntity.java   |   4 +-
 .../src/main/resources/appcatalog-derby.sql        | 111 ++--
 .../src/main/resources/appcatalog-mysql.sql        | 112 ++--
 .../src/main/resources/expcatalog-derby.sql        |  46 +-
 .../src/main/resources/expcatalog-mysql.sql        |  58 +-
 .../src/main/resources/replicacatalog-derby.sql    |   4 +-
 .../src/main/resources/replicacatalog-mysql.sql    |   4 +-
 .../src/main/resources/workflowcatalog-derby.sql   |   4 +-
 .../src/main/resources/workflowcatalog-mysql.sql   |   4 +-
 .../expcatalog/ProcessStatusRepositoryTest.java    |   2 -
 .../resources/airavataworkflowcatalog-derby.sql    | 180 ------
 .../src/test/resources/appcatalog-derby.sql        | 684 ---------------------
 .../src/test/resources/expcatalog-derby.sql        | 399 ------------
 .../src/test/resources/replicacatalog-derby.sql    |  77 ---
 .../src/test/resources/workflowcatalog-derby.sql   | 128 ----
 15 files changed, 207 insertions(+), 1610 deletions(-)

diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessStatusEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessStatusEntity.java
index 6764c97..6e9565d 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessStatusEntity.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessStatusEntity.java
@@ -54,8 +54,8 @@ public class ProcessStatusEntity implements Serializable {
     @Column(name = "REASON")
     private String reason;
 
-    @ManyToOne(targetEntity = ProcessEntity.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY)
-    @JoinColumn(name = "PROCESS_ID", referencedColumnName = "PROCESS_ID")
+    @ManyToOne(targetEntity = ProcessEntity.class, fetch = FetchType.LAZY)
+    @JoinColumn(name = "PROCESS_ID", referencedColumnName = "PROCESS_ID", nullable = false, updatable = false)
     private ProcessEntity process;
 
     public ProcessStatusEntity() {
diff --git a/modules/registry-refactoring/src/main/resources/appcatalog-derby.sql b/modules/registry-refactoring/src/main/resources/appcatalog-derby.sql
index 5c5c55c..729dd61 100644
--- a/modules/registry-refactoring/src/main/resources/appcatalog-derby.sql
+++ b/modules/registry-refactoring/src/main/resources/appcatalog-derby.sql
@@ -40,7 +40,7 @@ CREATE TABLE COMPUTE_RESOURCE
 
 CREATE TABLE HOST_ALIAS
 (
-         RESOURCE_ID VARCHAR(255),
+         RESOURCE_ID VARCHAR(255) NOT NULL,
          ALIAS VARCHAR(255),
          PRIMARY KEY(RESOURCE_ID,ALIAS),
          FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
@@ -48,7 +48,7 @@ CREATE TABLE HOST_ALIAS
 
 CREATE TABLE HOST_IPADDRESS
 (
-         RESOURCE_ID VARCHAR(255),
+         RESOURCE_ID VARCHAR(255) NOT NULL,
          IP_ADDRESS VARCHAR(255),
          PRIMARY KEY(RESOURCE_ID,IP_ADDRESS),
          FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
@@ -66,13 +66,27 @@ CREATE TABLE GSISSH_SUBMISSION
 
 CREATE TABLE GSISSH_EXPORT
 (
-         SUBMISSION_ID VARCHAR(255),
+         SUBMISSION_ID VARCHAR(255) NOT NULL,
          EXPORT VARCHAR(255),
          PRIMARY KEY(SUBMISSION_ID, EXPORT),
          FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
 );
 
+CREATE TABLE GSISSH_PREJOBCOMMAND
+(
+         SUBMISSION_ID VARCHAR(255) NOT NULL,
+         COMMAND VARCHAR(255),
+         PRIMARY KEY(SUBMISSION_ID, COMMAND),
+         FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
+);
 
+CREATE TABLE GSISSH_POSTJOBCOMMAND
+(
+         SUBMISSION_ID VARCHAR(255) NOT NULL,
+         COMMAND VARCHAR(255),
+         PRIMARY KEY(SUBMISSION_ID, COMMAND),
+         FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
+);
 
 CREATE TABLE GLOBUS_SUBMISSION
 (
@@ -93,7 +107,7 @@ CREATE TABLE UNICORE_SUBMISSION
 CREATE TABLE UNICORE_DATAMOVEMENT
 (
          DATAMOVEMENT_ID VARCHAR(255),
-         SECURITY_PROTOCAL VARCHAR(255),
+         SECURITY_PROTOCOL VARCHAR(255),
          UNICORE_ENDPOINT_URL VARCHAR(255),
          PRIMARY KEY(DATAMOVEMENT_ID)
 );
@@ -101,7 +115,7 @@ CREATE TABLE UNICORE_DATAMOVEMENT
 
 CREATE TABLE GLOBUS_GK_ENDPOINT
 (
-         SUBMISSION_ID VARCHAR(255),
+         SUBMISSION_ID VARCHAR(255) NOT NULL,
          ENDPOINT VARCHAR(255),
          PRIMARY KEY(SUBMISSION_ID, ENDPOINT),
          FOREIGN KEY (SUBMISSION_ID) REFERENCES GLOBUS_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
@@ -202,11 +216,12 @@ CREATE TABLE APPLICATION_MODULE
 CREATE TABLE APPLICATION_DEPLOYMENT
 (
          DEPLOYMENT_ID VARCHAR(255),
-         APP_MODULE_ID VARCHAR(255),
-         COMPUTE_HOSTID VARCHAR(255),
+         APP_MODULE_ID VARCHAR(255) NOT NULL,
+         COMPUTE_HOSTID VARCHAR(255) NOT NULL,
          EXECUTABLE_PATH VARCHAR(255),
 	       PARALLELISM VARCHAR(255),
          APPLICATION_DESC VARCHAR(255),
+         ENV_MODULE_LOAD_CMD VARCHAR(255),
          CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
          UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
          GATEWAY_ID VARCHAR(255),
@@ -224,29 +239,32 @@ CREATE TABLE MODULE_LOAD_CMD
 (
         CMD VARCHAR (255) NOT NULL,
         APP_DEPLOYMENT_ID VARCHAR (255) NOT NULL,
+        COMMAND_ORDER INTEGER,
         PRIMARY KEY (APP_DEPLOYMENT_ID,CMD),
         FOREIGN KEY (APP_DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
 );
 
 CREATE TABLE PREJOB_COMMAND
 (
-         APPDEPLOYMENT_ID VARCHAR(255),
+         APPDEPLOYMENT_ID VARCHAR(255) NOT NULL,
          COMMAND VARCHAR(255),
+         COMMAND_ORDER INTEGER,
          PRIMARY KEY(APPDEPLOYMENT_ID, COMMAND),
          FOREIGN KEY (APPDEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
 );
 
 CREATE TABLE POSTJOB_COMMAND
 (
-         APPDEPLOYMENT_ID VARCHAR(255),
+         APPDEPLOYMENT_ID VARCHAR(255) NOT NULL,
          COMMAND VARCHAR(255),
+         COMMAND_ORDER INTEGER,
          PRIMARY KEY(APPDEPLOYMENT_ID, COMMAND),
          FOREIGN KEY (APPDEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
 );
 
 CREATE TABLE LIBRARY_PREPAND_PATH
 (
-         DEPLOYMENT_ID VARCHAR(255),
+         DEPLOYMENT_ID VARCHAR(255) NOT NULL,
          NAME VARCHAR(255),
          VALUE VARCHAR(255),
          PRIMARY KEY(DEPLOYMENT_ID, NAME),
@@ -255,7 +273,7 @@ CREATE TABLE LIBRARY_PREPAND_PATH
 
 CREATE TABLE LIBRARY_APEND_PATH
 (
-         DEPLOYMENT_ID VARCHAR(255),
+         DEPLOYMENT_ID VARCHAR(255) NOT NULL,
          NAME VARCHAR(255),
          VALUE VARCHAR(255),
          PRIMARY KEY(DEPLOYMENT_ID, NAME),
@@ -264,9 +282,10 @@ CREATE TABLE LIBRARY_APEND_PATH
 
 CREATE TABLE APP_ENVIRONMENT
 (
-         DEPLOYMENT_ID VARCHAR(255),
+         DEPLOYMENT_ID VARCHAR(255) NOT NULL,
          NAME VARCHAR(255),
          VALUE VARCHAR(255),
+         ENV_ORDER INTEGER,
          PRIMARY KEY(DEPLOYMENT_ID, NAME),
          FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
 );
@@ -278,6 +297,7 @@ CREATE TABLE APPLICATION_INTERFACE
          APPLICATION_DESCRIPTION VARCHAR(500),
          GATEWAY_ID VARCHAR(255),
          ARCHIVE_WORKING_DIRECTORY SMALLINT,
+         HAS_OPTIONAL_FILE_INPUTS SMALLINT,
          CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
          UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
          PRIMARY KEY(INTERFACE_ID)
@@ -285,8 +305,8 @@ CREATE TABLE APPLICATION_INTERFACE
 
 CREATE TABLE APP_MODULE_MAPPING
 (
-         INTERFACE_ID VARCHAR(255),
-         MODULE_ID VARCHAR(255),
+         INTERFACE_ID VARCHAR(255) NOT NULL,
+         MODULE_ID VARCHAR(255) NOT NULL,
          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
@@ -294,26 +314,26 @@ CREATE TABLE APP_MODULE_MAPPING
 
 CREATE TABLE APPLICATION_INPUT
 (
-         INTERFACE_ID VARCHAR(255),
+         INTERFACE_ID VARCHAR(255) NOT NULL,
          INPUT_KEY VARCHAR(255),
          INPUT_VALUE VARCHAR(255),
          DATA_TYPE VARCHAR(255),
          METADATA VARCHAR(255),
          APP_ARGUMENT VARCHAR(255),
          STANDARD_INPUT SMALLINT,
+         USER_FRIENDLY_DESC VARCHAR(255),
          INPUT_ORDER INTEGER,
          IS_REQUIRED SMALLINT,
          REQUIRED_TO_COMMANDLINE SMALLINT,
          DATA_STAGED SMALLINT,
-         USER_FRIENDLY_DESC VARCHAR(255),
-  IS_READ_ONLY SMALLINT,
+         IS_READ_ONLY SMALLINT,
          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),
+         INTERFACE_ID VARCHAR(255) NOT NULL,
          OUTPUT_KEY VARCHAR(255),
          OUTPUT_VALUE VARCHAR(255),
          DATA_TYPE VARCHAR(255),
@@ -341,8 +361,8 @@ CREATE TABLE GATEWAY_PROFILE
 
 CREATE TABLE COMPUTE_RESOURCE_PREFERENCE
 (
-        GATEWAY_ID VARCHAR(255),
-        RESOURCE_ID VARCHAR(255),
+        GATEWAY_ID VARCHAR(255) NOT NULL,
+        RESOURCE_ID VARCHAR(255) NOT NULL,
         OVERRIDE_BY_AIRAVATA SMALLINT,
         PREFERED_JOB_SUB_PROTOCOL VARCHAR(255),
         PREFERED_DATA_MOVE_PROTOCOL VARCHAR(255),
@@ -365,8 +385,8 @@ CREATE TABLE COMPUTE_RESOURCE_PREFERENCE
 
 CREATE TABLE SSH_ACCOUNT_PROVISIONER_CONFIG
 (
-        GATEWAY_ID VARCHAR(255),
-        RESOURCE_ID VARCHAR(255),
+        GATEWAY_ID VARCHAR(255) NOT NULL,
+        RESOURCE_ID VARCHAR(255) NOT NULL,
         CONFIG_NAME VARCHAR(255),
         CONFIG_VALUE VARCHAR(255),
         PRIMARY KEY (GATEWAY_ID, RESOURCE_ID, CONFIG_NAME),
@@ -478,9 +498,15 @@ CREATE TABLE LOCAL_SUBMISSION
         FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
 );
 
+CREATE TABLE LOCAL_DATA_MOVEMENT
+(
+  DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
+  PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
+);
+
 CREATE TABLE STORAGE_PREFERENCE
 (
-        GATEWAY_ID VARCHAR(255),
+        GATEWAY_ID VARCHAR(255) NOT NULL,
         STORAGE_RESOURCE_ID VARCHAR(255),
         LOGIN_USERNAME VARCHAR(255),
         FS_ROOT_LOCATION VARCHAR(255),
@@ -489,12 +515,6 @@ CREATE TABLE STORAGE_PREFERENCE
         FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY_PROFILE(GATEWAY_ID) ON DELETE CASCADE
 );
 
-CREATE TABLE LOCAL_DATA_MOVEMENT
-(
-	     DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-	     PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
-);
-
 CREATE TABLE WORKFLOW
 (
         WF_TEMPLATE_ID VARCHAR (255) NOT NULL,
@@ -510,7 +530,7 @@ CREATE TABLE WORKFLOW
 
 CREATE TABLE WORKFLOW_INPUT
 (
-         WF_TEMPLATE_ID VARCHAR(255),
+         WF_TEMPLATE_ID VARCHAR(255) NOT NULL,
          INPUT_KEY VARCHAR(255),
          INPUT_VALUE CLOB,
          DATA_TYPE VARCHAR(255),
@@ -524,7 +544,7 @@ CREATE TABLE WORKFLOW_INPUT
 
 CREATE TABLE WORKFLOW_OUTPUT
 (
-         WF_TEMPLATE_ID VARCHAR(255),
+         WF_TEMPLATE_ID VARCHAR(255) NOT NULL,
          OUTPUT_KEY VARCHAR(255),
          OUTPUT_VALUE CLOB,
          DATA_TYPE VARCHAR(255),
@@ -667,7 +687,7 @@ CREATE TABLE PARSER_OUTPUT
 (
         PARSER_OUTPUT_ID VARCHAR(255) NOT NULL,
         PARSER_OUTPUT_NAME VARCHAR(255) NOT NULL,
-        PARSER_OUTPUT_REQUIRED TINYINT(1) NOT NULL,
+        PARSER_OUTPUT_REQUIRED SMALLINT NOT NULL,
         PARSER_ID VARCHAR(255) NOT NULL,
         OUTPUT_TYPE VARCHAR(255) NOT NULL,
         PRIMARY KEY (PARSER_OUTPUT_ID),
@@ -678,7 +698,7 @@ CREATE TABLE PARSER_INPUT
 (
         PARSER_INPUT_ID VARCHAR(255) NOT NULL,
         PARSER_INPUT_NAME VARCHAR(255) NOT NULL,
-        PARSER_INPUT_REQUIRED TINYINT(1) NOT NULL,
+        PARSER_INPUT_REQUIRED SMALLINT NOT NULL,
         PARSER_ID VARCHAR(255) NOT NULL,
         INPUT_TYPE VARCHAR(255) NOT NULL,
         PRIMARY KEY (PARSER_INPUT_ID),
@@ -722,11 +742,30 @@ CREATE TABLE PARSER_CONNECTOR_INPUT
         FOREIGN KEY (PARSER_CONNECTOR_ID) REFERENCES PARSER_CONNECTOR (PARSER_CONNECTOR_ID) ON DELETE CASCADE
 );
 
+CREATE TABLE GATEWAY_GROUPS
+(
+        GATEWAY_ID VARCHAR(255),
+        ADMINS_GROUP_ID VARCHAR(255),
+        READ_ONLY_ADMINS_GROUP_ID VARCHAR(255),
+        DEFAULT_GATEWAY_USERS_GROUP_ID VARCHAR(255),
+        PRIMARY KEY(GATEWAY_ID)
+);
+
+CREATE TABLE CLOUD_JOB_SUBMISSION (
+  JOB_SUBMISSION_INTERFACE_ID varchar(255) NOT NULL,
+  EXECUTABLE_TYPE VARCHAR(255) DEFAULT NULL,
+  NODE_ID VARCHAR(255) DEFAULT NULL,
+  PROVIDER_NAME VARCHAR(255) DEFAULT NULL,
+  SECURITY_PROTOCOL VARCHAR(255) DEFAULT NULL,
+  USER_ACCOUNT_NAME VARCHAR(255) DEFAULT NULL,
+  PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID)
+);
+
 CREATE TABLE CONFIGURATION
 (
-        CONFIG_KEY VARCHAR(255),
-        CONFIG_VAL VARCHAR(255),
-        PRIMARY KEY(CONFIG_KEY, CONFIG_VAL)
+  CONFIG_KEY VARCHAR(255),
+  CONFIG_VAL VARCHAR(255),
+  PRIMARY KEY(CONFIG_KEY, CONFIG_VAL)
 );
 
 INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL) VALUES('app_catalog_version', '0.16');
diff --git a/modules/registry-refactoring/src/main/resources/appcatalog-mysql.sql b/modules/registry-refactoring/src/main/resources/appcatalog-mysql.sql
index 21dc233..0e10069 100644
--- a/modules/registry-refactoring/src/main/resources/appcatalog-mysql.sql
+++ b/modules/registry-refactoring/src/main/resources/appcatalog-mysql.sql
@@ -39,7 +39,7 @@ CREATE TABLE COMPUTE_RESOURCE
 
 CREATE TABLE HOST_ALIAS
 (
-         RESOURCE_ID VARCHAR(255),
+         RESOURCE_ID VARCHAR(255) NOT NULL,
          ALIAS VARCHAR(255),
          PRIMARY KEY(RESOURCE_ID,ALIAS),
          FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
@@ -47,7 +47,7 @@ CREATE TABLE HOST_ALIAS
 
 CREATE TABLE HOST_IPADDRESS
 (
-         RESOURCE_ID VARCHAR(255),
+         RESOURCE_ID VARCHAR(255) NOT NULL,
          IP_ADDRESS VARCHAR(255),
          PRIMARY KEY(RESOURCE_ID,IP_ADDRESS),
          FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
@@ -65,7 +65,7 @@ CREATE TABLE GSISSH_SUBMISSION
 
 CREATE TABLE GSISSH_EXPORT
 (
-         SUBMISSION_ID VARCHAR(255),
+         SUBMISSION_ID VARCHAR(255) NOT NULL,
          EXPORT VARCHAR(255),
          PRIMARY KEY(SUBMISSION_ID, EXPORT),
          FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
@@ -73,7 +73,7 @@ CREATE TABLE GSISSH_EXPORT
 
 CREATE TABLE GSISSH_PREJOBCOMMAND
 (
-         SUBMISSION_ID VARCHAR(255),
+         SUBMISSION_ID VARCHAR(255) NOT NULL,
          COMMAND VARCHAR(255),
          PRIMARY KEY(SUBMISSION_ID, COMMAND),
          FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
@@ -81,7 +81,7 @@ CREATE TABLE GSISSH_PREJOBCOMMAND
 
 CREATE TABLE GSISSH_POSTJOBCOMMAND
 (
-         SUBMISSION_ID VARCHAR(255),
+         SUBMISSION_ID VARCHAR(255) NOT NULL,
          COMMAND VARCHAR(255),
          PRIMARY KEY(SUBMISSION_ID, COMMAND),
          FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
@@ -105,14 +105,14 @@ CREATE TABLE UNICORE_SUBMISSION
 CREATE TABLE UNICORE_DATAMOVEMENT
 (
          DATAMOVEMENT_ID VARCHAR(255),
-         SECURITY_PROTOCAL VARCHAR(255),
+         SECURITY_PROTOCOL VARCHAR(255),
          UNICORE_ENDPOINT_URL VARCHAR(255),
          PRIMARY KEY(DATAMOVEMENT_ID)
 );
 
 CREATE TABLE GLOBUS_GK_ENDPOINT
 (
-         SUBMISSION_ID VARCHAR(255),
+         SUBMISSION_ID VARCHAR(255) NOT NULL,
          ENDPOINT VARCHAR(255),
          PRIMARY KEY(SUBMISSION_ID, ENDPOINT),
          FOREIGN KEY (SUBMISSION_ID) REFERENCES GLOBUS_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
@@ -143,7 +143,6 @@ CREATE TABLE SSH_JOB_SUBMISSION
         FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
 );
 
-
 CREATE TABLE SCP_DATA_MOVEMENT
 (
         QUEUE_DESCRIPTION VARCHAR (255),
@@ -208,8 +207,8 @@ CREATE TABLE APPLICATION_MODULE
 CREATE TABLE APPLICATION_DEPLOYMENT
 (
          DEPLOYMENT_ID VARCHAR(255),
-         APP_MODULE_ID VARCHAR(255),
-         COMPUTE_HOSTID VARCHAR(255),
+         APP_MODULE_ID VARCHAR(255) NOT NULL,
+         COMPUTE_HOSTID VARCHAR(255) NOT NULL,
          EXECUTABLE_PATH VARCHAR(255),
 	       PARALLELISM VARCHAR(255),
          APPLICATION_DESC VARCHAR(255),
@@ -227,9 +226,36 @@ CREATE TABLE APPLICATION_DEPLOYMENT
          FOREIGN KEY (APP_MODULE_ID) REFERENCES APPLICATION_MODULE(MODULE_ID) ON DELETE CASCADE
 );
 
+CREATE TABLE MODULE_LOAD_CMD
+(
+        CMD VARCHAR (255) NOT NULL,
+        APP_DEPLOYMENT_ID VARCHAR (255) NOT NULL,
+        COMMAND_ORDER INTEGER,
+        PRIMARY KEY (APP_DEPLOYMENT_ID,CMD),
+        FOREIGN KEY (APP_DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE PREJOB_COMMAND
+(
+         APPDEPLOYMENT_ID VARCHAR(255) NOT NULL,
+         COMMAND VARCHAR(255),
+         COMMAND_ORDER INTEGER,
+         PRIMARY KEY(APPDEPLOYMENT_ID, COMMAND),
+         FOREIGN KEY (APPDEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
+);
+
+CREATE TABLE POSTJOB_COMMAND
+(
+         APPDEPLOYMENT_ID VARCHAR(255) NOT NULL,
+         COMMAND VARCHAR(255),
+         COMMAND_ORDER INTEGER,
+         PRIMARY KEY(APPDEPLOYMENT_ID, COMMAND),
+         FOREIGN KEY (APPDEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
+);
+
 CREATE TABLE LIBRARY_PREPAND_PATH
 (
-         DEPLOYMENT_ID VARCHAR(255),
+         DEPLOYMENT_ID VARCHAR(255) NOT NULL,
          NAME VARCHAR(255),
          VALUE VARCHAR(255),
          PRIMARY KEY(DEPLOYMENT_ID, NAME),
@@ -238,7 +264,7 @@ CREATE TABLE LIBRARY_PREPAND_PATH
 
 CREATE TABLE LIBRARY_APEND_PATH
 (
-         DEPLOYMENT_ID VARCHAR(255),
+         DEPLOYMENT_ID VARCHAR(255) NOT NULL,
          NAME VARCHAR(255),
          VALUE VARCHAR(255),
          PRIMARY KEY(DEPLOYMENT_ID, NAME),
@@ -247,29 +273,14 @@ CREATE TABLE LIBRARY_APEND_PATH
 
 CREATE TABLE APP_ENVIRONMENT
 (
-         DEPLOYMENT_ID VARCHAR(255),
+         DEPLOYMENT_ID VARCHAR(255) NOT NULL,
          NAME VARCHAR(255),
          VALUE VARCHAR(255),
+         ENV_ORDER INTEGER,
          PRIMARY KEY(DEPLOYMENT_ID, NAME),
          FOREIGN KEY (DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
 );
 
-CREATE TABLE PREJOB_COMMAND
-(
-         APPDEPLOYMENT_ID VARCHAR(255),
-         COMMAND VARCHAR(255),
-         PRIMARY KEY(APPDEPLOYMENT_ID, COMMAND),
-         FOREIGN KEY (APPDEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE POSTJOB_COMMAND
-(
-         APPDEPLOYMENT_ID VARCHAR(255),
-         COMMAND VARCHAR(255),
-         PRIMARY KEY(APPDEPLOYMENT_ID, COMMAND),
-         FOREIGN KEY (APPDEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-);
-
 CREATE TABLE APPLICATION_INTERFACE
 (
          INTERFACE_ID VARCHAR(255),
@@ -285,8 +296,8 @@ CREATE TABLE APPLICATION_INTERFACE
 
 CREATE TABLE APP_MODULE_MAPPING
 (
-         INTERFACE_ID VARCHAR(255),
-         MODULE_ID VARCHAR(255),
+         INTERFACE_ID VARCHAR(255) NOT NULL,
+         MODULE_ID VARCHAR(255) NOT NULL,
          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
@@ -294,7 +305,7 @@ CREATE TABLE APP_MODULE_MAPPING
 
 CREATE TABLE APPLICATION_INPUT
 (
-         INTERFACE_ID VARCHAR(255),
+         INTERFACE_ID VARCHAR(255) NOT NULL,
          INPUT_KEY VARCHAR(255),
          INPUT_VALUE VARCHAR(255),
          DATA_TYPE VARCHAR(255),
@@ -313,7 +324,7 @@ CREATE TABLE APPLICATION_INPUT
 
 CREATE TABLE APPLICATION_OUTPUT
 (
-         INTERFACE_ID VARCHAR(255),
+         INTERFACE_ID VARCHAR(255) NOT NULL,
          OUTPUT_KEY VARCHAR(255),
          OUTPUT_VALUE VARCHAR(255),
          DATA_TYPE VARCHAR(255),
@@ -341,8 +352,8 @@ CREATE TABLE GATEWAY_PROFILE
 
 CREATE TABLE COMPUTE_RESOURCE_PREFERENCE
 (
-        GATEWAY_ID VARCHAR(255),
-        RESOURCE_ID VARCHAR(255),
+        GATEWAY_ID VARCHAR(255) NOT NULL,
+        RESOURCE_ID VARCHAR(255) NOT NULL,
         OVERRIDE_BY_AIRAVATA SMALLINT,
         PREFERED_JOB_SUB_PROTOCOL VARCHAR(255),
         PREFERED_DATA_MOVE_PROTOCOL VARCHAR(255),
@@ -365,8 +376,8 @@ CREATE TABLE COMPUTE_RESOURCE_PREFERENCE
 
 CREATE TABLE SSH_ACCOUNT_PROVISIONER_CONFIG
 (
-        GATEWAY_ID VARCHAR(255),
-        RESOURCE_ID VARCHAR(255),
+        GATEWAY_ID VARCHAR(255) NOT NULL,
+        RESOURCE_ID VARCHAR(255) NOT NULL,
         CONFIG_NAME VARCHAR(255),
         CONFIG_VALUE VARCHAR(255),
         PRIMARY KEY (GATEWAY_ID, RESOURCE_ID, CONFIG_NAME),
@@ -440,8 +451,8 @@ CREATE TABLE STORAGE_RESOURCE
 CREATE TABLE STORAGE_INTERFACE
 (
         STORAGE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_PROTOCOL VARCHAR (255) NOT NULL,
         DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
+        DATA_MOVEMENT_PROTOCOL VARCHAR (255) NOT NULL,
         PRIORITY_ORDER INTEGER,
         CREATION_TIME TIMESTAMP DEFAULT NOW(),
         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
@@ -486,7 +497,7 @@ CREATE TABLE LOCAL_DATA_MOVEMENT
 
 CREATE TABLE DATA_STORAGE_PREFERENCE
 (
-        GATEWAY_ID VARCHAR(255),
+        GATEWAY_ID VARCHAR(255) NOT NULL,
         STORAGE_RESOURCE_ID VARCHAR(255),
         LOGIN_USERNAME VARCHAR(255),
         FS_ROOT_LOCATION VARCHAR(255),
@@ -509,7 +520,7 @@ CREATE TABLE WORKFLOW
 
 CREATE TABLE WORKFLOW_INPUT
 (
-         WF_TEMPLATE_ID VARCHAR(255),
+         WF_TEMPLATE_ID VARCHAR(255) NOT NULL,
          INPUT_KEY VARCHAR(255),
          INPUT_VALUE LONGTEXT,
          DATA_TYPE VARCHAR(255),
@@ -523,7 +534,7 @@ CREATE TABLE WORKFLOW_INPUT
 
 CREATE TABLE WORKFLOW_OUTPUT
 (
-         WF_TEMPLATE_ID VARCHAR(255),
+         WF_TEMPLATE_ID VARCHAR(255) NOT NULL,
          OUTPUT_KEY VARCHAR(255),
          OUTPUT_VALUE LONGTEXT,
          DATA_TYPE VARCHAR(255),
@@ -721,6 +732,25 @@ CREATE TABLE PARSER_CONNECTOR_INPUT
         FOREIGN KEY (PARSER_CONNECTOR_ID) REFERENCES PARSER_CONNECTOR (PARSER_CONNECTOR_ID) ON DELETE CASCADE
 )ENGINE=InnoDB DEFAULT CHARSET=latin1;
 
+CREATE TABLE GATEWAY_GROUPS
+(
+  GATEWAY_ID VARCHAR(255),
+  ADMINS_GROUP_ID VARCHAR(255),
+  READ_ONLY_ADMINS_GROUP_ID VARCHAR(255),
+  DEFAULT_GATEWAY_USERS_GROUP_ID VARCHAR(255),
+  PRIMARY KEY(GATEWAY_ID)
+);
+
+CREATE TABLE CLOUD_JOB_SUBMISSION (
+  JOB_SUBMISSION_INTERFACE_ID varchar(255) NOT NULL,
+  EXECUTABLE_TYPE VARCHAR(255) DEFAULT NULL,
+  NODE_ID VARCHAR(255) DEFAULT NULL,
+  PROVIDER_NAME VARCHAR(255) DEFAULT NULL,
+  SECURITY_PROTOCOL VARCHAR(255) DEFAULT NULL,
+  USER_ACCOUNT_NAME VARCHAR(255) DEFAULT NULL,
+  PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID)
+);
+
 CREATE TABLE CONFIGURATION
 (
           CONFIG_KEY VARCHAR(255),
diff --git a/modules/registry-refactoring/src/main/resources/expcatalog-derby.sql b/modules/registry-refactoring/src/main/resources/expcatalog-derby.sql
index 042c66e..bd6bf67 100644
--- a/modules/registry-refactoring/src/main/resources/expcatalog-derby.sql
+++ b/modules/registry-refactoring/src/main/resources/expcatalog-derby.sql
@@ -60,14 +60,14 @@ CREATE TABLE USERS
         AIRAVATA_INTERNAL_USER_ID VARCHAR(255),
         USER_NAME VARCHAR(255),
         PASSWORD VARCHAR(255),
-        GATEWAY_ID VARCHAR(255),
+        GATEWAY_ID VARCHAR(255) NOT NULL,
         PRIMARY KEY (GATEWAY_ID, USER_NAME),
         FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE
 );
 
 CREATE TABLE GATEWAY_WORKER
 (
-        GATEWAY_ID VARCHAR(255),
+        GATEWAY_ID VARCHAR(255) NOT NULL,
         USER_NAME VARCHAR(255),
         PRIMARY KEY (GATEWAY_ID, USER_NAME),
         FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE
@@ -75,7 +75,7 @@ CREATE TABLE GATEWAY_WORKER
 
 CREATE TABLE PROJECT
 (
-        GATEWAY_ID VARCHAR(255),
+        GATEWAY_ID VARCHAR(255) NOT NULL,
         USER_NAME VARCHAR(255),
         PROJECT_NAME VARCHAR(255),
         PROJECT_ID VARCHAR(255),
@@ -87,15 +87,15 @@ CREATE TABLE PROJECT
 
 CREATE TABLE PROJECT_USER
 (
-        PROJECT_ID VARCHAR(255),
-        USER_NAME VARCHAR(255),
+        PROJECT_ID VARCHAR(255) NOT NULL,
+        USER_NAME VARCHAR(255) NOT NULL,
         PRIMARY KEY (PROJECT_ID,USER_NAME),
         FOREIGN KEY (PROJECT_ID) REFERENCES PROJECT(PROJECT_ID) ON DELETE CASCADE
 );
 
 CREATE TABLE EXPERIMENT (
         EXPERIMENT_ID varchar(255),
-        PROJECT_ID varchar(255),
+        PROJECT_ID varchar(255) NOT NULL,
         GATEWAY_ID varchar(255),
         EXPERIMENT_TYPE varchar(255),
         USER_NAME varchar(255),
@@ -114,7 +114,7 @@ CREATE TABLE EXPERIMENT (
 
 CREATE TABLE EXPERIMENT_INPUT
 (
-        EXPERIMENT_ID varchar(255),
+        EXPERIMENT_ID varchar(255) NOT NULL,
         INPUT_NAME varchar(255),
         INPUT_VALUE CLOB,
         DATA_TYPE varchar(255),
@@ -134,7 +134,7 @@ CREATE TABLE EXPERIMENT_INPUT
 
 CREATE TABLE EXPERIMENT_OUTPUT
 (
-        EXPERIMENT_ID varchar(255),
+        EXPERIMENT_ID varchar(255) NOT NULL,
         OUTPUT_NAME varchar(255),
         OUTPUT_VALUE CLOB,
         DATA_TYPE varchar(255),
@@ -153,7 +153,7 @@ CREATE TABLE EXPERIMENT_OUTPUT
 
 CREATE TABLE EXPERIMENT_STATUS (
         STATUS_ID varchar(255),
-        EXPERIMENT_ID varchar(255),
+        EXPERIMENT_ID varchar(255) NOT NULL,
         STATE varchar(255),
         TIME_OF_STATE_CHANGE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
         REASON CLOB,
@@ -164,7 +164,7 @@ CREATE TABLE EXPERIMENT_STATUS (
 
 CREATE TABLE EXPERIMENT_ERROR (
         ERROR_ID varchar(255),
-        EXPERIMENT_ID varchar(255),
+        EXPERIMENT_ID varchar(255) NOT NULL,
         CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
         ACTUAL_ERROR_MESSAGE CLOB,
         USER_FRIENDLY_MESSAGE CLOB,
@@ -175,7 +175,7 @@ CREATE TABLE EXPERIMENT_ERROR (
 );
 
 CREATE TABLE USER_CONFIGURATION_DATA (
-        EXPERIMENT_ID varchar(255),
+        EXPERIMENT_ID varchar(255) NOT NULL,
         AIRAVATA_AUTO_SCHEDULE SMALLINT,
         OVERRIDE_MANUAL_SCHEDULED_PARAMS SMALLINT,
         SHARE_EXPERIMENT_PUBLICALLY SMALLINT,
@@ -216,7 +216,7 @@ CREATE VIEW EXPERIMENT_SUMMARY AS
 
 CREATE TABLE PROCESS (
         PROCESS_ID varchar(255),
-        EXPERIMENT_ID varchar(255),
+        EXPERIMENT_ID varchar(255) NOT NULL,
         CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
         LAST_UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
         PROCESS_DETAIL CLOB,
@@ -240,7 +240,7 @@ CREATE TABLE PROCESS (
 
 CREATE TABLE PROCESS_INPUT
 (
-        PROCESS_ID varchar(255),
+        PROCESS_ID varchar(255) NOT NULL,
         INPUT_NAME varchar(255),
         INPUT_VALUE CLOB,
         DATA_TYPE varchar(255),
@@ -260,7 +260,7 @@ CREATE TABLE PROCESS_INPUT
 
 CREATE TABLE PROCESS_OUTPUT
 (
-        PROCESS_ID varchar(255),
+        PROCESS_ID varchar(255) NOT NULL,
         OUTPUT_NAME varchar(255),
         OUTPUT_VALUE CLOB,
         DATA_TYPE varchar(255),
@@ -279,7 +279,7 @@ CREATE TABLE PROCESS_OUTPUT
 
 CREATE TABLE PROCESS_STATUS (
         STATUS_ID varchar(255),
-        PROCESS_ID varchar(255),
+        PROCESS_ID varchar(255) NOT NULL,
         STATE varchar(255),
         TIME_OF_STATE_CHANGE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
         REASON CLOB,
@@ -290,7 +290,7 @@ CREATE TABLE PROCESS_STATUS (
 
 CREATE TABLE PROCESS_ERROR (
         ERROR_ID varchar(255),
-        PROCESS_ID varchar(255),
+        PROCESS_ID varchar(255) NOT NULL,
         CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
         ACTUAL_ERROR_MESSAGE CLOB,
         USER_FRIENDLY_MESSAGE CLOB,
@@ -301,7 +301,7 @@ CREATE TABLE PROCESS_ERROR (
 );
 
 CREATE TABLE PROCESS_RESOURCE_SCHEDULE (
-        PROCESS_ID varchar(255),
+        PROCESS_ID varchar(255) NOT NULL,
         RESOURCE_HOST_ID varchar(255),
         TOTAL_CPU_COUNT INT,
         NODE_COUNT INT,
@@ -317,7 +317,7 @@ CREATE TABLE PROCESS_RESOURCE_SCHEDULE (
 CREATE TABLE TASK (
         TASK_ID varchar(255),
         TASK_TYPE varchar(255),
-        PARENT_PROCESS_ID varchar(255),
+        PARENT_PROCESS_ID varchar(255) NOT NULL,
         CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
         LAST_UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
         TASK_DETAIL CLOB,
@@ -328,7 +328,7 @@ CREATE TABLE TASK (
 
 CREATE TABLE TASK_STATUS (
         STATUS_ID varchar(255),
-        TASK_ID varchar(255),
+        TASK_ID varchar(255) NOT NULL,
         STATE varchar(255),
         TIME_OF_STATE_CHANGE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
         REASON CLOB,
@@ -339,7 +339,7 @@ CREATE TABLE TASK_STATUS (
 
 CREATE TABLE TASK_ERROR (
         ERROR_ID varchar(255),
-        TASK_ID varchar(255),
+        TASK_ID varchar(255) NOT NULL,
         CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
         ACTUAL_ERROR_MESSAGE CLOB,
         USER_FRIENDLY_MESSAGE CLOB,
@@ -351,7 +351,7 @@ CREATE TABLE TASK_ERROR (
 
 CREATE TABLE JOB (
         JOB_ID varchar(255),
-        TASK_ID varchar(255),
+        TASK_ID varchar(255) NOT NULL,
         PROCESS_ID varchar(255),
         JOB_DESCRIPTION CLOB NOT NULL,
         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
@@ -367,8 +367,8 @@ CREATE TABLE JOB (
 
 CREATE TABLE JOB_STATUS (
         STATUS_ID varchar(255),
-        JOB_ID varchar(255),
-        TASK_ID varchar(255),
+        JOB_ID varchar(255) NOT NULL,
+        TASK_ID varchar(255) NOT NULL,
         STATE varchar(255),
         TIME_OF_STATE_CHANGE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
         REASON CLOB,
diff --git a/modules/registry-refactoring/src/main/resources/expcatalog-mysql.sql b/modules/registry-refactoring/src/main/resources/expcatalog-mysql.sql
index be38663..b5dd7ec 100644
--- a/modules/registry-refactoring/src/main/resources/expcatalog-mysql.sql
+++ b/modules/registry-refactoring/src/main/resources/expcatalog-mysql.sql
@@ -60,44 +60,42 @@ CREATE TABLE USERS
         AIRAVATA_INTERNAL_USER_ID VARCHAR(255),
         USER_NAME VARCHAR(255),
         PASSWORD VARCHAR(255),
-        GATEWAY_ID VARCHAR(255),
-        PRIMARY KEY(USER_NAME, GATEWAY_ID)
+        GATEWAY_ID VARCHAR(255) NOT NULL,
+        PRIMARY KEY (GATEWAY_ID, USER_NAME),
+        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE
 );
 
 CREATE TABLE GATEWAY_WORKER
 (
-        GATEWAY_ID VARCHAR(255),
+        GATEWAY_ID VARCHAR(255) NOT NULL,
         USER_NAME VARCHAR(255),
         PRIMARY KEY (GATEWAY_ID, USER_NAME),
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE,
-        FOREIGN KEY (USER_NAME) REFERENCES USERS(USER_NAME) ON DELETE CASCADE
+        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE
 );
 
 CREATE TABLE PROJECT
 (
-        GATEWAY_ID VARCHAR(255),
+        GATEWAY_ID VARCHAR(255) NOT NULL,
         USER_NAME VARCHAR(255),
         PROJECT_NAME VARCHAR(255),
         PROJECT_ID VARCHAR(255),
         DESCRIPTION VARCHAR(255),
         CREATION_TIME TIMESTAMP DEFAULT NOW(),
         PRIMARY KEY (PROJECT_ID),
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE,
-        FOREIGN KEY (USER_NAME) REFERENCES USERS(USER_NAME) ON DELETE CASCADE
+        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE
 );
 
 CREATE TABLE PROJECT_USER
 (
-        PROJECT_ID VARCHAR(255),
-        USER_NAME VARCHAR(255),
+        PROJECT_ID VARCHAR(255) NOT NULL,
+        USER_NAME VARCHAR(255) NOT NULL,
         PRIMARY KEY (PROJECT_ID,USER_NAME),
-        FOREIGN KEY (PROJECT_ID) REFERENCES PROJECT(PROJECT_ID) ON DELETE CASCADE,
-        FOREIGN KEY (USER_NAME) REFERENCES USERS(USER_NAME) ON DELETE CASCADE
+        FOREIGN KEY (PROJECT_ID) REFERENCES PROJECT(PROJECT_ID) ON DELETE CASCADE
 );
 
 CREATE TABLE EXPERIMENT (
         EXPERIMENT_ID varchar(255),
-        PROJECT_ID varchar(255),
+        PROJECT_ID varchar(255) NOT NULL,
         GATEWAY_ID varchar(255),
         EXPERIMENT_TYPE varchar(255),
         USER_NAME varchar(255),
@@ -116,7 +114,7 @@ CREATE TABLE EXPERIMENT (
 
 CREATE TABLE EXPERIMENT_INPUT
 (
-        EXPERIMENT_ID varchar(255),
+        EXPERIMENT_ID varchar(255) NOT NULL,
         INPUT_NAME varchar(255),
         INPUT_VALUE text,
         DATA_TYPE varchar(255),
@@ -136,7 +134,7 @@ CREATE TABLE EXPERIMENT_INPUT
 
 CREATE TABLE EXPERIMENT_OUTPUT
 (
-        EXPERIMENT_ID varchar(255),
+        EXPERIMENT_ID varchar(255) NOT NULL,
         OUTPUT_NAME varchar(255),
         OUTPUT_VALUE text,
         DATA_TYPE varchar(255),
@@ -155,7 +153,7 @@ CREATE TABLE EXPERIMENT_OUTPUT
 
 CREATE TABLE EXPERIMENT_STATUS (
         STATUS_ID varchar(255),
-        EXPERIMENT_ID varchar(255),
+        EXPERIMENT_ID varchar(255) NOT NULL,
         STATE varchar(255),
         TIME_OF_STATE_CHANGE TIMESTAMP(6) NOT NULL DEFAULT CURRENT_TIMESTAMP(6) ON UPDATE CURRENT_TIMESTAMP(6),
         REASON LONGTEXT,
@@ -166,7 +164,7 @@ CREATE TABLE EXPERIMENT_STATUS (
 
 CREATE TABLE EXPERIMENT_ERROR (
         ERROR_ID varchar(255),
-        EXPERIMENT_ID varchar(255),
+        EXPERIMENT_ID varchar(255) NOT NULL,
         CREATION_TIME timestamp DEFAULT NOW(),
         ACTUAL_ERROR_MESSAGE text,
         USER_FRIENDLY_MESSAGE text,
@@ -177,7 +175,7 @@ CREATE TABLE EXPERIMENT_ERROR (
 );
 
 CREATE TABLE USER_CONFIGURATION_DATA (
-        EXPERIMENT_ID varchar(255),
+        EXPERIMENT_ID varchar(255) NOT NULL,
         AIRAVATA_AUTO_SCHEDULE tinyint(1),
         OVERRIDE_MANUAL_SCHEDULED_PARAMS tinyint(1),
         SHARE_EXPERIMENT_PUBLICALLY tinyint(1),
@@ -220,7 +218,7 @@ CREATE VIEW EXPERIMENT_SUMMARY AS
 
 CREATE TABLE PROCESS (
         PROCESS_ID varchar(255),
-        EXPERIMENT_ID varchar(255),
+        EXPERIMENT_ID varchar(255) NOT NULL,
         CREATION_TIME  TIMESTAMP DEFAULT NOW(),
         LAST_UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
         PROCESS_DETAIL text,
@@ -244,7 +242,7 @@ CREATE TABLE PROCESS (
 
 CREATE TABLE PROCESS_INPUT
 (
-        PROCESS_ID varchar(255),
+        PROCESS_ID varchar(255) NOT NULL,
         INPUT_NAME varchar(255),
         INPUT_VALUE text,
         DATA_TYPE varchar(255),
@@ -264,7 +262,7 @@ CREATE TABLE PROCESS_INPUT
 
 CREATE TABLE PROCESS_OUTPUT
 (
-        PROCESS_ID varchar(255),
+        PROCESS_ID varchar(255) NOT NULL,
         OUTPUT_NAME varchar(255),
         OUTPUT_VALUE LONGTEXT,
         DATA_TYPE varchar(255),
@@ -283,7 +281,7 @@ CREATE TABLE PROCESS_OUTPUT
 
 CREATE TABLE PROCESS_STATUS (
         STATUS_ID varchar(255),
-        PROCESS_ID varchar(255),
+        PROCESS_ID varchar(255) NOT NULL,
         STATE varchar(255),
         TIME_OF_STATE_CHANGE TIMESTAMP(6) DEFAULT NOW(6) ON UPDATE NOW(6),
         REASON LONGTEXT,
@@ -294,7 +292,7 @@ CREATE TABLE PROCESS_STATUS (
 
 CREATE TABLE PROCESS_ERROR (
         ERROR_ID varchar(255),
-        PROCESS_ID varchar(255),
+        PROCESS_ID varchar(255) NOT NULL,
         CREATION_TIME timestamp DEFAULT NOW(),
         ACTUAL_ERROR_MESSAGE text,
         USER_FRIENDLY_MESSAGE text,
@@ -305,7 +303,7 @@ CREATE TABLE PROCESS_ERROR (
 );
 
 CREATE TABLE PROCESS_RESOURCE_SCHEDULE (
-        PROCESS_ID varchar(255),
+        PROCESS_ID varchar(255) NOT NULL,
         RESOURCE_HOST_ID varchar(255),
         TOTAL_CPU_COUNT int(11),
         NODE_COUNT int(11),
@@ -320,7 +318,7 @@ CREATE TABLE PROCESS_RESOURCE_SCHEDULE (
 CREATE TABLE TASK (
         TASK_ID varchar(255),
         TASK_TYPE varchar(255),
-        PARENT_PROCESS_ID varchar(255),
+        PARENT_PROCESS_ID varchar(255) NOT NULL,
         CREATION_TIME timestamp DEFAULT NOW(),
         LAST_UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
         TASK_DETAIL text,
@@ -331,7 +329,7 @@ CREATE TABLE TASK (
 
 CREATE TABLE TASK_STATUS (
         STATUS_ID varchar(255),
-        TASK_ID varchar(255),
+        TASK_ID varchar(255) NOT NULL,
         STATE varchar(255),
         TIME_OF_STATE_CHANGE TIMESTAMP(6) DEFAULT NOW(6) ON UPDATE NOW(6),
         REASON LONGTEXT,
@@ -342,7 +340,7 @@ CREATE TABLE TASK_STATUS (
 
 CREATE TABLE TASK_ERROR (
         ERROR_ID varchar(255),
-        TASK_ID varchar(255),
+        TASK_ID varchar(255) NOT NULL,
         CREATION_TIME timestamp DEFAULT NOW(),
         ACTUAL_ERROR_MESSAGE text,
         USER_FRIENDLY_MESSAGE text,
@@ -354,7 +352,7 @@ CREATE TABLE TASK_ERROR (
 
 CREATE TABLE JOB (
         JOB_ID varchar(255),
-        TASK_ID varchar(255),
+        TASK_ID varchar(255) NOT NULL,
         PROCESS_ID varchar(255),
         JOB_DESCRIPTION LONGTEXT NOT NULL,
         CREATION_TIME timestamp DEFAULT NOW(),
@@ -370,8 +368,8 @@ CREATE TABLE JOB (
 
 CREATE TABLE JOB_STATUS (
         STATUS_ID varchar(255),
-        JOB_ID varchar(255),
-        TASK_ID varchar(255),
+        JOB_ID varchar(255) NOT NULL,
+        TASK_ID varchar(255) NOT NULL,
         STATE varchar(255),
         TIME_OF_STATE_CHANGE TIMESTAMP(6) DEFAULT NOW(6) ON UPDATE NOW(6),
         REASON LONGTEXT,
diff --git a/modules/registry-refactoring/src/main/resources/replicacatalog-derby.sql b/modules/registry-refactoring/src/main/resources/replicacatalog-derby.sql
index f510f36..db259b1 100644
--- a/modules/registry-refactoring/src/main/resources/replicacatalog-derby.sql
+++ b/modules/registry-refactoring/src/main/resources/replicacatalog-derby.sql
@@ -50,7 +50,7 @@ CREATE TABLE DATA_REPLICA_LOCATION
 
 CREATE TABLE DATA_PRODUCT_METADATA
 (
-        PRODUCT_URI VARCHAR(255),
+        PRODUCT_URI VARCHAR(255) NOT NULL,
         METADATA_KEY VARCHAR(255),
         METADATA_VALUE VARCHAR(2048),
         PRIMARY KEY(PRODUCT_URI, METADATA_KEY),
@@ -59,7 +59,7 @@ CREATE TABLE DATA_PRODUCT_METADATA
 
 CREATE TABLE DATA_REPLICA_METADATA
 (
-        REPLICA_ID VARCHAR(255),
+        REPLICA_ID VARCHAR(255) NOT NULL,
         METADATA_KEY VARCHAR(255),
         METADATA_VALUE VARCHAR(2048),
         PRIMARY KEY(REPLICA_ID, METADATA_KEY),
diff --git a/modules/registry-refactoring/src/main/resources/replicacatalog-mysql.sql b/modules/registry-refactoring/src/main/resources/replicacatalog-mysql.sql
index bb9bbfc..9a964c7 100644
--- a/modules/registry-refactoring/src/main/resources/replicacatalog-mysql.sql
+++ b/modules/registry-refactoring/src/main/resources/replicacatalog-mysql.sql
@@ -50,7 +50,7 @@ CREATE TABLE DATA_REPLICA_LOCATION
 
 CREATE TABLE DATA_PRODUCT_METADATA
 (
-        PRODUCT_URI VARCHAR(255),
+        PRODUCT_URI VARCHAR(255) NOT NULL,
         METADATA_KEY VARCHAR(255),
         METADATA_VALUE VARCHAR(255),
         PRIMARY KEY(PRODUCT_URI, METADATA_KEY),
@@ -59,7 +59,7 @@ CREATE TABLE DATA_PRODUCT_METADATA
 
 CREATE TABLE DATA_REPLICA_METADATA
 (
-        REPLICA_ID VARCHAR(255),
+        REPLICA_ID VARCHAR(255) NOT NULL,
         METADATA_KEY VARCHAR(255),
         METADATA_VALUE VARCHAR(255),
         PRIMARY KEY(REPLICA_ID, METADATA_KEY),
diff --git a/modules/registry-refactoring/src/main/resources/workflowcatalog-derby.sql b/modules/registry-refactoring/src/main/resources/workflowcatalog-derby.sql
index 51a6ddf..beff4ca 100644
--- a/modules/registry-refactoring/src/main/resources/workflowcatalog-derby.sql
+++ b/modules/registry-refactoring/src/main/resources/workflowcatalog-derby.sql
@@ -34,7 +34,7 @@ CREATE TABLE WORKFLOW
 
 CREATE TABLE WORKFLOW_INPUT
 (
-         TEMPLATE_ID VARCHAR(255),
+         TEMPLATE_ID VARCHAR(255) NOT NULL,
          INPUT_KEY VARCHAR(255),
          INPUT_VALUE CLOB,
          DATA_TYPE VARCHAR(255),
@@ -52,7 +52,7 @@ CREATE TABLE WORKFLOW_INPUT
 
 CREATE TABLE WORKFLOW_OUTPUT
 (
-         TEMPLATE_ID VARCHAR(255),
+         TEMPLATE_ID VARCHAR(255) NOT NULL,
          OUTPUT_KEY VARCHAR(255),
          OUTPUT_VALUE VARCHAR(255),
          DATA_TYPE VARCHAR(255),
diff --git a/modules/registry-refactoring/src/main/resources/workflowcatalog-mysql.sql b/modules/registry-refactoring/src/main/resources/workflowcatalog-mysql.sql
index 5a8ef97..a4d43bb 100644
--- a/modules/registry-refactoring/src/main/resources/workflowcatalog-mysql.sql
+++ b/modules/registry-refactoring/src/main/resources/workflowcatalog-mysql.sql
@@ -34,7 +34,7 @@ CREATE TABLE WORKFLOW
 
 CREATE TABLE WORKFLOW_INPUT
 (
-         TEMPLATE_ID VARCHAR(255),
+         TEMPLATE_ID VARCHAR(255) NOT NULL,
          INPUT_KEY VARCHAR(255),
          INPUT_VALUE VARCHAR(255),
          DATA_TYPE VARCHAR(255),
@@ -52,7 +52,7 @@ CREATE TABLE WORKFLOW_INPUT
 
 CREATE TABLE WORKFLOW_OUTPUT
 (
-         TEMPLATE_ID VARCHAR(255),
+         TEMPLATE_ID VARCHAR(255) NOT NULL,
          OUTPUT_KEY VARCHAR(255),
          OUTPUT_VALUE LONGTEXT,
          DATA_TYPE VARCHAR(255),
diff --git a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/ProcessStatusRepositoryTest.java b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/ProcessStatusRepositoryTest.java
index 20314d6..fd340ad 100644
--- a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/ProcessStatusRepositoryTest.java
+++ b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/ProcessStatusRepositoryTest.java
@@ -33,8 +33,6 @@ import org.junit.Test;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.xml.crypto.Data;
-
 import static org.junit.Assert.assertEquals;
 import static org.junit.Assert.assertNull;
 import static org.junit.Assert.assertTrue;
diff --git a/modules/registry-refactoring/src/test/resources/airavataworkflowcatalog-derby.sql b/modules/registry-refactoring/src/test/resources/airavataworkflowcatalog-derby.sql
deleted file mode 100644
index 9447ab4..0000000
--- a/modules/registry-refactoring/src/test/resources/airavataworkflowcatalog-derby.sql
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-CREATE TABLE AIRAVATA_WORKFLOW
-(
-        ID VARCHAR (255) NOT NULL,
-        NAME VARCHAR (255) NOT NULL,
-        GATEWAY_ID VARCHAR (255),
-        USER_NAME VARCHAR (255),
-        STORAGE_RESOURCE_ID VARCHAR (255),
-        DESCRIPTION VARCHAR (255),
-        ENABLE_EMAIL_NOTIFICATION SMALLINT,
-        NOTIFICATION_EMAILS CLOB,
-        CREATED_AT timestamp DEFAULT CURRENT_TIMESTAMP,
-        UPDATED_AT timestamp,
-        PRIMARY KEY (ID)
-);
-
-CREATE TABLE AIRAVATA_WORKFLOW_ERROR
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        ACTUAL_ERROR_MESSAGE CLOB,
-        USER_FRIENDLY_MESSAGE CLOB,
-        TRANSIENT_OR_PERSISTENT SMALLINT,
-        ROOT_CAUSE_ERROR_ID_LIST CLOB,
-        PRIMARY KEY (ID, WORKFLOW_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE AIRAVATA_WORKFLOW_STATUS
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        STATE VARCHAR (255) NOT NULL,
-        DESCRIPTION VARCHAR (255),
-        UPDATED_AT timestamp DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (ID, WORKFLOW_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_APPLICATION
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        BELONGS_TO_MAIN_WORKFLOW SMALLINT NOT NULL,
-        APPLICATION_INTERFACE_ID VARCHAR (255),
-        COMPUTE_RESOURCE_ID VARCHAR (255),
-        QUEUE_NAME VARCHAR (255),
-        NODE_COUNT INTEGER,
-        CORE_COUNT INTEGER,
-        WALL_TIME_LIMIT INTEGER,
-        PHYSICAL_MEMORY INTEGER,
-        CREATED_AT timestamp DEFAULT CURRENT_TIMESTAMP,
-        UPDATED_AT timestamp,
-        PRIMARY KEY (ID, WORKFLOW_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE APPLICATION_ERROR
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        ACTUAL_ERROR_MESSAGE CLOB,
-        USER_FRIENDLY_MESSAGE CLOB,
-        TRANSIENT_OR_PERSISTENT SMALLINT,
-        ROOT_CAUSE_ERROR_ID_LIST CLOB,
-        PRIMARY KEY (ID, WORKFLOW_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE APPLICATION_STATUS
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        STATE VARCHAR (255) NOT NULL,
-        DESCRIPTION VARCHAR (255),
-        UPDATED_AT timestamp DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (ID, WORKFLOW_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_HANDLER
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        BELONGS_TO_MAIN_WORKFLOW SMALLINT NOT NULL,
-        TYPE VARCHAR (255),
-        CREATED_AT timestamp DEFAULT CURRENT_TIMESTAMP,
-        UPDATED_AT timestamp,
-        PRIMARY KEY (ID, WORKFLOW_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE HANDLER_ERROR
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        ACTUAL_ERROR_MESSAGE CLOB,
-        USER_FRIENDLY_MESSAGE CLOB,
-        TRANSIENT_OR_PERSISTENT SMALLINT,
-        ROOT_CAUSE_ERROR_ID_LIST CLOB,
-        PRIMARY KEY (ID, WORKFLOW_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE HANDLER_STATUS
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        STATE VARCHAR (255) NOT NULL,
-        DESCRIPTION VARCHAR (255),
-        UPDATED_AT timestamp DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (ID, WORKFLOW_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_DATA_BLOCK
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        VALUE VARCHAR (255),
-        DATA_TYPE VARCHAR (255),
-        CREATED_AT timestamp DEFAULT CURRENT_TIMESTAMP,
-        UPDATED_AT timestamp,
-        PRIMARY KEY (ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_CONNECTION
-(
-        ID VARCHAR (255) NOT NULL,
-        WORKFLOW_ID VARCHAR (255) NOT NULL,
-        DATA_BLOCK_ID VARCHAR (255),
-        BELONGS_TO_MAIN_WORKFLOW SMALLINT NOT NULL,
-        FROM_TYPE VARCHAR (255),
-        FROM_ID VARCHAR (255),
-        FROM_OUTPUT_NAME VARCHAR (255),
-        TO_TYPE VARCHAR (255),
-        TO_ID VARCHAR (255),
-        TO_INPUT_NAME VARCHAR (255),
-        CREATED_AT timestamp DEFAULT CURRENT_TIMESTAMP,
-        UPDATED_AT timestamp,
-        PRIMARY KEY (ID, WORKFLOW_ID),
-        FOREIGN KEY (WORKFLOW_ID) REFERENCES AIRAVATA_WORKFLOW(ID) ON DELETE CASCADE,
-        FOREIGN KEY (DATA_BLOCK_ID) REFERENCES WORKFLOW_DATA_BLOCK(ID) ON DELETE CASCADE
-);
-
-
-CREATE TABLE CONFIGURATION
-(
-        CONFIG_KEY VARCHAR(255),
-        CONFIG_VAL VARCHAR(255),
-        EXPIRE_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        CATEGORY_ID VARCHAR (255),
-        PRIMARY KEY(CONFIG_KEY, CONFIG_VAL, CATEGORY_ID)
-);
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL, EXPIRE_DATE, CATEGORY_ID) VALUES('airavata.workflow.version', '0.17', CURRENT_TIMESTAMP ,'SYSTEM');
\ No newline at end of file
diff --git a/modules/registry-refactoring/src/test/resources/appcatalog-derby.sql b/modules/registry-refactoring/src/test/resources/appcatalog-derby.sql
deleted file mode 100644
index 0dbbd6a..0000000
--- a/modules/registry-refactoring/src/test/resources/appcatalog-derby.sql
+++ /dev/null
@@ -1,684 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-CREATE TABLE COMPUTE_RESOURCE
-(
-        RESOURCE_ID VARCHAR (255) NOT NULL,
-        HOST_NAME VARCHAR (255) NOT NULL,
-        RESOURCE_DESCRIPTION VARCHAR (255),
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        MAX_MEMORY_NODE INTEGER,
-        CPUS_PER_NODE INTEGER,
-        DEFAULT_NODE_COUNT INTEGER,
-        DEFAULT_CPU_COUNT INTEGER,
-        DEFAULT_WALLTIME INTEGER,
-        ENABLED SMALLINT,
-        GATEWAY_USAGE_REPORTING SMALLINT,
-        GATEWAY_USAGE_MODULE_LOAD_CMD VARCHAR(500),
-        GATEWAY_USAGE_EXECUTABLE VARCHAR(255),
-        PRIMARY KEY (RESOURCE_ID)
-);
-
-CREATE TABLE HOST_ALIAS
-(
-         RESOURCE_ID VARCHAR(255),
-         ALIAS VARCHAR(255),
-         PRIMARY KEY(RESOURCE_ID,ALIAS),
-         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE HOST_IPADDRESS
-(
-         RESOURCE_ID VARCHAR(255),
-         IP_ADDRESS VARCHAR(255),
-         PRIMARY KEY(RESOURCE_ID,IP_ADDRESS),
-         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE GSISSH_SUBMISSION
-(
-         SUBMISSION_ID VARCHAR(255),
-         RESOURCE_JOB_MANAGER VARCHAR(255),
-         SSH_PORT INTEGER,
-         INSTALLED_PATH VARCHAR(255),
-         MONITOR_MODE VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID)
-);
-
-CREATE TABLE GSISSH_EXPORT
-(
-         SUBMISSION_ID VARCHAR(255),
-         EXPORT VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID, EXPORT),
-         FOREIGN KEY (SUBMISSION_ID) REFERENCES GSISSH_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
-);
-
-
-
-CREATE TABLE GLOBUS_SUBMISSION
-(
-         SUBMISSION_ID VARCHAR(255),
-         RESOURCE_JOB_MANAGER VARCHAR(255),
-         SECURITY_PROTOCAL VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID)
-);
-
-CREATE TABLE UNICORE_SUBMISSION
-(
-         SUBMISSION_ID VARCHAR(255),
-         SECURITY_PROTOCAL VARCHAR(255),
-         UNICORE_ENDPOINT_URL VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID)
-);
-
-CREATE TABLE UNICORE_DATAMOVEMENT
-(
-         DATAMOVEMENT_ID VARCHAR(255),
-         SECURITY_PROTOCOL VARCHAR(255),
-         UNICORE_ENDPOINT_URL VARCHAR(255),
-         PRIMARY KEY(DATAMOVEMENT_ID)
-);
-
-
-CREATE TABLE GLOBUS_GK_ENDPOINT
-(
-         SUBMISSION_ID VARCHAR(255),
-         ENDPOINT VARCHAR(255),
-         PRIMARY KEY(SUBMISSION_ID, ENDPOINT),
-         FOREIGN KEY (SUBMISSION_ID) REFERENCES GLOBUS_SUBMISSION(SUBMISSION_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE RESOURCE_JOB_MANAGER
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        PUSH_MONITORING_ENDPOINT VARCHAR (255),
-        JOB_MANAGER_BIN_PATH VARCHAR (255),
-        RESOURCE_JOB_MANAGER_TYPE VARCHAR (255) NOT NULL,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (RESOURCE_JOB_MANAGER_ID)
-);
-
-
-
-CREATE TABLE SSH_JOB_SUBMISSION
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
-        ALTERNATIVE_SSH_HOSTNAME VARCHAR (255),
-        SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
-        SSH_PORT INTEGER,
-        MONITOR_MODE VARCHAR (255),
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID),
-        FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
-);
-
-CREATE TABLE SCP_DATA_MOVEMENT
-(
-        QUEUE_DESCRIPTION VARCHAR (255),
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
-        ALTERNATIVE_SCP_HOSTNAME VARCHAR (255),
-        SSH_PORT INTEGER,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
-);
-
-CREATE TABLE GRIDFTP_DATA_MOVEMENT
-(
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
-);
-
-CREATE TABLE GRIDFTP_ENDPOINT
-(
-        ENDPOINT VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID,ENDPOINT),
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        FOREIGN KEY (DATA_MOVEMENT_INTERFACE_ID) REFERENCES GRIDFTP_DATA_MOVEMENT(DATA_MOVEMENT_INTERFACE_ID) ON DELETE CASCADE
-);
-
---CREATE TABLE JOB_SUBMISSION_PROTOCOL
---(
---         RESOURCE_ID VARCHAR(255),
---         SUBMISSION_ID VARCHAR(255),
---         JOB_TYPE VARCHAR(255),
---         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
---         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
---         PRIMARY KEY(RESOURCE_ID,SUBMISSION_ID,JOB_TYPE),
---         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
---);
---
---CREATE TABLE DATA_MOVEMENT_PROTOCOL
---(
---         RESOURCE_ID VARCHAR(255),
---         DATA_MOVE_ID VARCHAR(255),
---         DATA_MOVE_TYPE VARCHAR(255),
---         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
---         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
---         PRIMARY KEY(RESOURCE_ID,DATA_MOVE_ID,DATA_MOVE_TYPE),
---         FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
---);
-
-CREATE TABLE APPLICATION_MODULE
-(
-         MODULE_ID VARCHAR(255),
-         MODULE_NAME VARCHAR(255),
-         MODULE_VERSION VARCHAR(255),
-         MODULE_DESC VARCHAR(500),
-         GATEWAY_ID VARCHAR (255),
-         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-         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),
-	       PARALLELISM VARCHAR(255),
-         APPLICATION_DESC VARCHAR(255),
-         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-         GATEWAY_ID VARCHAR(255),
-         DEFAULT_QUEUE_NAME VARCHAR(255),
-         DEFAULT_NODE_COUNT INTEGER,
-         DEFAULT_CPU_COUNT INTEGER,
-         DEFAULT_WALLTIME INTEGER,
-         EDITABLE_BY_USER BOOLEAN,
-         ENV_MODULE_LOAD_CMD 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 MODULE_LOAD_CMD
-(
-        CMD VARCHAR (255) NOT NULL,
-        APP_DEPLOYMENT_ID VARCHAR (255) NOT NULL,
-        COMMAND_ORDER INTEGER,
-        PRIMARY KEY (APP_DEPLOYMENT_ID,CMD),
-        FOREIGN KEY (APP_DEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PREJOB_COMMAND
-(
-         APPDEPLOYMENT_ID VARCHAR(255),
-         COMMAND VARCHAR(255),
-         COMMAND_ORDER INTEGER,
-         PRIMARY KEY(APPDEPLOYMENT_ID, COMMAND),
-         FOREIGN KEY (APPDEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE POSTJOB_COMMAND
-(
-         APPDEPLOYMENT_ID VARCHAR(255),
-         COMMAND VARCHAR(255),
-         COMMAND_ORDER INTEGER,
-         PRIMARY KEY(APPDEPLOYMENT_ID, COMMAND),
-         FOREIGN KEY (APPDEPLOYMENT_ID) REFERENCES APPLICATION_DEPLOYMENT(DEPLOYMENT_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),
-         ENV_ORDER INTEGER,
-         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),
-         APPLICATION_DESCRIPTION VARCHAR(500),
-         GATEWAY_ID VARCHAR(255),
-         ARCHIVE_WORKING_DIRECTORY SMALLINT,
-         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-         HAS_OPTIONAL_FILE_INPUTS SMALLINT,
-         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_ARGUMENT VARCHAR(255),
-         STANDARD_INPUT SMALLINT,
-         INPUT_ORDER INTEGER,
-         IS_REQUIRED SMALLINT,
-         REQUIRED_TO_COMMANDLINE SMALLINT,
-         DATA_STAGED SMALLINT,
-         USER_FRIENDLY_DESC VARCHAR(255),
-  IS_READ_ONLY SMALLINT,
-         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),
-         IS_REQUIRED SMALLINT,
-         REQUIRED_TO_COMMANDLINE SMALLINT,
-         DATA_MOVEMENT SMALLINT,
-         DATA_NAME_LOCATION VARCHAR(255),
-         SEARCH_QUERY VARCHAR(255),
-         APP_ARGUMENT VARCHAR(255),
-         OUTPUT_STREAMING SMALLINT,
-         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),
-         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-         UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-         CS_TOKEN VARCHAR (255),
-         IDENTITY_SERVER_TENANT VARCHAR (255),
-         IDENTITY_SERVER_PWD_CRED_TOKEN VARCHAR (255),
-         PRIMARY KEY(GATEWAY_ID)
-);
-
-CREATE TABLE COMPUTE_RESOURCE_PREFERENCE
-(
-        GATEWAY_ID VARCHAR(255),
-        RESOURCE_ID VARCHAR(255),
-        OVERRIDE_BY_AIRAVATA SMALLINT,
-        PREFERED_JOB_SUB_PROTOCOL VARCHAR(255),
-        PREFERED_DATA_MOVE_PROTOCOL VARCHAR(255),
-        PREFERED_BATCH_QUEUE VARCHAR(255),
-        SCRATCH_LOCATION VARCHAR(255),
-        ALLOCATION_PROJECT_NUMBER VARCHAR(255),
-        LOGIN_USERNAME VARCHAR(255),
-        RESOURCE_CS_TOKEN VARCHAR(255),
-        USAGE_REPORTING_GATEWAY_ID VARCHAR(255),
-        QUALITY_OF_SERVICE VARCHAR(255),
-        RESERVATION VARCHAR (255),
-        RESERVATION_START_TIME timestamp,
-        RESERVATION_END_TIME timestamp,
-        SSH_ACCOUNT_PROVISIONER VARCHAR(255),
-        SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO VARCHAR(1000),
-        PRIMARY KEY(GATEWAY_ID,RESOURCE_ID),
-        FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY_PROFILE(GATEWAY_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE SSH_ACCOUNT_PROVISIONER_CONFIG
-(
-        GATEWAY_ID VARCHAR(255),
-        RESOURCE_ID VARCHAR(255),
-        CONFIG_NAME VARCHAR(255),
-        CONFIG_VALUE VARCHAR(255),
-        PRIMARY KEY (GATEWAY_ID, RESOURCE_ID, CONFIG_NAME),
-        FOREIGN KEY (GATEWAY_ID, RESOURCE_ID) REFERENCES COMPUTE_RESOURCE_PREFERENCE (GATEWAY_ID, RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE BATCH_QUEUE
-(
-        COMPUTE_RESOURCE_ID VARCHAR(255) NOT NULL,
-        MAX_RUNTIME INTEGER,
-        MAX_JOB_IN_QUEUE INTEGER,
-        QUEUE_DESCRIPTION VARCHAR(255),
-        QUEUE_NAME VARCHAR(255) NOT NULL,
-        MAX_PROCESSORS INTEGER,
-        MAX_NODES INTEGER,
-        MAX_MEMORY INTEGER,
-        CPU_PER_NODE INTEGER,
-        DEFAULT_NODE_COUNT INTEGER,
-        DEFAULT_CPU_COUNT INTEGER,
-        DEFAULT_WALLTIME INTEGER,
-        QUEUE_SPECIFIC_MACROS VARCHAR(255),
-        IS_DEFAULT_QUEUE BOOLEAN,
-        PRIMARY KEY (COMPUTE_RESOURCE_ID,QUEUE_NAME),
-        FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE COMPUTE_RESOURCE_FILE_SYSTEM
-(
-        COMPUTE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        PATH VARCHAR (255),
-        FILE_SYSTEM VARCHAR (255) NOT NULL,
-        PRIMARY KEY (COMPUTE_RESOURCE_ID,FILE_SYSTEM),
-        FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-  );
-
-CREATE TABLE JOB_SUBMISSION_INTERFACE
-(
-        JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
-        COMPUTE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        JOB_SUBMISSION_PROTOCOL VARCHAR (255) NOT NULL,
-        PRIORITY_ORDER INTEGER,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (COMPUTE_RESOURCE_ID,JOB_SUBMISSION_INTERFACE_ID),
-        FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
- 
-CREATE TABLE DATA_MOVEMENT_INTERFACE
-(
-        COMPUTE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_PROTOCOL VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        PRIORITY_ORDER INTEGER,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (COMPUTE_RESOURCE_ID,DATA_MOVEMENT_INTERFACE_ID),
-        FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE STORAGE_RESOURCE
-(
-        STORAGE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        HOST_NAME VARCHAR (255) NOT NULL,
-        DESCRIPTION VARCHAR (255),
-        ENABLED SMALLINT ,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (STORAGE_RESOURCE_ID)
-);
-
-CREATE TABLE STORAGE_INTERFACE
-(
-        STORAGE_RESOURCE_ID VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-        DATA_MOVEMENT_PROTOCOL VARCHAR (255) NOT NULL,
-        PRIORITY_ORDER INTEGER,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (STORAGE_RESOURCE_ID,DATA_MOVEMENT_INTERFACE_ID),
-        FOREIGN KEY (STORAGE_RESOURCE_ID) REFERENCES STORAGE_RESOURCE(STORAGE_RESOURCE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE JOB_MANAGER_COMMAND
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        COMMAND_TYPE VARCHAR (255) NOT NULL,
-        COMMAND VARCHAR (255),
-        PRIMARY KEY (RESOURCE_JOB_MANAGER_ID,COMMAND_TYPE),
-        FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PARALLELISM_COMMAND
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        COMMAND_TYPE VARCHAR (255) NOT NULL,
-        COMMAND VARCHAR (255),
-        PRIMARY KEY (RESOURCE_JOB_MANAGER_ID,COMMAND_TYPE),
-        FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE LOCAL_SUBMISSION
-(
-        RESOURCE_JOB_MANAGER_ID VARCHAR (255) NOT NULL,
-        JOB_SUBMISSION_INTERFACE_ID VARCHAR (255) NOT NULL,
-        SECURITY_PROTOCOL VARCHAR (255) NOT NULL,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID),
-        FOREIGN KEY (RESOURCE_JOB_MANAGER_ID) REFERENCES RESOURCE_JOB_MANAGER(RESOURCE_JOB_MANAGER_ID)
-);
-
-CREATE TABLE STORAGE_PREFERENCE
-(
-        GATEWAY_ID VARCHAR(255),
-        STORAGE_RESOURCE_ID VARCHAR(255),
-        LOGIN_USERNAME VARCHAR(255),
-        FS_ROOT_LOCATION VARCHAR(255),
-        RESOURCE_CS_TOKEN VARCHAR(255),
-        PRIMARY KEY(GATEWAY_ID,STORAGE_RESOURCE_ID),
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY_PROFILE(GATEWAY_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE LOCAL_DATA_MOVEMENT
-(
-	     DATA_MOVEMENT_INTERFACE_ID VARCHAR (255) NOT NULL,
-	     PRIMARY KEY (DATA_MOVEMENT_INTERFACE_ID)
-);
-
-CREATE TABLE WORKFLOW
-(
-        WF_TEMPLATE_ID VARCHAR (255) NOT NULL,
-        WF_NAME VARCHAR (255) NOT NULL,
-        GRAPH CLOB,
-        OWNER VARCHAR(255),
-        GATEWAY_ID VARCHAR(255),
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        IMAGE BLOB,
-        PRIMARY KEY (WF_TEMPLATE_ID)
-);
-
-CREATE TABLE WORKFLOW_INPUT
-(
-         WF_TEMPLATE_ID VARCHAR(255),
-         INPUT_KEY VARCHAR(255),
-         INPUT_VALUE CLOB,
-         DATA_TYPE VARCHAR(255),
-         METADATA VARCHAR(255),
-         APP_ARGUMENT VARCHAR(255),
-         STANDARD_INPUT SMALLINT,
-         USER_FRIENDLY_DESC VARCHAR(255),
-         PRIMARY KEY(WF_TEMPLATE_ID,INPUT_KEY),
-         FOREIGN KEY (WF_TEMPLATE_ID) REFERENCES WORKFLOW(WF_TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_OUTPUT
-(
-         WF_TEMPLATE_ID VARCHAR(255),
-         OUTPUT_KEY VARCHAR(255),
-         OUTPUT_VALUE CLOB,
-         DATA_TYPE VARCHAR(255),
-         PRIMARY KEY(WF_TEMPLATE_ID,OUTPUT_KEY),
-         FOREIGN KEY (WF_TEMPLATE_ID) REFERENCES WORKFLOW(WF_TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE USER_RESOURCE_PROFILE (
-  USER_ID varchar(255) NOT NULL,
-  CREATION_TIME TIMESTAMP DEFAULT NULL,
-  CS_TOKEN varchar(255) DEFAULT NULL,
-  GATEWAY_ID varchar(255) DEFAULT NULL,
-  IDENTITY_SERVER_PWD_CRED_TOKEN varchar(255) DEFAULT NULL,
-  IDENTITY_SERVER_TENANT varchar(255) DEFAULT NULL,
-  UPDATE_TIME TIMESTAMP DEFAULT NULL,
-  PRIMARY KEY (USER_ID,GATEWAY_ID)
-);
-
-CREATE TABLE USER_STORAGE_PREFERENCE (
-  STORAGE_RESOURCE_ID varchar(255) NOT NULL,
-  USER_ID varchar(255) NOT NULL,
-  RESOURCE_CS_TOKEN varchar(255) DEFAULT NULL,
-  FS_ROOT_LOCATION varchar(255) DEFAULT NULL,
-  GATEWAY_ID varchar(255) DEFAULT NULL,
-  LOGIN_USERNAME varchar(255) DEFAULT NULL,
-  PRIMARY KEY (STORAGE_RESOURCE_ID,USER_ID,GATEWAY_ID)
-);
-
-CREATE TABLE USER_COMPUTE_RESOURCE_PREFERENCE (
-  RESOURCE_ID varchar(255) NOT NULL,
-  USER_ID varchar(255) NOT NULL,
-  PREFERED_BATCH_QUEUE varchar(255) DEFAULT NULL,
-  RESOURCE_CS_TOKEN varchar(255) DEFAULT NULL,
-  GATEWAY_ID varchar(255) DEFAULT NULL,
-  LOGIN_USERNAME varchar(255) DEFAULT NULL,
-  ALLOCATION_PROJECT_NUMBER varchar(255) DEFAULT NULL,
-  QUALITY_OF_SERVICE varchar(255) DEFAULT NULL,
-  RESERVATION varchar(255) DEFAULT NULL,
-  RESERVATION_END_TIME TIMESTAMP DEFAULT NULL,
-  RESERVATION_START_TIME TIMESTAMP DEFAULT NULL,
-  SCRATCH_LOCATION varchar(255) DEFAULT NULL,
-  VALIDATED SMALLINT NOT NULL DEFAULT 0,
-  PRIMARY KEY (RESOURCE_ID,USER_ID,GATEWAY_ID)
-);
-
-CREATE TABLE GROUP_RESOURCE_PROFILE (
-  GATEWAY_ID varchar(255) NOT NULL,
-  GROUP_RESOURCE_PROFILE_ID varchar(255) NOT NULL,
-  GROUP_RESOURCE_PROFILE_NAME varchar(255) DEFAULT NULL,
-  CREATION_TIME BIGINT NOT NULL,
-  UPDATE_TIME BIGINT NOT NULL,
-  DEFAULT_CREDENTIAL_STORE_TOKEN varchar(255) DEFAULT NULL,
-  PRIMARY KEY (GROUP_RESOURCE_PROFILE_ID),
-  UNIQUE (GATEWAY_ID, GROUP_RESOURCE_PROFILE_NAME)
-);
-
-CREATE TABLE BATCH_QUEUE_RESOURCE_POLICY (
-  RESOURCE_POLICY_ID varchar(255) NOT NULL,
-  COMPUTE_RESOURCE_ID varchar(255) NOT NULL,
-  GROUP_RESOURCE_PROFILE_ID varchar(255) NOT NULL,
-  QUEUE_NAME varchar(255) NOT NULL,
-  MAX_ALLOWED_NODES INTEGER,
-  MAX_ALLOWED_CORES INTEGER,
-  MAX_ALLOWED_WALLTIME INTEGER,
-  PRIMARY KEY (RESOURCE_POLICY_ID),
-  FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-  FOREIGN KEY (GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_RESOURCE_PROFILE(GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE COMPUTE_RESOURCE_POLICY (
-    RESOURCE_POLICY_ID varchar(255) NOT NULL,
-    COMPUTE_RESOURCE_ID varchar(255) NOT NULL,
-    GROUP_RESOURCE_PROFILE_ID varchar(255) NOT NULL,
-    PRIMARY KEY (RESOURCE_POLICY_ID),
-    FOREIGN KEY (COMPUTE_RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-    FOREIGN KEY (GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_RESOURCE_PROFILE(GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE COMPUTE_RESOURCE_POLICY_QUEUES (
-    RESOURCE_POLICY_ID varchar(255) NOT NULL,
-    COMPUTE_RESOURCE_ID varchar(255),
-    QUEUE_NAME varchar(255) NOT NULL,
-    PRIMARY KEY (RESOURCE_POLICY_ID, QUEUE_NAME),
-    FOREIGN KEY (RESOURCE_POLICY_ID) REFERENCES COMPUTE_RESOURCE_POLICY(RESOURCE_POLICY_ID) ON DELETE CASCADE,
-    FOREIGN KEY (COMPUTE_RESOURCE_ID,QUEUE_NAME) REFERENCES BATCH_QUEUE(COMPUTE_RESOURCE_ID,QUEUE_NAME) ON DELETE CASCADE
-);
-
-CREATE TABLE GROUP_COMPUTE_RESOURCE_PREFERENCE
-(
-        RESOURCE_ID VARCHAR(255) NOT NULL,
-        GROUP_RESOURCE_PROFILE_ID varchar(255) NOT NULL,
-        OVERRIDE_BY_AIRAVATA SMALLINT,
-        PREFERED_JOB_SUB_PROTOCOL VARCHAR(255),
-        PREFERED_DATA_MOVE_PROTOCOL VARCHAR(255),
-        PREFERED_BATCH_QUEUE VARCHAR(255),
-        SCRATCH_LOCATION VARCHAR(255),
-        ALLOCATION_PROJECT_NUMBER VARCHAR(255),
-        LOGIN_USERNAME VARCHAR(255),
-        RESOURCE_CS_TOKEN VARCHAR(255),
-        USAGE_REPORTING_GATEWAY_ID VARCHAR(255),
-        QUALITY_OF_SERVICE VARCHAR(255),
-        RESERVATION VARCHAR (255),
-        RESERVATION_START_TIME timestamp,
-        RESERVATION_END_TIME timestamp,
-        SSH_ACCOUNT_PROVISIONER VARCHAR(255),
-        SSH_ACCOUNT_PROVISIONER_ADDITIONAL_INFO VARCHAR(1000),
-        PRIMARY KEY(RESOURCE_ID,GROUP_RESOURCE_PROFILE_ID),
-        FOREIGN KEY (RESOURCE_ID) REFERENCES COMPUTE_RESOURCE(RESOURCE_ID) ON DELETE CASCADE,
-        FOREIGN KEY (GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_RESOURCE_PROFILE(GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE GRP_SSH_ACC_PROV_CONFIG
-(
-        RESOURCE_ID VARCHAR(255),
-        GROUP_RESOURCE_PROFILE_ID VARCHAR(255),
-        CONFIG_NAME VARCHAR(255),
-        CONFIG_VALUE VARCHAR(255),
-        PRIMARY KEY (RESOURCE_ID, CONFIG_NAME, GROUP_RESOURCE_PROFILE_ID),
-        FOREIGN KEY (RESOURCE_ID,GROUP_RESOURCE_PROFILE_ID) REFERENCES GROUP_COMPUTE_RESOURCE_PREFERENCE (RESOURCE_ID,GROUP_RESOURCE_PROFILE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE CONFIGURATION
-(
-        CONFIG_KEY VARCHAR(255),
-        CONFIG_VAL VARCHAR(255),
-        PRIMARY KEY(CONFIG_KEY, CONFIG_VAL)
-);
-
-CREATE TABLE GATEWAY_GROUPS
-(
-        GATEWAY_ID VARCHAR(255),
-        ADMINS_GROUP_ID VARCHAR(255),
-        READ_ONLY_ADMINS_GROUP_ID VARCHAR(255),
-        DEFAULT_GATEWAY_USERS_GROUP_ID VARCHAR(255),
-        PRIMARY KEY(GATEWAY_ID)
-);
-
-CREATE TABLE CLOUD_JOB_SUBMISSION (
-  JOB_SUBMISSION_INTERFACE_ID varchar(255) NOT NULL,
-  EXECUTABLE_TYPE VARCHAR(255) DEFAULT NULL,
-  NODE_ID VARCHAR(255) DEFAULT NULL,
-  PROVIDER_NAME VARCHAR(255) DEFAULT NULL,
-  SECURITY_PROTOCOL VARCHAR(255) DEFAULT NULL,
-  USER_ACCOUNT_NAME VARCHAR(255) DEFAULT NULL,
-  PRIMARY KEY (JOB_SUBMISSION_INTERFACE_ID)
-);
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL) VALUES('app_catalog_version', '0.16');
-
-
-
diff --git a/modules/registry-refactoring/src/test/resources/expcatalog-derby.sql b/modules/registry-refactoring/src/test/resources/expcatalog-derby.sql
deleted file mode 100644
index 1b5d764..0000000
--- a/modules/registry-refactoring/src/test/resources/expcatalog-derby.sql
+++ /dev/null
@@ -1,399 +0,0 @@
-/*
- *
- * 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.
- *
- */
-CREATE TABLE GATEWAY
-(
-        GATEWAY_ID VARCHAR(255),
-        GATEWAY_NAME VARCHAR(255),
-	      DOMAIN VARCHAR(255),
-	      EMAIL_ADDRESS VARCHAR(255),
-        GATEWAY_ACRONYM varchar(255),
-        GATEWAY_ADMIN_EMAIL varchar(255),
-        GATEWAY_ADMIN_FIRST_NAME varchar(255),
-        GATEWAY_APPROVAL_STATUS varchar(255),
-        GATEWAY_PUBLIC_ABSTRACT varchar(255),
-        GATEWAY_URL varchar(255),
-        GATEWAY_ADMIN_LAST_NAME varchar(255),
-        IDENTITY_SERVER_PASSWORD_TOKEN varchar(255),
-        IDENTITY_SERVER_USERNAME varchar(255),
-        GATEWAY_REVIEW_PROPOSAL_DESCRIPTION varchar(255),
-        DECLINED_REASON varchar(255),
-        OAUTH_CLIENT_SECRET varchar(255),
-        OAUTH_CLIENT_ID varchar(255),
-        REQUEST_CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        REQUESTER_USERNAME VARCHAR(255),
-        PRIMARY KEY (GATEWAY_ID)
-);
-
-CREATE TABLE NOTIFICATION
-(
-        NOTIFICATION_ID VARCHAR(255),
-        GATEWAY_ID VARCHAR(255),
-        TITLE VARCHAR(255),
-        PRIORITY VARCHAR(255),
-	      NOTIFICATION_MESSAGE VARCHAR(4096),
-	      PUBLISHED_DATE TIMESTAMP,
-	      EXPIRATION_DATE TIMESTAMP,
-	      CREATION_DATE TIMESTAMP,
-        PRIMARY KEY (NOTIFICATION_ID)
-);
-
-CREATE TABLE USERS
-(
-        AIRAVATA_INTERNAL_USER_ID VARCHAR(255),
-        USER_NAME VARCHAR(255),
-        PASSWORD VARCHAR(255),
-        GATEWAY_ID VARCHAR(255),
-        PRIMARY KEY (GATEWAY_ID, USER_NAME),
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE GATEWAY_WORKER
-(
-        GATEWAY_ID VARCHAR(255),
-        USER_NAME VARCHAR(255),
-        PRIMARY KEY (GATEWAY_ID, USER_NAME),
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PROJECT
-(
-        GATEWAY_ID VARCHAR(255),
-        USER_NAME VARCHAR(255),
-        PROJECT_NAME VARCHAR(255),
-        PROJECT_ID VARCHAR(255),
-        DESCRIPTION VARCHAR(255),
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (PROJECT_ID),
-        FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PROJECT_USER
-(
-        PROJECT_ID VARCHAR(255),
-        USER_NAME VARCHAR(255),
-        PRIMARY KEY (PROJECT_ID,USER_NAME),
-        FOREIGN KEY (PROJECT_ID) REFERENCES PROJECT(PROJECT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE EXPERIMENT (
-        EXPERIMENT_ID varchar(255),
-        PROJECT_ID varchar(255),
-        GATEWAY_ID varchar(255),
-        EXPERIMENT_TYPE varchar(255),
-        USER_NAME varchar(255),
-        EXPERIMENT_NAME varchar(255),
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        DESCRIPTION varchar(255),
-        EXECUTION_ID varchar(255),
-        GATEWAY_EXECUTION_ID varchar(255),
-        GATEWAY_INSTANCE_ID varchar(255),
-        ENABLE_EMAIL_NOTIFICATION SMALLINT,
-        EMAIL_ADDRESSES CLOB,
-        PRIMARY KEY (EXPERIMENT_ID),
-        FOREIGN KEY (PROJECT_ID) REFERENCES PROJECT(PROJECT_ID) ON DELETE CASCADE
-);
-
-
-CREATE TABLE EXPERIMENT_INPUT
-(
-        EXPERIMENT_ID varchar(255),
-        INPUT_NAME varchar(255),
-        INPUT_VALUE CLOB,
-        DATA_TYPE varchar(255),
-        APPLICATION_ARGUMENT varchar(255),
-        STANDARD_INPUT SMALLINT,
-        USER_FRIENDLY_DESCRIPTION varchar(255),
-        METADATA varchar(255),
-        INPUT_ORDER INT,
-        IS_REQUIRED SMALLINT,
-        REQUIRED_TO_ADDED_TO_CMD SMALLINT,
-        DATA_STAGED SMALLINT,
-        STORAGE_RESOURCE_ID varchar(255),
-        IS_READ_ONLY SMALLINT,
-        PRIMARY KEY(EXPERIMENT_ID,INPUT_NAME),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE EXPERIMENT_OUTPUT
-(
-        EXPERIMENT_ID varchar(255),
-        OUTPUT_NAME varchar(255),
-        OUTPUT_VALUE CLOB,
-        DATA_TYPE varchar(255),
-        APPLICATION_ARGUMENT varchar(255),
-        IS_REQUIRED SMALLINT,
-        REQUIRED_TO_ADDED_TO_CMD SMALLINT,
-        DATA_MOVEMENT SMALLINT,
-        LOCATION varchar(255),
-        SEARCH_QUERY varchar(255),
-        OUTPUT_STREAMING SMALLINT,
-        STORAGE_RESOURCE_ID varchar(255),
-        PRIMARY KEY(EXPERIMENT_ID,OUTPUT_NAME),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-);
-
-
-CREATE TABLE EXPERIMENT_STATUS (
-        STATUS_ID varchar(255),
-        EXPERIMENT_ID varchar(255),
-        STATE varchar(255),
-        TIME_OF_STATE_CHANGE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        REASON CLOB,
-        PRIMARY KEY (STATUS_ID, EXPERIMENT_ID),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-);
-
-
-CREATE TABLE EXPERIMENT_ERROR (
-        ERROR_ID varchar(255),
-        EXPERIMENT_ID varchar(255),
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        ACTUAL_ERROR_MESSAGE CLOB,
-        USER_FRIENDLY_MESSAGE CLOB,
-        TRANSIENT_OR_PERSISTENT SMALLINT,
-        ROOT_CAUSE_ERROR_ID_LIST CLOB,
-        PRIMARY KEY (ERROR_ID, EXPERIMENT_ID),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE USER_CONFIGURATION_DATA (
-        EXPERIMENT_ID varchar(255),
-        AIRAVATA_AUTO_SCHEDULE SMALLINT,
-        OVERRIDE_MANUAL_SCHEDULED_PARAMS SMALLINT,
-        SHARE_EXPERIMENT_PUBLICALLY SMALLINT,
-        THROTTLE_RESOURCES SMALLINT,
-        USER_DN varchar(255),
-        GENERATE_CERT SMALLINT,
-        RESOURCE_HOST_ID varchar(255),
-        TOTAL_CPU_COUNT INT,
-        NODE_COUNT INT,
-        NUMBER_OF_THREADS INT,
-        QUEUE_NAME varchar(255),
-        WALL_TIME_LIMIT INT,
-        TOTAL_PHYSICAL_MEMORY INT,
-        STATIC_WORKING_DIR varchar(255),
-        OVERRIDE_LOGIN_USER_NAME varchar(255),
-        OVERRIDE_SCRATCH_LOCATION varchar(255),
-        OVERRIDE_ALLOCATION_PROJECT_NUMBER varchar(255),
-        STORAGE_RESOURCE_ID varchar(255),
-        EXPERIMENT_DATA_DIR VARCHAR (512),
-        GROUP_RESOURCE_PROFILE_ID VARCHAR(255) DEFAULT NULL,
-        IS_USE_USER_CR_PREF BOOLEAN,
-        PRIMARY KEY (EXPERIMENT_ID),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-);
-
-CREATE VIEW LATEST_EXPERIMENT_STATUS AS
-  select ES1.EXPERIMENT_ID AS EXPERIMENT_ID, ES1.STATE AS STATE, ES1.TIME_OF_STATE_CHANGE AS TIME_OF_STATE_CHANGE
-  from EXPERIMENT_STATUS ES1 LEFT JOIN EXPERIMENT_STATUS ES2 ON (ES1.EXPERIMENT_ID = ES2.EXPERIMENT_ID
-    AND ES1.TIME_OF_STATE_CHANGE < ES2.TIME_OF_STATE_CHANGE)  WHERE ES2.TIME_OF_STATE_CHANGE is NULL;
-
-CREATE VIEW EXPERIMENT_SUMMARY AS
-  select E.EXPERIMENT_ID AS EXPERIMENT_ID, E.PROJECT_ID AS PROJECT_ID, E.GATEWAY_ID AS GATEWAY_ID,
-  E.USER_NAME AS USER_NAME, E.EXECUTION_ID AS EXECUTION_ID, E.EXPERIMENT_NAME AS EXPERIMENT_NAME,
-  E.CREATION_TIME AS CREATION_TIME, E.DESCRIPTION AS DESCRIPTION, ES.STATE AS STATE, UD.RESOURCE_HOST_ID
-  AS RESOURCE_HOST_ID, ES.TIME_OF_STATE_CHANGE AS TIME_OF_STATE_CHANGE
-    from ((EXPERIMENT E left join LATEST_EXPERIMENT_STATUS ES on((E.EXPERIMENT_ID = ES.EXPERIMENT_ID)))
-    left join USER_CONFIGURATION_DATA UD on((E.EXPERIMENT_ID = UD.EXPERIMENT_ID))) where true;
-
-CREATE TABLE PROCESS (
-        PROCESS_ID varchar(255),
-        EXPERIMENT_ID varchar(255),
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        LAST_UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        PROCESS_DETAIL CLOB,
-        APPLICATION_INTERFACE_ID varchar(255),
-        TASK_DAG CLOB,
-        APPLICATION_DEPLOYMENT_ID varchar(255),
-        COMPUTE_RESOURCE_ID varchar(255),
-        GATEWAY_EXECUTION_ID varchar(255),
-        ENABLE_EMAIL_NOTIFICATION SMALLINT,
-        EMAIL_ADDRESSES CLOB,
-        STORAGE_RESOURCE_ID varchar(255),
-        USER_DN varchar(255),
-        GENERATE_CERT SMALLINT,
-        EXPERIMENT_DATA_DIR VARCHAR (512),
-        USERNAME VARCHAR (255),
-        GROUP_RESOURCE_PROFILE_ID VARCHAR (255) DEFAULT NULL,
-        USE_USER_CR_PREF BOOLEAN,
-        PRIMARY KEY (PROCESS_ID),
-        FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PROCESS_INPUT
-(
-        PROCESS_ID varchar(255),
-        INPUT_NAME varchar(255),
-        INPUT_VALUE CLOB,
-        DATA_TYPE varchar(255),
-        APPLICATION_ARGUMENT varchar(255),
-        STANDARD_INPUT SMALLINT,
-        USER_FRIENDLY_DESCRIPTION varchar(255),
-        METADATA varchar(255),
-        INPUT_ORDER INT,
-        IS_REQUIRED SMALLINT,
-        REQUIRED_TO_ADDED_TO_CMD SMALLINT,
-        DATA_STAGED SMALLINT,
-        STORAGE_RESOURCE_ID varchar(255),
-        IS_READ_ONLY SMALLINT,
-        PRIMARY KEY(PROCESS_ID,INPUT_NAME),
-        FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PROCESS_OUTPUT
-(
-        PROCESS_ID varchar(255),
-        OUTPUT_NAME varchar(255),
-        OUTPUT_VALUE CLOB,
-        DATA_TYPE varchar(255),
-        APPLICATION_ARGUMENT varchar(255),
-        IS_REQUIRED SMALLINT,
-        REQUIRED_TO_ADDED_TO_CMD SMALLINT,
-        DATA_MOVEMENT SMALLINT,
-        LOCATION varchar(255),
-        SEARCH_QUERY varchar(255),
-        OUTPUT_STREAMING SMALLINT,
-        STORAGE_RESOURCE_ID varchar(255),
-        PRIMARY KEY(PROCESS_ID,OUTPUT_NAME),
-        FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-);
-
-
-CREATE TABLE PROCESS_STATUS (
-        STATUS_ID varchar(255),
-        PROCESS_ID varchar(255),
-        STATE varchar(255),
-        TIME_OF_STATE_CHANGE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        REASON CLOB,
-        PRIMARY KEY (STATUS_ID, PROCESS_ID),
-        FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-);
-
-
-CREATE TABLE PROCESS_ERROR (
-        ERROR_ID varchar(255),
-        PROCESS_ID varchar(255),
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        ACTUAL_ERROR_MESSAGE CLOB,
-        USER_FRIENDLY_MESSAGE CLOB,
-        TRANSIENT_OR_PERSISTENT SMALLINT,
-        ROOT_CAUSE_ERROR_ID_LIST CLOB,
-        PRIMARY KEY (ERROR_ID, PROCESS_ID),
-        FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PROCESS_RESOURCE_SCHEDULE (
-        PROCESS_ID varchar(255),
-        RESOURCE_HOST_ID varchar(255),
-        TOTAL_CPU_COUNT INT,
-        NODE_COUNT INT,
-        NUMBER_OF_THREADS INT,
-        QUEUE_NAME varchar(255),
-        WALL_TIME_LIMIT INT,
-        TOTAL_PHYSICAL_MEMORY INT,
-        STATIC_WORKING_DIR varchar(255),
-        PRIMARY KEY (PROCESS_ID),
-        FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE TASK (
-        TASK_ID varchar(255),
-        TASK_TYPE varchar(255),
-        PARENT_PROCESS_ID varchar(255),
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        LAST_UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        TASK_DETAIL CLOB,
-        TASK_INTERNAL_STORE CHAR,
-        SUB_TASK_MODEL BLOB,
-        PRIMARY KEY (TASK_ID),
-        FOREIGN KEY (PARENT_PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE TASK_STATUS (
-        STATUS_ID varchar(255),
-        TASK_ID varchar(255),
-        STATE varchar(255),
-        TIME_OF_STATE_CHANGE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        REASON CLOB,
-        PRIMARY KEY (STATUS_ID, TASK_ID),
-        FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
-);
-
-
-CREATE TABLE TASK_ERROR (
-        ERROR_ID varchar(255),
-        TASK_ID varchar(255),
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        ACTUAL_ERROR_MESSAGE CLOB,
-        USER_FRIENDLY_MESSAGE CLOB,
-        TRANSIENT_OR_PERSISTENT SMALLINT,
-        ROOT_CAUSE_ERROR_ID_LIST CLOB,
-        PRIMARY KEY (ERROR_ID, TASK_ID),
-        FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE JOB (
-        JOB_ID varchar(255),
-        TASK_ID varchar(255),
-        PROCESS_ID varchar(255),
-        JOB_DESCRIPTION CLOB NOT NULL,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        COMPUTE_RESOURCE_CONSUMED varchar(255),
-        JOB_NAME varchar(255),
-        WORKING_DIR varchar(255),
-        STD_OUT CLOB,
-        STD_ERR CLOB,
-        EXIT_CODE INT,
-        PRIMARY KEY (JOB_ID, TASK_ID),
-        FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE JOB_STATUS (
-        STATUS_ID varchar(255),
-        JOB_ID varchar(255),
-        TASK_ID varchar(255),
-        STATE varchar(255),
-        TIME_OF_STATE_CHANGE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        REASON CLOB,
-        PRIMARY KEY (STATUS_ID, JOB_ID, TASK_ID),
-        FOREIGN KEY (JOB_ID, TASK_ID) REFERENCES JOB(JOB_ID, TASK_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE QUEUE_STATUS(
-        HOST_NAME VARCHAR(255),
-        QUEUE_NAME VARCHAR(255),
-        CREATED_TIME BIGINT,
-        QUEUE_UP BOOLEAN,
-        RUNNING_JOBS INT,
-        QUEUED_JOBS INT,
-        PRIMARY KEY (HOST_NAME, QUEUE_NAME, CREATED_TIME)
-);
-
-CREATE TABLE CONFIGURATION
-(
-        CONFIG_KEY VARCHAR(255),
-        CONFIG_VAL VARCHAR(255),
-        EXPIRE_DATE TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        CATEGORY_ID VARCHAR (255),
-        PRIMARY KEY(CONFIG_KEY, CONFIG_VAL, CATEGORY_ID)
-);
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL, EXPIRE_DATE, CATEGORY_ID) VALUES('registry.version', '0.16', CURRENT_TIMESTAMP ,'SYSTEM');
\ No newline at end of file
diff --git a/modules/registry-refactoring/src/test/resources/replicacatalog-derby.sql b/modules/registry-refactoring/src/test/resources/replicacatalog-derby.sql
deleted file mode 100644
index f510f36..0000000
--- a/modules/registry-refactoring/src/test/resources/replicacatalog-derby.sql
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-CREATE TABLE DATA_PRODUCT
-(
-        PRODUCT_URI VARCHAR (255),
-        GATEWAY_ID VARCHAR (255),
-        PRODUCT_NAME VARCHAR (255),
-        PRODUCT_DESCRIPTION VARCHAR (1024),
-        PARENT_PRODUCT_URI VARCHAR (255),
-        OWNER_NAME VARCHAR (255),
-        PRODUCT_SIZE INTEGER ,
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        LAST_MODIFIED_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (PRODUCT_URI)
-);
-
-CREATE TABLE DATA_REPLICA_LOCATION
-(
-        REPLICA_ID VARCHAR (255),
-        PRODUCT_URI VARCHAR (255) NOT NULL,
-        REPLICA_NAME VARCHAR (255),
-        REPLICA_DESCRIPTION VARCHAR (1024),
-        STORAGE_RESOURCE_ID VARCHAR (255),
-        FILE_PATH VARCHAR (4096),
-        CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
-        LAST_MODIFIED_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        VALID_UNTIL_TIME TIMESTAMP DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (REPLICA_ID),
-        FOREIGN KEY (PRODUCT_URI) REFERENCES DATA_PRODUCT(PRODUCT_URI) ON DELETE CASCADE
-);
-
-CREATE TABLE DATA_PRODUCT_METADATA
-(
-        PRODUCT_URI VARCHAR(255),
-        METADATA_KEY VARCHAR(255),
-        METADATA_VALUE VARCHAR(2048),
-        PRIMARY KEY(PRODUCT_URI, METADATA_KEY),
-        FOREIGN KEY (PRODUCT_URI) REFERENCES DATA_PRODUCT(PRODUCT_URI) ON DELETE CASCADE
-);
-
-CREATE TABLE DATA_REPLICA_METADATA
-(
-        REPLICA_ID VARCHAR(255),
-        METADATA_KEY VARCHAR(255),
-        METADATA_VALUE VARCHAR(2048),
-        PRIMARY KEY(REPLICA_ID, METADATA_KEY),
-        FOREIGN KEY (REPLICA_ID) REFERENCES DATA_REPLICA_LOCATION(REPLICA_ID) ON DELETE CASCADE
-);
-
-
-CREATE TABLE CONFIGURATION
-(
-        CONFIG_KEY VARCHAR(255),
-        CONFIG_VAL VARCHAR(255),
-        PRIMARY KEY(CONFIG_KEY, CONFIG_VAL)
-);
-
-INSERT INTO CONFIGURATION (CONFIG_KEY, CONFIG_VAL) VALUES('data_catalog_version', '0.16');
\ No newline at end of file
diff --git a/modules/registry-refactoring/src/test/resources/workflowcatalog-derby.sql b/modules/registry-refactoring/src/test/resources/workflowcatalog-derby.sql
deleted file mode 100644
index 51a6ddf..0000000
--- a/modules/registry-refactoring/src/test/resources/workflowcatalog-derby.sql
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- *
- * 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.
- *
- */
-
-CREATE TABLE WORKFLOW
-(
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        WORKFLOW_NAME VARCHAR (255) NOT NULL,
-        CREATED_USER VARCHAR (255),
-        GATEWAY_ID VARCHAR (255),
-        GRAPH CLOB,
-        IMAGE BLOB,
-        CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        UPDATE_TIME timestamp DEFAULT '0000-00-00 00:00:00',
-        PRIMARY KEY (TEMPLATE_ID)
-);
-
-CREATE TABLE WORKFLOW_INPUT
-(
-         TEMPLATE_ID VARCHAR(255),
-         INPUT_KEY VARCHAR(255),
-         INPUT_VALUE CLOB,
-         DATA_TYPE VARCHAR(255),
-         METADATA VARCHAR(255),
-         APP_ARGUMENT VARCHAR(255),
-         STANDARD_INPUT SMALLINT,
-         USER_FRIENDLY_DESC VARCHAR(255),
-         INPUT_ORDER INTEGER,
-         IS_REQUIRED SMALLINT,
-         REQUIRED_TO_COMMANDLINE SMALLINT,
-         DATA_STAGED SMALLINT,
-         PRIMARY KEY(TEMPLATE_ID,INPUT_KEY),
-         FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_OUTPUT
-(
-         TEMPLATE_ID VARCHAR(255),
-         OUTPUT_KEY VARCHAR(255),
-         OUTPUT_VALUE VARCHAR(255),
-         DATA_TYPE VARCHAR(255),
-         IS_REQUIRED SMALLINT,
-         REQUIRED_TO_COMMANDLINE SMALLINT,
-         DATA_MOVEMENT SMALLINT,
-         DATA_NAME_LOCATION VARCHAR(255),
-         SEARCH_QUERY VARCHAR(255),
-         APP_ARGUMENT VARCHAR(255),
-         OUTPUT_STREAMING SMALLINT,
-         PRIMARY KEY(TEMPLATE_ID,OUTPUT_KEY),
-         FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE COMPONENT_STATUS
-(
-        STATUS_ID VARCHAR (255) NOT NULL,
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        STATE VARCHAR(255),
-        REASON VARCHAR(255),
-        UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (STATUS_ID),
-        FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE WORKFLOW_STATUS
-(
-        STATUS_ID VARCHAR (255) NOT NULL,
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        STATE VARCHAR(255),
-        REASON VARCHAR(255),
-        UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (STATUS_ID, TEMPLATE_ID),
-        FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE EDGE
-(
-        EDGE_ID VARCHAR (255) NOT NULL,
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        NAME VARCHAR (255),
-        COMPONENT_STATUS_ID VARCHAR(255),
-        DESCRIPTION VARCHAR(500),
-        CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (EDGE_ID, TEMPLATE_ID),
-        FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE PORT
-(
-        PORT_ID VARCHAR (255) NOT NULL,
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        NAME VARCHAR (255),
-        COMPONENT_STATUS_ID VARCHAR(255),
-        DESCRIPTION VARCHAR(500),
-        CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (PORT_ID, TEMPLATE_ID),
-        FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
-
-CREATE TABLE NODE
-(
-        NODE_ID VARCHAR (255) NOT NULL,
-        TEMPLATE_ID VARCHAR (255) NOT NULL,
-        NAME VARCHAR (255),
-        APPLICATION_ID VARCHAR (255),
-        APPLICATION_NAME VARCHAR (255),
-        COMPONENT_STATUS_ID VARCHAR(255),
-        DESCRIPTION VARCHAR(500),
-        CREATED_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
-        PRIMARY KEY (NODE_ID, TEMPLATE_ID),
-        FOREIGN KEY (TEMPLATE_ID) REFERENCES WORKFLOW(TEMPLATE_ID) ON DELETE CASCADE
-);
\ No newline at end of file