diff --git a/java/.idea/.gitignore b/java/.idea/.gitignore new file mode 100644 index 00000000..26d33521 --- /dev/null +++ b/java/.idea/.gitignore @@ -0,0 +1,3 @@ +# Default ignored files +/shelf/ +/workspace.xml diff --git a/java/.idea/compiler.xml b/java/.idea/compiler.xml new file mode 100644 index 00000000..aeefdee1 --- /dev/null +++ b/java/.idea/compiler.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/java/.idea/jarRepositories.xml b/java/.idea/jarRepositories.xml new file mode 100644 index 00000000..712ab9d9 --- /dev/null +++ b/java/.idea/jarRepositories.xml @@ -0,0 +1,20 @@ + + + + + + + + + + + \ No newline at end of file diff --git a/java/.idea/libraries/Maven__junit_junit_4_13_1.xml b/java/.idea/libraries/Maven__junit_junit_4_13_1.xml new file mode 100644 index 00000000..9fa24fcb --- /dev/null +++ b/java/.idea/libraries/Maven__junit_junit_4_13_1.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/java/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml b/java/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml new file mode 100644 index 00000000..f58bbc11 --- /dev/null +++ b/java/.idea/libraries/Maven__org_hamcrest_hamcrest_core_1_3.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/java/.idea/libraries/Maven__org_hamcrest_java_hamcrest_2_0_0_0.xml b/java/.idea/libraries/Maven__org_hamcrest_java_hamcrest_2_0_0_0.xml new file mode 100644 index 00000000..654d5d50 --- /dev/null +++ b/java/.idea/libraries/Maven__org_hamcrest_java_hamcrest_2_0_0_0.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + \ No newline at end of file diff --git a/java/.idea/misc.xml b/java/.idea/misc.xml new file mode 100644 index 00000000..5ac47e8d --- /dev/null +++ b/java/.idea/misc.xml @@ -0,0 +1,11 @@ + + + + + + + \ No newline at end of file diff --git a/java/.idea/modules.xml b/java/.idea/modules.xml new file mode 100644 index 00000000..c9e5ceef --- /dev/null +++ b/java/.idea/modules.xml @@ -0,0 +1,8 @@ + + + + + + + + \ No newline at end of file diff --git a/java/.idea/uiDesigner.xml b/java/.idea/uiDesigner.xml new file mode 100644 index 00000000..e96534fb --- /dev/null +++ b/java/.idea/uiDesigner.xml @@ -0,0 +1,124 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/java/.idea/vcs.xml b/java/.idea/vcs.xml new file mode 100644 index 00000000..6c0b8635 --- /dev/null +++ b/java/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/java/src/main/java/com/codurance/training/tasks/AddService.java b/java/src/main/java/com/codurance/training/tasks/AddService.java new file mode 100644 index 00000000..9ba90993 --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/AddService.java @@ -0,0 +1,7 @@ +package com.codurance.training.tasks; + +import java.io.PrintWriter; + +public interface AddService { + public void CRUD(String commandLine, PrintWriter out); +} diff --git a/java/src/main/java/com/codurance/training/tasks/AddTask.java b/java/src/main/java/com/codurance/training/tasks/AddTask.java new file mode 100644 index 00000000..ed43184c --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/AddTask.java @@ -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 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)); + } +} diff --git a/java/src/main/java/com/codurance/training/tasks/CheckService.java b/java/src/main/java/com/codurance/training/tasks/CheckService.java new file mode 100644 index 00000000..1ef10e07 --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/CheckService.java @@ -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); +} diff --git a/java/src/main/java/com/codurance/training/tasks/CheckServiceImpl.java b/java/src/main/java/com/codurance/training/tasks/CheckServiceImpl.java new file mode 100644 index 00000000..c61d24e5 --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/CheckServiceImpl.java @@ -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> 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(); + } +} diff --git a/java/src/main/java/com/codurance/training/tasks/CommandService.java b/java/src/main/java/com/codurance/training/tasks/CommandService.java new file mode 100644 index 00000000..08975a1f --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/CommandService.java @@ -0,0 +1,7 @@ +package com.codurance.training.tasks; + +import java.io.PrintWriter; + +public interface CommandService { + public void error(String command, PrintWriter out); +} diff --git a/java/src/main/java/com/codurance/training/tasks/CommandServiceImpl.java b/java/src/main/java/com/codurance/training/tasks/CommandServiceImpl.java new file mode 100644 index 00000000..5afad671 --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/CommandServiceImpl.java @@ -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(); + } +} diff --git a/java/src/main/java/com/codurance/training/tasks/CustomIdentifierImpl.java b/java/src/main/java/com/codurance/training/tasks/CustomIdentifierImpl.java new file mode 100644 index 00000000..de6d5ef5 --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/CustomIdentifierImpl.java @@ -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> 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); + } +} diff --git a/java/src/main/java/com/codurance/training/tasks/DeadLineImpl.java b/java/src/main/java/com/codurance/training/tasks/DeadLineImpl.java new file mode 100644 index 00000000..cb4d0b93 --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/DeadLineImpl.java @@ -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> 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."); + } + } +} diff --git a/java/src/main/java/com/codurance/training/tasks/DeleteImpl.java b/java/src/main/java/com/codurance/training/tasks/DeleteImpl.java new file mode 100644 index 00000000..58f72fb4 --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/DeleteImpl.java @@ -0,0 +1,24 @@ +package com.codurance.training.tasks; + +import java.io.PrintWriter; +import java.util.Iterator; +import java.util.List; + +import static com.codurance.training.tasks.TaskList.tasks; + +public class DeleteImpl implements AddService{ + @Override + public void CRUD(String id, PrintWriter out) { + for (List taskList : tasks.values()) { + Iterator iterator = taskList.iterator(); + while (iterator.hasNext()) { + Task task = iterator.next(); + if (task.getId() == Integer.parseInt(id)) { + iterator.remove(); + return; + } + } + } + out.printf("Could not find a task with an ID of %s.", id); + } +} diff --git a/java/src/main/java/com/codurance/training/tasks/HelpService.java b/java/src/main/java/com/codurance/training/tasks/HelpService.java new file mode 100644 index 00000000..5f0043de --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/HelpService.java @@ -0,0 +1,7 @@ +package com.codurance.training.tasks; + +import java.io.PrintWriter; + +public interface HelpService { + public void userHelp(PrintWriter out) ; +} diff --git a/java/src/main/java/com/codurance/training/tasks/HelpServiceImpl.java b/java/src/main/java/com/codurance/training/tasks/HelpServiceImpl.java new file mode 100644 index 00000000..f0c4c010 --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/HelpServiceImpl.java @@ -0,0 +1,16 @@ +package com.codurance.training.tasks; + +import java.io.PrintWriter; + +public class HelpServiceImpl implements HelpService{ + @Override + public void userHelp(PrintWriter out) { + out.println("Commands:"); + out.println(" show"); + out.println(" add project "); + out.println(" add task "); + out.println(" check "); + out.println(" uncheck "); + out.println(); + } +} diff --git a/java/src/main/java/com/codurance/training/tasks/ShowByCreatedDate.java b/java/src/main/java/com/codurance/training/tasks/ShowByCreatedDate.java new file mode 100644 index 00000000..62f096a0 --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/ShowByCreatedDate.java @@ -0,0 +1,32 @@ +package com.codurance.training.tasks; + +import java.io.PrintWriter; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.ZoneId; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import static com.codurance.training.tasks.TaskList.tasks; + +public class ShowByCreatedDate implements ShowByDateService{ + @Override + public void show(PrintWriter out, String date) { + try { + SimpleDateFormat dateFormatter = new SimpleDateFormat("dd/MM/yyyy"); + Date requiredDate = dateFormatter.parse(date); + for (Map.Entry> project : tasks.entrySet()) { + out.println(project.getKey()); + for (Task task : project.getValue()) { + if( LocalDate.from(task.getCreatedDate().toInstant().atZone(ZoneId.systemDefault())).isEqual(LocalDate.from(requiredDate.toInstant().atZone(ZoneId.systemDefault())))) + out.printf(" [%c] %d( %s ): %s %s%n", (task.isDone() ? 'x' : ' '), task.getId(),(task.getCustomId()!=null?task.getCustomId():""), task.getDescription(), (task.getDeadline()!= null ? dateFormatter.format(task.getDeadline()):"")); + } + out.println(); + } + } + catch (Exception e){ + System.out.println("Invalid date format! Please enter date in DD/MM/YYYY format."); + } + } +} diff --git a/java/src/main/java/com/codurance/training/tasks/ShowByDateService.java b/java/src/main/java/com/codurance/training/tasks/ShowByDateService.java new file mode 100644 index 00000000..11657d23 --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/ShowByDateService.java @@ -0,0 +1,7 @@ +package com.codurance.training.tasks; + +import java.io.PrintWriter; + +public interface ShowByDateService { + public void show(PrintWriter out, String date); +} diff --git a/java/src/main/java/com/codurance/training/tasks/ShowByDeadLine.java b/java/src/main/java/com/codurance/training/tasks/ShowByDeadLine.java new file mode 100644 index 00000000..5c9ff271 --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/ShowByDeadLine.java @@ -0,0 +1,31 @@ +package com.codurance.training.tasks; + +import java.io.PrintWriter; +import java.text.SimpleDateFormat; +import java.time.LocalDate; +import java.time.ZoneId; +import java.util.Date; +import java.util.List; +import java.util.Map; + +import static com.codurance.training.tasks.TaskList.tasks; + +public class ShowByDeadLine implements ShowByDateService{ + @Override + public void show(PrintWriter out, String date) { + try { + SimpleDateFormat dateFormatter = new SimpleDateFormat("dd/MM/yyyy"); + Date requiredDate = dateFormatter.parse(date); + for (Map.Entry> project : tasks.entrySet()) { + out.println(project.getKey()); + for (Task task : project.getValue()) { + if (task.getDeadline() != null && LocalDate.from(task.getDeadline().toInstant().atZone(ZoneId.systemDefault())).isEqual(LocalDate.from(requiredDate.toInstant().atZone(ZoneId.systemDefault())))) + out.printf(" [%c] %d( %s ): %s %s%n", (task.isDone() ? 'x' : ' '), task.getId(), (task.getCustomId() != null ? task.getCustomId() : ""), task.getDescription(), (task.getDeadline() != null ? dateFormatter.format(task.getDeadline()) : "")); + } + out.println(); + } + } catch (Exception e) { + System.out.println("Invalid date format! Please enter date in DD/MM/YYYY format."); + } + } +} diff --git a/java/src/main/java/com/codurance/training/tasks/ShowByProjectId.java b/java/src/main/java/com/codurance/training/tasks/ShowByProjectId.java new file mode 100644 index 00000000..602a87aa --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/ShowByProjectId.java @@ -0,0 +1,26 @@ +package com.codurance.training.tasks; + +import java.io.PrintWriter; +import java.text.SimpleDateFormat; +import java.util.List; +import java.util.Map; + +import static com.codurance.training.tasks.TaskList.tasks; + +public class ShowByProjectId implements ShowByProjectService{ + SimpleDateFormat dateFormatter = new SimpleDateFormat("dd/MM/yyyy"); + @Override + public void show(PrintWriter out, String projectId) { + for (Map.Entry> project : tasks.entrySet()) { + if(project.getKey().equals(projectId)) { + out.println(project.getKey()); + for (Task task : project.getValue()) { + out.printf(" [%c] %d( %s ): %s %s%n", (task.isDone() ? 'x' : ' '), task.getId(), (task.getCustomId() != null ? task.getCustomId() : ""), task.getDescription(), (task.getDeadline() != null ? dateFormatter.format(task.getDeadline()) : "")); + } + out.println(); + return; + } + } + out.println("cannot find project with projectId "+projectId); + } +} diff --git a/java/src/main/java/com/codurance/training/tasks/ShowByProjectService.java b/java/src/main/java/com/codurance/training/tasks/ShowByProjectService.java new file mode 100644 index 00000000..f5c3e8d1 --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/ShowByProjectService.java @@ -0,0 +1,7 @@ +package com.codurance.training.tasks; + +import java.io.PrintWriter; + +public interface ShowByProjectService { + public void show(PrintWriter out, String projectId); +} diff --git a/java/src/main/java/com/codurance/training/tasks/ShowService.java b/java/src/main/java/com/codurance/training/tasks/ShowService.java new file mode 100644 index 00000000..17e02004 --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/ShowService.java @@ -0,0 +1,7 @@ +package com.codurance.training.tasks; + +import java.io.PrintWriter; + +public interface ShowService { + public void show(PrintWriter out); +} diff --git a/java/src/main/java/com/codurance/training/tasks/ShowServiceImpl.java b/java/src/main/java/com/codurance/training/tasks/ShowServiceImpl.java new file mode 100644 index 00000000..ec5d8c1a --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/ShowServiceImpl.java @@ -0,0 +1,20 @@ +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 ShowServiceImpl implements ShowService{ + @Override + public void show(PrintWriter out) { + for (Map.Entry> project : tasks.entrySet()) { + out.println(project.getKey()); + for (Task task : project.getValue()) { + out.printf(" [%c] %d: %s%n", (task.isDone() ? 'x' : ' '), task.getId(), task.getDescription()); + } + out.println(); + } + } +} diff --git a/java/src/main/java/com/codurance/training/tasks/Task.java b/java/src/main/java/com/codurance/training/tasks/Task.java index 31b39c98..aa0f4141 100644 --- a/java/src/main/java/com/codurance/training/tasks/Task.java +++ b/java/src/main/java/com/codurance/training/tasks/Task.java @@ -1,14 +1,20 @@ package com.codurance.training.tasks; +import java.util.Date; + public final class Task { private final long id; private final String description; private boolean done; + private Date deadline; + private String customId; + private Date createdDate; public Task(long id, String description, boolean done) { this.id = id; this.description = description; this.done = done; + this.createdDate = new Date(); } public long getId() { @@ -26,4 +32,28 @@ public boolean isDone() { public void setDone(boolean done) { this.done = done; } + + public Date getDeadline() { + return deadline; + } + + public void setDeadline(Date deadline) { + this.deadline = deadline; + } + + public String getCustomId() { + return customId; + } + + public void setCustomId(String customId) { + this.customId = customId; + } + + public Date getCreatedDate() { + return createdDate; + } + + public void setCreatedDate(Date createdDate) { + this.createdDate = createdDate; + } } diff --git a/java/src/main/java/com/codurance/training/tasks/TaskList.java b/java/src/main/java/com/codurance/training/tasks/TaskList.java index 9a4a8202..554f4894 100644 --- a/java/src/main/java/com/codurance/training/tasks/TaskList.java +++ b/java/src/main/java/com/codurance/training/tasks/TaskList.java @@ -12,11 +12,25 @@ public final class TaskList implements Runnable { private static final String QUIT = "quit"; - private final Map> tasks = new LinkedHashMap<>(); + public static Map> tasks = new LinkedHashMap<>(); private final BufferedReader in; private final PrintWriter out; - private long lastId = 0; + public static long lastId = 0; + + public AddService addTask = new AddTask(); + public AddService addProject = new addProject(); + public CommandService errorCommand = new CommandServiceImpl(); + public HelpService help = new HelpServiceImpl(); + public CheckService check = new CheckServiceImpl(); + public ShowService showSer = new ShowServiceImpl(); + public AddService addDeadline = new DeadLineImpl(); + public AddService customId = new CustomIdentifierImpl(); + public AddService deleteImpl = new DeleteImpl(); + public ShowByDateService showByDeadLine = new ShowByDeadLine(); + public ShowByDateService showByDateCreated = new ShowByCreatedDate(); + public ShowByProjectService showByProjectId = new ShowByProjectId(); + public static void main(String[] args) throws Exception { BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); @@ -51,99 +65,53 @@ private void execute(String commandLine) { String command = commandRest[0]; switch (command) { case "show": - show(); + showSer.show(out); break; case "add": - add(commandRest[1]); + String[] subcommandRest = commandLine.split(" ", 2); + String subcommand = subcommandRest[0]; + if (subcommand.equals("project")) { + addProject.CRUD(commandRest[1],out); + } else if (subcommand.equals("task")) { + addTask.CRUD(commandRest[1],out); + } break; case "check": - check(commandRest[1]); + check.setDone(commandRest[1],true,out); break; case "uncheck": - uncheck(commandRest[1]); + check.setDone(commandRest[1],false,out); break; case "help": - help(); + help.userHelp(out); break; - default: - error(command); + case "deadline" : + addDeadline.CRUD(commandRest[1],out); break; - } - } - - private void show() { - for (Map.Entry> project : tasks.entrySet()) { - out.println(project.getKey()); - for (Task task : project.getValue()) { - out.printf(" [%c] %d: %s%n", (task.isDone() ? 'x' : ' '), task.getId(), task.getDescription()); - } - out.println(); - } - } - - private void add(String commandLine) { - String[] subcommandRest = commandLine.split(" ", 2); - String subcommand = subcommandRest[0]; - if (subcommand.equals("project")) { - addProject(subcommandRest[1]); - } else if (subcommand.equals("task")) { - String[] projectTask = subcommandRest[1].split(" ", 2); - addTask(projectTask[0], projectTask[1]); - } - } - - private void addProject(String name) { - tasks.put(name, new ArrayList()); - } - - private void addTask(String project, String description) { - List projectTasks = 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(nextId(), description, false)); - } - - private void check(String idString) { - setDone(idString, true); - } - - private void uncheck(String idString) { - setDone(idString, false); - } - - private void setDone(String idString, boolean done) { - int id = Integer.parseInt(idString); - for (Map.Entry> project : tasks.entrySet()) { - for (Task task : project.getValue()) { - if (task.getId() == id) { - task.setDone(done); - return; + case "customid": + customId.CRUD(commandRest[1],out); + break; + case "delete": + deleteImpl.CRUD(commandRest[1],out); + break; + case "viewby" : + subcommandRest = commandRest[1].split(" ", 2); + subcommand = subcommandRest[0]; + switch (subcommand) { + case "date": + showByDateCreated.show(out, subcommandRest[1]); + break; + case "deadline": + showByDeadLine.show(out, subcommandRest[1]); + break; + case "project": + showByProjectId.show(out,subcommandRest[1]); + break; } - } + break; + default: + errorCommand.error(command, out); + break; } - out.printf("Could not find a task with an ID of %d.", id); - out.println(); - } - - private void help() { - out.println("Commands:"); - out.println(" show"); - out.println(" add project "); - out.println(" add task "); - out.println(" check "); - out.println(" uncheck "); - out.println(); - } - - private void error(String command) { - out.printf("I don't know what the command \"%s\" is.", command); - out.println(); - } - - private long nextId() { - return ++lastId; } } diff --git a/java/src/main/java/com/codurance/training/tasks/addProject.java b/java/src/main/java/com/codurance/training/tasks/addProject.java new file mode 100644 index 00000000..d3137e12 --- /dev/null +++ b/java/src/main/java/com/codurance/training/tasks/addProject.java @@ -0,0 +1,13 @@ +package com.codurance.training.tasks; + +import java.io.PrintWriter; +import java.util.ArrayList; + +public class addProject implements AddService{ + @Override + public void CRUD(String commandLine, PrintWriter out) { + String[] subcommandRest = commandLine.split(" ", 2); + String name = subcommandRest[1]; + TaskList.tasks.put(name, new ArrayList<>()); + } +}