Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions java/.idea/.gitignore

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

16 changes: 16 additions & 0 deletions java/.idea/compiler.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

20 changes: 20 additions & 0 deletions java/.idea/jarRepositories.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions java/.idea/libraries/Maven__junit_junit_4_13_1.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions java/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions java/.idea/libraries/Maven__org_hamcrest_java_hamcrest_2_0_0_0.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

11 changes: 11 additions & 0 deletions java/.idea/misc.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

8 changes: 8 additions & 0 deletions java/.idea/modules.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

124 changes: 124 additions & 0 deletions java/.idea/uiDesigner.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

6 changes: 6 additions & 0 deletions java/.idea/vcs.xml

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.codurance.training.tasks;

import java.io.PrintWriter;

public interface AddService {
public void CRUD(String commandLine, PrintWriter out);
}
26 changes: 26 additions & 0 deletions java/src/main/java/com/codurance/training/tasks/AddTask.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
package com.codurance.training.tasks;

import java.io.PrintWriter;
import java.util.List;
import java.util.Map;

import com.codurance.training.tasks.Task;
import com.codurance.training.tasks.TaskList;

public class AddTask implements AddService{
private long lastId = 0;
@Override
public void CRUD(String commandLine, PrintWriter out) {
String[] subcommandRest = commandLine.split(" ", 2);
String[] projectTask = subcommandRest[1].split(" ", 2);
String project = projectTask[0];
String description = projectTask[1];
List<Task> projectTasks = TaskList.tasks.get(project);
if (projectTasks == null) {
out.printf("Could not find a project with the name \"%s\".", project);
out.println();
return;
}
projectTasks.add(new Task(++lastId, description, false));
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.codurance.training.tasks;

import java.io.PrintWriter;

public interface CheckService {
public void setDone (String idString, boolean done, PrintWriter out);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package com.codurance.training.tasks;

import java.io.PrintWriter;
import java.util.List;
import java.util.Map;

public class CheckServiceImpl implements CheckService{
@Override
public void setDone(String idString, boolean done, PrintWriter out) {
int id = Integer.parseInt(idString);
for (Map.Entry<String, List<Task>> project : TaskList.tasks.entrySet()) {
for (Task task : project.getValue()) {
if (task.getId() == id) {
task.setDone(done);
return;
}
}
}
out.printf("Could not find a task with an ID of %d.", id);
out.println();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
package com.codurance.training.tasks;

import java.io.PrintWriter;

public interface CommandService {
public void error(String command, PrintWriter out);
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
package com.codurance.training.tasks;

import java.io.PrintWriter;

public class CommandServiceImpl implements CommandService{
@Override
public void error(String command, PrintWriter out) {
out.printf("I don't know what the command \"%s\" is.", command);
out.println();
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package com.codurance.training.tasks;

import java.io.PrintWriter;
import java.util.List;
import java.util.Map;

import static com.codurance.training.tasks.TaskList.tasks;

public class CustomIdentifierImpl implements AddService{
@Override
public void CRUD(String commandLine, PrintWriter out) {
String [] commandLineSplit = commandLine.split(" ",2);
int taskId = Integer.parseInt(commandLineSplit[0]);
String customid = commandLineSplit[1];
if (!customid.matches("[a-zA-Z0-9]+")) {
out.println("Invalid custom id.Only alphanumeric characters are allowed.");
return;
}
for (Map.Entry<String, List<Task>> project : tasks.entrySet()) {
for (Task task : project.getValue()) {
if (task.getId() == taskId) {
task.setCustomId(customid);
return;
}
}
}
out.printf("Could not find a task with an ID of %d.", taskId);
}
}
34 changes: 34 additions & 0 deletions java/src/main/java/com/codurance/training/tasks/DeadLineImpl.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
package com.codurance.training.tasks;

import java.io.PrintWriter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;

import static com.codurance.training.tasks.TaskList.tasks;

public class DeadLineImpl implements AddService{
@Override
public void CRUD(String commandLine, PrintWriter out) {
String [] commandLineSplit = commandLine.split(" ");
int taskId = Integer.parseInt(commandLineSplit[0]);
String deadlineString = commandLineSplit[1];
try {
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy");
Date deadLine = dateFormat.parse(deadlineString);
for (Map.Entry<String, List<Task>> project : tasks.entrySet()) {
for (Task task : project.getValue()) {
if (task.getId() == taskId) {
task.setDeadline(deadLine);
return;
}
}
}
out.printf("Could not find a task with an ID of %d.", taskId);
out.println();
} catch (Exception e) {
System.out.println("Invalid date format! Please enter date in DD/MM/YYYY format.");
}
}
}
Loading