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/18 22:51:21 UTC
[14/17] airavata git commit: Changing the registry model and resource
packages to comply with the new data models
http://git-wip-us.apache.org/repos/asf/airavata/blob/f366c384/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Process.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Process.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Process.java
new file mode 100644
index 0000000..1b379e0
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Process.java
@@ -0,0 +1,217 @@
+/*
+ *
+ * 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.sql.Timestamp;
+import java.util.Collection;
+
+@Entity
+@Table(name = "PROCESS")
+public class Process {
+ private final static Logger logger = LoggerFactory.getLogger(Process.class);
+ private String processId;
+ private String experimentId;
+ private Timestamp creationTime;
+ private Timestamp lastUpdateTime;
+ private String processDetail;
+ private String applicationInterfaceId;
+ private String taskDag;
+ private Experiment experiment;
+ private ProcessError processError;
+ private Collection<ProcessInput> processInputs;
+ private Collection<ProcessOutput> processOutputs;
+ private ProcessResourceSchedule processResourceSchedule;
+ private ProcessStatus processStatus;
+ private Collection<Task> tasks;
+
+ @Id
+ @Column(name = "PROCESS_ID")
+ public String getProcessId() {
+ return processId;
+ }
+
+ public void setProcessId(String processId) {
+ this.processId = processId;
+ }
+
+ @Basic
+ @Column(name = "EXPERIMENT_ID")
+ public String getExperimentId() {
+ return experimentId;
+ }
+
+ public void setExperimentId(String experimentId) {
+ this.experimentId = experimentId;
+ }
+
+ @Basic
+ @Column(name = "CREATION_TIME")
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ @Basic
+ @Column(name = "LAST_UPDATE_TIME")
+ public Timestamp getLastUpdateTime() {
+ return lastUpdateTime;
+ }
+
+ public void setLastUpdateTime(Timestamp lastUpdateTime) {
+ this.lastUpdateTime = lastUpdateTime;
+ }
+
+ @Basic
+ @Column(name = "PROCESS_DETAIL")
+ public String getProcessDetail() {
+ return processDetail;
+ }
+
+ public void setProcessDetail(String processDetail) {
+ this.processDetail = processDetail;
+ }
+
+ @Basic
+ @Column(name = "APPLICATION_INTERFACE_ID")
+ public String getApplicationInterfaceId() {
+ return applicationInterfaceId;
+ }
+
+ public void setApplicationInterfaceId(String applicationInterfaceId) {
+ this.applicationInterfaceId = applicationInterfaceId;
+ }
+
+ @Basic
+ @Column(name = "TASK_DAG")
+ public String getTaskDag() {
+ return taskDag;
+ }
+
+ public void setTaskDag(String taskDag) {
+ this.taskDag = taskDag;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ Process process = (Process) o;
+
+ if (applicationInterfaceId != null ? !applicationInterfaceId.equals(process.applicationInterfaceId) : process.applicationInterfaceId != null)
+ return false;
+ if (creationTime != null ? !creationTime.equals(process.creationTime) : process.creationTime != null)
+ return false;
+ if (experimentId != null ? !experimentId.equals(process.experimentId) : process.experimentId != null)
+ return false;
+ if (lastUpdateTime != null ? !lastUpdateTime.equals(process.lastUpdateTime) : process.lastUpdateTime != null)
+ return false;
+ if (processDetail != null ? !processDetail.equals(process.processDetail) : process.processDetail != null)
+ return false;
+ if (processId != null ? !processId.equals(process.processId) : process.processId != null) return false;
+ if (taskDag != null ? !taskDag.equals(process.taskDag) : process.taskDag != null) return false;
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = processId != null ? processId.hashCode() : 0;
+ result = 31 * result + (experimentId != null ? experimentId.hashCode() : 0);
+ result = 31 * result + (creationTime != null ? creationTime.hashCode() : 0);
+ result = 31 * result + (lastUpdateTime != null ? lastUpdateTime.hashCode() : 0);
+ result = 31 * result + (processDetail != null ? processDetail.hashCode() : 0);
+ result = 31 * result + (applicationInterfaceId != null ? applicationInterfaceId.hashCode() : 0);
+ result = 31 * result + (taskDag != null ? taskDag.hashCode() : 0);
+ return result;
+ }
+
+ @ManyToOne
+ @JoinColumn(name = "EXPERIMENT_ID", referencedColumnName = "EXPERIMENT_ID")
+ public Experiment getExperiment() {
+ return experiment;
+ }
+
+ public void setExperiment(Experiment experimentByExperimentId) {
+ this.experiment = experimentByExperimentId;
+ }
+
+ @OneToOne(mappedBy = "process")
+ public ProcessError getProcessError() {
+ return processError;
+ }
+
+ public void setProcessError(ProcessError processErrorsByProcessId) {
+ this.processError = processErrorsByProcessId;
+ }
+
+ @OneToMany(mappedBy = "process")
+ public Collection<ProcessInput> getProcessInputs() {
+ return processInputs;
+ }
+
+ public void setProcessInputs(Collection<ProcessInput> processInputsByProcessId) {
+ this.processInputs = processInputsByProcessId;
+ }
+
+ @OneToMany(mappedBy = "process")
+ public Collection<ProcessOutput> getProcessOutputs() {
+ return processOutputs;
+ }
+
+ public void setProcessOutputs(Collection<ProcessOutput> processOutputsByProcessId) {
+ this.processOutputs = processOutputsByProcessId;
+ }
+
+ @OneToOne(mappedBy = "process")
+ public ProcessResourceSchedule getProcessResourceSchedule() {
+ return processResourceSchedule;
+ }
+
+ public void setProcessResourceSchedule(ProcessResourceSchedule processResourceSchedulesByProcessId) {
+ this.processResourceSchedule = processResourceSchedulesByProcessId;
+ }
+
+ @OneToOne(mappedBy = "process")
+ public ProcessStatus getProcessStatus() {
+ return processStatus;
+ }
+
+ public void setProcessStatus(ProcessStatus processStatusesByProcessId) {
+ this.processStatus = processStatusesByProcessId;
+ }
+
+ @OneToMany(mappedBy = "process")
+ public Collection<Task> getTasks() {
+ return tasks;
+ }
+
+ public void setTasks(Collection<Task> taskByProcessId) {
+ this.tasks = taskByProcessId;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/f366c384/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessError.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessError.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessError.java
new file mode 100644
index 0000000..cd64ad7
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessError.java
@@ -0,0 +1,143 @@
+/*
+ *
+ * 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.lang.*;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "PROCESS_ERROR")
+public class ProcessError {
+ private final static Logger logger = LoggerFactory.getLogger(ProcessError.class);
+ private String processId;
+ private Timestamp creationTime;
+ private String actualErrorMessage;
+ private String userFriendlyMessage;
+ private Boolean transientOrPersistent;
+ private String rootCauseErrorIdList;
+ private Process process;
+
+ @Id
+ @Column(name = "PROCESS_ID")
+ public String getProcessId() {
+ return processId;
+ }
+
+ public void setProcessId(String processId) {
+ this.processId = processId;
+ }
+
+ @Basic
+ @Column(name = "CREATION_TIME")
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ @Basic
+ @Column(name = "ACTUAL_ERROR_MESSAGE")
+ public String getActualErrorMessage() {
+ return actualErrorMessage;
+ }
+
+ public void setActualErrorMessage(String actualErrorMessage) {
+ this.actualErrorMessage = actualErrorMessage;
+ }
+
+ @Basic
+ @Column(name = "USER_FRIENDLY_MESSAGE")
+ public String getUserFriendlyMessage() {
+ return userFriendlyMessage;
+ }
+
+ public void setUserFriendlyMessage(String userFriendlyMessage) {
+ this.userFriendlyMessage = userFriendlyMessage;
+ }
+
+ @Basic
+ @Column(name = "TRANSIENT_OR_PERSISTENT")
+ public Boolean getTransientOrPersistent() {
+ return transientOrPersistent;
+ }
+
+ public void setTransientOrPersistent(Boolean transientOrPersistent) {
+ this.transientOrPersistent = transientOrPersistent;
+ }
+
+ @Basic
+ @Column(name = "ROOT_CAUSE_ERROR_ID_LIST")
+ public String getRootCauseErrorIdList() {
+ return rootCauseErrorIdList;
+ }
+
+ public void setRootCauseErrorIdList(String rootCauseErrorIdList) {
+ this.rootCauseErrorIdList = rootCauseErrorIdList;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ ProcessError that = (ProcessError) o;
+
+ 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 (processId != null ? !processId.equals(that.processId) : that.processId != null) return false;
+ if (rootCauseErrorIdList != null ? !rootCauseErrorIdList.equals(that.rootCauseErrorIdList) : that.rootCauseErrorIdList != 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 = processId != null ? processId.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;
+ }
+
+ @OneToOne
+ @JoinColumn(name = "PROCESS_ID", referencedColumnName = "PROCESS_ID", nullable = false)
+ public Process getProcess() {
+ return process;
+ }
+
+ public void setProcess(Process processByProcessId) {
+ this.process = processByProcessId;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/f366c384/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessInput.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessInput.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessInput.java
new file mode 100644
index 0000000..0ef2cba
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessInput.java
@@ -0,0 +1,238 @@
+/*
+ *
+ * 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.lang.*;
+
+@Entity
+@Table(name = "PROCESS_INPUT")
+public class ProcessInput {
+ private final static Logger logger = LoggerFactory.getLogger(ProcessInput.class);
+ private int processInputId;
+ private String processId;
+ private String inputName;
+ private String inputValue;
+ private String dataType;
+ private String applicationArgument;
+ private Boolean standardInput;
+ private String userFriendlyDescription;
+ private String metadata;
+ private Integer inputOrder;
+ private Boolean isRequired;
+ private Boolean requiredToAddedToCmd;
+ private Boolean dataStaged;
+ private Process process;
+
+ public void setProcessInputId(Integer processInputId) {
+ this.processInputId = processInputId;
+ }
+
+ @Id
+ @GeneratedValue
+ @Column(name = "PROCESS_INPUT_ID")
+ public int getProcessInputId() {
+ return processInputId;
+ }
+
+ public void setProcessInputId(int processInputId) {
+ this.processInputId = processInputId;
+ }
+
+ @Basic
+ @Column(name = "PROCESS_ID")
+ public String getProcessId() {
+ return processId;
+ }
+
+ public void setProcessId(String processId) {
+ this.processId = processId;
+ }
+
+ @Basic
+ @Column(name = "INPUT_NAME")
+ public String getInputName() {
+ return inputName;
+ }
+
+ public void setInputName(String inputName) {
+ this.inputName = inputName;
+ }
+
+ @Basic
+ @Column(name = "INPUT_VALUE")
+ public String getInputValue() {
+ return inputValue;
+ }
+
+ public void setInputValue(String inputValue) {
+ this.inputValue = inputValue;
+ }
+
+ @Basic
+ @Column(name = "DATA_TYPE")
+ public String getDataType() {
+ return dataType;
+ }
+
+ public void setDataType(String dataType) {
+ this.dataType = dataType;
+ }
+
+ @Basic
+ @Column(name = "APPLICATION_ARGUMENT")
+ public String getApplicationArgument() {
+ return applicationArgument;
+ }
+
+ public void setApplicationArgument(String applicationArgument) {
+ this.applicationArgument = applicationArgument;
+ }
+
+ @Basic
+ @Column(name = "STANDARD_INPUT")
+ public Boolean getStandardInput() {
+ return standardInput;
+ }
+
+ public void setStandardInput(Boolean standardInput) {
+ this.standardInput = standardInput;
+ }
+
+ @Basic
+ @Column(name = "USER_FRIENDLY_DESCRIPTION")
+ public String getUserFriendlyDescription() {
+ return userFriendlyDescription;
+ }
+
+ public void setUserFriendlyDescription(String userFriendlyDescription) {
+ this.userFriendlyDescription = userFriendlyDescription;
+ }
+
+ @Basic
+ @Column(name = "METADATA")
+ public String getMetadata() {
+ return metadata;
+ }
+
+ public void setMetadata(String metadata) {
+ this.metadata = metadata;
+ }
+
+ @Basic
+ @Column(name = "INPUT_ORDER")
+ public Integer getInputOrder() {
+ return inputOrder;
+ }
+
+ public void setInputOrder(Integer inputOrder) {
+ this.inputOrder = inputOrder;
+ }
+
+ @Basic
+ @Column(name = "IS_REQUIRED")
+ public Boolean getIsRequired() {
+ return isRequired;
+ }
+
+ public void setIsRequired(Boolean isRequired) {
+ this.isRequired = isRequired;
+ }
+
+ @Basic
+ @Column(name = "REQUIRED_TO_ADDED_TO_CMD")
+ public Boolean getRequiredToAddedToCmd() {
+ return requiredToAddedToCmd;
+ }
+
+ public void setRequiredToAddedToCmd(Boolean requiredToAddedToCmd) {
+ this.requiredToAddedToCmd = requiredToAddedToCmd;
+ }
+
+ @Basic
+ @Column(name = "DATA_STAGED")
+ public Boolean getDataStaged() {
+ return dataStaged;
+ }
+
+ public void setDataStaged(Boolean dataStaged) {
+ this.dataStaged = dataStaged;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ ProcessInput that = (ProcessInput) o;
+
+ if (processInputId != that.processInputId) return false;
+ if (applicationArgument != null ? !applicationArgument.equals(that.applicationArgument) : that.applicationArgument != null)
+ return false;
+ if (dataStaged != null ? !dataStaged.equals(that.dataStaged) : that.dataStaged != null) return false;
+ if (dataType != null ? !dataType.equals(that.dataType) : that.dataType != null) return false;
+ if (inputName != null ? !inputName.equals(that.inputName) : that.inputName != null) return false;
+ if (inputOrder != null ? !inputOrder.equals(that.inputOrder) : that.inputOrder != null) return false;
+ if (inputValue != null ? !inputValue.equals(that.inputValue) : that.inputValue != null) return false;
+ if (isRequired != null ? !isRequired.equals(that.isRequired) : that.isRequired != null) return false;
+ if (metadata != null ? !metadata.equals(that.metadata) : that.metadata != null) return false;
+ if (processId != null ? !processId.equals(that.processId) : that.processId != null) return false;
+ if (requiredToAddedToCmd != null ? !requiredToAddedToCmd.equals(that.requiredToAddedToCmd) : that.requiredToAddedToCmd != null)
+ return false;
+ if (standardInput != null ? !standardInput.equals(that.standardInput) : that.standardInput != null)
+ return false;
+ if (userFriendlyDescription != null ? !userFriendlyDescription.equals(that.userFriendlyDescription) : that.userFriendlyDescription != null)
+ return false;
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = processInputId;
+ result = 31 * result + (processId != null ? processId.hashCode() : 0);
+ result = 31 * result + (inputName != null ? inputName.hashCode() : 0);
+ result = 31 * result + (inputValue != null ? inputValue.hashCode() : 0);
+ result = 31 * result + (dataType != null ? dataType.hashCode() : 0);
+ result = 31 * result + (applicationArgument != null ? applicationArgument.hashCode() : 0);
+ result = 31 * result + (standardInput != null ? standardInput.hashCode() : 0);
+ result = 31 * result + (userFriendlyDescription != null ? userFriendlyDescription.hashCode() : 0);
+ result = 31 * result + (metadata != null ? metadata.hashCode() : 0);
+ result = 31 * result + (inputOrder != null ? inputOrder.hashCode() : 0);
+ result = 31 * result + (isRequired != null ? isRequired.hashCode() : 0);
+ result = 31 * result + (requiredToAddedToCmd != null ? requiredToAddedToCmd.hashCode() : 0);
+ result = 31 * result + (dataStaged != null ? dataStaged.hashCode() : 0);
+ return result;
+ }
+
+ @ManyToOne
+ @JoinColumn(name = "PROCESS_ID", referencedColumnName = "PROCESS_ID")
+ public Process getProcess() {
+ return process;
+ }
+
+ public void setProcess(Process processByProcessId) {
+ this.process = processByProcessId;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/f366c384/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessOutput.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessOutput.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessOutput.java
new file mode 100644
index 0000000..0290539
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessOutput.java
@@ -0,0 +1,184 @@
+/*
+ *
+ * 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.lang.*;
+
+@Entity
+@Table(name = "PROCESS_OUTPUT")
+public class ProcessOutput {
+ private final static Logger logger = LoggerFactory.getLogger(ProcessOutput.class);
+ private int processOutputId;
+ private String processId;
+ private String dataType;
+ private String applicationArgument;
+ private Boolean isRequired;
+ private Boolean requiredToAddedToCmd;
+ private Boolean dataMovement;
+ private String location;
+ private String searchQuery;
+ private Process process;
+
+ public void setProcessOutputId(Integer processOutputId) {
+ this.processOutputId = processOutputId;
+ }
+
+ @Id
+ @GeneratedValue
+ @Column(name = "PROCESS_OUTPUT_ID")
+ public int getProcessOutputId() {
+ return processOutputId;
+ }
+
+ public void setProcessOutputId(int processOutputId) {
+ this.processOutputId = processOutputId;
+ }
+
+ @Basic
+ @Column(name = "PROCESS_ID")
+ public String getProcessId() {
+ return processId;
+ }
+
+ public void setProcessId(String processId) {
+ this.processId = processId;
+ }
+
+ @Basic
+ @Column(name = "DATA_TYPE")
+ public String getDataType() {
+ return dataType;
+ }
+
+ public void setDataType(String dataType) {
+ this.dataType = dataType;
+ }
+
+ @Basic
+ @Column(name = "APPLICATION_ARGUMENT")
+ public String getApplicationArgument() {
+ return applicationArgument;
+ }
+
+ public void setApplicationArgument(String applicationArgument) {
+ this.applicationArgument = applicationArgument;
+ }
+
+ @Basic
+ @Column(name = "IS_REQUIRED")
+ public Boolean getIsRequired() {
+ return isRequired;
+ }
+
+ public void setIsRequired(Boolean isRequired) {
+ this.isRequired = isRequired;
+ }
+
+ @Basic
+ @Column(name = "REQUIRED_TO_ADDED_TO_CMD")
+ public Boolean getRequiredToAddedToCmd() {
+ return requiredToAddedToCmd;
+ }
+
+ public void setRequiredToAddedToCmd(Boolean requiredToAddedToCmd) {
+ this.requiredToAddedToCmd = requiredToAddedToCmd;
+ }
+
+ @Basic
+ @Column(name = "DATA_MOVEMENT")
+ public Boolean getDataMovement() {
+ return dataMovement;
+ }
+
+ public void setDataMovement(Boolean dataMovement) {
+ this.dataMovement = dataMovement;
+ }
+
+ @Basic
+ @Column(name = "LOCATION")
+ public String getLocation() {
+ return location;
+ }
+
+ public void setLocation(String location) {
+ this.location = location;
+ }
+
+ @Basic
+ @Column(name = "SEARCH_QUERY")
+ public String getSearchQuery() {
+ return searchQuery;
+ }
+
+ public void setSearchQuery(String searchQuery) {
+ this.searchQuery = searchQuery;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ ProcessOutput that = (ProcessOutput) o;
+
+ if (processOutputId != that.processOutputId) return false;
+ if (applicationArgument != null ? !applicationArgument.equals(that.applicationArgument) : that.applicationArgument != null)
+ return false;
+ if (dataMovement != null ? !dataMovement.equals(that.dataMovement) : that.dataMovement != null) return false;
+ if (dataType != null ? !dataType.equals(that.dataType) : that.dataType != null) return false;
+ if (isRequired != null ? !isRequired.equals(that.isRequired) : that.isRequired != null) return false;
+ if (location != null ? !location.equals(that.location) : that.location != null) return false;
+ if (processId != null ? !processId.equals(that.processId) : that.processId != null) return false;
+ if (requiredToAddedToCmd != null ? !requiredToAddedToCmd.equals(that.requiredToAddedToCmd) : that.requiredToAddedToCmd != null)
+ return false;
+ if (searchQuery != null ? !searchQuery.equals(that.searchQuery) : that.searchQuery != null) return false;
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = processOutputId;
+ result = 31 * result + (processId != null ? processId.hashCode() : 0);
+ result = 31 * result + (dataType != null ? dataType.hashCode() : 0);
+ result = 31 * result + (applicationArgument != null ? applicationArgument.hashCode() : 0);
+ result = 31 * result + (isRequired != null ? isRequired.hashCode() : 0);
+ result = 31 * result + (requiredToAddedToCmd != null ? requiredToAddedToCmd.hashCode() : 0);
+ result = 31 * result + (dataMovement != null ? dataMovement.hashCode() : 0);
+ result = 31 * result + (location != null ? location.hashCode() : 0);
+ result = 31 * result + (searchQuery != null ? searchQuery.hashCode() : 0);
+ return result;
+ }
+
+ @ManyToOne
+ @JoinColumn(name = "PROCESS_ID", referencedColumnName = "PROCESS_ID")
+ public Process getProcess() {
+ return process;
+ }
+
+ public void setProcess(Process processByProcessId) {
+ this.process = processByProcessId;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/f366c384/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessResourceSchedule.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessResourceSchedule.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessResourceSchedule.java
new file mode 100644
index 0000000..9c49ffb
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessResourceSchedule.java
@@ -0,0 +1,169 @@
+/*
+ *
+ * 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.lang.*;
+
+@Entity
+@Table(name = "PROCESS_RESOURCE_SCHEDULE")
+public class ProcessResourceSchedule {
+ private final static Logger logger = LoggerFactory.getLogger(ProcessResourceSchedule.class);
+ private String processId;
+ private String resourceHostId;
+ private Integer totalCpuCount;
+ private Integer nodeCount;
+ private Integer numberOfThreads;
+ private String queueName;
+ private Integer wallTimeLimit;
+ private Integer totalPhysicalMemory;
+ private Process process;
+
+ @Id
+ @Column(name = "PROCESS_ID")
+ public String getProcessId() {
+ return processId;
+ }
+
+ public void setProcessId(String processId) {
+ this.processId = processId;
+ }
+
+ @Basic
+ @Column(name = "RESOURCE_HOST_ID")
+ public String getResourceHostId() {
+ return resourceHostId;
+ }
+
+ public void setResourceHostId(String resourceHostId) {
+ this.resourceHostId = resourceHostId;
+ }
+
+ @Basic
+ @Column(name = "TOTAL_CPU_COUNT")
+ public Integer getTotalCpuCount() {
+ return totalCpuCount;
+ }
+
+ public void setTotalCpuCount(Integer totalCpuCount) {
+ this.totalCpuCount = totalCpuCount;
+ }
+
+ @Basic
+ @Column(name = "NODE_COUNT")
+ public Integer getNodeCount() {
+ return nodeCount;
+ }
+
+ public void setNodeCount(Integer nodeCount) {
+ this.nodeCount = nodeCount;
+ }
+
+ @Basic
+ @Column(name = "NUMBER_OF_THREADS")
+ public Integer getNumberOfThreads() {
+ return numberOfThreads;
+ }
+
+ public void setNumberOfThreads(Integer numberOfThreads) {
+ this.numberOfThreads = numberOfThreads;
+ }
+
+ @Basic
+ @Column(name = "QUEUE_NAME")
+ public String getQueueName() {
+ return queueName;
+ }
+
+ public void setQueueName(String queueName) {
+ this.queueName = queueName;
+ }
+
+ @Basic
+ @Column(name = "WALL_TIME_LIMIT")
+ public Integer getWallTimeLimit() {
+ return wallTimeLimit;
+ }
+
+ public void setWallTimeLimit(Integer wallTimeLimit) {
+ this.wallTimeLimit = wallTimeLimit;
+ }
+
+ @Basic
+ @Column(name = "TOTAL_PHYSICAL_MEMORY")
+ public Integer getTotalPhysicalMemory() {
+ return totalPhysicalMemory;
+ }
+
+ public void setTotalPhysicalMemory(Integer totalPhysicalMemory) {
+ this.totalPhysicalMemory = totalPhysicalMemory;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ ProcessResourceSchedule that = (ProcessResourceSchedule) o;
+
+ 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 (processId != null ? !processId.equals(that.processId) : that.processId != 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 (totalCpuCount != null ? !totalCpuCount.equals(that.totalCpuCount) : that.totalCpuCount != null)
+ return false;
+ if (totalPhysicalMemory != null ? !totalPhysicalMemory.equals(that.totalPhysicalMemory) : that.totalPhysicalMemory != null)
+ return false;
+ if (wallTimeLimit != null ? !wallTimeLimit.equals(that.wallTimeLimit) : that.wallTimeLimit != null)
+ return false;
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = processId != null ? processId.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 = "PROCESS_ID", referencedColumnName = "PROCESS_ID", nullable = false)
+ public Process getProcess() {
+ return process;
+ }
+
+ public void setProcess(Process processByProcessId) {
+ this.process = processByProcessId;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/f366c384/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessStatus.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessStatus.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessStatus.java
new file mode 100644
index 0000000..c322dc3
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProcessStatus.java
@@ -0,0 +1,114 @@
+/*
+ *
+ * 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.lang.*;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "PROCESS_STATUS")
+public class ProcessStatus {
+ private final static Logger logger = LoggerFactory.getLogger(ProcessStatus.class);
+ private String processId;
+ private String state;
+ private Timestamp timeOfStateChange;
+ private String reason;
+ private Process process;
+
+ @Id
+ @Column(name = "PROCESS_ID")
+ public String getProcessId() {
+ return processId;
+ }
+
+ public void setProcessId(String processId) {
+ this.processId = processId;
+ }
+
+ @Basic
+ @Column(name = "STATE")
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+
+ @Basic
+ @Column(name = "TIME_OF_STATE_CHANGE")
+ public Timestamp getTimeOfStateChange() {
+ return timeOfStateChange;
+ }
+
+ public void setTimeOfStateChange(Timestamp timeOfStateChange) {
+ this.timeOfStateChange = timeOfStateChange;
+ }
+
+ @Basic
+ @Column(name = "REASON")
+ public String getReason() {
+ return reason;
+ }
+
+ public void setReason(String reason) {
+ this.reason = reason;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ ProcessStatus that = (ProcessStatus) o;
+
+ if (processId != null ? !processId.equals(that.processId) : that.processId != 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 (timeOfStateChange != null ? !timeOfStateChange.equals(that.timeOfStateChange) : that.timeOfStateChange != null)
+ return false;
+
+ return true;
+ }
+
+ @Override
+ public int hashCode() {
+ int result = processId != null ? processId.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;
+ }
+
+ @OneToOne
+ @JoinColumn(name = "PROCESS_ID", referencedColumnName = "PROCESS_ID", nullable = false)
+ public Process getProcess() {
+ return process;
+ }
+
+ public void setProcess(Process processByProcessId) {
+ this.process = processByProcessId;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/f366c384/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 d5c0402..d1f2261 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
@@ -20,68 +20,70 @@
*/
package org.apache.airavata.registry.core.experiment.catalog.model;
-import org.apache.openjpa.persistence.DataCache;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import javax.persistence.*;
-import java.io.Serializable;
import java.sql.Timestamp;
+import java.util.Collection;
-@DataCache
@Entity
-@Table(name ="PROJECT")
-public class Project implements Serializable {
- @Id
- @Column(name = "PROJECT_ID")
- private String project_id;
-
- @Column(name = "GATEWAY_ID")
- private String gateway_id;
-
- @Column(name = "PROJECT_NAME")
- private String project_name;
-
- @Column(name = "DESCRIPTION")
+@Table(name = "PROJECT")
+public class Project {
+ private final static Logger logger = LoggerFactory.getLogger(Project.class);
+ private String gatewayId;
+ private String ownerName;
+ private String projectName;
+ private String projectId;
private String description;
-
- @Column(name = "USER_NAME")
- private String user_name;
-
- @Column(name = "CREATION_TIME")
private Timestamp creationTime;
-
- @ManyToOne(cascade=CascadeType.MERGE)
- @JoinColumn(name = "GATEWAY_ID")
+ private Collection<Experiment> experiments;
+ private User user;
private Gateway gateway;
+ private Collection<ProjectUser> projectUsers;
- @ManyToOne(cascade=CascadeType.MERGE)
- @JoinColumn(name = "USER_NAME")
- private Users users;
+ @Basic
+ @Column(name = "GATEWAY_ID")
+ public String getGatewayId() {
+ return gatewayId;
+ }
+ public void setGatewayId(String gatewayId) {
+ this.gatewayId = gatewayId;
+ }
- public String getProject_name() {
- return project_name;
+ @Basic
+ @Column(name = "OWNER_NAME")
+ public String getOwnerName() {
+ return ownerName;
}
- public Gateway getGateway() {
- return gateway;
+ public void setOwnerName(String ownerName) {
+ this.ownerName = ownerName;
}
- public void setProject_name(String project_name) {
- this.project_name = project_name;
+ @Basic
+ @Column(name = "PROJECT_NAME")
+ public String getProjectName() {
+ return projectName;
}
- public void setGateway(Gateway gateway) {
- this.gateway = gateway;
+ public void setProjectName(String projectName) {
+ this.projectName = projectName;
}
- public Users getUsers() {
- return users;
+ @Id
+ @Column(name = "PROJECT_ID")
+ public String getProjectId() {
+ return projectId;
}
- public void setUsers(Users users) {
- this.users = users;
+ public void setProjectId(String projectId) {
+ this.projectId = projectId;
}
+ @Basic
+ @Column(name = "DESCRIPTION")
public String getDescription() {
return description;
}
@@ -90,6 +92,8 @@ public class Project implements Serializable {
this.description = description;
}
+ @Basic
+ @Column(name = "CREATION_TIME")
public Timestamp getCreationTime() {
return creationTime;
}
@@ -98,28 +102,72 @@ public class Project implements Serializable {
this.creationTime = creationTime;
}
- public void setProject_id(String project_id) {
- this.project_id = project_id;
+ @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 (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;
}
- public String getProject_id() {
- return project_id;
+ @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;
}
- public String getUser_name() {
- return user_name;
+ @OneToMany(mappedBy = "projectsByProjectId")
+ public Collection<Experiment> getExperiments() {
+ return experiments;
}
- public void setUser_name(String user_name) {
- this.user_name = user_name;
+ public void setExperiments(Collection<Experiment> experimentByProjectId) {
+ this.experiments = experimentByProjectId;
}
- public String getGateway_id() {
- return gateway_id;
+ @ManyToOne
+ @JoinColumn(name = "OWNER_NAME", referencedColumnName = "USER_NAME")
+ public User getUser() {
+ return user;
}
- public void setGateway_id(String gateway_id) {
- this.gateway_id = gateway_id;
+ public void setUser(User userByOwnerName) {
+ this.user = userByOwnerName;
}
-}
+ @ManyToOne
+ @JoinColumn(name = "GATEWAY_ID", referencedColumnName = "GATEWAY_ID")
+ public Gateway getGateway() {
+ return gateway;
+ }
+
+ public void setGateway(Gateway gatewayByGatewayId) {
+ this.gateway = gatewayByGatewayId;
+ }
+
+ @OneToMany(mappedBy = "project")
+ public Collection<ProjectUser> getProjectUsers() {
+ return projectUsers;
+ }
+
+ public void setProjectUsers(Collection<ProjectUser> projectUsersByProjectId) {
+ this.projectUsers = projectUsersByProjectId;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/f366c384/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 8c721ad..c2ae505 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
@@ -17,44 +17,36 @@
* specific language governing permissions and limitations
* under the License.
*
- */
-
+*/
package org.apache.airavata.registry.core.experiment.catalog.model;
-
-import org.apache.openjpa.persistence.DataCache;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
import javax.persistence.*;
-import java.io.Serializable;
-@DataCache
@Entity
-@IdClass(ProjectUser_PK.class)
@Table(name = "PROJECT_USER")
-public class ProjectUser implements Serializable {
- @Id
- @Column(name = "PROJECT_ID")
- private String projectID;
- @Id
- @Column(name = "USER_NAME")
+@IdClass(ProjectUsersPK.class)
+public class ProjectUser {
+ private final static Logger logger = LoggerFactory.getLogger(ProjectUser.class);
+ private String projectId;
private String userName;
-
- @ManyToOne(cascade=CascadeType.MERGE)
- @JoinColumn(name = "PROJECT_ID")
+ private User user;
private Project project;
- @ManyToOne(cascade=CascadeType.MERGE)
- @JoinColumn(name = "USER_NAME")
- private Users user;
-
- public String getProjectID() {
- return projectID;
+ @Id
+ @Column(name = "PROJECT_ID")
+ public String getProjectId() {
+ return projectId;
}
- public void setProjectID(String projectID) {
- this.projectID = projectID;
+ public void setProjectId(String projectId) {
+ this.projectId = projectId;
}
+ @Id
+ @Column(name = "USER_NAME")
public String getUserName() {
return userName;
}
@@ -63,19 +55,43 @@ public class ProjectUser implements Serializable {
this.userName = userName;
}
- public Project getProject() {
- return project;
+ @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;
}
- public void setProject(Project project) {
- this.project = project;
+ @Override
+ public int hashCode() {
+ int result = projectId != null ? projectId.hashCode() : 0;
+ result = 31 * result + (userName != null ? userName.hashCode() : 0);
+ return result;
}
- public Users getUser() {
+ @ManyToOne
+ @JoinColumn(name = "USER_NAME", referencedColumnName = "USER_NAME", nullable = false)
+ public User getUser() {
return user;
}
- public void setUser(Users user) {
- this.user = user;
+ public void setUser(User userByUserName) {
+ this.user = userByUserName;
+ }
+
+ @ManyToOne
+ @JoinColumn(name = "PROJECT_ID", referencedColumnName = "PROJECT_ID", nullable = false)
+ public Project getProject() {
+ return project;
+ }
+
+ public void setProject(Project projectByProjectId) {
+ this.project = projectByProjectId;
}
-}
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/f366c384/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUser_PK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUser_PK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUser_PK.java
deleted file mode 100644
index 5e5475e..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUser_PK.java
+++ /dev/null
@@ -1,64 +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 java.io.Serializable;
-
-public class ProjectUser_PK implements Serializable {
- private String projectID;
- private String userName;
-
- public ProjectUser_PK(String projectID, String userName) {
- this.projectID = projectID;
- this.userName = userName;
- }
-
- public ProjectUser_PK() {
- ;
- }
-
- @Override
- public boolean equals(Object o) {
- return false;
- }
-
- @Override
- public int hashCode() {
- return 1;
- }
-
- public String getProjectID() {
- return projectID;
- }
-
- public void setProjectID(String projectID) {
- this.projectID = projectID;
- }
-
- public String getUserName() {
- return userName;
- }
-
- public void setUserName(String userName) {
- this.userName = userName;
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f366c384/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUsersPK.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUsersPK.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUsersPK.java
new file mode 100644
index 0000000..8bd0e89
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/ProjectUsersPK.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.experiment.catalog.model;
+
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+
+import javax.persistence.Column;
+import javax.persistence.Id;
+import java.io.Serializable;
+
+public class ProjectUsersPK implements Serializable {
+ private final static Logger logger = LoggerFactory.getLogger(ProjectUsersPK.class);
+ private String projectId;
+ private String userName;
+
+ @Column(name = "PROJECT_ID")
+ @Id
+ public String getProjectId() {
+ return projectId;
+ }
+
+ public void setProjectId(String projectId) {
+ this.projectId = projectId;
+ }
+
+ @Column(name = "USER_NAME")
+ @Id
+ public String getUserName() {
+ return userName;
+ }
+
+ public void setUserName(String userName) {
+ this.userName = userName;
+ }
+
+ @Override
+ public boolean equals(Object o) {
+ if (this == o) return true;
+ if (o == null || getClass() != o.getClass()) return false;
+
+ ProjectUsersPK that = (ProjectUsersPK) 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;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/f366c384/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/QosParam.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/QosParam.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/QosParam.java
deleted file mode 100644
index 5694597..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/QosParam.java
+++ /dev/null
@@ -1,103 +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.apache.openjpa.persistence.DataCache;
-
-import javax.persistence.*;
-import java.io.Serializable;
-
-@DataCache
-@Entity
-@Table(name = "QOS_PARAM")
-public class QosParam implements Serializable {
- @Id
- @GeneratedValue
- @Column(name = "QOS_ID")
- private int qosId;
- @Column(name = "EXPERIMENT_ID")
- private String expId;
- @Column(name = "TASK_ID")
- private String taskId;
- @Column(name = "START_EXECUTION_AT")
- private String startExecutionAt;
- @Column(name = "EXECUTE_BEFORE")
- private String executeBefore;
- @Column(name = "NO_OF_RETRIES")
- private int noOfRetries;
-
- @ManyToOne(cascade= CascadeType.MERGE)
- @JoinColumn(name = "EXPERIMENT_ID")
- private Experiment experiment;
-
- @ManyToOne(cascade= CascadeType.MERGE)
- @JoinColumn(name = "TASK_ID")
- private TaskDetail task;
-
- public int getQosId() {
- return qosId;
- }
-
- public void setQosId(int qosId) {
- this.qosId = qosId;
- }
-
- public String getExpId() {
- return expId;
- }
-
- public void setExpId(String expId) {
- this.expId = expId;
- }
-
- public String getTaskId() {
- return taskId;
- }
-
- public void setTaskId(String taskId) {
- this.taskId = taskId;
- }
-
- public String getStartExecutionAt() {
- return startExecutionAt;
- }
-
- public void setStartExecutionAt(String startExecutionAt) {
- this.startExecutionAt = startExecutionAt;
- }
-
- public String getExecuteBefore() {
- return executeBefore;
- }
-
- public void setExecuteBefore(String executeBefore) {
- this.executeBefore = executeBefore;
- }
-
- public int getNoOfRetries() {
- return noOfRetries;
- }
-
- public void setNoOfRetries(int noOfRetries) {
- this.noOfRetries = noOfRetries;
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f366c384/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Status.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Status.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Status.java
deleted file mode 100644
index 29e17dd..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Status.java
+++ /dev/null
@@ -1,146 +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.apache.openjpa.persistence.DataCache;
-
-import javax.persistence.*;
-import java.io.Serializable;
-import java.sql.Timestamp;
-
-@DataCache
-@Entity
-@Table(name = "STATUS")
-public class Status implements Serializable {
- @Id
- @GeneratedValue
- @Column(name = "STATUS_ID")
- private int statusId;
- @Column(name = "EXPERIMENT_ID")
- private String expId;
- @Column(name = "NODE_INSTANCE_ID")
- private String nodeId;
- @Column(name = "TRANSFER_ID")
- private String transferId;
- @Column(name = "TASK_ID")
- private String taskId;
- @Column(name = "JOB_ID")
- private String jobId;
- @Column(name = "STATE")
- private String state;
- @Column(name = "STATUS_UPDATE_TIME")
- private Timestamp statusUpdateTime;
- @Column(name = "STATUS_TYPE")
- private String statusType;
-
- @ManyToOne(fetch = FetchType.LAZY, cascade= CascadeType.MERGE)
- @JoinColumn(name = "EXPERIMENT_ID")
- private Experiment experiment;
-
- @ManyToOne(fetch = FetchType.LAZY, cascade= CascadeType.MERGE)
- @JoinColumn(name = "TASK_ID")
- private TaskDetail task;
-
- @ManyToOne(fetch = FetchType.LAZY, cascade= CascadeType.MERGE)
- @JoinColumn(name = "NODE_INSTANCE_ID")
- private WorkflowNodeDetail nodeDetail;
-
- @ManyToOne(fetch = FetchType.LAZY, cascade= CascadeType.MERGE)
- @JoinColumn(name = "TRANSFER_ID")
- private DataTransferDetail transferDetail;
-
- @ManyToOne(fetch = FetchType.LAZY, cascade= CascadeType.MERGE)
- @JoinColumn(name = "JOB_ID")
- private JobDetail jobDetail;
-
- public int getStatusId() {
- return statusId;
- }
-
- public void setStatusId(int statusId) {
- this.statusId = statusId;
- }
-
- public String getExpId() {
- return expId;
- }
-
- public void setExpId(String expId) {
- this.expId = expId;
- }
-
- public String getNodeId() {
- return nodeId;
- }
-
- public void setNodeId(String nodeId) {
- this.nodeId = nodeId;
- }
-
- public String getTransferId() {
- return transferId;
- }
-
- public void setTransferId(String transferId) {
- this.transferId = transferId;
- }
-
- public String getTaskId() {
- return taskId;
- }
-
- public void setTaskId(String taskId) {
- this.taskId = taskId;
- }
-
- public String getJobId() {
- return jobId;
- }
-
- public void setJobId(String jobId) {
- this.jobId = jobId;
- }
-
- public String getState() {
- return state;
- }
-
- public void setState(String state) {
- this.state = state;
- }
-
- public Timestamp getStatusUpdateTime() {
- return statusUpdateTime;
- }
-
- public void setStatusUpdateTime(Timestamp statusUpdateTime) {
- this.statusUpdateTime = statusUpdateTime;
- }
-
- public String getStatusType() {
- return statusType;
- }
-
- public void setStatusType(String statusType) {
- this.statusType = statusType;
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f366c384/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
new file mode 100644
index 0000000..2e7fc07
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/Task.java
@@ -0,0 +1,175 @@
+/*
+ *
+ * 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.lang.*;
+import java.sql.Timestamp;
+
+@Entity
+@Table(name = "TASK")
+public class Task {
+ private final static Logger logger = LoggerFactory.getLogger(Task.class);
+ private String taskId;
+ private String taskType;
+ private String parentProcessId;
+ private Timestamp creationTime;
+ private Timestamp lastUpdateTime;
+ private String taskDetail;
+ private Byte taskInternalStore;
+ private Process process;
+ private TaskError taskError;
+ private TaskStatus taskStatus;
+
+ @Id
+ @Column(name = "TASK_ID")
+ public String getTaskId() {
+ return taskId;
+ }
+
+ public void setTaskId(String taskId) {
+ this.taskId = taskId;
+ }
+
+ @Basic
+ @Column(name = "TASK_TYPE")
+ public String getTaskType() {
+ return taskType;
+ }
+
+ public void setTaskType(String taskType) {
+ this.taskType = taskType;
+ }
+
+ @Basic
+ @Column(name = "PARENT_PROCESS_ID")
+ public String getParentProcessId() {
+ return parentProcessId;
+ }
+
+ public void setParentProcessId(String parentProcessId) {
+ this.parentProcessId = parentProcessId;
+ }
+
+ @Basic
+ @Column(name = "CREATION_TIME")
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ @Basic
+ @Column(name = "LAST_UPDATE_TIME")
+ public Timestamp getLastUpdateTime() {
+ return lastUpdateTime;
+ }
+
+ public void setLastUpdateTime(Timestamp lastUpdateTime) {
+ this.lastUpdateTime = lastUpdateTime;
+ }
+
+ @Basic
+ @Column(name = "TASK_DETAIL")
+ public String getTaskDetail() {
+ return taskDetail;
+ }
+
+ public void setTaskDetail(String taskDetail) {
+ this.taskDetail = taskDetail;
+ }
+
+ @Basic
+ @Column(name = "TASK_INTERNAL_STORE")
+ public Byte getTaskInternalStore() {
+ return taskInternalStore;
+ }
+
+ public void setTaskInternalStore(Byte taskInternalStore) {
+ 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;
+ }
+
+ @ManyToOne
+ @JoinColumn(name = "PARENT_PROCESS_ID", referencedColumnName = "PROCESS_ID")
+ public Process getProcess() {
+ return process;
+ }
+
+ public void setProcess(Process processByParentProcessId) {
+ this.process = processByParentProcessId;
+ }
+
+ @OneToOne(mappedBy = "task")
+ public TaskError getTaskError() {
+ return taskError;
+ }
+
+ public void setTaskError(TaskError taskErrorsByTaskId) {
+ this.taskError = taskErrorsByTaskId;
+ }
+
+ @OneToOne(mappedBy = "task")
+ public TaskStatus getTaskStatus() {
+ return taskStatus;
+ }
+
+ public void setTaskStatus(TaskStatus taskStatusesByTaskId) {
+ this.taskStatus = taskStatusesByTaskId;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/f366c384/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskDetail.java
----------------------------------------------------------------------
diff --git a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskDetail.java b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskDetail.java
deleted file mode 100644
index 412ed79..0000000
--- a/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskDetail.java
+++ /dev/null
@@ -1,221 +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.apache.openjpa.persistence.DataCache;
-
-import javax.persistence.*;
-import java.io.Serializable;
-import java.sql.Timestamp;
-import java.util.List;
-
-@DataCache
-@Entity
-@Table(name = "TASK_DETAIL")
-public class TaskDetail implements Serializable {
- @Id
- @Column(name = "TASK_ID")
- private String taskId;
- @Column(name = "NODE_INSTANCE_ID")
- private String nodeId;
- @Column(name = "CREATION_TIME")
- private Timestamp creationTime;
- @Column(name = "APPLICATION_ID")
- private String appId;
- @Column(name = "APPLICATION_VERSION")
- private String appVersion;
- @Column(name = "ALLOW_NOTIFICATION")
- private boolean allowNotification;
-
- @Column(name = "APPLICATION_DEPLOYMENT_ID")
- private String applicationDeploymentId;
-
- @ManyToOne(cascade= CascadeType.MERGE)
- @JoinColumn(name = "NODE_INSTANCE_ID")
- private WorkflowNodeDetail nodeDetail;
-
- @OneToMany (fetch = FetchType.LAZY, mappedBy = "task")
- private List<ApplicationOutput> applicationOutputs;
-
- @OneToMany (fetch = FetchType.LAZY, mappedBy = "task")
- private List<ApplicationInput> applicationInputs;
-
- @OneToOne (fetch = FetchType.LAZY, mappedBy = "task")
- private Computational_Resource_Scheduling resourceScheduling;
-
- @OneToOne (fetch = FetchType.LAZY, mappedBy = "task")
- private AdvancedInputDataHandling inputDataHandling;
-
- @OneToOne (fetch = FetchType.LAZY, mappedBy = "task")
- private AdvancedOutputDataHandling outputDataHandling;
-
- @OneToOne (fetch = FetchType.LAZY, mappedBy = "task")
- private Status taskStatus;
-
- @OneToMany (fetch = FetchType.LAZY, mappedBy = "task")
- private List<JobDetail> jobDetails;
-
- @OneToMany (fetch = FetchType.LAZY, mappedBy = "task")
- private List<DataTransferDetail> dataTransferDetails;
-
- @OneToMany (fetch = FetchType.LAZY, mappedBy = "task")
- private List<Notification_Email> notificationEmails;
-
- @OneToMany (fetch = FetchType.LAZY, mappedBy = "task")
- private List<ErrorDetail> errorDetails;
-
- public String getTaskId() {
- return taskId;
- }
-
- public void setTaskId(String taskId) {
- this.taskId = taskId;
- }
-
- public String getNodeId() {
- return nodeId;
- }
-
- public void setNodeId(String nodeId) {
- this.nodeId = nodeId;
- }
-
- public Timestamp getCreationTime() {
- return creationTime;
- }
-
- public void setCreationTime(Timestamp creationTime) {
- this.creationTime = creationTime;
- }
-
- public String getAppId() {
- return appId;
- }
-
- public void setAppId(String appId) {
- this.appId = appId;
- }
-
- public String getAppVersion() {
- return appVersion;
- }
-
- public void setAppVersion(String appVersion) {
- this.appVersion = appVersion;
- }
-
- public String getApplicationDeploymentId() {
- return applicationDeploymentId;
- }
-
- public void setApplicationDeploymentId(String applicationDeploymentId) {
- this.applicationDeploymentId = applicationDeploymentId;
- }
-
- public boolean isAllowNotification() {
- return allowNotification;
- }
-
- public void setAllowNotification(boolean allowNotification) {
- this.allowNotification = allowNotification;
- }
-
- public List<ApplicationOutput> getApplicationOutputs() {
- return applicationOutputs;
- }
-
- public void setApplicationOutputs(List<ApplicationOutput> applicationOutputs) {
- this.applicationOutputs = applicationOutputs;
- }
-
- public List<ApplicationInput> getApplicationInputs() {
- return applicationInputs;
- }
-
- public void setApplicationInputs(List<ApplicationInput> applicationInputs) {
- this.applicationInputs = applicationInputs;
- }
-
- public Computational_Resource_Scheduling getResourceScheduling() {
- return resourceScheduling;
- }
-
- public void setResourceScheduling(Computational_Resource_Scheduling resourceScheduling) {
- this.resourceScheduling = resourceScheduling;
- }
-
- public AdvancedInputDataHandling getInputDataHandling() {
- return inputDataHandling;
- }
-
- public void setInputDataHandling(AdvancedInputDataHandling inputDataHandling) {
- this.inputDataHandling = inputDataHandling;
- }
-
- public AdvancedOutputDataHandling getOutputDataHandling() {
- return outputDataHandling;
- }
-
- public void setOutputDataHandling(AdvancedOutputDataHandling outputDataHandling) {
- this.outputDataHandling = outputDataHandling;
- }
-
- public List<JobDetail> getJobDetails() {
- return jobDetails;
- }
-
- public void setJobDetails(List<JobDetail> jobDetails) {
- this.jobDetails = jobDetails;
- }
-
- public List<DataTransferDetail> getDataTransferDetails() {
- return dataTransferDetails;
- }
-
- public void setDataTransferDetails(List<DataTransferDetail> dataTransferDetails) {
- this.dataTransferDetails = dataTransferDetails;
- }
-
- public List<Notification_Email> getNotificationEmails() {
- return notificationEmails;
- }
-
- public void setNotificationEmails(List<Notification_Email> notificationEmails) {
- this.notificationEmails = notificationEmails;
- }
-
- public Status getTaskStatus() {
- return taskStatus;
- }
-
- public void setTaskStatus(Status taskStatus) {
- this.taskStatus = taskStatus;
- }
-
- public List<ErrorDetail> getErrorDetails() {
- return errorDetails;
- }
-
- public void setErrorDetails(List<ErrorDetail> errorDetails) {
- this.errorDetails = errorDetails;
- }
-}
http://git-wip-us.apache.org/repos/asf/airavata/blob/f366c384/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
new file mode 100644
index 0000000..3efe523
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskError.java
@@ -0,0 +1,142 @@
+/*
+ *
+ * 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.sql.Timestamp;
+
+@Entity
+@Table(name = "TASK_ERROR")
+public class TaskError {
+ private final static Logger logger = LoggerFactory.getLogger(TaskError.class);
+ private String taskId;
+ private Timestamp creationTime;
+ private String actualErrorMessage;
+ private String userFriendlyMessage;
+ private Boolean transientOrPersistent;
+ private String rootCauseErrorIdList;
+ private Task task;
+
+ @Id
+ @Column(name = "TASK_ID")
+ public String getTaskId() {
+ return taskId;
+ }
+
+ public void setTaskId(String taskId) {
+ this.taskId = taskId;
+ }
+
+ @Basic
+ @Column(name = "CREATION_TIME")
+ public Timestamp getCreationTime() {
+ return creationTime;
+ }
+
+ public void setCreationTime(Timestamp creationTime) {
+ this.creationTime = creationTime;
+ }
+
+ @Basic
+ @Column(name = "ACTUAL_ERROR_MESSAGE")
+ public String getActualErrorMessage() {
+ return actualErrorMessage;
+ }
+
+ public void setActualErrorMessage(String actualErrorMessage) {
+ this.actualErrorMessage = actualErrorMessage;
+ }
+
+ @Basic
+ @Column(name = "USER_FRIENDLY_MESSAGE")
+ public String getUserFriendlyMessage() {
+ return userFriendlyMessage;
+ }
+
+ public void setUserFriendlyMessage(String userFriendlyMessage) {
+ this.userFriendlyMessage = userFriendlyMessage;
+ }
+
+ @Basic
+ @Column(name = "TRANSIENT_OR_PERSISTENT")
+ public Boolean getTransientOrPersistent() {
+ return transientOrPersistent;
+ }
+
+ public void setTransientOrPersistent(Boolean transientOrPersistent) {
+ this.transientOrPersistent = transientOrPersistent;
+ }
+
+ @Basic
+ @Column(name = "ROOT_CAUSE_ERROR_ID_LIST")
+ public String getRootCauseErrorIdList() {
+ return rootCauseErrorIdList;
+ }
+
+ public void setRootCauseErrorIdList(String rootCauseErrorIdList) {
+ 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 (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 = 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;
+ }
+
+ @OneToOne
+ @JoinColumn(name = "TASK_ID", referencedColumnName = "TASK_ID", nullable = false)
+ public Task getTask() {
+ return task;
+ }
+
+ public void setTask(Task taskByTaskId) {
+ this.task = taskByTaskId;
+ }
+}
\ No newline at end of file
http://git-wip-us.apache.org/repos/asf/airavata/blob/f366c384/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
new file mode 100644
index 0000000..020fe1b
--- /dev/null
+++ b/modules/registry/registry-core/src/main/java/org/apache/airavata/registry/core/experiment/catalog/model/TaskStatus.java
@@ -0,0 +1,113 @@
+/*
+ *
+ * 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.sql.Timestamp;
+
+@Entity
+@Table(name = "TASK_STATUS")
+public class TaskStatus {
+ private final static Logger logger = LoggerFactory.getLogger(TaskStatus.class);
+ private String taskId;
+ private String state;
+ private Timestamp timeOfStateChange;
+ private String reason;
+ private Task task;
+
+ @Id
+ @Column(name = "TASK_ID")
+ public String getTaskId() {
+ return taskId;
+ }
+
+ public void setTaskId(String taskId) {
+ this.taskId = taskId;
+ }
+
+ @Basic
+ @Column(name = "STATE")
+ public String getState() {
+ return state;
+ }
+
+ public void setState(String state) {
+ this.state = state;
+ }
+
+ @Basic
+ @Column(name = "TIME_OF_STATE_CHANGE")
+ public Timestamp getTimeOfStateChange() {
+ return timeOfStateChange;
+ }
+
+ public void setTimeOfStateChange(Timestamp timeOfStateChange) {
+ this.timeOfStateChange = timeOfStateChange;
+ }
+
+ @Basic
+ @Column(name = "REASON")
+ public String getReason() {
+ return reason;
+ }
+
+ public void setReason(String reason) {
+ 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 (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 = 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;
+ }
+
+ @OneToOne
+ @JoinColumn(name = "TASK_ID", referencedColumnName = "TASK_ID", nullable = false)
+ public Task getTask() {
+ return task;
+ }
+
+ public void setTask(Task taskByTaskId) {
+ this.task = taskByTaskId;
+ }
+}
\ No newline at end of file