Skip to content

Commit

Permalink
Merge pull request #116 from daryltay415/master
Browse files Browse the repository at this point in the history
Fix bug
  • Loading branch information
daryltay415 committed Apr 1, 2024
2 parents 9e97d0e + a163433 commit 3d46a95
Show file tree
Hide file tree
Showing 10 changed files with 79 additions and 116 deletions.
6 changes: 0 additions & 6 deletions omni.txt
Original file line number Diff line number Diff line change
@@ -1,6 +0,0 @@
general / 1 / germany / 2019-12-12 / now /
food / 0 / mala / 2023-12-12 / now /
accommodation / 0 / hotel / 2023-12-12 / now /
landmark / 0 / statue of liberty / 2023-12-12 / now /
general / 0 / darone mum / 2023-12-12 / now / hello
general / 0 / paris / 2023-12-12 / 2 weeks / hello world
4 changes: 2 additions & 2 deletions src/main/java/seedu/duke/Accommodation.java
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ public class Accommodation extends TravelActivity {
private LocalDate date;
private String duration;

public Accommodation(String line, LocalDate date, String duration, String tag){
super(line, date, duration, tag);
public Accommodation(String line, LocalDate date, String duration, String tag, String expense){
super(line, date, duration, tag, expense);
}

@Override
Expand Down
10 changes: 6 additions & 4 deletions src/main/java/seedu/duke/FileSave.java
Original file line number Diff line number Diff line change
Expand Up @@ -26,19 +26,20 @@ public void loadFileContents(TravelActivityList list) throws FileNotFoundExcepti
LocalDate date = LocalDate.parse(line[3]);
String duration = line[4];
String tag = (line.length == 6) ? line[5].trim() : "";
String expense = (line.length == 7) ? line[6].trim() : "";
TravelActivity activity;
switch (type) {
case "accommodation":
activity = new Accommodation(description, date, duration, tag);
activity = new Accommodation(description, date, duration, tag, expense);
break;
case "food":
activity = new Food(description, date, duration, tag);
activity = new Food(description, date, duration, tag, expense);
break;
case "landmark":
activity = new Landmark(description, date, duration, tag);
activity = new Landmark(description, date, duration, tag, expense);
break;
case "general":
activity = new TravelActivity(description, date, duration, tag);
activity = new TravelActivity(description, date, duration, tag, expense);
break;
default:
throw new FileNotFoundException("File is corrupted or has invalid format");
Expand Down Expand Up @@ -67,6 +68,7 @@ public void saveActivityList(TravelActivityList list) throws IOException {
+ " / " + travelActivity.getDate()
+ " / " + travelActivity.getDuration()
+ " / " + travelActivity.getTag()
+ " / " + travelActivity.getExpense()
+ System.lineSeparator());
}
fw.close();
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/seedu/duke/Food.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import java.time.LocalDate;

public class Food extends TravelActivity {
public Food(String line, LocalDate date, String duration, String tag){
super(line, date, duration, tag);
public Food(String line, LocalDate date, String duration, String tag, String expense){
super(line, date, duration, tag, expense);
}

@Override
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/seedu/duke/Landmark.java
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@
import java.time.LocalDate;

public class Landmark extends TravelActivity {
public Landmark(String line, LocalDate date, String duration, String tag){
super(line, date, duration, tag);
public Landmark(String line, LocalDate date, String duration, String tag, String expense){
super(line, date, duration, tag, expense);
}
@Override
public String toString(){
Expand Down
8 changes: 4 additions & 4 deletions src/main/java/seedu/duke/Parser.java
Original file line number Diff line number Diff line change
Expand Up @@ -57,15 +57,15 @@ public static void activityCommand(String line, TravelActivityList list) throws
TravelActivity activity;
switch (command[0]) {
case "accommodation":
activity = new Accommodation(description, date, duration, tag);
activity = new Accommodation(description, date, duration, tag, "");
System.out.println("I added a new accommodation");
break;
case "food":
activity = new Food(description, date, duration, tag);
activity = new Food(description, date, duration, tag, "");
System.out.println("I added a new restaurant");
break;
case "landmark":
activity = new Landmark(description, date, duration, tag);
activity = new Landmark(description, date, duration, tag, "");
System.out.println("I added a new landmark");
break;
default:
Expand All @@ -92,7 +92,7 @@ public static void addCommand(String line, TravelActivityList list) throws OmniE
LocalDate date = LocalDate.parse(command[2]);
String duration = command[3].trim();
String tag = (line.contains("/tag") && command.length == 5) ? command[4].trim() : "";
TravelActivity newActivity = new TravelActivity(description, date, duration, tag);
TravelActivity newActivity = new TravelActivity(description, date, duration, tag, "");
list.addTravelActivity(newActivity);
System.out.println("I added a new travel activity");
System.out.println(newActivity);
Expand Down
3 changes: 2 additions & 1 deletion src/main/java/seedu/duke/TravelActivity.java
Original file line number Diff line number Diff line change
Expand Up @@ -18,11 +18,12 @@ public class TravelActivity {
private String expense;


public TravelActivity(String description, LocalDate date, String duration, String tag){
public TravelActivity(String description, LocalDate date, String duration, String tag, String expense){
travelActivity = description;
this.date = date;
this.duration = duration;
this.tag = tag;
this.expense = expense;
}

@Override
Expand Down
80 changes: 17 additions & 63 deletions src/main/java/seedu/duke/TravelActivityList.java
Original file line number Diff line number Diff line change
Expand Up @@ -39,20 +39,8 @@ public void listTravelActivities(){
if (activity == null) {
break;
}
String checked = activity.getActivityStatus()? "[X]" : "[ ]";
activityCount++;
if((activity.getTag() == null || activity.getTag().isEmpty()) &&
(activity.getExpense() == null || activity.getExpense().isEmpty())){
System.out.println(checked + " " + activityCount + ". " + activity);
} else if (!(activity.getTag() == null || activity.getTag().isEmpty())) {
System.out.println(checked + " " + activityCount + ". " + activity + " (" + activity.getTag() + ")");
} else if (!(activity.getExpense() == null || activity.getExpense().isEmpty())) {
System.out.println(checked + " " + activityCount + ". " + activity
+ " (" + activity.getExpense() + ")");
} else {
System.out.println(checked + " " + activityCount + ". " + activity
+ " (" + activity.getTag() + ")" + " (" + activity.getExpense() + ")");
}
Ui.printActivity(activity, activityCount);
}
int finalactivityCount = noOfActivities;
assert finalactivityCount == activityCount : "Index out of bounds while listing activities";
Expand Down Expand Up @@ -104,22 +92,16 @@ public String getDescription(String plan){
*/

public void searchKeyword (String activityName) {
boolean isFound = false;
int foundCounter = 0;
for (int iterator = 0; iterator < travelActivities.size(); iterator += 1){
if(travelActivities.get(iterator).getPlan().contains(activityName) &&
!travelActivities.get(iterator).getPlan().isEmpty()){
isFound = true;
for (TravelActivity travelActivity : travelActivities) {
if (travelActivity.getPlan().contains(activityName) &&
!travelActivity.getPlan().isEmpty()) {
foundCounter += 1;
if (isFound && foundCounter == 1) {
if (foundCounter == 1) {
System.out.println("Here are what you are looking for:");
}
if (travelActivities.get(iterator).getTag() == "") {
System.out.println(foundCounter + ". " + travelActivities.get(iterator).toString());
} else {
System.out.println(foundCounter + ". " + travelActivities.get(iterator).toString() +
" (" + travelActivities.get(iterator).getTag() + ")");
}
Ui.printActivity(travelActivity, foundCounter);

}
}
if (foundCounter == 0) {
Expand Down Expand Up @@ -236,15 +218,18 @@ public void findTag(String tag){
!travelActivities.get(iterator).getTag().isEmpty()){
isFound = true;
foundCounter += 1;
if (isFound && foundCounter == 1) {
if (foundCounter == 1) {
System.out.println("Here are what you are looking for:");
}
Ui.printActivity(travelActivities.get(iterator), foundCounter);
/*
if (travelActivities.get(iterator).getTag() == "") {
System.out.println(foundCounter + ". " + travelActivities.get(iterator).toString());
} else {
System.out.println(foundCounter + ". " + travelActivities.get(iterator).toString() +
" (" + travelActivities.get(iterator).getTag() + ")");
}
*/
}
}
if (foundCounter == 0 || isFound == false) {
Expand All @@ -262,54 +247,23 @@ public void findType(String type){
boolean isFound = false;
int foundCounter = 0;

for (int iterator = 0; iterator < travelActivities.size(); iterator += 1){
if(type.equals("Food") && travelActivities.get(iterator) instanceof Food &&
!travelActivities.get(iterator).toString().isEmpty()){
for (TravelActivity activity: travelActivities){
if(activity.getClass().getSimpleName().equals(type)){
isFound = true;
foundCounter += 1;
if (isFound && foundCounter == 1) {
if (foundCounter == 1) {
System.out.println("Here are what you are looking for:");
}
if (travelActivities.get(iterator).getTag() == "") {
System.out.println(foundCounter + ". " + travelActivities.get(iterator).toString());
} else {
System.out.println(foundCounter + ". " + travelActivities.get(iterator).toString() +
" (" + travelActivities.get(iterator).getTag() + ")");
}
} else if (type.equals("Landmark") && travelActivities.get(iterator) instanceof Landmark &&
!travelActivities.get(iterator).toString().isEmpty()) {
isFound = true;
foundCounter += 1;
if (isFound && foundCounter == 1) {
System.out.println("Here are what you are looking for:");
}
if (travelActivities.get(iterator).getTag() == "") {
System.out.println(foundCounter + ". " + travelActivities.get(iterator).toString());
} else {
System.out.println(foundCounter + ". " + travelActivities.get(iterator).toString() +
" (" + travelActivities.get(iterator).getTag() + ")");
}
} else if (type.equals("Accommodation") && travelActivities.get(iterator) instanceof Accommodation &&
!travelActivities.get(iterator).toString().isEmpty()) {
isFound = true;
foundCounter += 1;
if (isFound && foundCounter == 1) {
System.out.println("Here are what you are looking for:");
}
if (travelActivities.get(iterator).getTag() == "") {

System.out.println(foundCounter + ". " + travelActivities.get(iterator).toString());
} else {
System.out.println(foundCounter + ". " + travelActivities.get(iterator).toString() +
" (" + travelActivities.get(iterator).getTag() + ")");
}
Ui.printActivity(activity, foundCounter);
}
}
if (foundCounter == 0 || isFound == false) {
System.out.println("Sorry I could not find what you are looking for.");
}
}



/**
* Adds expense to travel activity
* @param taskNumber The travel activity number on the list
Expand Down
12 changes: 12 additions & 0 deletions src/main/java/seedu/duke/Ui.java
Original file line number Diff line number Diff line change
Expand Up @@ -85,4 +85,16 @@ public static void printDateTimeExceptionError(){
public static void printSavingError(){
System.out.println("Something went wrong when saving the file");
}

public static void printActivity(TravelActivity activity, int foundCounter) {
String checked = activity.getActivityStatus()? "[X]" : "[ ]";
System.out.print(checked + " " + foundCounter + ". " + activity);
if(activity.getTag() != null && !activity.getTag().isEmpty()){
System.out.print(" (" + activity.getTag() + ")");
}
if(activity.getExpense() != null && !activity.getExpense().isEmpty()){
System.out.print(" (" + activity.getExpense() + ")");
}
System.out.println();
}
}
Loading

0 comments on commit 3d46a95

Please sign in to comment.