You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@airavata.apache.org by ma...@apache.org on 2018/06/11 16:39:42 UTC
[airavata] 01/02: AIRAVATA-2821 Set STATUS_ID on TaskState in
TaskRepository
This is an automated email from the ASF dual-hosted git repository.
machristie pushed a commit to branch group-based-auth
in repository https://gitbox.apache.org/repos/asf/airavata.git
commit 0d3e2872619530107a5d3942ed5298b41a0214c1
Author: Marcus Christie <ma...@apache.org>
AuthorDate: Mon Jun 11 11:53:55 2018 -0400
AIRAVATA-2821 Set STATUS_ID on TaskState in TaskRepository
---
.../core/repositories/expcatalog/TaskRepository.java | 7 ++++++-
.../repositories/expcatalog/TaskStatusRepository.java | 2 +-
.../core/repositories/expcatalog/TaskRepositoryTest.java | 16 +++++++++++++---
3 files changed, 20 insertions(+), 5 deletions(-)
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/TaskRepository.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/TaskRepository.java
index 737ffe0..c117da7 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/TaskRepository.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/TaskRepository.java
@@ -57,7 +57,12 @@ public class TaskRepository extends ExpCatAbstractRepository<TaskModel, TaskEnti
if (taskEntity.getTaskStatuses() != null) {
logger.debug("Populating the Primary Key of TaskStatus objects for the Task");
- taskEntity.getTaskStatuses().forEach(taskStatusEntity -> taskStatusEntity.setTaskId(taskId));
+ taskEntity.getTaskStatuses().forEach(taskStatusEntity -> {
+ if (taskStatusEntity.getStatusId() == null) {
+ taskStatusEntity.setStatusId(ExpCatalogUtils.getID("TASK_STATE"));
+ }
+ taskStatusEntity.setTaskId(taskId);
+ });
}
if (taskEntity.getTaskErrors() != null) {
diff --git a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/TaskStatusRepository.java b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/TaskStatusRepository.java
index fe5f1ad..b045e4d 100644
--- a/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/TaskStatusRepository.java
+++ b/modules/registry-refactoring/src/main/java/org/apache/airavata/registry/core/repositories/expcatalog/TaskStatusRepository.java
@@ -37,7 +37,7 @@ public class TaskStatusRepository extends ExpCatAbstractRepository<TaskStatus, T
if (taskStatus.getStatusId() == null) {
logger.debug("Setting the TaskStatus's StatusId");
- taskStatus.setStatusId(ExpCatalogUtils.getID("STATUS"));
+ taskStatus.setStatusId(ExpCatalogUtils.getID("TASK_STATE"));
}
return saveTaskStatus(taskStatus, taskId);
diff --git a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/TaskRepositoryTest.java b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/TaskRepositoryTest.java
index 8b8d746..4da9ee1 100644
--- a/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/TaskRepositoryTest.java
+++ b/modules/registry-refactoring/src/test/java/org/apache/airavata/registry/core/repositories/expcatalog/TaskRepositoryTest.java
@@ -20,9 +20,12 @@
*/
package org.apache.airavata.registry.core.repositories.expcatalog;
+import org.apache.airavata.common.utils.AiravataUtils;
import org.apache.airavata.model.experiment.ExperimentModel;
import org.apache.airavata.model.experiment.ExperimentType;
import org.apache.airavata.model.process.ProcessModel;
+import org.apache.airavata.model.status.TaskState;
+import org.apache.airavata.model.status.TaskStatus;
import org.apache.airavata.model.task.TaskModel;
import org.apache.airavata.model.task.TaskTypes;
import org.apache.airavata.model.workspace.Gateway;
@@ -104,15 +107,22 @@ public class TaskRepositoryTest {
taskModel.setParentProcessId(processId);
taskModel.setSubTaskModel("subtask model".getBytes(StandardCharsets.UTF_8));
+ TaskStatus taskStatus = new TaskStatus(TaskState.CREATED);
+ taskStatus.setTimeOfStateChange(AiravataUtils.getCurrentTimestamp().getTime());
+ taskModel.addToTaskStatuses(taskStatus);
+
String taskId = taskRepository.addTask(taskModel, processId);
assertTrue(taskId != null);
+ // Retrieve task to get its automatically populated status id
+ final TaskModel retrievedTask = taskRepository.getTask(taskId);
assertTrue(processRepository.getProcess(processId).getTasks().size() == 1);
- taskModel.setTaskType(TaskTypes.MONITORING);
- taskRepository.updateTask(taskModel, taskId);
- final TaskModel retrievedTask = taskRepository.getTask(taskId);
+ retrievedTask.setTaskType(TaskTypes.MONITORING);
+ taskRepository.updateTask(retrievedTask, taskId);
assertEquals(TaskTypes.MONITORING, retrievedTask.getTaskType());
assertArrayEquals("subtask model".getBytes(StandardCharsets.UTF_8), retrievedTask.getSubTaskModel());
+ assertEquals(1, retrievedTask.getTaskStatusesSize());
+ assertEquals(TaskState.CREATED, retrievedTask.getTaskStatuses().get(0).getState());
List<String> taskIdList = taskRepository.getTaskIds(DBConstants.Task.PARENT_PROCESS_ID, processId);
--
To stop receiving notification emails like this one, please contact
machristie@apache.org.