You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by sc...@apache.org on 2015/06/20 23:01:59 UTC

[08/11] airavata git commit: Fixing minor issues and fixing the registry test cases

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessStatusPK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessStatusPK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessStatusPK.java
index 3158e15..cec3c70 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessStatusPK.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessStatusPK.java
@@ -60,16 +60,16 @@ public class ProcessStatusPK implements Serializable {
 
         ProcessStatusPK that = (ProcessStatusPK) o;
 
-        if (statusId != null ? !statusId.equals(that.statusId) : that.statusId != null) return false;
-        if (processId != null ? !processId.equals(that.processId) : that.processId != null) return false;
+        if (getStatusId() != null ? !getStatusId().equals(that.getStatusId()) : that.getStatusId() != null) return false;
+        if (getProcessId() != null ? !getProcessId().equals(that.getProcessId()) : that.getProcessId() != null) return false;
 
         return true;
     }
 
     @Override
     public int hashCode() {
-        int result = statusId != null ? statusId.hashCode() : 0;
-        result = 31 * result + (processId != null ? processId.hashCode() : 0);
+        int result = getStatusId() != null ? getStatusId().hashCode() : 0;
+        result = 31 * result + (getProcessId() != null ? getProcessId().hashCode() : 0);
         return result;
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Project.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Project.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Project.java
index d1f2261..b605a8e 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Project.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Project.java
@@ -32,13 +32,13 @@ import java.util.Collection;
 public class Project {
     private final static Logger logger = LoggerFactory.getLogger(Project.class);
     private String gatewayId;
-    private String ownerName;
+    private String userName;
     private String projectName;
     private String projectId;
     private String description;
     private Timestamp creationTime;
     private Collection<Experiment> experiments;
-    private User user;
+    private Users user;
     private Gateway gateway;
     private Collection<ProjectUser> projectUsers;
 
@@ -53,13 +53,13 @@ public class Project {
     }
 
     @Basic
-    @Column(name = "OWNER_NAME")
-    public String getOwnerName() {
-        return ownerName;
+    @Column(name = "USER_NAME")
+    public String getUserName() {
+        return userName;
     }
 
-    public void setOwnerName(String ownerName) {
-        this.ownerName = ownerName;
+    public void setUserName(String ownerName) {
+        this.userName = ownerName;
     }
 
     @Basic
@@ -102,38 +102,38 @@ public class Project {
         this.creationTime = creationTime;
     }
 
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
+//    @Override
+//    public boolean equals(Object o) {
+//        if (this == o) return true;
+//        if (o == null || getClass() != o.getClass()) return false;
+//
+//        Project project = (Project) o;
+//
+//        if (creationTime != null ? !creationTime.equals(project.creationTime) : project.creationTime != null)
+//            return false;
+//        if (description != null ? !description.equals(project.description) : project.description != null)
+//            return false;
+//        if (gatewayId != null ? !gatewayId.equals(project.gatewayId) : project.gatewayId != null) return false;
+//        if (userName != null ? !userName.equals(project.userName) : project.userName != null) return false;
+//        if (projectId != null ? !projectId.equals(project.projectId) : project.projectId != null) return false;
+//        if (projectName != null ? !projectName.equals(project.projectName) : project.projectName != null)
+//            return false;
+//
+//        return true;
+//    }
+//
+//    @Override
+//    public int hashCode() {
+//        int result = gatewayId != null ? gatewayId.hashCode() : 0;
+//        result = 31 * result + (userName != null ? userName.hashCode() : 0);
+//        result = 31 * result + (projectName != null ? projectName.hashCode() : 0);
+//        result = 31 * result + (projectId != null ? projectId.hashCode() : 0);
+//        result = 31 * result + (description != null ? description.hashCode() : 0);
+//        result = 31 * result + (creationTime != null ? creationTime.hashCode() : 0);
+//        return result;
+//    }
 
-        Project project = (Project) o;
-
-        if (creationTime != null ? !creationTime.equals(project.creationTime) : project.creationTime != null)
-            return false;
-        if (description != null ? !description.equals(project.description) : project.description != null)
-            return false;
-        if (gatewayId != null ? !gatewayId.equals(project.gatewayId) : project.gatewayId != null) return false;
-        if (ownerName != null ? !ownerName.equals(project.ownerName) : project.ownerName != null) return false;
-        if (projectId != null ? !projectId.equals(project.projectId) : project.projectId != null) return false;
-        if (projectName != null ? !projectName.equals(project.projectName) : project.projectName != null)
-            return false;
-
-        return true;
-    }
-
-    @Override
-    public int hashCode() {
-        int result = gatewayId != null ? gatewayId.hashCode() : 0;
-        result = 31 * result + (ownerName != null ? ownerName.hashCode() : 0);
-        result = 31 * result + (projectName != null ? projectName.hashCode() : 0);
-        result = 31 * result + (projectId != null ? projectId.hashCode() : 0);
-        result = 31 * result + (description != null ? description.hashCode() : 0);
-        result = 31 * result + (creationTime != null ? creationTime.hashCode() : 0);
-        return result;
-    }
-
-    @OneToMany(mappedBy = "projectsByProjectId")
+    @OneToMany(mappedBy = "project")
     public Collection<Experiment> getExperiments() {
         return experiments;
     }
@@ -143,12 +143,12 @@ public class Project {
     }
 
     @ManyToOne
-    @JoinColumn(name = "OWNER_NAME", referencedColumnName = "USER_NAME")
-    public User getUser() {
+    @JoinColumn(name = "USER_NAME", referencedColumnName = "USER_NAME")
+    public Users getUser() {
         return user;
     }
 
-    public void setUser(User userByOwnerName) {
+    public void setUser(Users userByOwnerName) {
         this.user = userByOwnerName;
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUser.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUser.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUser.java
index 60a755b..72c52b8 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUser.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUser.java
@@ -32,7 +32,7 @@ public class ProjectUser {
     private final static Logger logger = LoggerFactory.getLogger(ProjectUser.class);
     private String projectId;
     private String userName;
-    private User user;
+    private Users user;
     private Project project;
 
     @Id
@@ -55,33 +55,33 @@ public class ProjectUser {
         this.userName = userName;
     }
 
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        ProjectUser that = (ProjectUser) o;
-
-        if (projectId != null ? !projectId.equals(that.projectId) : that.projectId != null) return false;
-        if (userName != null ? !userName.equals(that.userName) : that.userName != null) return false;
-
-        return true;
-    }
-
-    @Override
-    public int hashCode() {
-        int result = projectId != null ? projectId.hashCode() : 0;
-        result = 31 * result + (userName != null ? userName.hashCode() : 0);
-        return result;
-    }
+//    @Override
+//    public boolean equals(Object o) {
+//        if (this == o) return true;
+//        if (o == null || getClass() != o.getClass()) return false;
+//
+//        ProjectUser that = (ProjectUser) o;
+//
+//        if (projectId != null ? !projectId.equals(that.projectId) : that.projectId != null) return false;
+//        if (userName != null ? !userName.equals(that.userName) : that.userName != null) return false;
+//
+//        return true;
+//    }
+//
+//    @Override
+//    public int hashCode() {
+//        int result = projectId != null ? projectId.hashCode() : 0;
+//        result = 31 * result + (userName != null ? userName.hashCode() : 0);
+//        return result;
+//    }
 
     @ManyToOne
     @JoinColumn(name = "USER_NAME", referencedColumnName = "USER_NAME", nullable = false)
-    public User getUser() {
+    public Users getUser() {
         return user;
     }
 
-    public void setUser(User userByUserName) {
+    public void setUser(Users userByUserName) {
         this.user = userByUserName;
     }
 

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUserPK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUserPK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUserPK.java
index 2d32627..d129082 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUserPK.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUserPK.java
@@ -59,16 +59,16 @@ public class ProjectUserPK implements Serializable {
 
         ProjectUserPK that = (ProjectUserPK) o;
 
-        if (projectId != null ? !projectId.equals(that.projectId) : that.projectId != null) return false;
-        if (userName != null ? !userName.equals(that.userName) : that.userName != null) return false;
+        if (getProjectId() != null ? !getProjectId().equals(that.getProjectId()) : that.getProjectId() != null) return false;
+        if (getUserName() != null ? !getUserName().equals(that.getUserName()) : that.getUserName() != null) return false;
 
         return true;
     }
 
     @Override
     public int hashCode() {
-        int result = projectId != null ? projectId.hashCode() : 0;
-        result = 31 * result + (userName != null ? userName.hashCode() : 0);
+        int result = getProjectId() != null ? getProjectId().hashCode() : 0;
+        result = 31 * result + (getUserName() != null ? getUserName().hashCode() : 0);
         return result;
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Task.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Task.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Task.java
index 6f8d7b1..5982044 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Task.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Task.java
@@ -113,38 +113,38 @@ public class Task {
         this.taskInternalStore = taskInternalStore;
     }
 
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        Task task = (Task) o;
-
-        if (creationTime != null ? !creationTime.equals(task.creationTime) : task.creationTime != null) return false;
-        if (lastUpdateTime != null ? !lastUpdateTime.equals(task.lastUpdateTime) : task.lastUpdateTime != null)
-            return false;
-        if (parentProcessId != null ? !parentProcessId.equals(task.parentProcessId) : task.parentProcessId != null)
-            return false;
-        if (taskDetail != null ? !taskDetail.equals(task.taskDetail) : task.taskDetail != null) return false;
-        if (taskId != null ? !taskId.equals(task.taskId) : task.taskId != null) return false;
-        if (taskInternalStore != null ? !taskInternalStore.equals(task.taskInternalStore) : task.taskInternalStore != null)
-            return false;
-        if (taskType != null ? !taskType.equals(task.taskType) : task.taskType != null) return false;
-
-        return true;
-    }
-
-    @Override
-    public int hashCode() {
-        int result = taskId != null ? taskId.hashCode() : 0;
-        result = 31 * result + (taskType != null ? taskType.hashCode() : 0);
-        result = 31 * result + (parentProcessId != null ? parentProcessId.hashCode() : 0);
-        result = 31 * result + (creationTime != null ? creationTime.hashCode() : 0);
-        result = 31 * result + (lastUpdateTime != null ? lastUpdateTime.hashCode() : 0);
-        result = 31 * result + (taskDetail != null ? taskDetail.hashCode() : 0);
-        result = 31 * result + (taskInternalStore != null ? taskInternalStore.hashCode() : 0);
-        return result;
-    }
+//    @Override
+//    public boolean equals(Object o) {
+//        if (this == o) return true;
+//        if (o == null || getClass() != o.getClass()) return false;
+//
+//        Task task = (Task) o;
+//
+//        if (creationTime != null ? !creationTime.equals(task.creationTime) : task.creationTime != null) return false;
+//        if (lastUpdateTime != null ? !lastUpdateTime.equals(task.lastUpdateTime) : task.lastUpdateTime != null)
+//            return false;
+//        if (parentProcessId != null ? !parentProcessId.equals(task.parentProcessId) : task.parentProcessId != null)
+//            return false;
+//        if (taskDetail != null ? !taskDetail.equals(task.taskDetail) : task.taskDetail != null) return false;
+//        if (taskId != null ? !taskId.equals(task.taskId) : task.taskId != null) return false;
+//        if (taskInternalStore != null ? !taskInternalStore.equals(task.taskInternalStore) : task.taskInternalStore != null)
+//            return false;
+//        if (taskType != null ? !taskType.equals(task.taskType) : task.taskType != null) return false;
+//
+//        return true;
+//    }
+//
+//    @Override
+//    public int hashCode() {
+//        int result = taskId != null ? taskId.hashCode() : 0;
+//        result = 31 * result + (taskType != null ? taskType.hashCode() : 0);
+//        result = 31 * result + (parentProcessId != null ? parentProcessId.hashCode() : 0);
+//        result = 31 * result + (creationTime != null ? creationTime.hashCode() : 0);
+//        result = 31 * result + (lastUpdateTime != null ? lastUpdateTime.hashCode() : 0);
+//        result = 31 * result + (taskDetail != null ? taskDetail.hashCode() : 0);
+//        result = 31 * result + (taskInternalStore != null ? taskInternalStore.hashCode() : 0);
+//        return result;
+//    }
 
     @ManyToOne
     @JoinColumn(name = "PARENT_PROCESS_ID", referencedColumnName = "PROCESS_ID")

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskError.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskError.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskError.java
index 375231d..a96c392 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskError.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskError.java
@@ -110,38 +110,38 @@ public class TaskError {
         this.rootCauseErrorIdList = rootCauseErrorIdList;
     }
 
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        TaskError that = (TaskError) o;
-        if (errorId != that.errorId) return false;
-        if (actualErrorMessage != null ? !actualErrorMessage.equals(that.actualErrorMessage) : that.actualErrorMessage != null)
-            return false;
-        if (creationTime != null ? !creationTime.equals(that.creationTime) : that.creationTime != null) return false;
-        if (rootCauseErrorIdList != null ? !rootCauseErrorIdList.equals(that.rootCauseErrorIdList) : that.rootCauseErrorIdList != null)
-            return false;
-        if (taskId != null ? !taskId.equals(that.taskId) : that.taskId != null) return false;
-        if (transientOrPersistent != null ? !transientOrPersistent.equals(that.transientOrPersistent) : that.transientOrPersistent != null)
-            return false;
-        if (userFriendlyMessage != null ? !userFriendlyMessage.equals(that.userFriendlyMessage) : that.userFriendlyMessage != null)
-            return false;
-
-        return true;
-    }
-
-    @Override
-    public int hashCode() {
-        int result = errorId != null ? errorId.hashCode() : 0;
-        result = 31 * result + (taskId != null ? taskId.hashCode() : 0);
-        result = 31 * result + (creationTime != null ? creationTime.hashCode() : 0);
-        result = 31 * result + (actualErrorMessage != null ? actualErrorMessage.hashCode() : 0);
-        result = 31 * result + (userFriendlyMessage != null ? userFriendlyMessage.hashCode() : 0);
-        result = 31 * result + (transientOrPersistent != null ? transientOrPersistent.hashCode() : 0);
-        result = 31 * result + (rootCauseErrorIdList != null ? rootCauseErrorIdList.hashCode() : 0);
-        return result;
-    }
+//    @Override
+//    public boolean equals(Object o) {
+//        if (this == o) return true;
+//        if (o == null || getClass() != o.getClass()) return false;
+//
+//        TaskError that = (TaskError) o;
+//        if (errorId != that.errorId) return false;
+//        if (actualErrorMessage != null ? !actualErrorMessage.equals(that.actualErrorMessage) : that.actualErrorMessage != null)
+//            return false;
+//        if (creationTime != null ? !creationTime.equals(that.creationTime) : that.creationTime != null) return false;
+//        if (rootCauseErrorIdList != null ? !rootCauseErrorIdList.equals(that.rootCauseErrorIdList) : that.rootCauseErrorIdList != null)
+//            return false;
+//        if (taskId != null ? !taskId.equals(that.taskId) : that.taskId != null) return false;
+//        if (transientOrPersistent != null ? !transientOrPersistent.equals(that.transientOrPersistent) : that.transientOrPersistent != null)
+//            return false;
+//        if (userFriendlyMessage != null ? !userFriendlyMessage.equals(that.userFriendlyMessage) : that.userFriendlyMessage != null)
+//            return false;
+//
+//        return true;
+//    }
+//
+//    @Override
+//    public int hashCode() {
+//        int result = errorId != null ? errorId.hashCode() : 0;
+//        result = 31 * result + (taskId != null ? taskId.hashCode() : 0);
+//        result = 31 * result + (creationTime != null ? creationTime.hashCode() : 0);
+//        result = 31 * result + (actualErrorMessage != null ? actualErrorMessage.hashCode() : 0);
+//        result = 31 * result + (userFriendlyMessage != null ? userFriendlyMessage.hashCode() : 0);
+//        result = 31 * result + (transientOrPersistent != null ? transientOrPersistent.hashCode() : 0);
+//        result = 31 * result + (rootCauseErrorIdList != null ? rootCauseErrorIdList.hashCode() : 0);
+//        return result;
+//    }
 
     @ManyToOne
     @JoinColumn(name = "TASK_ID", referencedColumnName = "TASK_ID", nullable = false)

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskErrorPK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskErrorPK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskErrorPK.java
index ad55046..177158b 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskErrorPK.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskErrorPK.java
@@ -59,16 +59,16 @@ public class TaskErrorPK implements Serializable {
 
         TaskErrorPK that = (TaskErrorPK) o;
 
-        if (errorId != null ? !errorId.equals(that.errorId) : that.errorId != null) return false;
-        if (taskId != null ? !taskId.equals(that.taskId) : that.taskId != null) return false;
+        if (getErrorId() != null ? !getErrorId().equals(that.getErrorId()) : that.getErrorId() != null) return false;
+        if (getTaskId() != null ? !getTaskId().equals(that.getTaskId()) : that.getTaskId() != null) return false;
 
         return true;
     }
 
     @Override
     public int hashCode() {
-        int result = errorId != null ? errorId.hashCode() : 0;
-        result = 31 * result + (taskId != null ? taskId.hashCode() : 0);
+        int result = getErrorId() != null ? getErrorId().hashCode() : 0;
+        result = 31 * result + (getTaskId() != null ? getTaskId().hashCode() : 0);
         return result;
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskStatus.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskStatus.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskStatus.java
index 8b7da25..1e08a43 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskStatus.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskStatus.java
@@ -88,31 +88,31 @@ public class TaskStatus {
         this.reason = reason;
     }
 
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        TaskStatus that = (TaskStatus) o;
-        if (statusId != null ? !statusId.equals(that.statusId) : that.statusId != null) return false;
-        if (reason != null ? !reason.equals(that.reason) : that.reason != null) return false;
-        if (state != null ? !state.equals(that.state) : that.state != null) return false;
-        if (taskId != null ? !taskId.equals(that.taskId) : that.taskId != null) return false;
-        if (timeOfStateChange != null ? !timeOfStateChange.equals(that.timeOfStateChange) : that.timeOfStateChange != null)
-            return false;
-
-        return true;
-    }
-
-    @Override
-    public int hashCode() {
-        int result = statusId != null ? statusId.hashCode() : 0;
-        result = 31 * result + (taskId != null ? taskId.hashCode() : 0);
-        result = 31 * result + (state != null ? state.hashCode() : 0);
-        result = 31 * result + (timeOfStateChange != null ? timeOfStateChange.hashCode() : 0);
-        result = 31 * result + (reason != null ? reason.hashCode() : 0);
-        return result;
-    }
+//    @Override
+//    public boolean equals(Object o) {
+//        if (this == o) return true;
+//        if (o == null || getClass() != o.getClass()) return false;
+//
+//        TaskStatus that = (TaskStatus) o;
+//        if (statusId != null ? !statusId.equals(that.statusId) : that.statusId != null) return false;
+//        if (reason != null ? !reason.equals(that.reason) : that.reason != null) return false;
+//        if (state != null ? !state.equals(that.state) : that.state != null) return false;
+//        if (taskId != null ? !taskId.equals(that.taskId) : that.taskId != null) return false;
+//        if (timeOfStateChange != null ? !timeOfStateChange.equals(that.timeOfStateChange) : that.timeOfStateChange != null)
+//            return false;
+//
+//        return true;
+//    }
+//
+//    @Override
+//    public int hashCode() {
+//        int result = statusId != null ? statusId.hashCode() : 0;
+//        result = 31 * result + (taskId != null ? taskId.hashCode() : 0);
+//        result = 31 * result + (state != null ? state.hashCode() : 0);
+//        result = 31 * result + (timeOfStateChange != null ? timeOfStateChange.hashCode() : 0);
+//        result = 31 * result + (reason != null ? reason.hashCode() : 0);
+//        return result;
+//    }
 
     @ManyToOne
     @JoinColumn(name = "TASK_ID", referencedColumnName = "TASK_ID", nullable = false)

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskStatusPK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskStatusPK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskStatusPK.java
index 502852b..f7c5ac5 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskStatusPK.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskStatusPK.java
@@ -59,16 +59,16 @@ public class TaskStatusPK implements Serializable {
 
         TaskStatusPK that = (TaskStatusPK) o;
 
-        if (statusId != null ? !statusId.equals(that.statusId) : that.statusId != null) return false;
-        if (taskId != null ? !taskId.equals(that.taskId) : that.taskId != null) return false;
+        if (getStatusId() != null ? !getStatusId().equals(that.getStatusId()) : that.getStatusId() != null) return false;
+        if (getTaskId() != null ? !getTaskId().equals(that.getTaskId()) : that.getTaskId() != null) return false;
 
         return true;
     }
 
     @Override
     public int hashCode() {
-        int result = statusId != null ? statusId.hashCode() : 0;
-        result = 31 * result + (taskId != null ? taskId.hashCode() : 0);
+        int result = getStatusId() != null ? getStatusId().hashCode() : 0;
+        result = 31 * result + (getTaskId() != null ? getTaskId().hashCode() : 0);
         return result;
     }
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/User.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/User.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/User.java
deleted file mode 100644
index 010a198..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/User.java
+++ /dev/null
@@ -1,115 +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.experiment.catalog.model;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-import javax.persistence.*;
-import java.util.Collection;
-
-@Entity
-@Table(name = "USER")
-public class User {
-    private final static Logger logger = LoggerFactory.getLogger(User.class);
-    private String userName;
-    private String password;
-    private Collection<Experiment> experiments;
-    private Collection<GatewayWorker> gatewayWorkers;
-    private Collection<Project> projects;
-    private Collection<ProjectUser> projectUsers;
-
-    @Id
-    @Column(name = "USER_NAME")
-    public String getUserName() {
-        return userName;
-    }
-
-    public void setUserName(String userName) {
-        this.userName = userName;
-    }
-
-    @Basic
-    @Column(name = "PASSWORD")
-    public String getPassword() {
-        return password;
-    }
-
-    public void setPassword(String password) {
-        this.password = password;
-    }
-
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        User user = (User) o;
-
-        if (password != null ? !password.equals(user.password) : user.password != null) return false;
-        if (userName != null ? !userName.equals(user.userName) : user.userName != null) return false;
-
-        return true;
-    }
-
-    @Override
-    public int hashCode() {
-        int result = userName != null ? userName.hashCode() : 0;
-        result = 31 * result + (password != null ? password.hashCode() : 0);
-        return result;
-    }
-
-    @OneToMany(mappedBy = "usersByUserName")
-    public Collection<Experiment> getExperiments() {
-        return experiments;
-    }
-
-    public void setExperiments(Collection<Experiment> experimentByUserName) {
-        this.experiments = experimentByUserName;
-    }
-
-    @OneToMany(mappedBy = "users")
-    public Collection<GatewayWorker> getGatewayWorkers() {
-        return gatewayWorkers;
-    }
-
-    public void setGatewayWorkers(Collection<GatewayWorker> gatewayWorkerByUserName) {
-        this.gatewayWorkers = gatewayWorkerByUserName;
-    }
-
-    @OneToMany(mappedBy = "user")
-    public Collection<Project> getProjects() {
-        return projects;
-    }
-
-    public void setProjects(Collection<Project> projectByUserName) {
-        this.projects = projectByUserName;
-    }
-
-    @OneToMany(mappedBy = "user")
-    public Collection<ProjectUser> getProjectUsers() {
-        return projectUsers;
-    }
-
-    public void setProjectUsers(Collection<ProjectUser> projectUserByUserName) {
-        this.projectUsers = projectUserByUserName;
-    }
-}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/UserConfigurationData.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/UserConfigurationData.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/UserConfigurationData.java
index 18c7335..fc7144e 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/UserConfigurationData.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/UserConfigurationData.java
@@ -185,58 +185,58 @@ public class UserConfigurationData {
         this.totalPhysicalMemory = totalPhysicalMemory;
     }
 
-    @Override
-    public boolean equals(Object o) {
-        if (this == o) return true;
-        if (o == null || getClass() != o.getClass()) return false;
-
-        UserConfigurationData that = (UserConfigurationData) o;
-
-        if (airavataAutoSchedule != null ? !airavataAutoSchedule.equals(that.airavataAutoSchedule) : that.airavataAutoSchedule != null)
-            return false;
-        if (experimentId != null ? !experimentId.equals(that.experimentId) : that.experimentId != null) return false;
-        if (generateCert != null ? !generateCert.equals(that.generateCert) : that.generateCert != null) return false;
-        if (nodeCount != null ? !nodeCount.equals(that.nodeCount) : that.nodeCount != null) return false;
-        if (numberOfThreads != null ? !numberOfThreads.equals(that.numberOfThreads) : that.numberOfThreads != null)
-            return false;
-        if (overrideManualScheduledParams != null ? !overrideManualScheduledParams.equals(that.overrideManualScheduledParams) : that.overrideManualScheduledParams != null)
-            return false;
-        if (queueName != null ? !queueName.equals(that.queueName) : that.queueName != null) return false;
-        if (resourceHostId != null ? !resourceHostId.equals(that.resourceHostId) : that.resourceHostId != null)
-            return false;
-        if (shareExperimentPublically != null ? !shareExperimentPublically.equals(that.shareExperimentPublically) : that.shareExperimentPublically != null)
-            return false;
-        if (throttleResources != null ? !throttleResources.equals(that.throttleResources) : that.throttleResources != null)
-            return false;
-        if (totalCpuCount != null ? !totalCpuCount.equals(that.totalCpuCount) : that.totalCpuCount != null)
-            return false;
-        if (totalPhysicalMemory != null ? !totalPhysicalMemory.equals(that.totalPhysicalMemory) : that.totalPhysicalMemory != null)
-            return false;
-        if (userDn != null ? !userDn.equals(that.userDn) : that.userDn != null) return false;
-        if (wallTimeLimit != null ? !wallTimeLimit.equals(that.wallTimeLimit) : that.wallTimeLimit != null)
-            return false;
-
-        return true;
-    }
-
-    @Override
-    public int hashCode() {
-        int result = experimentId != null ? experimentId.hashCode() : 0;
-        result = 31 * result + (airavataAutoSchedule != null ? airavataAutoSchedule.hashCode() : 0);
-        result = 31 * result + (overrideManualScheduledParams != null ? overrideManualScheduledParams.hashCode() : 0);
-        result = 31 * result + (shareExperimentPublically != null ? shareExperimentPublically.hashCode() : 0);
-        result = 31 * result + (throttleResources != null ? throttleResources.hashCode() : 0);
-        result = 31 * result + (userDn != null ? userDn.hashCode() : 0);
-        result = 31 * result + (generateCert != null ? generateCert.hashCode() : 0);
-        result = 31 * result + (resourceHostId != null ? resourceHostId.hashCode() : 0);
-        result = 31 * result + (totalCpuCount != null ? totalCpuCount.hashCode() : 0);
-        result = 31 * result + (nodeCount != null ? nodeCount.hashCode() : 0);
-        result = 31 * result + (numberOfThreads != null ? numberOfThreads.hashCode() : 0);
-        result = 31 * result + (queueName != null ? queueName.hashCode() : 0);
-        result = 31 * result + (wallTimeLimit != null ? wallTimeLimit.hashCode() : 0);
-        result = 31 * result + (totalPhysicalMemory != null ? totalPhysicalMemory.hashCode() : 0);
-        return result;
-    }
+//    @Override
+//    public boolean equals(Object o) {
+//        if (this == o) return true;
+//        if (o == null || getClass() != o.getClass()) return false;
+//
+//        UserConfigurationData that = (UserConfigurationData) o;
+//
+//        if (airavataAutoSchedule != null ? !airavataAutoSchedule.equals(that.airavataAutoSchedule) : that.airavataAutoSchedule != null)
+//            return false;
+//        if (experimentId != null ? !experimentId.equals(that.experimentId) : that.experimentId != null) return false;
+//        if (generateCert != null ? !generateCert.equals(that.generateCert) : that.generateCert != null) return false;
+//        if (nodeCount != null ? !nodeCount.equals(that.nodeCount) : that.nodeCount != null) return false;
+//        if (numberOfThreads != null ? !numberOfThreads.equals(that.numberOfThreads) : that.numberOfThreads != null)
+//            return false;
+//        if (overrideManualScheduledParams != null ? !overrideManualScheduledParams.equals(that.overrideManualScheduledParams) : that.overrideManualScheduledParams != null)
+//            return false;
+//        if (queueName != null ? !queueName.equals(that.queueName) : that.queueName != null) return false;
+//        if (resourceHostId != null ? !resourceHostId.equals(that.resourceHostId) : that.resourceHostId != null)
+//            return false;
+//        if (shareExperimentPublically != null ? !shareExperimentPublically.equals(that.shareExperimentPublically) : that.shareExperimentPublically != null)
+//            return false;
+//        if (throttleResources != null ? !throttleResources.equals(that.throttleResources) : that.throttleResources != null)
+//            return false;
+//        if (totalCpuCount != null ? !totalCpuCount.equals(that.totalCpuCount) : that.totalCpuCount != null)
+//            return false;
+//        if (totalPhysicalMemory != null ? !totalPhysicalMemory.equals(that.totalPhysicalMemory) : that.totalPhysicalMemory != null)
+//            return false;
+//        if (userDn != null ? !userDn.equals(that.userDn) : that.userDn != null) return false;
+//        if (wallTimeLimit != null ? !wallTimeLimit.equals(that.wallTimeLimit) : that.wallTimeLimit != null)
+//            return false;
+//
+//        return true;
+//    }
+//
+//    @Override
+//    public int hashCode() {
+//        int result = experimentId != null ? experimentId.hashCode() : 0;
+//        result = 31 * result + (airavataAutoSchedule != null ? airavataAutoSchedule.hashCode() : 0);
+//        result = 31 * result + (overrideManualScheduledParams != null ? overrideManualScheduledParams.hashCode() : 0);
+//        result = 31 * result + (shareExperimentPublically != null ? shareExperimentPublically.hashCode() : 0);
+//        result = 31 * result + (throttleResources != null ? throttleResources.hashCode() : 0);
+//        result = 31 * result + (userDn != null ? userDn.hashCode() : 0);
+//        result = 31 * result + (generateCert != null ? generateCert.hashCode() : 0);
+//        result = 31 * result + (resourceHostId != null ? resourceHostId.hashCode() : 0);
+//        result = 31 * result + (totalCpuCount != null ? totalCpuCount.hashCode() : 0);
+//        result = 31 * result + (nodeCount != null ? nodeCount.hashCode() : 0);
+//        result = 31 * result + (numberOfThreads != null ? numberOfThreads.hashCode() : 0);
+//        result = 31 * result + (queueName != null ? queueName.hashCode() : 0);
+//        result = 31 * result + (wallTimeLimit != null ? wallTimeLimit.hashCode() : 0);
+//        result = 31 * result + (totalPhysicalMemory != null ? totalPhysicalMemory.hashCode() : 0);
+//        return result;
+//    }
 
     @OneToOne
     @JoinColumn(name = "EXPERIMENT_ID", referencedColumnName = "EXPERIMENT_ID", nullable = false)

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Users.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Users.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Users.java
new file mode 100644
index 0000000..f0f1fbb
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Users.java
@@ -0,0 +1,115 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements.  See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership.  The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License.  You may obtain a copy of the License at
+ *
+ *   http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied.  See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+*/
+package org.apache.airavata.registry.core.experiment.catalog.model;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.*;
+import java.util.Collection;
+
+@Entity
+@Table(name = "USERS")
+public class Users {
+    private final static Logger logger = LoggerFactory.getLogger(Users.class);
+    private String userName;
+    private String password;
+    private Collection<Experiment> experiments;
+    private Collection<GatewayWorker> gatewayWorkers;
+    private Collection<Project> projects;
+    private Collection<ProjectUser> projectUsers;
+
+    @Id
+    @Column(name = "USER_NAME")
+    public String getUserName() {
+        return userName;
+    }
+
+    public void setUserName(String userName) {
+        this.userName = userName;
+    }
+
+    @Basic
+    @Column(name = "PASSWORD")
+    public String getPassword() {
+        return password;
+    }
+
+    public void setPassword(String password) {
+        this.password = password;
+    }
+
+//    @Override
+//    public boolean equals(Object o) {
+//        if (this == o) return true;
+//        if (o == null || getClass() != o.getClass()) return false;
+//
+//        User user = (User) o;
+//
+//        if (password != null ? !password.equals(user.password) : user.password != null) return false;
+//        if (userName != null ? !userName.equals(user.userName) : user.userName != null) return false;
+//
+//        return true;
+//    }
+//
+//    @Override
+//    public int hashCode() {
+//        int result = userName != null ? userName.hashCode() : 0;
+//        result = 31 * result + (password != null ? password.hashCode() : 0);
+//        return result;
+//    }
+
+    @OneToMany(mappedBy = "user")
+    public Collection<Experiment> getExperiments() {
+        return experiments;
+    }
+
+    public void setExperiments(Collection<Experiment> experimentByUserName) {
+        this.experiments = experimentByUserName;
+    }
+
+    @OneToMany(mappedBy = "user")
+    public Collection<GatewayWorker> getGatewayWorkers() {
+        return gatewayWorkers;
+    }
+
+    public void setGatewayWorkers(Collection<GatewayWorker> gatewayWorkerByUserName) {
+        this.gatewayWorkers = gatewayWorkerByUserName;
+    }
+
+    @OneToMany(mappedBy = "user")
+    public Collection<Project> getProjects() {
+        return projects;
+    }
+
+    public void setProjects(Collection<Project> projectByUserName) {
+        this.projects = projectByUserName;
+    }
+
+    @OneToMany(mappedBy = "user")
+    public Collection<ProjectUser> getProjectUsers() {
+        return projectUsers;
+    }
+
+    public void setProjectUsers(Collection<ProjectUser> projectUserByUserName) {
+        this.projectUsers = projectUserByUserName;
+    }
+}
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java
index 8faf1aa..5fc5e48 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/AbstractExpCatResource.java
@@ -31,12 +31,12 @@ public abstract class AbstractExpCatResource implements ExperimentCatResource {
 	// table names
 	public static final String GATEWAY = "Gateway";
 	public static final String USERS = "Users";
-	public static final String GATEWAY_WORKER = "Gateway_Worker";
+	public static final String GATEWAY_WORKER = "GatewayWorker";
 	public static final String PROJECT = "Project";
-	public static final String PROJECT_USER = "Project_User";
+	public static final String PROJECT_USER = "ProjectUser";
 	public static final String EXPERIMENT = "Experiment";
-	public static final String EXPERIMENT_INPUT = "Experiment_Input";
-	public static final String EXPERIMENT_OUTPUT = "Experiment_Output";
+	public static final String EXPERIMENT_INPUT = "ExperimentInput";
+	public static final String EXPERIMENT_OUTPUT = "ExperimentOutput";
     public static final String EXPERIMENT_ERROR = "ExperimentError";
     public static final String EXPERIMENT_STATUS = "ExperimentStatus";
     public static final String USER_CONFIGURATION_DATA = "UserConfigurationData";
@@ -53,30 +53,30 @@ public abstract class AbstractExpCatResource implements ExperimentCatResource {
 
 	// Gateway Table
 	public final class GatewayConstants {
-		public static final String GATEWAY_ID = "gateway_id";
-		public static final String GATEWAY_NAME = "gateway_name";
+		public static final String GATEWAY_ID = "gatewayId";
+		public static final String GATEWAY_NAME = "gatewayName";
 		public static final String DOMAIN = "domain";
 		public static final String EMAIL_ADDRESS = "emailAddress";
 	}
 
 	// Users table
 	public final class UserConstants {
-		public static final String USERNAME = "user_name";
+		public static final String USERNAME = "userName";
 		public static final String PASSWORD = "password";
 	}
 
 	// Gateway_Worker table
 	public final class GatewayWorkerConstants {
-		public static final String USERNAME = "user_name";
-		public static final String GATEWAY_ID = "gateway_id";
+		public static final String USERNAME = "userName";
+		public static final String GATEWAY_ID = "gatewayId";
 	}
 
 	// Project table
 	public final class ProjectConstants {
-		public static final String GATEWAY_ID = "gateway_id";
-		public static final String USERNAME = "user_name";
-		public static final String PROJECT_NAME = "project_name";
-		public static final String PROJECT_ID = "project_id";
+		public static final String GATEWAY_ID = "gatewayId";
+		public static final String USERNAME = "userName";
+		public static final String PROJECT_NAME = "projectName";
+		public static final String PROJECT_ID = "projectId";
 		public static final String DESCRIPTION = "description";
         public static final String CREATION_TIME = "creationTime";
 	}

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
index 26a1ea1..1702f4a 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ExperimentResource.java
@@ -442,11 +442,8 @@ public class ExperimentResource extends AbstractExpCatResource {
         EntityManager em = null;
         try {
             em = ExpCatResourceUtils.getEntityManager();
-
-            Experiment experiment = em.find(Experiment.class, experimentId);
-            em.close();
-            em = ExpCatResourceUtils.getEntityManager();
             em.getTransaction().begin();
+            Experiment experiment = em.find(Experiment.class, experimentId);
             if (experiment == null) {
             	experiment = new Experiment();
             }

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/GatewayResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/GatewayResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/GatewayResource.java
index fae7552..3c1c93e 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/GatewayResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/GatewayResource.java
@@ -206,7 +206,7 @@ public class GatewayResource extends AbstractExpCatResource {
                     generator = new QueryGenerator(USERS);
                     generator.setParameter(UserConstants.USERNAME, name);
                     q = generator.selectQuery(em);
-                    User user = (User) q.getSingleResult();
+                    Users user = (Users) q.getSingleResult();
                     UserResource userResource =
                             (UserResource) Utils.getResource(ResourceType.USER, user);
                     em.getTransaction().commit();
@@ -285,25 +285,11 @@ public class GatewayResource extends AbstractExpCatResource {
                         }
                     }
                     break;
-                case EXPERIMENT:
-                    generator = new QueryGenerator(EXPERIMENT);
-                    generator.setParameter(ExperimentConstants.GATEWAY_ID, gatewayId);
-                    q = generator.selectQuery(em);
-                    results = q.getResultList();
-                    if (results.size() != 0) {
-                        for (Object result : results) {
-                            Experiment experiment = (Experiment) result;
-                            ExperimentResource experimentResource =
-                                    (ExperimentResource) Utils.getResource(ResourceType.EXPERIMENT, experiment);
-                            resourceList.add(experimentResource);
-                        }
-                    }
-                    break;
                 case USER:
                     generator = new QueryGenerator(USERS);
                     q = generator.selectQuery(em);
                     for (Object o : q.getResultList()) {
-                        User user = (User) o;
+                        Users user = (Users) o;
                         UserResource userResource =
                                 (UserResource) Utils.getResource(ResourceType.USER, user);
                         resourceList.add(userResource);
@@ -392,7 +378,7 @@ public class GatewayResource extends AbstractExpCatResource {
                     return existingWorker != null;
                 case USER:
                     em = ExpCatResourceUtils.getEntityManager();
-                    User existingUser = em.find(User.class, name);
+                    Users existingUser = em.find(Users.class, name);
                     em.close();
                     return existingUser != null;
                 case EXPERIMENT:

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessResource.java
index e162d45..86933c4 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProcessResource.java
@@ -399,10 +399,8 @@ public class ProcessResource extends AbstractExpCatResource {
         EntityManager em = null;
         try {
             em = ExpCatResourceUtils.getEntityManager();
-            Process process = em.find(Process.class, processId);
-            em.close();
-            em = ExpCatResourceUtils.getEntityManager();
             em.getTransaction().begin();
+            Process process = em.find(Process.class, processId);
             if (process == null) {
             	process = new Process();
             }

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProjectResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProjectResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProjectResource.java
index c46256c..f77c2b9 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProjectResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProjectResource.java
@@ -26,7 +26,7 @@ import org.apache.airavata.registry.core.experiment.catalog.ResourceType;
 import org.apache.airavata.registry.core.experiment.catalog.model.Experiment;
 import org.apache.airavata.registry.core.experiment.catalog.model.Project;
 import org.apache.airavata.registry.core.experiment.catalog.model.ProjectUser;
-import org.apache.airavata.registry.core.experiment.catalog.model.User;
+import org.apache.airavata.registry.core.experiment.catalog.model.Users;
 import org.apache.airavata.registry.core.experiment.catalog.utils.QueryGenerator;
 import org.apache.airavata.registry.cpi.RegistryException;
 import org.apache.airavata.registry.cpi.ResultOrderType;
@@ -340,9 +340,9 @@ public class ProjectResource extends AbstractExpCatResource {
             project.setProjectId(id);
             project.setProjectName(name);
             project.setGatewayId(gatewayId);
-            User user = em.find(User.class, worker.getUser());
+            Users user = em.find(Users.class, worker.getUser());
             project.setUser(user);
-            project.setOwnerName(user.getUserName());
+            project.setUserName(user.getUserName());
             project.setDescription(description);
             project.setCreationTime(creationTime);
 
@@ -350,10 +350,10 @@ public class ProjectResource extends AbstractExpCatResource {
                 existingProject.setProjectName(name);
                 existingProject.setGatewayId(gatewayId);
                 existingProject.setUser(user);
-                existingProject.setOwnerName(user.getUserName());
+                existingProject.setUserName(user.getUserName());
                 existingProject.setDescription(description);
                 existingProject.setCreationTime(creationTime);
-                project = em.merge(existingProject);
+                em.merge(existingProject);
             } else {
                 em.persist(project);
             }

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProjectUserResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProjectUserResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProjectUserResource.java
index 433b62e..3686204 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProjectUserResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/ProjectUserResource.java
@@ -27,7 +27,7 @@ import org.apache.airavata.registry.core.experiment.catalog.ResourceType;
 import org.apache.airavata.registry.core.experiment.catalog.model.ProjectUser;
 import org.apache.airavata.registry.core.experiment.catalog.model.ProjectUserPK;
 import org.apache.airavata.registry.core.experiment.catalog.model.Project;
-import org.apache.airavata.registry.core.experiment.catalog.model.User;
+import org.apache.airavata.registry.core.experiment.catalog.model.Users;
 import org.apache.airavata.registry.cpi.RegistryException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -97,7 +97,7 @@ public class ProjectUserResource extends AbstractExpCatResource {
             ProjectUser prUser = new ProjectUser();
             prUser.setProjectId(projectId);
             prUser.setUserName(userName);
-            User user = em.find(User.class, userName);
+            Users user = em.find(Users.class, userName);
             prUser.setUser(user);
             Project project = em.find(Project.class, projectId);
             prUser.setProject(project);

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/UserResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/UserResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/UserResource.java
index a11c268..b2da6ca 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/UserResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/UserResource.java
@@ -26,7 +26,7 @@ import org.apache.airavata.common.utils.ServerSettings;
 import org.apache.airavata.registry.core.experiment.catalog.ExpCatResourceUtils;
 import org.apache.airavata.registry.core.experiment.catalog.ExperimentCatResource;
 import org.apache.airavata.registry.core.experiment.catalog.ResourceType;
-import org.apache.airavata.registry.core.experiment.catalog.model.User;
+import org.apache.airavata.registry.core.experiment.catalog.model.Users;
 import org.apache.airavata.registry.cpi.RegistryException;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -110,12 +110,12 @@ public class UserResource extends AbstractExpCatResource {
         EntityManager em = null;
         try {
             em = ExpCatResourceUtils.getEntityManager();
-            User existingUser = em.find(User.class, userName);
+            Users existingUser = em.find(Users.class, userName);
             em.close();
 
             em = ExpCatResourceUtils.getEntityManager();
             em.getTransaction().begin();
-            User user = new User();
+            Users user = new Users();
             user.setUserName(userName);
             if (password != null && !password.equals("")) {
                 try {

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
index d171685..c7d2873 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/Utils.java
@@ -26,6 +26,7 @@ import org.apache.airavata.registry.core.experiment.catalog.ExperimentCatResourc
 import org.apache.airavata.registry.core.experiment.catalog.JPAConstants;
 import org.apache.airavata.registry.core.experiment.catalog.ResourceType;
 import org.apache.airavata.registry.core.experiment.catalog.model.*;
+import org.apache.airavata.registry.core.experiment.catalog.model.Process;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -181,14 +182,14 @@ public class Utils {
                 }
             case PROJECT_USER:
                 if (o instanceof ProjectUser){
-                    return createProjectUser((ProjectUser)o);
+                    return createProjectUser((ProjectUser) o);
                 }else {
                     logger.error("Object should be a ProjectUser.", new IllegalArgumentException());
                     throw new IllegalArgumentException("Object should be a ProjectUser.");
                 }
             case USER:
-                if(o instanceof User) {
-                    return createUser((User) o);
+                if(o instanceof Users) {
+                    return createUser((Users) o);
                 }else {
                     logger.error("Object should be a User.", new IllegalArgumentException());
                     throw new IllegalArgumentException("Object should be a User.");
@@ -202,28 +203,28 @@ public class Utils {
                 }
             case EXPERIMENT_SUMMARY:
                 if (o instanceof  ExperimentSummary){
-                    return createExperimentSummary((ExperimentSummary)o);
+                    return createExperimentSummary((ExperimentSummary) o);
                 }else {
                     logger.error("Object should be a ExperimentSummary.", new IllegalArgumentException());
                     throw new IllegalArgumentException("Object should be a ExperimentSummary.");
                 }
             case EXPERIMENT:
                 if (o instanceof  Experiment){
-                    return createExperiment((Experiment)o);
+                    return createExperiment((Experiment) o);
                 }else {
                     logger.error("Object should be a Experiment.", new IllegalArgumentException());
                     throw new IllegalArgumentException("Object should be a Experiment.");
                 }
             case EXPERIMENT_INPUT:
                 if (o instanceof  ExperimentInput){
-                    return createExperimentInput((ExperimentInput)o);
+                    return createExperimentInput((ExperimentInput) o);
                 }else {
                     logger.error("Object should be a Experiment input data.", new IllegalArgumentException());
                     throw new IllegalArgumentException("Object should be a Experiment input data.");
                 }
             case EXPERIMENT_OUTPUT:
                 if (o instanceof  ExperimentOutput){
-                    return createExperimentOutput((ExperimentOutput)o);
+                    return createExperimentOutput((ExperimentOutput) o);
                 }else {
                     logger.error("Object should be a Experiment output data.", new IllegalArgumentException());
                     throw new IllegalArgumentException("Object should be a Experiment output data.");
@@ -242,6 +243,20 @@ public class Utils {
                     logger.error("Object should be a experiment error data.", new IllegalArgumentException());
                     throw new IllegalArgumentException("Object should be a experiment error data.");
                 }
+            case USER_CONFIGURATION_DATA:
+                if (o instanceof  UserConfigurationData){
+                    return createUserConfigData((UserConfigurationData) o);
+                }else {
+                    logger.error("Object should be a user config data.", new IllegalArgumentException());
+                    throw new IllegalArgumentException("Object should be a user config data.");
+                }
+            case PROCESS:
+                if (o instanceof Process){
+                    return createProcess((Process) o);
+                }else {
+                    logger.error("Object should be a process error data.", new IllegalArgumentException());
+                    throw new IllegalArgumentException("Object should be a process error data.");
+                }
             case PROCESS_ERROR:
                 if (o instanceof  ProcessError){
                     return createProcessError((ProcessError) o);
@@ -352,7 +367,7 @@ public class Utils {
         return null;
     }
 
-    private static ExperimentCatResource createUser(User o) {
+    private static ExperimentCatResource createUser(Users o) {
         UserResource userResource = new UserResource();
         if (o != null){
             userResource.setUserName(o.getUserName());
@@ -402,7 +417,6 @@ public class Utils {
     private static ExperimentCatResource createExperimentInput (ExperimentInput o){
         ExperimentInputResource inputResource = new ExperimentInputResource();
         if (o != null){
-            inputResource.setExperimentInputId(o.getExperimentInputId());
             inputResource.setExperimentId(o.getExperimentId());
             inputResource.setInputName(o.getInputName());
             inputResource.setInputValue(o.getInputValue());
@@ -422,8 +436,9 @@ public class Utils {
     private static ExperimentCatResource createExperimentOutput (ExperimentOutput o){
         ExperimentOutputResource outputResource = new ExperimentOutputResource();
         if (o != null){
-            outputResource.setExperimentOutputId(o.getExperimentOutputId());
             outputResource.setExperimentId(o.getExperimentId());
+            outputResource.setOutputName(o.getOutputName());
+            outputResource.setOutputValue(o.getOutputValue());
             outputResource.setDataType(o.getDataType());
             outputResource.setApplicationArgument(o.getApplicationArgument());
             outputResource.setIsRequired(o.getIsRequired());
@@ -462,6 +477,41 @@ public class Utils {
         return experimentErrorResource;
     }
 
+    private static ExperimentCatResource createUserConfigData (UserConfigurationData o){
+        UserConfigurationDataResource configurationDataResource = new UserConfigurationDataResource();
+        if (o != null){
+            configurationDataResource.setExperimentId(o.getExperimentId());
+            configurationDataResource.setAiravataAutoSchedule(o.getAiravataAutoSchedule());
+            configurationDataResource.setOverrideManualScheduledParams(o.getOverrideManualScheduledParams());
+            configurationDataResource.setShareExperimentPublically(o.getShareExperimentPublically());
+            configurationDataResource.setThrottleResources(o.getThrottleResources());
+            configurationDataResource.setUserDn(o.getUserDn());
+            configurationDataResource.setGenerateCert(o.getGenerateCert());
+            configurationDataResource.setResourceHostId(o.getResourceHostId());
+            configurationDataResource.setTotalCpuCount(o.getTotalCpuCount());
+            configurationDataResource.setNodeCount(o.getNodeCount());
+            configurationDataResource.setNumberOfThreads(o.getNumberOfThreads());
+            configurationDataResource.setQueueName(o.getQueueName());
+            configurationDataResource.setWallTimeLimit(o.getWallTimeLimit());
+            configurationDataResource.setTotalPhysicalMemory(o.getTotalPhysicalMemory());
+        }
+        return configurationDataResource;
+    }
+
+    private static ExperimentCatResource createProcess (Process o){
+        ProcessResource processResource = new ProcessResource();
+        if (o != null){
+            processResource.setProcessId(o.getProcessId());
+            processResource.setExperimentId(o.getExperimentId());
+            processResource.setCreationTime(o.getCreationTime());
+            processResource.setLastUpdateTime(o.getLastUpdateTime());
+            processResource.setProcessDetail(o.getProcessDetail());
+            processResource.setApplicationInterfaceId(o.getApplicationInterfaceId());
+            processResource.setTaskDag(o.getTaskDag());
+        }
+        return processResource;
+    }
+
     private static ExperimentCatResource createProcessError (ProcessError o){
         ProcessErrorResource processErrorResource = new ProcessErrorResource();
         if (o != null){
@@ -478,7 +528,6 @@ public class Utils {
     private static ExperimentCatResource createProcessInput (ProcessInput o){
         ProcessInputResource inputResource = new ProcessInputResource();
         if (o != null){
-            inputResource.setProcessInputId(o.getProcessInputId());
             inputResource.setProcessId(o.getProcessId());
             inputResource.setInputName(o.getInputName());
             inputResource.setInputValue(o.getInputValue());
@@ -498,8 +547,9 @@ public class Utils {
     private static ExperimentCatResource createProcessOutput (ProcessOutput o){
         ProcessOutputResource outputResource = new ProcessOutputResource();
         if (o != null){
-            outputResource.setProcessOutputId(o.getProcessOutputId());
             outputResource.setProcessId(o.getProcessId());
+            outputResource.setOutputName(o.getOutputName());
+            outputResource.setOutputValue(o.getOutputValue());
             outputResource.setDataType(o.getDataType());
             outputResource.setApplicationArgument(o.getApplicationArgument());
             outputResource.setIsRequired(o.getIsRequired());

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/WorkerResource.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/WorkerResource.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/WorkerResource.java
index 25bc2e4..3cb47d5 100644
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/WorkerResource.java
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/resources/WorkerResource.java
@@ -253,7 +253,7 @@ public class WorkerResource extends AbstractExpCatResource {
             switch (type) {
                 case PROJECT:
                     generator = new QueryGenerator(PROJECT);
-                    User users = em.find(User.class, getUser());
+                    Users users = em.find(Users.class, getUser());
                     Gateway gatewayModel = em.find(Gateway.class, gatewayId);
                     generator.setParameter("users", users);
                     if (gatewayModel != null) {
@@ -340,7 +340,7 @@ public class WorkerResource extends AbstractExpCatResource {
             em = ExpCatResourceUtils.getEntityManager();
             em.getTransaction().begin();
             GatewayWorker gatewayWorker = new GatewayWorker();
-            User existingUser = em.find(User.class, this.user);
+            Users existingUser = em.find(Users.class, this.user);
             gatewayWorker.setUser(existingUser);
             gatewayWorker.setUserName(existingUser.getUserName());
             gatewayWorker.setGatewayId(gatewayId);

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml b/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
index 29e5050..9e2ddfe 100644
--- a/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
+++ b/modules/registry/registry-core/src/main/resources/META-INF/persistence.xml
@@ -85,7 +85,7 @@
         <class>org.apache.airavata.registry.core.experiment.catalog.model.Task</class>
         <class>org.apache.airavata.registry.core.experiment.catalog.model.TaskError</class>
         <class>org.apache.airavata.registry.core.experiment.catalog.model.TaskStatus</class>
-        <class>org.apache.airavata.registry.core.experiment.catalog.model.User</class>
+        <class>org.apache.airavata.registry.core.experiment.catalog.model.Users</class>
         <class>org.apache.airavata.registry.core.experiment.catalog.model.UserConfigurationData</class>
         <exclude-unlisted-classes>true</exclude-unlisted-classes>
     </persistence-unit>

http://git-wip-us.apache.org/repos/asf/airavata/blob/cb5d3aef/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql b/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
index be1a62d..6e1174d 100644
--- a/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
+++ b/modules/registry/registry-core/src/main/resources/expcatalog-derby.sql
@@ -27,7 +27,7 @@ CREATE TABLE GATEWAY
         PRIMARY KEY (GATEWAY_ID)
 );
 
-CREATE TABLE USER
+CREATE TABLE USERS
 (
         USER_NAME VARCHAR(255),
         PASSWORD VARCHAR(255),
@@ -40,20 +40,20 @@ CREATE TABLE GATEWAY_WORKER
         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 USER(USER_NAME) ON DELETE CASCADE
+        FOREIGN KEY (USER_NAME) REFERENCES USERS(USER_NAME) ON DELETE CASCADE
 );
 
 CREATE TABLE PROJECT
 (
          GATEWAY_ID VARCHAR(255),
          USER_NAME VARCHAR(255),
-         PROJECT_NAME VARCHAR(255) NOT NULL,
+         PROJECT_NAME VARCHAR(255),
          PROJECT_ID VARCHAR(255),
          DESCRIPTION VARCHAR(255),
-         CREATION_TIME TIMESTAMP DEFAULT NOW(),
+         CREATION_TIME TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
          PRIMARY KEY (PROJECT_ID),
          FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE,
-         FOREIGN KEY (USER_NAME) REFERENCES USER(USER_NAME) ON DELETE CASCADE
+         FOREIGN KEY (USER_NAME) REFERENCES USERS(USER_NAME) ON DELETE CASCADE
 );
 
 CREATE TABLE PROJECT_USER
@@ -62,7 +62,7 @@ CREATE TABLE PROJECT_USER
     USER_NAME VARCHAR(255),
     PRIMARY KEY (PROJECT_ID,USER_NAME),
     FOREIGN KEY (PROJECT_ID) REFERENCES PROJECT(PROJECT_ID) ON DELETE CASCADE,
-    FOREIGN KEY (USER_NAME) REFERENCES USER(USER_NAME) ON DELETE CASCADE
+    FOREIGN KEY (USER_NAME) REFERENCES USERS(USER_NAME) ON DELETE CASCADE
 );
 
 CREATE TABLE EXPERIMENT (
@@ -72,14 +72,14 @@ CREATE TABLE EXPERIMENT (
   USER_NAME varchar(255),
   APPLICATION_ID varchar(255),
   EXPERIMENT_NAME varchar(255),
-  CREATION_TIME timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
   DESCRIPTION varchar(255),
   EXECUTION_ID varchar(255),
   GATEWAY_EXECUTION_ID varchar(255),
   ENABLE_EMAIL_NOTIFICATION BOOLEAN,
   EMAIL_ADDRESSES CLOB,
   PRIMARY KEY (EXPERIMENT_ID),
-  FOREIGN KEY (USER_NAME) REFERENCES USER(USER_NAME) 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
 );
 
@@ -94,7 +94,7 @@ CREATE TABLE EXPERIMENT_INPUT
     STANDARD_INPUT BOOLEAN,
     USER_FRIENDLY_DESCRIPTION varchar(255),
     METADATA varchar(255),
-    INPUT_ORDER int(11),
+    INPUT_ORDER INT,
     IS_REQUIRED BOOLEAN,
     REQUIRED_TO_ADDED_TO_CMD BOOLEAN,
     DATA_STAGED BOOLEAN,
@@ -123,7 +123,7 @@ CREATE TABLE EXPERIMENT_STATUS (
   STATUS_ID varchar(255),
   EXPERIMENT_ID varchar(255),
   STATE varchar(255),
-  TIME_OF_STATE_CHANGE timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
+  TIME_OF_STATE_CHANGE timestamp DEFAULT '0000-00-00 00:00:00',
   REASON varchar(255),
   PRIMARY KEY (STATUS_ID, EXPERIMENT_ID),
   FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
@@ -133,7 +133,7 @@ CREATE TABLE EXPERIMENT_STATUS (
 CREATE TABLE EXPERIMENT_ERROR (
   ERROR_ID varchar(255),
   EXPERIMENT_ID varchar(255),
-  CREATION_TIME timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
   ACTUAL_ERROR_MESSAGE CLOB,
   USER_FRIENDLY_MESSAGE CLOB,
   TRANSIENT_OR_PERSISTENT BOOLEAN,
@@ -151,12 +151,12 @@ CREATE TABLE USER_CONFIGURATION_DATA (
   USER_DN varchar(255),
   GENERATE_CERT BOOLEAN,
   RESOURCE_HOST_ID varchar(255),
-  TOTAL_CPU_COUNT int(11),
-  NODE_COUNT int(11),
-  NUMBER_OF_THREADS int(11),
+  TOTAL_CPU_COUNT INT,
+  NODE_COUNT INT,
+  NUMBER_OF_THREADS INT,
   QUEUE_NAME varchar(255),
-  WALL_TIME_LIMIT int(11),
-  TOTAL_PHYSICAL_MEMORY int(11),
+  WALL_TIME_LIMIT INT,
+  TOTAL_PHYSICAL_MEMORY INT,
   PRIMARY KEY (EXPERIMENT_ID),
   FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE
 );
@@ -172,13 +172,13 @@ CREATE VIEW EXPERIMENT_SUMMARY AS
   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 1;
+    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 NOT NULL DEFAULT CURRENT_TIMESTAMP,
-  LAST_UPDATE_TIME timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
+  LAST_UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
   PROCESS_DETAIL CLOB,
   APPLICATION_INTERFACE_ID varchar(255),
   TASK_DAG varchar(255),
@@ -196,7 +196,7 @@ CREATE TABLE PROCESS_INPUT
     STANDARD_INPUT BOOLEAN,
     USER_FRIENDLY_DESCRIPTION varchar(255),
     METADATA varchar(255),
-    INPUT_ORDER int(11),
+    INPUT_ORDER INT,
     IS_REQUIRED BOOLEAN,
     REQUIRED_TO_ADDED_TO_CMD BOOLEAN,
     DATA_STAGED BOOLEAN,
@@ -225,7 +225,7 @@ CREATE TABLE PROCESS_STATUS (
   STATUS_ID varchar(255),
   PROCESS_ID varchar(255),
   STATE varchar(255),
-  TIME_OF_STATE_CHANGE timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
+  TIME_OF_STATE_CHANGE timestamp DEFAULT '0000-00-00 00:00:00',
   REASON varchar(255),
   PRIMARY KEY (STATUS_ID, PROCESS_ID),
   FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE
@@ -235,7 +235,7 @@ CREATE TABLE PROCESS_STATUS (
 CREATE TABLE PROCESS_ERROR (
   ERROR_ID varchar(255),
   PROCESS_ID varchar(255),
-  CREATION_TIME timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
   ACTUAL_ERROR_MESSAGE CLOB,
   USER_FRIENDLY_MESSAGE CLOB,
   TRANSIENT_OR_PERSISTENT BOOLEAN,
@@ -247,21 +247,22 @@ CREATE TABLE PROCESS_ERROR (
 CREATE TABLE PROCESS_RESOURCE_SCHEDULE (
   PROCESS_ID varchar(255),
   RESOURCE_HOST_ID varchar(255),
-  TOTAL_CPU_COUNT int(11),
-  NODE_COUNT int(11),
-  NUMBER_OF_THREADS int(11),
+  TOTAL_CPU_COUNT INT,
+  NODE_COUNT INT,
+  NUMBER_OF_THREADS INT,
   QUEUE_NAME varchar(255),
-  WALL_TIME_LIMIT int(11),
-  TOTAL_PHYSICAL_MEMORY int(11),
-  PRIMARY KEY (PROCESS_ID)
+  WALL_TIME_LIMIT INT,
+  TOTAL_PHYSICAL_MEMORY INT,
+  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 NOT NULL DEFAULT CURRENT_TIMESTAMP,
-  LAST_UPDATE_TIME timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
+  CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
+  LAST_UPDATE_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
   TASK_DETAIL CLOB,
   TASK_INTERNAL_STORE CHAR,
   PRIMARY KEY (TASK_ID),
@@ -272,7 +273,7 @@ CREATE TABLE TASK_STATUS (
   STATUS_ID varchar(255),
   TASK_ID varchar(255),
   STATE varchar(255),
-  TIME_OF_STATE_CHANGE timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' ON UPDATE CURRENT_TIMESTAMP,
+  TIME_OF_STATE_CHANGE timestamp DEFAULT '0000-00-00 00:00:00',
   REASON varchar(255),
   PRIMARY KEY (STATUS_ID, TASK_ID),
   FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
@@ -282,7 +283,7 @@ CREATE TABLE TASK_STATUS (
 CREATE TABLE TASK_ERROR (
   ERROR_ID varchar(255),
   TASK_ID varchar(255),
-  CREATION_TIME timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
+  CREATION_TIME timestamp DEFAULT CURRENT_TIMESTAMP,
   ACTUAL_ERROR_MESSAGE CLOB,
   USER_FRIENDLY_MESSAGE CLOB,
   TRANSIENT_OR_PERSISTENT BOOLEAN,
@@ -290,3 +291,14 @@ CREATE TABLE TASK_ERROR (
   PRIMARY KEY (ERROR_ID, TASK_ID),
   FOREIGN KEY (TASK_ID) REFERENCES TASK(TASK_ID) ON DELETE CASCADE
 );
+
+CREATE TABLE CONFIGURATION
+(
+        CONFIG_KEY VARCHAR(255),
+        CONFIG_VAL VARCHAR(255),
+        EXPIRE_DATE TIMESTAMP DEFAULT '0000-00-00 00:00:00',
+        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.15', CURRENT_TIMESTAMP ,'SYSTEM');
\ No newline at end of file