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 <[email protected]> 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 [email protected].
