Skip to content

Commit

Permalink
Browse files Browse the repository at this point in the history
  • Loading branch information
jingrui-who committed Nov 7, 2016
2 parents 959b97f + 3ede6e7 commit 4c4bf06
Show file tree
Hide file tree
Showing 2 changed files with 75 additions and 56 deletions.
26 changes: 13 additions & 13 deletions src/main/java/seedu/simply/logic/parser/Parser.java
Expand Up @@ -109,43 +109,43 @@ public Command parseCommand(String userInput) {
final String arguments = matcher.group("arguments");
switch (commandWord) {

case AddCommand.COMMAND_WORD:
case AddCommand.COMMAND_WORD :
return prepareAdd(userInput, arguments);

case SelectCommand.COMMAND_WORD:
case SelectCommand.COMMAND_WORD :
return prepareSelect(arguments);

case DeleteCommand.COMMAND_WORD:
case DeleteCommand.COMMAND_WORD :
return prepareDelete(arguments);

case EditCommand.COMMAND_WORD:
case EditCommand.COMMAND_WORD :
return prepareEdit(arguments);

case DoneCommand.COMMAND_WORD:
case DoneCommand.COMMAND_WORD :
return prepareComplete(arguments);

case SpecifyStorageCommand.COMMAND_WORD:
case SpecifyStorageCommand.COMMAND_WORD :
return prepareSpecifyStorage(arguments);

case UndoCommand.COMMAND_WORD:
case UndoCommand.COMMAND_WORD :
return prepareUndo(arguments);

case RedoCommand.COMMAND_WORD:
case RedoCommand.COMMAND_WORD :
return prepareRedo(arguments);

case ClearCommand.COMMAND_WORD:
case ClearCommand.COMMAND_WORD :
return new ClearCommand();

case FindCommand.COMMAND_WORD:
case FindCommand.COMMAND_WORD :
return prepareFind(arguments);

case ListCommand.COMMAND_WORD:
case ListCommand.COMMAND_WORD :
return new ListCommand(arguments);

case ExitCommand.COMMAND_WORD:
case ExitCommand.COMMAND_WORD :
return new ExitCommand();

case HelpCommand.COMMAND_WORD:
case HelpCommand.COMMAND_WORD :
return new HelpCommand();

default:
Expand Down
105 changes: 62 additions & 43 deletions src/main/java/seedu/simply/model/TaskBook.java
Expand Up @@ -24,7 +24,7 @@
import seedu.simply.model.task.UniqueTaskList.TaskNotFoundException;

/**
* @@author A0138993L
*
* Wraps all data at the task-book level
* Duplicates are not allowed (by .equals comparison)
*/
Expand Down Expand Up @@ -76,10 +76,6 @@ public ObservableList<Task> getTodo() {
return todo.getInternalList();
}

//public ObservableList<Task> getCompleted() {
// return completed.getInternalList();
//}

public void setEvents(List<Task> events) {
this.events.getInternalList().setAll(events);
}
Expand All @@ -92,10 +88,6 @@ public void setTodo(List<Task> todo) {
this.todo.getInternalList().setAll(todo);
}

//public void setCompleted(List<Task> completed) {
// this.completed.getInternalList().setAll(completed);
//}

public void setTags(Collection<Tag> tags) {
this.tags.getInternalList().setAll(tags);
}
Expand All @@ -115,6 +107,7 @@ public void resetData(ReadOnlyTaskBook newData) {
//// task-level operations

/**
* @@author A0138993L
* Adds a task to the task book.
* Also checks the new task's tags and updates {@link #tags} with any new tags found,
* and updates the Tag objects in the task to point to those in {@link #tags}.
Expand All @@ -123,12 +116,13 @@ public void resetData(ReadOnlyTaskBook newData) {
*/
public void addTask(Task t) throws UniqueTaskList.DuplicateTaskException {
syncTagsWithMasterList(t);
if (t.getTaskCategory() == 1)
if (t.getTaskCategory() == 1) {
events.add(t);
else if (t.getTaskCategory() == 2)
} else if (t.getTaskCategory() == 2) {
deadlines.add(t);
else
} else {
todo.add(t);
}
}

/**
Expand Down Expand Up @@ -164,6 +158,7 @@ public void removeTask(ReadOnlyTask key) {
todo.remove(key);
}
}
//@@author A0138993L
public boolean checkTask(ReadOnlyTask toCheck) {
int taskCategory = toCheck.getTaskCategory();
if(taskCategory == 1){
Expand All @@ -176,7 +171,7 @@ public boolean checkTask(ReadOnlyTask toCheck) {
return false;
}

//@@author A0135722L Zhiyuan
//@@author A0135722L
public boolean completeTask(ReadOnlyTask target) throws UniqueTaskList.TaskNotFoundException {
int category = target.getTaskCategory();
if(category == 1){
Expand All @@ -202,6 +197,7 @@ else if(category == 2){
}
}

//@@author A0138993L
public void overdueTask() {
for (Task task: events) {
events.markOverdue(task);
Expand Down Expand Up @@ -244,46 +240,72 @@ else if(category == 'T'){
//@@author A0139430L
public void changeTaskCategory() throws TaskNotFoundException, DuplicateTaskException {
for (Task task: events) {
if(task.getTaskCategory()!=1){
if (task.getTaskCategory()!=1) {
events.remove(task);
if(task.getTaskCategory()==2){
deadlines.add(task);
EventsCenter.getInstance().post(new JumpToListRequestEvent(deadlines.getTaskIndex(task), 'D'));
}
else if(task.getTaskCategory()==3){
todo.add(task);
EventsCenter.getInstance().post(new JumpToListRequestEvent(todo.getTaskIndex(task), 'T'));
}
changeFromEventToDeadlinesOrTodo(task);
}
}
for (Task task: deadlines) {
if(task.getTaskCategory()!=2){
if (task.getTaskCategory()!=2) {
deadlines.remove(task);
if(task.getTaskCategory()==1){
events.add(task);
EventsCenter.getInstance().post(new JumpToListRequestEvent(events.getTaskIndex(task), 'E'));
}
else if(task.getTaskCategory()==3){
todo.add(task);
EventsCenter.getInstance().post(new JumpToListRequestEvent(todo.getTaskIndex(task), 'T'));
}
changeFromDeadlineToEventOrTodo(task);
}
}
for (Task task: todo) {
if(task.getTaskCategory()!=3){
if (task.getTaskCategory()!=3) {
todo.remove(task);
if(task.getTaskCategory()==1){
events.add(task);
EventsCenter.getInstance().post(new JumpToListRequestEvent(events.getTaskIndex(task), 'E'));
}
else if(task.getTaskCategory()==2){
deadlines.add(task);
EventsCenter.getInstance().post(new JumpToListRequestEvent(deadlines.getTaskIndex(task), 'D'));
}
changeFromTodoToEventOrDeadline(task);
}
}
}

/**
* @@author A0139430L
* @param task the selected task
* @throws DuplicateTaskException
*/
private void changeFromTodoToEventOrDeadline(Task task) throws DuplicateTaskException {
if (task.getTaskCategory()==1) {
events.add(task);
EventsCenter.getInstance().post(new JumpToListRequestEvent(events.getTaskIndex(task), 'E'));
} else if (task.getTaskCategory()==2) {
deadlines.add(task);
EventsCenter.getInstance().post(new JumpToListRequestEvent(deadlines.getTaskIndex(task), 'D'));
}
}


/**
* @@author A0139430L
* @param task the selected task
* @throws DuplicateTaskException
*/
private void changeFromDeadlineToEventOrTodo(Task task) throws DuplicateTaskException {
if (task.getTaskCategory()==1) {
events.add(task);
EventsCenter.getInstance().post(new JumpToListRequestEvent(events.getTaskIndex(task), 'E'));
} else if (task.getTaskCategory()==3) {
todo.add(task);
EventsCenter.getInstance().post(new JumpToListRequestEvent(todo.getTaskIndex(task), 'T'));
}
}


/**
* @@author A0139430L
* @param task the selected task
* @throws DuplicateTaskException
*/
private void changeFromEventToDeadlinesOrTodo(Task task) throws DuplicateTaskException {
if (task.getTaskCategory()==2) {
deadlines.add(task);
EventsCenter.getInstance().post(new JumpToListRequestEvent(deadlines.getTaskIndex(task), 'D'));
} else if (task.getTaskCategory()==3) {
todo.add(task);
EventsCenter.getInstance().post(new JumpToListRequestEvent(todo.getTaskIndex(task), 'T'));
}
}

//// tag-level operations
//@@author A0139430L
public void addTag(Tag t) throws UniqueTagList.DuplicateTagException {
Expand All @@ -295,17 +317,14 @@ public void addTag(Tag t) throws UniqueTagList.DuplicateTagException {
@Override
public String toString() {
return events.getInternalList().size() + " events, " + tags.getInternalList().size() + " tags";
// TODO: refine later
}

public String toStringDeadlines() {
return deadlines.getInternalList().size() + " deadlines, " + tags.getInternalList().size() + " tags";
// TODO: refine later
}

public String toStringTodo() {
return todo.getInternalList().size() + " todo, " + tags.getInternalList().size() + " tags";
// TODO: refine later
}

@Override
Expand Down

0 comments on commit 4c4bf06

Please sign in to comment.