Skip to content

Commit

Permalink
Refactor param validations.
Browse files Browse the repository at this point in the history
  • Loading branch information
louietyj committed Oct 16, 2016
1 parent 74e2c34 commit a1b33b1
Showing 1 changed file with 13 additions and 7 deletions.
20 changes: 13 additions & 7 deletions src/main/java/seedu/todo/controllers/AddController.java
Original file line number Diff line number Diff line change
Expand Up @@ -61,18 +61,16 @@ public void process(String input) {
// Task or event?
boolean isTask = parseIsTask(parsedResult);

// Name - Disambiguate if null.
// Name
String name = parseName(parsedResult);
if (name == null) {
renderDisambiguation(parsedResult);
return;
}

// Time - Disambiguate if "to" without "from" OR "task" and two timings.
// Time
String[] naturalDates = parseDates(parsedResult);
String naturalFrom = naturalDates[0];
String naturalTo = naturalDates[1];
if ((naturalFrom == null && naturalTo != null) || (isTask && naturalTo != null)) {

// Validate isTask, name and times.
if (!validateParams(isTask, name, naturalFrom, naturalTo)) {
renderDisambiguation(parsedResult);
return;
}
Expand Down Expand Up @@ -102,6 +100,14 @@ public void process(String input) {
UiManager.renderView(view);
UiManager.updateConsoleMessage(MESSAGE_ADD_SUCCESS);
}


private boolean validateParams(boolean isTask, String name, String naturalFrom, String naturalTo) {
// Disambiguate if name is null.
// Disambiguate if "to" without "from" OR "task" and two timings.
return (name == null ||
(naturalFrom == null && naturalTo != null) || (isTask && naturalTo != null));
}

private String[] parseDates(Map<String, String[]> parsedResult) {
String naturalFrom = null;
Expand Down

0 comments on commit a1b33b1

Please sign in to comment.