adding job and task database models
Project: http://git-wip-us.apache.org/repos/asf/airavata/repo Commit: http://git-wip-us.apache.org/repos/asf/airavata/commit/eee49d36 Tree: http://git-wip-us.apache.org/repos/asf/airavata/tree/eee49d36 Diff: http://git-wip-us.apache.org/repos/asf/airavata/diff/eee49d36 Branch: refs/heads/lahiru/AIRAVATA-2065 Commit: eee49d36c2ea2e9ab379c2ebfb2bd51a0ab647e6 Parents: 171c042 Author: scnakandala <supun.nakand...@gmail.com> Authored: Mon Aug 29 15:13:53 2016 -0400 Committer: scnakandala <supun.nakand...@gmail.com> Committed: Mon Aug 29 15:13:53 2016 -0400 ---------------------------------------------------------------------- .../ComputeResourceSchedulingEntity.java | 2 +- .../entities/expcatalog/ExperimentEntity.java | 4 +- .../expcatalog/ExperimentErrorEntity.java | 2 +- .../expcatalog/ExperimentInputEntity.java | 2 +- .../expcatalog/ExperimentOutputEntity.java | 2 +- .../expcatalog/ExperimentStatusEntity.java | 2 +- .../core/entities/expcatalog/JobEntity.java | 165 +++++++++++++++++++ .../entities/expcatalog/JobStatusEntity.java | 83 ++++++++++ .../core/entities/expcatalog/JobStatusPK.java | 74 +++++++++ .../core/entities/expcatalog/ProcessEntity.java | 12 +- .../entities/expcatalog/ProcessErrorEntity.java | 4 +- .../entities/expcatalog/ProcessInputEntity.java | 2 +- .../expcatalog/ProcessOutputEntity.java | 2 +- .../ProcessResourceSchedulingEntity.java | 2 +- .../expcatalog/ProcessStatusEntity.java | 2 +- .../core/entities/expcatalog/TaskEntity.java | 147 +++++++++++++++++ .../entities/expcatalog/TaskErrorEntity.java | 118 +++++++++++++ .../core/entities/expcatalog/TaskErrorPK.java | 75 +++++++++ .../entities/expcatalog/TaskStatusEntity.java | 83 ++++++++++ .../core/entities/expcatalog/TaskStatusPK.java | 74 +++++++++ .../expcatalog/UserConfigurationEntity.java | 2 +- .../workspacecatalog/GatewayEntity.java | 2 +- .../workspacecatalog/NSFDemographicsEntity.java | 2 +- .../workspacecatalog/NotificationEntity.java | 2 +- .../workspacecatalog/ProjectEntity.java | 2 +- .../workspacecatalog/UserProfileEntity.java | 2 +- .../expcatalog/ExperimentRepository.java | 9 + .../src/main/resources/META-INF/persistence.xml | 5 + .../src/main/resources/experiment_catalog.sql | 132 ++++++++++----- .../src/main/resources/workspace_catalog.sql | 48 +++--- 30 files changed, 982 insertions(+), 81 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ComputeResourceSchedulingEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ComputeResourceSchedulingEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ComputeResourceSchedulingEntity.java index 76eb5ea..bfbb3e2 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ComputeResourceSchedulingEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ComputeResourceSchedulingEntity.java @@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.expcatalog; import javax.persistence.*; @Entity -@Table(name = "COMPUTE_RESOURCE_SCHEDULING") +@Table(name = "EXPCAT_COMPUTE_RESOURCE_SCHEDULING") public class ComputeResourceSchedulingEntity { private String experimentId; private String resourceHostId; http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java index a0686f8..e7ea3f6 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentEntity.java @@ -24,7 +24,7 @@ import javax.persistence.*; import java.util.List; @Entity -@Table(name = "EXPERIMENT") +@Table(name = "EXPCAT_EXPERIMENT") public class ExperimentEntity { public String experimentId; public String projectId; @@ -159,7 +159,7 @@ public class ExperimentEntity { } @ElementCollection - @CollectionTable(name="EXPERIMENT_EMAIL", joinColumns = @JoinColumn(name="EXPERIMENT_ID")) + @CollectionTable(name="EXPCAT_EXPERIMENT_EMAIL", joinColumns = @JoinColumn(name="EXPERIMENT_ID")) public List<String> getEmailAddresses() { return emailAddresses; } http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentErrorEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentErrorEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentErrorEntity.java index 374a156..37df525 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentErrorEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentErrorEntity.java @@ -24,7 +24,7 @@ import javax.persistence.*; import java.util.List; @Entity -@Table(name = "EXPERIMENT_ERROR") +@Table(name = "EXPCAT_EXPERIMENT_ERROR") @IdClass(ExperimentErrorPK.class) public class ExperimentErrorEntity { private String errorId; http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java index 7850c17..4a9b2c0 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentInputEntity.java @@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.expcatalog; import javax.persistence.*; @Entity -@Table(name = "EXPERIMENT_INPUT") +@Table(name = "EXPCAT_EXPERIMENT_INPUT") @IdClass(ExperimentInputPK.class) public class ExperimentInputEntity { private String experimentId; http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentOutputEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentOutputEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentOutputEntity.java index 891cf79..871fcd7 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentOutputEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentOutputEntity.java @@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.expcatalog; import javax.persistence.*; @Entity -@Table(name = "EXPERIMENT_OUTPUT") +@Table(name = "EXPCAT_EXPERIMENT_OUTPUT") @IdClass(ExperimentOutputPK.class) public class ExperimentOutputEntity { private String experimentId; http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ExperimentStatusEntity.java ---------------------------------------------------------------------- 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 48b822f..7a73e78 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 @@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.expcatalog; import javax.persistence.*; @Entity -@Table(name = "EXPERIMENT_STATUS") +@Table(name = "EXPCAT_EXPERIMENT_STATUS") @IdClass(ExperimentStatusPK.class) public class ExperimentStatusEntity { private String experimentId; http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobEntity.java new file mode 100644 index 0000000..a66295e --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobEntity.java @@ -0,0 +1,165 @@ +/* + * + * 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.expcatalog; + +import javax.persistence.*; +import java.util.List; + +@Entity +@Table(name = "EXPCAT_JOB") +public class JobEntity { + private String jobId; + private String taskId; + private String processId; + private String jobDescription; + private long creationTime; + private String computeResourceConsumed; + private String jobName; + private String workingDir; + private String stdOut; + private String stdErr; + private int exitCode; + + private List<JobStatusEntity> jobStatus; + + private TaskEntity task; + + @Id + @Column(name = "JOB_ID") + public String getJobId() { + return jobId; + } + + public void setJobId(String jobId) { + this.jobId = jobId; + } + + @Column(name = "TASK_ID") + public String getTaskId() { + return taskId; + } + + public void setTaskId(String taskId) { + this.taskId = taskId; + } + + @Column(name = "PROCESS_ID") + public String getProcessId() { + return processId; + } + + public void setProcessId(String processId) { + this.processId = processId; + } + + @Column(name = "JOB_DESCRIPTION") + public String getJobDescription() { + return jobDescription; + } + + public void setJobDescription(String jobDescription) { + this.jobDescription = jobDescription; + } + + @Column(name = "CREATION_TIME") + public long getCreationTime() { + return creationTime; + } + + public void setCreationTime(long creationTime) { + this.creationTime = creationTime; + } + + @Column(name = "COMPUTE_RESOURCE_CONSUMED") + public String getComputeResourceConsumed() { + return computeResourceConsumed; + } + + public void setComputeResourceConsumed(String computeResourceConsumed) { + this.computeResourceConsumed = computeResourceConsumed; + } + + @Column(name = "JOB_NAME") + public String getJobName() { + return jobName; + } + + public void setJobName(String jobName) { + this.jobName = jobName; + } + + @Column(name = "WORKING_DIR") + public String getWorkingDir() { + return workingDir; + } + + public void setWorkingDir(String workingDir) { + this.workingDir = workingDir; + } + + @Lob + @Column(name = "STDOUT") + public String getStdOut() { + return stdOut; + } + + public void setStdOut(String stdOut) { + this.stdOut = stdOut; + } + + @Lob + @Column(name = "STDERR") + public String getStdErr() { + return stdErr; + } + + public void setStdErr(String stdErr) { + this.stdErr = stdErr; + } + + @Column(name = "EXIT_CODE") + public int getExitCode() { + return exitCode; + } + + public void setExitCode(int exitCode) { + this.exitCode = exitCode; + } + + @OneToMany(targetEntity = JobStatusEntity.class, cascade = CascadeType.ALL, mappedBy = "job") + public List<JobStatusEntity> getJobStatus() { + return jobStatus; + } + + public void setJobStatus(List<JobStatusEntity> jobStatus) { + this.jobStatus = jobStatus; + } + + @ManyToOne(targetEntity = TaskEntity.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @JoinColumn(name = "TASK_ID", referencedColumnName = "TASK_ID") + public TaskEntity getTask() { + return task; + } + + public void setTask(TaskEntity task) { + this.task = task; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobStatusEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobStatusEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobStatusEntity.java new file mode 100644 index 0000000..bcc902b --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobStatusEntity.java @@ -0,0 +1,83 @@ +/* + * + * 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.expcatalog; + +import javax.persistence.*; + +@Entity +@Table(name = "EXPCAT_JOB_STATUS") +@IdClass(JobStatusPK.class) +public class JobStatusEntity { + private String jobId; + private String state; + private long timeOfStateChange; + private String reason; + + private JobEntity job; + + @Id + @Column(name = "JOB_ID") + public String getJobId() { + return jobId; + } + + public void setJobId(String jobId) { + this.jobId = jobId; + } + + @Id + @Column(name = "STATE") + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + @Column(name = "TIME_OF_STATE_CHANGE") + public long getTimeOfStateChange() { + return timeOfStateChange; + } + + public void setTimeOfStateChange(long timeOfStateChange) { + this.timeOfStateChange = timeOfStateChange; + } + + @Column(name = "REASON") + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } + + @ManyToOne(targetEntity = JobEntity.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @JoinColumn(name = "JOB_ID", referencedColumnName = "JOB_ID") + public JobEntity getJob() { + return job; + } + + public void setJob(JobEntity job) { + this.job = job; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobStatusPK.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobStatusPK.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobStatusPK.java new file mode 100644 index 0000000..fa8964f --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/JobStatusPK.java @@ -0,0 +1,74 @@ +/* + * + * 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.expcatalog; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.persistence.Column; +import javax.persistence.Id; +import java.io.Serializable; + +public class JobStatusPK implements Serializable { + private final static Logger logger = LoggerFactory.getLogger(JobStatusPK.class); + private String state; + private String jobId; + + @Id + @Column(name = "STATUS_ID") + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + @Id + @Column(name = "JOB_ID") + public String getJobId() { + return jobId; + } + + public void setJobId(String jobId) { + this.jobId = jobId; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + JobStatusPK that = (JobStatusPK) o; + + if (getState() != null ? !getState().equals(that.getState()) : that.getState() != null) return false; + if (getJobId() != null ? !getJobId().equals(that.getJobId()) : that.getJobId() != null) return false; + + return true; + } + + @Override + public int hashCode() { + int result = getState() != null ? getState().hashCode() : 0; + result = 31 * result + (getJobId() != null ? getJobId().hashCode() : 0); + return result; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessEntity.java ---------------------------------------------------------------------- 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 d7c6cca..109041e 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 @@ -25,7 +25,7 @@ import javax.persistence.*; import java.util.List; @Entity -@Table(name = "PROCESS") +@Table(name = "EXPCAT_PROCESS") public class ProcessEntity { private String processId; private String experimentId; @@ -50,6 +50,7 @@ public class ProcessEntity { private List<ProcessInputEntity> processInputs; private List<ProcessOutputEntity> processOutputs; private ProcessResourceSchedulingEntity processResourceSchedule; + private List<TaskEntity> tasks; private ExperimentEntity experiment; @@ -254,6 +255,15 @@ public class ProcessEntity { this.processResourceSchedule = proceeResourceSchedule; } + @OneToMany(targetEntity = TaskEntity.class, cascade = CascadeType.ALL, mappedBy = "process") + public List<TaskEntity> getTasks() { + return tasks; + } + + public void setTasks(List<TaskEntity> tasks) { + this.tasks = tasks; + } + @ManyToOne(targetEntity = ExperimentEntity.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY) @JoinColumn(name = "EXPERIMENT_ID", referencedColumnName = "EXPERIMENT_ID") public ExperimentEntity getExperiment() { http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessErrorEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessErrorEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessErrorEntity.java index bae331f..60ad9b2 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessErrorEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessErrorEntity.java @@ -24,7 +24,7 @@ import javax.persistence.*; import java.util.List; @Entity -@Table(name = "PROCESS_ERROR") +@Table(name = "EXPCAT_PROCESS_ERROR") @IdClass(ProcessErrorPK.class) public class ProcessErrorEntity { private String errorId; @@ -96,7 +96,7 @@ public class ProcessErrorEntity { @ElementCollection - @CollectionTable(name="EXPERIMENT_ERROR_ROOT_CAUSE_ERROR_ID", joinColumns = @JoinColumn(name="ERROR_ID")) + @CollectionTable(name="EXPCAT_EXPERIMENT_ERROR_ROOT_CAUSE_ERROR_ID", joinColumns = @JoinColumn(name="ERROR_ID")) public List<String> getRootCauseErrorIdList() { return rootCauseErrorIdList; } http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessInputEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessInputEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessInputEntity.java index a63ff37..850c4a9 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessInputEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessInputEntity.java @@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.expcatalog; import javax.persistence.*; @Entity -@Table(name = "PROCESS_INPUT") +@Table(name = "EXPCAT_PROCESS_INPUT") @IdClass(ProcessInputPK.class) public class ProcessInputEntity { private String processId; http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessOutputEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessOutputEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessOutputEntity.java index 06181bc..4226f7a 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessOutputEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessOutputEntity.java @@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.expcatalog; import javax.persistence.*; @Entity -@Table(name = "PROCESS_OUTPUT") +@Table(name = "EXPCAT_PROCESS_OUTPUT") @IdClass(ProcessOutputPK.class) public class ProcessOutputEntity { private String processId; http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessResourceSchedulingEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessResourceSchedulingEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessResourceSchedulingEntity.java index 11f167d..3a64f42 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessResourceSchedulingEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessResourceSchedulingEntity.java @@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.expcatalog; import javax.persistence.*; @Entity -@Table(name = "PROCESS_RESOURCE_SCHEDULING") +@Table(name = "EXPCAT_PROCESS_RESOURCE_SCHEDULING") public class ProcessResourceSchedulingEntity { private String processId; private String resourceHostId; http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/ProcessStatusEntity.java ---------------------------------------------------------------------- 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 ea816b5..7a3c30e 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 @@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.expcatalog; import javax.persistence.*; @Entity -@Table(name = "PROCESS_STATUS") +@Table(name = "EXPCAT_PROCESS_STATUS") @IdClass(ProcessStatusPK.class) public class ProcessStatusEntity { private String processId; http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskEntity.java ---------------------------------------------------------------------- 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 new file mode 100644 index 0000000..f01fa10 --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskEntity.java @@ -0,0 +1,147 @@ +/* + * + * 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.expcatalog; + +import org.apache.airavata.model.task.TaskTypes; + +import javax.persistence.*; +import java.nio.ByteBuffer; +import java.util.List; + +@Entity +@Table(name = "EXPCAT_TASK") +public class TaskEntity { + private String taskId; + private TaskTypes taskType; + private String parentProcessId; + private long creationTime; + private long lastUpdateTime; + private String taskDetail; + private ByteBuffer subTaskModel; + + private List<TaskStatusEntity> taskStatus; + private List<TaskErrorEntity> taskError; + private List<JobEntity> jobs; + + private ProcessEntity process; + + @Id + @Column(name = "TASK_ID") + public String getTaskId() { + return taskId; + } + + public void setTaskId(String taskId) { + this.taskId = taskId; + } + + @Column(name = "TASK_TYPE") + public TaskTypes getTaskType() { + return taskType; + } + + public void setTaskType(TaskTypes taskType) { + this.taskType = taskType; + } + + @Column(name = "PARENT_PROCESS_ID") + public String getParentProcessId() { + return parentProcessId; + } + + public void setParentProcessId(String parentProcessId) { + this.parentProcessId = parentProcessId; + } + + @Column(name = "CREATION_TIME") + public long getCreationTime() { + return creationTime; + } + + public void setCreationTime(long creationTime) { + this.creationTime = creationTime; + } + + @Column(name = "LAST_UPDATE_TIME") + public long getLastUpdateTime() { + return lastUpdateTime; + } + + public void setLastUpdateTime(long lastUpdateTime) { + this.lastUpdateTime = lastUpdateTime; + } + + @Column(name = "TASK_DETAIL") + public String getTaskDetail() { + return taskDetail; + } + + public void setTaskDetail(String taskDetail) { + this.taskDetail = taskDetail; + } + + @Lob + @Column(name = "SUB_TASK_MODEL") + public ByteBuffer getSubTaskModel() { + return subTaskModel; + } + + public void setSubTaskModel(ByteBuffer subTaskModel) { + this.subTaskModel = subTaskModel; + } + + @OneToMany(targetEntity = TaskStatusEntity.class, cascade = CascadeType.ALL, mappedBy = "task") + public List<TaskStatusEntity> getTaskStatus() { + return taskStatus; + } + + public void setTaskStatus(List<TaskStatusEntity> taskStatus) { + this.taskStatus = taskStatus; + } + + @OneToMany(targetEntity = TaskErrorEntity.class, cascade = CascadeType.ALL, mappedBy = "task") + public List<TaskErrorEntity> getTaskError() { + return taskError; + } + + public void setTaskError(List<TaskErrorEntity> taskError) { + this.taskError = taskError; + } + + @OneToMany(targetEntity = JobEntity.class, cascade = CascadeType.ALL, mappedBy = "task") + public List<JobEntity> getJobs() { + return jobs; + } + + public void setJobs(List<JobEntity> jobs) { + this.jobs = jobs; + } + + @ManyToOne(targetEntity = ProcessEntity.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @JoinColumn(name = "PARENT_PROCESS_ID", referencedColumnName = "PROCESS_ID") + public ProcessEntity getProcess() { + return process; + } + + public void setProcess(ProcessEntity process) { + this.process = process; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskErrorEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskErrorEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskErrorEntity.java new file mode 100644 index 0000000..d269ab7 --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskErrorEntity.java @@ -0,0 +1,118 @@ +/* + * + * 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.expcatalog; + +import javax.persistence.*; +import java.util.List; + +@Entity +@Table(name = "EXPCAT_TASK_ERROR") +@IdClass(TaskErrorPK.class) +public class TaskErrorEntity { + private String errorId; + private String taskId; + private long creationTime; + private String actualErrorMessage; + private String userFriendlyMessage; + private boolean transientOrPersistent; + private List<String> rootCauseErrorIdList; + + private TaskEntity task; + + @Id + @Column(name = "ERROR_ID") + public String getErrorId() { + return errorId; + } + + public void setErrorId(String errorId) { + this.errorId = errorId; + } + + @Id + @Column(name = "TASK_ID") + public String getTaskId() { + return taskId; + } + + public void setTaskId(String taskId) { + this.taskId = taskId; + } + + @Column(name = "CREATION_TIME") + public long getCreationTime() { + return creationTime; + } + + public void setCreationTime(long creationTime) { + this.creationTime = creationTime; + } + + @Column(name = "ACTUAL_ERROR_MESSAGE") + public String getActualErrorMessage() { + return actualErrorMessage; + } + + public void setActualErrorMessage(String actualErrorMessage) { + this.actualErrorMessage = actualErrorMessage; + } + + @Column(name = "USER_FRIENDLY_MESSAGE") + public String getUserFriendlyMessage() { + return userFriendlyMessage; + } + + public void setUserFriendlyMessage(String userFriendlyMessage) { + this.userFriendlyMessage = userFriendlyMessage; + } + + + @Column(name = "TRANSIENT_OR_PERSISTENT") + public boolean isTransientOrPersistent() { + return transientOrPersistent; + } + + public void setTransientOrPersistent(boolean transientOrPersistent) { + this.transientOrPersistent = transientOrPersistent; + } + + + @ElementCollection + @CollectionTable(name="EXPCAT_EXPERIMENT_ERROR_ROOT_CAUSE_ERROR_ID", joinColumns = @JoinColumn(name="ERROR_ID")) + public List<String> getRootCauseErrorIdList() { + return rootCauseErrorIdList; + } + + public void setRootCauseErrorIdList(List<String> rootCauseErrorIdList) { + this.rootCauseErrorIdList = rootCauseErrorIdList; + } + + + @ManyToOne(targetEntity = TaskEntity.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @JoinColumn(name = "TASK_ID", referencedColumnName = "TASK_ID") + public TaskEntity getTask() { + return task; + } + + public void setTask(TaskEntity task) { + this.task = task; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskErrorPK.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskErrorPK.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskErrorPK.java new file mode 100644 index 0000000..e504f83 --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskErrorPK.java @@ -0,0 +1,75 @@ +/* + * + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + * +*/ +package org.apache.airavata.registry.core.entities.expcatalog; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.persistence.Column; +import javax.persistence.Id; +import java.io.Serializable; + +public class TaskErrorPK implements Serializable { + private final static Logger logger = LoggerFactory.getLogger(TaskErrorPK.class); + private String errorId; + private String taskId; + + @Column(name = "ERROR_ID") + @Id + public String getErrorId() { + return errorId; + } + + public void setErrorId(String errorId) { + this.errorId = errorId; + } + + @Column(name = "TASK_ID") + @Id + public String getTaskId() { + return taskId; + } + + public void setTaskId(String processId) { + this.taskId = taskId; + } + + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + TaskErrorPK that = (TaskErrorPK) o; + + 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 = 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/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskStatusEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskStatusEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskStatusEntity.java new file mode 100644 index 0000000..2465b48 --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskStatusEntity.java @@ -0,0 +1,83 @@ +/* + * + * 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.expcatalog; + +import javax.persistence.*; + +@Entity +@Table(name = "EXPCAT_TASK_STATUS") +@IdClass(TaskStatusPK.class) +public class TaskStatusEntity { + private String taskId; + private String state; + private long timeOfStateChange; + private String reason; + + private TaskEntity task; + + @Id + @Column(name = "TASK_ID") + public String getTaskId() { + return taskId; + } + + public void setTaskId(String taskId) { + this.taskId = taskId; + } + + @Id + @Column(name = "STATE") + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + @Column(name = "TIME_OF_STATE_CHANGE") + public long getTimeOfStateChange() { + return timeOfStateChange; + } + + public void setTimeOfStateChange(long timeOfStateChange) { + this.timeOfStateChange = timeOfStateChange; + } + + @Column(name = "REASON") + public String getReason() { + return reason; + } + + public void setReason(String reason) { + this.reason = reason; + } + + @ManyToOne(targetEntity = TaskEntity.class, cascade = CascadeType.ALL, fetch = FetchType.LAZY) + @JoinColumn(name = "TASK_ID", referencedColumnName = "TASK_ID") + public TaskEntity getTask() { + return task; + } + + public void setTask(TaskEntity task) { + this.task = task; + } +} \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskStatusPK.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskStatusPK.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskStatusPK.java new file mode 100644 index 0000000..167d8a7 --- /dev/null +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/TaskStatusPK.java @@ -0,0 +1,74 @@ +/* + * + * 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.expcatalog; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import javax.persistence.Column; +import javax.persistence.Id; +import java.io.Serializable; + +public class TaskStatusPK implements Serializable { + private final static Logger logger = LoggerFactory.getLogger(TaskStatusPK.class); + private String state; + private String taskId; + + @Id + @Column(name = "STATUS_ID") + public String getState() { + return state; + } + + public void setState(String state) { + this.state = state; + } + + @Id + @Column(name = "TASK_ID") + public String getTaskId() { + return taskId; + } + + public void setTaskId(String taskId) { + this.taskId = taskId; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (o == null || getClass() != o.getClass()) return false; + + TaskStatusPK that = (TaskStatusPK) o; + + if (getState() != null ? !getState().equals(that.getState()) : that.getState() != null) return false; + if (getTaskId() != null ? !getTaskId().equals(that.getTaskId()) : that.getTaskId() != null) return false; + + return true; + } + + @Override + public int hashCode() { + int result = getState() != null ? getState().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/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/UserConfigurationEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/UserConfigurationEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/UserConfigurationEntity.java index 7d27251..b685312 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/UserConfigurationEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/expcatalog/UserConfigurationEntity.java @@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.expcatalog; import javax.persistence.*; @Entity -@Table(name = "USER_CONFIGURATION") +@Table(name = "EXPCAT_USER_CONFIGURATION") public class UserConfigurationEntity { private String experimentId; private boolean airavataAutoSchedule; http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/GatewayEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/GatewayEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/GatewayEntity.java index 6ba10fe..c4f1f59 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/GatewayEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/GatewayEntity.java @@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.workspacecatalog; import javax.persistence.*; @Entity -@Table(name="GATEWAY") +@Table(name="WORKSPACE_GATEWAY") public class GatewayEntity { private String gatewayId; private String gatewayName; http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NSFDemographicsEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NSFDemographicsEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NSFDemographicsEntity.java index 4f7aa7a..0bcbafa 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NSFDemographicsEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NSFDemographicsEntity.java @@ -24,7 +24,7 @@ import javax.persistence.*; import java.util.List; @Entity -@Table(name = "NSF_DEMOGRAPHIC") +@Table(name = "WORKSPACE_NSF_DEMOGRAPHIC") public class NSFDemographicsEntity { private String airavataInternalUserId; private String gender; http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NotificationEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NotificationEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NotificationEntity.java index 5a0805c..67f8af2 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NotificationEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/NotificationEntity.java @@ -23,7 +23,7 @@ package org.apache.airavata.registry.core.entities.workspacecatalog; import javax.persistence.*; @Entity -@Table(name = "NOTIFICATION") +@Table(name = "WORKSPACE_NOTIFICATION") public class NotificationEntity { private String notificationId; private String gatewayId; http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/ProjectEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/ProjectEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/ProjectEntity.java index 2cfdd04..31e0868 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/ProjectEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/ProjectEntity.java @@ -26,7 +26,7 @@ import javax.persistence.Id; import javax.persistence.Table; @Entity -@Table(name = "PROJECT") +@Table(name = "WORKSPACE_PROJECT") public class ProjectEntity { private String projectID; private String owner; http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/UserProfileEntity.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/UserProfileEntity.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/UserProfileEntity.java index 11f6e33..7dd51ed 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/UserProfileEntity.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/entities/workspacecatalog/UserProfileEntity.java @@ -24,7 +24,7 @@ import javax.persistence.*; import java.util.List; @Entity -@Table(name="USER_PROFILE") +@Table(name="WORKSPACE_USER_PROFILE") public class UserProfileEntity { private String airavataInternalUserId; private String userId; http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepository.java ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepository.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepository.java index 5a52dff..d30b1de 100644 --- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepository.java +++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/ExperimentRepository.java @@ -77,6 +77,15 @@ public class ExperimentRepository extends AbstractRepository<ExperimentModel, Ex process.getProcessError().forEach(processErr->processErr.setProcessId(processId)); if(process.getProcessStatus() != null) process.getProcessStatus().forEach(processStat->processStat.setProcessId(processId)); + + if(process.getTasks() != null){ + process.getTasks().forEach(task->{ + String taskId = task.getTaskId(); + task.setParentProcessId(processId); + + + }); + } }); } http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/resources/META-INF/persistence.xml ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/resources/META-INF/persistence.xml b/modules/registry-refactoring/src/main/resources/META-INF/persistence.xml index 8367f97..ac9a08f 100644 --- a/modules/registry-refactoring/src/main/resources/META-INF/persistence.xml +++ b/modules/registry-refactoring/src/main/resources/META-INF/persistence.xml @@ -40,6 +40,11 @@ <class>org.apache.airavata.registry.core.entities.expcatalog.ProcessOutputEntity</class> <class>org.apache.airavata.registry.core.entities.expcatalog.ProcessResourceSchedulingEntity</class> <class>org.apache.airavata.registry.core.entities.expcatalog.ProcessStatusEntity</class> + <class>org.apache.airavata.registry.core.entities.expcatalog.TaskEntity</class> + <class>org.apache.airavata.registry.core.entities.expcatalog.TaskErrorEntity</class> + <class>org.apache.airavata.registry.core.entities.expcatalog.TaskStatusEntity</class> + <class>org.apache.airavata.registry.core.entities.expcatalog.JobEntity</class> + <class>org.apache.airavata.registry.core.entities.expcatalog.JobStatusEntity</class> <exclude-unlisted-classes>true</exclude-unlisted-classes> </persistence-unit> </persistence> http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/resources/experiment_catalog.sql ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/resources/experiment_catalog.sql b/modules/registry-refactoring/src/main/resources/experiment_catalog.sql index 8c11027..3140cd1 100644 --- a/modules/registry-refactoring/src/main/resources/experiment_catalog.sql +++ b/modules/registry-refactoring/src/main/resources/experiment_catalog.sql @@ -1,10 +1,10 @@ -CREATE TABLE IF NOT EXISTS EXPERIMENT( +CREATE TABLE IF NOT EXISTS EXPCAT_EXPERIMENT( EXPERIMENT_ID VARCHAR (255), PROJECT_ID VARCHAR (255), GATEWAY_ID VARCHAR (255), EXPERIMENT_TYPE VARCHAR (255), - USER_ID VARCHAR (255), + USER_NAME VARCHAR (255), EXPERIMENT_NAME VARCHAR (255), CREATION_TIME BIGINT, DESCRIPTION VARCHAR (255), @@ -13,19 +13,19 @@ CREATE TABLE IF NOT EXISTS EXPERIMENT( GATEWAY_INSTANCE_ID VARCHAR (255), ENABLE_EMAIL_NOTIFICATION TINYINT(1), PRIMARY KEY (EXPERIMENT_ID), - FOREIGN KEY (PROJECT_ID) REFERENCES PROJECT(PROJECT_ID) ON DELETE CASCADE, - FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE, - FOREIGN KEY (USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE + FOREIGN KEY (PROJECT_ID) REFERENCES WORKSPACE_PROJECT(PROJECT_ID) ON DELETE CASCADE, + FOREIGN KEY (GATEWAY_ID) REFERENCES WORKSPACE_GATEWAY(GATEWAY_ID) ON DELETE CASCADE, + FOREIGN KEY (USER_NAME) REFERENCES WORKSPACE_USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS EXPERIMENT_EMAIL ( +CREATE TABLE IF NOT EXISTS EXPCAT_EXPERIMENT_EMAIL ( EXPERIMENT_ID VARCHAR (255), EMAIL VARCHAR (255), PRIMARY KEY (EXPERIMENT_ID, EMAIL), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE + FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPCAT_EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS USER_CONFIGURATION( +CREATE TABLE IF NOT EXISTS EXPCAT_USER_CONFIGURATION( EXPERIMENT_ID VARCHAR (255), AIRAVATA_AUTO_SCHEDULE TINYINT(1), OVERRIDE_MANUAL_SCHEDULED_PARAMS TINYINT(1), @@ -35,10 +35,10 @@ CREATE TABLE IF NOT EXISTS USER_CONFIGURATION( STORAGE_ID VARCHAR (255), EXPERIMENT_DATA_DIR VARCHAR (255), PRIMARY KEY (EXPERIMENT_ID), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE + FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPCAT_EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS COMPUTE_RESOURCE_SCHEDULING( +CREATE TABLE IF NOT EXISTS EXPCAT_COMPUTE_RESOURCE_SCHEDULING( EXPERIMENT_ID VARCHAR (255), RESOURCE_HOST_ID VARCHAR (255), CPU_COUNT INT, @@ -53,10 +53,10 @@ CREATE TABLE IF NOT EXISTS COMPUTE_RESOURCE_SCHEDULING( OVERRIDE_SCRATCH_LOCATION VARCHAR (255), OVERRIDE_ALLOCATION_PROJECT_NUMBER VARCHAR (255), PRIMARY KEY (EXPERIMENT_ID), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES USER_CONFIGURATION(EXPERIMENT_ID) ON DELETE CASCADE + FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPCAT_USER_CONFIGURATION(EXPERIMENT_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS EXPERIMENT_INPUT( +CREATE TABLE IF NOT EXISTS EXPCAT_EXPERIMENT_INPUT( EXPERIMENT_ID VARCHAR (255), INPUT_NAME VARCHAR (255), INPUT_VALUE VARCHAR (255), @@ -71,10 +71,10 @@ CREATE TABLE IF NOT EXISTS EXPERIMENT_INPUT( DATA_STAGED TINYINT(1), STORAGE_RESOURCE_ID VARCHAR (255), PRIMARY KEY (EXPERIMENT_ID,INPUT_NAME), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE + FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPCAT_EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS EXPERIMENT_OUTPUT( +CREATE TABLE IF NOT EXISTS EXPCAT_EXPERIMENT_OUTPUT( EXPERIMENT_ID VARCHAR (255), OUTPUT_NAME VARCHAR (255), OUTPUT_VALUE VARCHAR (255), @@ -88,10 +88,10 @@ CREATE TABLE IF NOT EXISTS EXPERIMENT_OUTPUT( OUTPUT_STREAMING TINYINT(1), STORAGE_RESOURCE_ID VARCHAR (255), PRIMARY KEY (EXPERIMENT_ID,OUTPUT_NAME), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE + FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPCAT_EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS EXPERIMENT_ERROR( +CREATE TABLE IF NOT EXISTS EXPCAT_EXPERIMENT_ERROR( ERROR_ID VARCHAR (255), EXPERIMENT_ID VARCHAR (255), CREATION_TIME BIGINT, @@ -99,26 +99,26 @@ CREATE TABLE IF NOT EXISTS EXPERIMENT_ERROR( USER_FRIENDLY_MESSAGE VARCHAR (255), TRANSIENT_OR_PERSISTENT TINYINT, PRIMARY KEY (ERROR_ID, EXPERIMENT_ID), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE + FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPCAT_EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS EXPERIMENT_ERROR_ROOT_CAUSE_ERROR_ID( +CREATE TABLE IF NOT EXISTS EXPCAT_EXPERIMENT_ERROR_ROOT_CAUSE_ERROR_ID( ERROR_ID VARCHAR (255), ROOT_CAUSE_ERROR_ID VARCHAR (255), PRIMARY KEY (ERROR_ID, ROOT_CAUSE_ERROR_ID), - FOREIGN KEY(ERROR_ID) REFERENCES EXPERIMENT_ERROR(ERROR_ID) ON DELETE CASCADE + FOREIGN KEY(ERROR_ID) REFERENCES EXPCAT_EXPERIMENT_ERROR(ERROR_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS EXPERIMENT_STATUS( +CREATE TABLE IF NOT EXISTS EXPCAT_EXPERIMENT_STATUS( EXPERIMENT_ID VARCHAR (255), STATE VARCHAR (255), TIME_OF_STATE_CHANGE BIGINT, REASON VARCHAR (255), PRIMARY KEY (EXPERIMENT_ID, STATE), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE + FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPCAT_EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS PROCESS( +CREATE TABLE IF NOT EXISTS EXPCAT_PROCESS( PROCESS_ID VARCHAR (255), EXPERIMENT_ID VARCHAR (255), CREATION_TIME BIGINT, @@ -136,17 +136,17 @@ CREATE TABLE IF NOT EXISTS PROCESS( EXPERIMENT_DATA_DIR VARCHAR (255), USER_NAME VARCHAR (255), PRIMARY KEY (PROCESS_ID), - FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE + FOREIGN KEY (EXPERIMENT_ID) REFERENCES EXPCAT_EXPERIMENT(EXPERIMENT_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS PROCESS_EMAIL ( +CREATE TABLE IF NOT EXISTS EXPCAT_PROCESS_EMAIL ( PROCESS_ID VARCHAR (255), EMAIL VARCHAR (255), PRIMARY KEY (PROCESS_ID, EMAIL), - FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE + FOREIGN KEY (PROCESS_ID) REFERENCES EXPCAT_PROCESS(PROCESS_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS PROCESS_RESOURCE_SCHEDULING( +CREATE TABLE IF NOT EXISTS EXPCAT_PROCESS_RESOURCE_SCHEDULING( PROCESS_ID VARCHAR (255), RESOURCE_HOST_ID VARCHAR (255), CPU_COUNT INT, @@ -161,10 +161,10 @@ CREATE TABLE IF NOT EXISTS PROCESS_RESOURCE_SCHEDULING( OVERRIDE_SCRATCH_LOCATION VARCHAR (255), OVERRIDE_ALLOCATION_PROJECT_NUMBER VARCHAR (255), PRIMARY KEY (PROCESS_ID), - FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE + FOREIGN KEY (PROCESS_ID) REFERENCES EXPCAT_PROCESS(PROCESS_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS PROCESS_INPUT( +CREATE TABLE IF NOT EXISTS EXPCAT_PROCESS_INPUT( PROCESS_ID VARCHAR (255), INPUT_NAME VARCHAR (255), INPUT_VALUE VARCHAR (255), @@ -179,10 +179,10 @@ CREATE TABLE IF NOT EXISTS PROCESS_INPUT( DATA_STAGED TINYINT(1), STORAGE_RESOURCE_ID VARCHAR (255), PRIMARY KEY (PROCESS_ID,INPUT_NAME), - FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE + FOREIGN KEY (PROCESS_ID) REFERENCES EXPCAT_PROCESS(PROCESS_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS PROCESS_OUTPUT( +CREATE TABLE IF NOT EXISTS EXPCAT_PROCESS_OUTPUT( PROCESS_ID VARCHAR (255), OUTPUT_NAME VARCHAR (255), OUTPUT_VALUE VARCHAR (255), @@ -196,10 +196,10 @@ CREATE TABLE IF NOT EXISTS PROCESS_OUTPUT( OUTPUT_STREAMING TINYINT(1), STORAGE_RESOURCE_ID VARCHAR (255), PRIMARY KEY (PROCESS_ID,OUTPUT_NAME), - FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE + FOREIGN KEY (PROCESS_ID) REFERENCES EXPCAT_PROCESS(PROCESS_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS PROCESS_ERROR( +CREATE TABLE IF NOT EXISTS EXPCAT_PROCESS_ERROR( ERROR_ID VARCHAR (255), PROCESS_ID VARCHAR (255), CREATION_TIME BIGINT, @@ -207,21 +207,79 @@ CREATE TABLE IF NOT EXISTS PROCESS_ERROR( USER_FRIENDLY_MESSAGE VARCHAR (255), TRANSIENT_OR_PERSISTENT TINYINT, PRIMARY KEY (ERROR_ID, PROCESS_ID), - FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE + FOREIGN KEY (PROCESS_ID) REFERENCES EXPCAT_PROCESS(PROCESS_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS PROCESS_ERROR_ROOT_CAUSE_ERROR_ID( +CREATE TABLE IF NOT EXISTS EXPCAT_PROCESS_ERROR_ROOT_CAUSE_ERROR_ID( ERROR_ID VARCHAR (255), ROOT_CAUSE_ERROR_ID VARCHAR (255), PRIMARY KEY (ERROR_ID, ROOT_CAUSE_ERROR_ID), - FOREIGN KEY(ERROR_ID) REFERENCES PROCESS_ERROR(ERROR_ID) ON DELETE CASCADE + FOREIGN KEY(ERROR_ID) REFERENCES EXPCAT_PROCESS_ERROR(ERROR_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS PROCESS_STATUS( +CREATE TABLE IF NOT EXISTS EXPCAT_PROCESS_STATUS( PROCESS_ID VARCHAR (255), STATE VARCHAR (255), TIME_OF_STATE_CHANGE BIGINT, REASON VARCHAR (255), PRIMARY KEY (PROCESS_ID, STATE), - FOREIGN KEY (PROCESS_ID) REFERENCES PROCESS(PROCESS_ID) ON DELETE CASCADE + FOREIGN KEY (PROCESS_ID) REFERENCES EXPCAT_PROCESS(PROCESS_ID) ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS EXPCAT_TASK( + TASK_ID VARCHAR (255), + TASK_TYPE VARCHAR (255), + PARENT_PROCESS_ID VARCHAR (255), + CREATION_TIME BIGINT, + LAST_UPDATE_TIME BIGINT, + TASK_DETAIL VARCHAR (255), + SUB_TASK_MODEL BLOB, + PRIMARY KEY (TASK_ID), + FOREIGN KEY (PARENT_PROCESS_ID) REFERENCES EXPCAT_PROCESS(PROCESS_ID) +); + +CREATE TABLE IF NOT EXISTS EXPCAT_TASK_ERROR( + ERROR_ID VARCHAR (255), + TASK_ID VARCHAR (255), + CREATION_TIME BIGINT, + ACTUAL_ERROR_MESSAGE VARCHAR (255), + USER_FRIENDLY_MESSAGE VARCHAR (255), + TRANSIENT_OR_PERSISTENT TINYINT, + PRIMARY KEY (ERROR_ID, TASK_ID), + FOREIGN KEY (TASK_ID) REFERENCES EXPCAT_TASK(TASK_ID) ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS EXPCAT_TASK_STATUS( + TASK_ID VARCHAR (255), + STATE VARCHAR (255), + TIME_OF_STATE_CHANGE BIGINT, + REASON VARCHAR (255), + PRIMARY KEY (TASK_ID, STATE), + FOREIGN KEY (TASK_ID) REFERENCES EXPCAT_TASK(TASK_ID) ON DELETE CASCADE +); + +CREATE TABLE IF NOT EXISTS EXPCAT_JOB( + JOB_ID VARCHAR (255), + TASK_ID VARCHAR (255), + PROCESS_ID VARCHAR (255), + JOB_DESCRIPTION VARCHAR (255), + CREATION_TIME BIGINT, + COMPUTE_RESOURCE_CONSUMED VARCHAR (255), + JOB_NAME VARCHAR (255), + WORKING_DIR VARCHAR (255), + STDOUT TEXT, + STDERR TEXT, + EXIT_CODE INT(11), + PRIMARY KEY(JOB_ID), + FOREIGN KEY(TASK_ID) REFERENCES EXPCAT_TASK(TASK_ID), + FOREIGN KEY(PROCESS_ID) REFERENCES EXPCAT_PROCESS(PROCESS_ID) +); + +CREATE TABLE IF NOT EXISTS EXPCAT_JOB_STATUS( + JOB_ID VARCHAR (255), + STATE VARCHAR (255), + TIME_OF_STATE_CHANGE BIGINT, + REASON VARCHAR (255), + PRIMARY KEY (JOB_ID, STATE), + FOREIGN KEY (JOB_ID) REFERENCES EXPCAT_JOB(JOB_ID) ON DELETE CASCADE ); \ No newline at end of file http://git-wip-us.apache.org/repos/asf/airavata/blob/eee49d36/modules/registry-refactoring/src/main/resources/workspace_catalog.sql ---------------------------------------------------------------------- diff --git a/modules/registry-refactoring/src/main/resources/workspace_catalog.sql b/modules/registry-refactoring/src/main/resources/workspace_catalog.sql index 8b87bc2..debdba4 100644 --- a/modules/registry-refactoring/src/main/resources/workspace_catalog.sql +++ b/modules/registry-refactoring/src/main/resources/workspace_catalog.sql @@ -1,5 +1,5 @@ -CREATE TABLE IF NOT EXISTS GATEWAY( +CREATE TABLE IF NOT EXISTS WORKSPACE_GATEWAY( GATEWAY_ID VARCHAR (255), GATEWAY_NAME VARCHAR (255), GATEWAY_DOMAIN VARCHAR (255), @@ -22,7 +22,7 @@ CREATE TABLE IF NOT EXISTS GATEWAY( PRIMARY KEY (GATEWAY_ID) ); -CREATE TABLE IF NOT EXISTS NOTIFICATION ( +CREATE TABLE IF NOT EXISTS WORKSPACE_NOTIFICATION ( NOTIFICATION_ID VARCHAR (255), GATEWAY_ID VARCHAR (255), TITLE VARCHAR (255), @@ -32,10 +32,10 @@ CREATE TABLE IF NOT EXISTS NOTIFICATION ( EXPIRATION_TIME BIGINT, PRIORITY VARCHAR (255), PRIMARY KEY (NOTIFICATION_ID), - FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE + FOREIGN KEY (GATEWAY_ID) REFERENCES WORKSPACE_GATEWAY(GATEWAY_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS USER_PROFILE ( +CREATE TABLE IF NOT EXISTS WORKSPACE_USER_PROFILE ( AIRAVATA_INTERNAL_USER_ID VARCHAR (255), USER_ID VARCHAR (255), GATEWAY_ID VARCHAR (255), @@ -53,66 +53,66 @@ CREATE TABLE IF NOT EXISTS USER_PROFILE ( GPG_KEY VARCHAR (8192), TIME_ZONE VARCHAR (255), PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID), - FOREIGN KEY (GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE + FOREIGN KEY (GATEWAY_ID) REFERENCES WORKSPACE_GATEWAY(GATEWAY_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS USER_PROFILE_EMAIL ( +CREATE TABLE IF NOT EXISTS WORKSPACE_USER_PROFILE_EMAIL ( AIRAVATA_INTERNAL_USER_ID VARCHAR (255), EMAIL VARCHAR (255), PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, EMAIL), - FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE + FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES WORKSPACE_USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS USER_PROFILE_PHONE ( +CREATE TABLE IF NOT EXISTS WORKSPACE_USER_PROFILE_PHONE ( AIRAVATA_INTERNAL_USER_ID VARCHAR (255), PHONE VARCHAR (255), PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, PHONE ), - FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE + FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES WORKSPACE_USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS USER_PROFILE_NATIONALITY ( +CREATE TABLE IF NOT EXISTS WORKSPACE_USER_PROFILE_NATIONALITY ( AIRAVATA_INTERNAL_USER_ID VARCHAR (255), NATIONALITY VARCHAR (255), PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, NATIONALITY ), - FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE + FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES WORKSPACE_USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS USER_PROFILE_LABELED_URI ( +CREATE TABLE IF NOT EXISTS WORKSPACE_USER_PROFILE_LABELED_URI ( AIRAVATA_INTERNAL_USER_ID VARCHAR (255), LABELED_URI VARCHAR (255), PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, LABELED_URI ), - FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE + FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES WORKSPACE_USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS NSF_DEMOGRAPHIC ( +CREATE TABLE IF NOT EXISTS WORKSPACE_NSF_DEMOGRAPHIC ( AIRAVATA_INTERNAL_USER_ID VARCHAR (255), GENDER VARCHAR (255), PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID), - FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE + FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES WORKSPACE_USER_PROFILE(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS NSF_DEMOGRAPHIC_ETHNICITY ( +CREATE TABLE IF NOT EXISTS WORKSPACE_NSF_DEMOGRAPHIC_ETHNICITY ( AIRAVATA_INTERNAL_USER_ID VARCHAR (255), ETHNICITY VARCHAR (255), PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, ETHNICITY ), - FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE + FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES WORKSPACE_NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS NSF_DEMOGRAPHIC_RACE ( +CREATE TABLE IF NOT EXISTS WORKSPACE_NSF_DEMOGRAPHIC_RACE ( AIRAVATA_INTERNAL_USER_ID VARCHAR (255), RACE VARCHAR (255), PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, RACE ), - FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE + FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES WORKSPACE_NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS NSF_DEMOGRAPHIC_DISABILITY ( +CREATE TABLE IF NOT EXISTS WORKSPACE_NSF_DEMOGRAPHIC_DISABILITY ( AIRAVATA_INTERNAL_USER_ID VARCHAR (255), DISABILITY VARCHAR (255), PRIMARY KEY (AIRAVATA_INTERNAL_USER_ID, DISABILITY ), - FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE + FOREIGN KEY (AIRAVATA_INTERNAL_USER_ID) REFERENCES WORKSPACE_NSF_DEMOGRAPHIC(AIRAVATA_INTERNAL_USER_ID) ON DELETE CASCADE ); -CREATE TABLE IF NOT EXISTS PROJECT( +CREATE TABLE IF NOT EXISTS WORKSPACE_PROJECT( PROJECT_ID VARCHAR (255), OWNER VARCHAR (255), GATEWAY_ID VARCHAR (255), @@ -120,6 +120,6 @@ CREATE TABLE IF NOT EXISTS PROJECT( DESCRIPTION VARCHAR (255), CREATION_TIME BIGINT, PRIMARY KEY (PROJECT_ID), - FOREIGN KEY(OWNER) REFERENCES USER_PROFILE(AIRAVATA_INTERNAL_USER_ID), - FOREIGN KEY(GATEWAY_ID) REFERENCES GATEWAY(GATEWAY_ID) ON DELETE CASCADE + FOREIGN KEY(OWNER) REFERENCES WORKSPACE_USER_PROFILE(AIRAVATA_INTERNAL_USER_ID), + FOREIGN KEY(GATEWAY_ID) REFERENCES WORKSPACE_GATEWAY(GATEWAY_ID) ON DELETE CASCADE ); \ No newline at end of file