bugfixes + env variables
This commit is contained in:
@@ -78,6 +78,8 @@ public class AddNewTaskToTaskListWebController {
|
||||
throw new ResponseStatusException(HttpStatus.INTERNAL_SERVER_ERROR, e.getMessage());
|
||||
} catch (ConstraintViolationException e) {
|
||||
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, e.getMessage());
|
||||
} catch (NullPointerException e) {
|
||||
throw new ResponseStatusException(HttpStatus.BAD_REQUEST, e.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -26,17 +26,16 @@ public class CompleteTaskWebController {
|
||||
this.completeTaskUseCase = completeTaskUseCase;
|
||||
}
|
||||
|
||||
@GetMapping(path = "/tasks/completeTask/{taskId}")
|
||||
public ResponseEntity<String> completeTask (@PathVariable("taskId") String taskId){
|
||||
@PostMapping(path = "/tasks/completeTask")
|
||||
public ResponseEntity<String> completeTask (@RequestBody TaskJsonRepresentation payload) {
|
||||
|
||||
System.out.println("completeTask");
|
||||
System.out.println(taskId);
|
||||
System.out.println(payload.getTaskId());
|
||||
|
||||
String taskResult = "0";
|
||||
|
||||
try {
|
||||
CompleteTaskCommand command = new CompleteTaskCommand(
|
||||
new Task.TaskId(taskId), new Task.OutputData(taskResult)
|
||||
new Task.TaskId(payload.getTaskId()), new Task.OutputData(payload.getOutputData())
|
||||
);
|
||||
|
||||
Task updateATask = completeTaskUseCase.completeTask(command);
|
||||
|
@@ -24,10 +24,10 @@ public class TaskAssignedWebController {
|
||||
}
|
||||
|
||||
@PostMapping(path="/tasks/assignTask", consumes= {TaskJsonRepresentation.MEDIA_TYPE})
|
||||
public ResponseEntity<String> assignTask(@RequestBody Task task){
|
||||
public ResponseEntity<String> assignTask(@RequestBody TaskJsonRepresentation payload) {
|
||||
try{
|
||||
TaskAssignedCommand command = new TaskAssignedCommand(
|
||||
task.getTaskId()
|
||||
new Task.TaskId(payload.getTaskId())
|
||||
);
|
||||
|
||||
Task updateATask = taskAssignedUseCase.assignTask(command);
|
||||
|
@@ -24,25 +24,19 @@ public class AddNewTaskToTaskListService implements AddNewTaskToTaskListUseCase
|
||||
|
||||
Task newTask;
|
||||
|
||||
System.out.println("TEST:");
|
||||
System.out.println(command.getInputData().get());
|
||||
|
||||
if (command.getOriginalTaskUri().isPresent() && command.getInputData().isPresent()) {
|
||||
System.out.println("TEST2:");
|
||||
newTask = taskList.addNewTaskWithNameAndTypeAndOriginalTaskUriAndInputData(command.getTaskName(),
|
||||
command.getTaskType(), command.getOriginalTaskUri().get(), command.getInputData().get());
|
||||
} else if (command.getOriginalTaskUri().isPresent()) {
|
||||
newTask = taskList.addNewTaskWithNameAndTypeAndOriginalTaskUri(command.getTaskName(),
|
||||
command.getTaskType(), command.getOriginalTaskUri().get());
|
||||
} else if (command.getOriginalTaskUri().isPresent()) {
|
||||
newTask = null;
|
||||
} else if (command.getInputData().isPresent()) {
|
||||
newTask = taskList.addNewTaskWithNameAndTypeAndInputData(command.getTaskName(),
|
||||
command.getTaskType(), command.getInputData().get());
|
||||
} else {
|
||||
newTask = taskList.addNewTaskWithNameAndType(command.getTaskName(), command.getTaskType());
|
||||
}
|
||||
|
||||
System.out.println("TEST");
|
||||
System.out.println(newTask.getInputData());
|
||||
|
||||
//Here we are using the application service to emit the domain event to the outside of the bounded context.
|
||||
//This event should be considered as a light-weight "integration event" to communicate with other services.
|
||||
//Domain events are usually rather "fat". In our implementation we simplify at this point. In general, it is
|
||||
|
@@ -26,10 +26,10 @@ public class CompleteTaskService implements CompleteTaskUseCase {
|
||||
Optional<Task> updatedTask = taskList.retrieveTaskById(command.getTaskId());
|
||||
|
||||
Task newTask = updatedTask.get();
|
||||
newTask.taskResult = new TaskResult(command.getOutputData().getValue());
|
||||
newTask.taskStatus = new TaskStatus(Task.Status.EXECUTED);
|
||||
newTask.setOutputData(command.getOutputData());
|
||||
newTask.setTaskStatus(new TaskStatus(Task.Status.EXECUTED));
|
||||
|
||||
if (!newTask.getOriginalTaskUri().getValue().equalsIgnoreCase("")) {
|
||||
if (newTask.getOriginalTaskUri() != null) {
|
||||
ExternalTaskExecutedEvent event = new ExternalTaskExecutedEvent(
|
||||
newTask.getTaskId(),
|
||||
newTask.getOriginalTaskUri(),
|
||||
|
@@ -24,7 +24,7 @@ public class TaskAssignedService implements TaskAssignedUseCase {
|
||||
|
||||
// update the status to assigned
|
||||
Task updatedTask = task.get();
|
||||
updatedTask.taskStatus = new TaskStatus(Status.ASSIGNED);
|
||||
updatedTask.setTaskStatus(new TaskStatus(Status.ASSIGNED));
|
||||
|
||||
return updatedTask;
|
||||
}
|
||||
|
@@ -22,10 +22,7 @@ public class Task {
|
||||
private final TaskType taskType;
|
||||
|
||||
@Getter @Setter
|
||||
public TaskStatus taskStatus; // had to make public for CompleteTaskService
|
||||
|
||||
@Getter
|
||||
public TaskResult taskResult; // same as above
|
||||
private TaskStatus taskStatus;
|
||||
|
||||
@Getter
|
||||
private final OriginalTaskUri originalTaskUri;
|
||||
@@ -39,24 +36,44 @@ public class Task {
|
||||
@Getter @Setter
|
||||
private OutputData outputData;
|
||||
|
||||
public Task(TaskName taskName, TaskType taskType) {
|
||||
this.taskName = taskName;
|
||||
this.taskType = taskType;
|
||||
this.taskStatus = new TaskStatus(Status.OPEN);
|
||||
this.taskId = new TaskId(UUID.randomUUID().toString());
|
||||
this.originalTaskUri = null;
|
||||
|
||||
this.inputData = null;
|
||||
this.outputData = null;
|
||||
}
|
||||
|
||||
public Task(TaskName taskName, TaskType taskType, OriginalTaskUri taskUri) {
|
||||
this.taskName = taskName;
|
||||
this.taskType = taskType;
|
||||
this.taskStatus = new TaskStatus(Status.OPEN);
|
||||
this.taskId = new TaskId(UUID.randomUUID().toString());
|
||||
this.taskResult = new TaskResult("");
|
||||
this.originalTaskUri = taskUri;
|
||||
|
||||
this.inputData = null;
|
||||
this.outputData = null;
|
||||
}
|
||||
|
||||
public Task(TaskName taskName, TaskType taskType, InputData inputData) {
|
||||
this.taskName = taskName;
|
||||
this.taskType = taskType;
|
||||
this.taskStatus = new TaskStatus(Status.OPEN);
|
||||
this.taskId = new TaskId(UUID.randomUUID().toString());
|
||||
this.originalTaskUri = null;
|
||||
|
||||
this.inputData = inputData;
|
||||
this.outputData = null;
|
||||
}
|
||||
|
||||
public Task(TaskName taskName, TaskType taskType, OriginalTaskUri taskUri, InputData inputData) {
|
||||
this.taskName = taskName;
|
||||
this.taskType = taskType;
|
||||
this.taskStatus = new TaskStatus(Status.OPEN);
|
||||
this.taskId = new TaskId(UUID.randomUUID().toString());
|
||||
this.taskResult = new TaskResult("");
|
||||
this.originalTaskUri = taskUri;
|
||||
|
||||
this.inputData = inputData;
|
||||
@@ -64,9 +81,7 @@ public class Task {
|
||||
}
|
||||
|
||||
protected static Task createTaskWithNameAndType(TaskName name, TaskType type) {
|
||||
//This is a simple debug message to see that the request has reached the right method in the core
|
||||
System.out.println("New Task: " + name.getValue() + " " + type.getValue());
|
||||
return new Task(name, type, null);
|
||||
return new Task(name, type);
|
||||
}
|
||||
|
||||
protected static Task createTaskWithNameAndTypeAndOriginalTaskUri(TaskName name, TaskType type,
|
||||
@@ -74,6 +89,11 @@ public class Task {
|
||||
return new Task(name, type, originalTaskUri);
|
||||
}
|
||||
|
||||
protected static Task createTaskWithNameAndTypeAndInputData(TaskName name, TaskType type,
|
||||
InputData inputData) {
|
||||
return new Task(name, type, inputData);
|
||||
}
|
||||
|
||||
protected static Task createTaskWithNameAndTypeAndOriginalTaskUriAndInputData(TaskName name, TaskType type,
|
||||
OriginalTaskUri originalTaskUri, InputData inputData) {
|
||||
return new Task(name, type, originalTaskUri, inputData);
|
||||
|
@@ -6,11 +6,15 @@ import lombok.Value;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Optional;
|
||||
import java.util.logging.Level;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
|
||||
/**This is our aggregate root**/
|
||||
public class TaskList {
|
||||
|
||||
Logger logger = Logger.getLogger(TaskList.class.getName());
|
||||
|
||||
@Getter
|
||||
private final TaskListName taskListName;
|
||||
|
||||
@@ -48,6 +52,14 @@ public class TaskList {
|
||||
return newTask;
|
||||
}
|
||||
|
||||
public Task addNewTaskWithNameAndTypeAndInputData(Task.TaskName name, Task.TaskType type,
|
||||
Task.InputData inputData) {
|
||||
Task newTask = Task.createTaskWithNameAndTypeAndInputData(name, type, inputData);
|
||||
this.addNewTaskToList(newTask);
|
||||
|
||||
return newTask;
|
||||
}
|
||||
|
||||
public Task addNewTaskWithNameAndTypeAndOriginalTaskUriAndInputData(Task.TaskName name, Task.TaskType type,
|
||||
Task.OriginalTaskUri originalTaskUri, Task.InputData inputData) {
|
||||
Task newTask = Task.createTaskWithNameAndTypeAndOriginalTaskUriAndInputData(name, type, originalTaskUri, inputData);
|
||||
@@ -62,8 +74,10 @@ public class TaskList {
|
||||
//However, we skip this here as it makes the core even more complex (e.g., we have to implement a light-weight
|
||||
//domain event publisher and subscribers (see "Implementing Domain-Driven Design by V. Vernon, pp. 296ff).
|
||||
listOfTasks.value.add(newTask);
|
||||
//This is a simple debug message to see that the task list is growing with each new request
|
||||
System.out.println("Number of tasks: " + listOfTasks.value.size());
|
||||
logger.log(Level.INFO, "New task created! Id: " + newTask.getTaskId().getValue() +
|
||||
" | Name: " + newTask.getTaskName().getValue() +
|
||||
" | InputData: " + newTask.getInputData().getValue());
|
||||
logger.log(Level.INFO, "Number of tasks: {0}", listOfTasks.value.size());
|
||||
}
|
||||
|
||||
public Optional<Task> retrieveTaskById(Task.TaskId id) {
|
||||
|
Reference in New Issue
Block a user