diff --git a/sResources gradlew processResources b/sResources gradlew processResources new file mode 100644 index 000000000000..a42155a0acff --- /dev/null +++ b/sResources gradlew processResources @@ -0,0 +1,18315 @@ +commit 47f14bae69f218c2e95a1e4ad5367e9dc8f049ba (HEAD -> shaw_yeong_changes, origin/shaw_yeong_changes) +Author: Lou Shaw Yeong +Date: Mon Oct 22 09:47:41 2018 +0800 + + Add comments to Messages.java + +commit 686e1a1b1195fb03cc1be98f757bcbb16e6639e9 +Merge: 1bbb5e82 b4e504c3 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Mon Oct 22 09:38:07 2018 +0800 + + Merge from master to shaw_yeong_changes + +commit 1bbb5e827a72822edb01524c92884753ab7f637d +Merge: d08b1dc1 1788f498 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Sun Oct 21 17:35:01 2018 +0800 + + Merge pull request #55 from xiaoyeong/v1.3sy + + Update AnalyticsCommand and FinancialDatabaseParser and the class Deadline + +commit 1788f498b6d084b54c21175513591528d0dcea3a +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Sun Oct 21 17:33:18 2018 +0800 + + update Update AnalyticsCommand and FinancialDatabaseParser and the class Deadline + +commit b4e504c353a3837d8ab0a05045f00b5993788b56 (origin/master, origin/HEAD, master) +Merge: 8e0f9bee 32468979 +Author: weiqing-nic +Date: Sun Oct 21 16:08:02 2018 +0800 + + Merge pull request #54 from CS2103-AY1819S1-W12-2/aadit_changes + + Fix AddCommand and add transaction fields for interest calculation + +commit 324689797d7d1a31233225b0f5be00a261105e0c +Author: aaditkamat +Date: Sun Oct 21 11:29:53 2018 +0800 + + Fix AddCommand and add transaction fields for interest calculation + + Signed-off-by: aaditkamat + +commit 3cb928b7235d304f744dbd3b61948b2bcd54be96 +Merge: e2e94301 8e0f9bee +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Sat Oct 20 17:26:50 2018 +0800 + + Merge pull request #6 from CS2103-AY1819S1-W12-2/master + + branch to v1.3 + +commit dd9d0daef4afbbb698ecc8b2bc5e2977fdba2c15 +Author: aaditkamat +Date: Fri Oct 19 14:35:15 2018 +0800 + + Fix checkstyle bugs + + Signed-off-by: aaditkamat + +commit 8e0f9beebd34c1b1a4613cb65f6e4c458f9b57c4 (tag: v1.2) +Merge: 9c7661d4 c4586b79 +Author: Aadit Kamat +Date: Fri Oct 19 01:11:03 2018 +0800 + + Merge pull request #51 from CS2103-AY1819S1-W12-2/aadit_changes + + Add currency conversion command + +commit c4586b7989bda9f9128ad3f76669182dfeb4f3c3 +Merge: aec54e69 9c7661d4 +Author: Aadit Kamat +Date: Fri Oct 19 01:10:40 2018 +0800 + + Merge branch 'master' into aadit_changes + +commit aec54e69a33e964af73afc75425ba5a7fecbb6f7 +Author: aaditkamat +Date: Thu Oct 18 23:53:17 2018 +0800 + + Add currency conversion command + + Signed-off-by: aaditkamat + +commit 92e5bdf74529422bec427ae244caa81731aa5948 +Author: aaditkamat +Date: Thu Oct 18 14:34:14 2018 +0800 + + Add unit tests for amount and deadline + + Signed-off-by: aaditkamat + +commit 7b40bd6b424048f6cea620f5e7fb20049c2d626e +Author: aaditkamat +Date: Thu Oct 18 12:28:23 2018 +0800 + + Format add command instruction + + Signed-off-by: aaditkamat + +commit ec30b92197d1ec6e4243e5127d2e4211166b2577 +Author: aaditkamat +Date: Wed Oct 17 12:20:05 2018 +0800 + + Fix more checkstyle errors + + Signed-off-by: aaditkamat + +commit 2e82bb8e7c4b4556f60a774b42fd08e74346b1e7 +Merge: e9d1b88e 80fadd6c +Author: aaditkamat +Date: Wed Oct 17 01:43:48 2018 +0800 + + Merge branch 'master' of github.com:CS2103-AY1819S1-W12-2/main into aadit_changes + + Signed-off-by: aaditkamat + + # Conflicts: + # build.gradle + # src/main/java/seedu/address/logic/Logic.java + # src/main/java/seedu/address/logic/parser/FinancialDatabaseParser.java + # src/test/java/seedu/address/logic/commands/CommandTestUtil.java + # src/test/java/seedu/address/testutil/PersonBuilder.java + +commit 9c7661d4d67a546f731b705cf665b8842ae2d4c5 +Merge: 80fadd6c 817a2222 +Author: Aadit Kamat +Date: Wed Oct 17 00:59:30 2018 +0800 + + Merge pull request #50 from weiqing-nic/new + + Edit Photo class + +commit 817a22229584829af138d43ebda038bd8bffebd8 +Merge: 6c954ebf 80fadd6c +Author: Aadit Kamat +Date: Wed Oct 17 00:56:24 2018 +0800 + + Merge branch 'master' into new + +commit e9d1b88e6630374617061a6f7896761bbbeed0cd +Author: aaditkamat +Date: Wed Oct 17 00:54:19 2018 +0800 + + Fix checkstyle errors + + Signed-off-by: aaditkamat + +commit 80fadd6c16d24b5825cf907063c6c867079a82b6 +Merge: 75d1f58e acbbb056 +Author: Aadit Kamat +Date: Wed Oct 17 00:22:22 2018 +0800 + + Merge pull request #48 from Bellaaarh/Bella + + Add parser for WildcardSearchCommand and ToDoListAddCommand + +commit acbbb05661276d1a312672be9a4eac35c3669512 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Wed Oct 17 00:15:24 2018 +0800 + + Style fix. Found Photo.java + +commit 0ed30dd3568878529927e4bd761b5e76d988b51b +Merge: ed90f595 75d1f58e +Author: DESKTOP-2HNCDPM\Ysabella +Date: Wed Oct 17 00:13:44 2018 +0800 + + Merge remote-tracking branch 'CS2103-AY-1819S1-W12-2/master' into Bella + +commit 75d1f58e8cfbd40d446840df06f47e40e796360e +Merge: 64153601 d08b1dc1 +Author: Aadit Kamat +Date: Wed Oct 17 00:07:12 2018 +0800 + + Merge pull request #49 from CS2103-AY1819S1-W12-2/shaw_yeong_changes + + fixed AnalyticCommand + +commit ed90f59582c448fcb78b976f5425e455a234a444 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Wed Oct 17 00:00:54 2018 +0800 + + Fix style again. Cannot find Photo.java + +commit 6c954ebfe8f176a18618d03ef3b335e6ccff0612 +Merge: ab25e746 64153601 +Author: weiqing-nic +Date: Tue Oct 16 23:58:16 2018 +0800 + + Merge branch 'master' into new + +commit d08b1dc1a6db64f6d1438928242fd5fa5cf7311c +Merge: 695642fb 64153601 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Oct 16 23:53:16 2018 +0800 + + Merge branch 'master' into shaw_yeong_changes + +commit 53185680af8685abdaba5f6b4fa957c1dd204a28 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 16 23:52:06 2018 +0800 + + Fixed style + +commit 6415360193cab7ec6b84fbc8f4d8ea16fd804967 +Merge: bc28dbe5 881b5b35 +Author: Aadit Kamat +Date: Tue Oct 16 23:47:04 2018 +0800 + + Merge pull request #47 from CS2103-AY1819S1-W12-2/wei_qing_changes + + Add Photo Class + +commit 695642fb756afc5017660c85ff6fb3093c035155 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Oct 16 23:46:16 2018 +0800 + + Delete AdvanceAnalyticsCommand.java + +commit ab25e74693b08bd6375d16f36eb08f7597886a84 +Author: weiqing-nic +Date: Tue Oct 16 23:45:35 2018 +0800 + + Styling Changes + +commit 013b1f4267305a30df0c5bf93a8e91e0e1ab1500 +Merge: b4a210de bc28dbe5 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 16 23:37:22 2018 +0800 + + Merge remote-tracking branch 'CS2103-AY-1819S1-W12-2/master' into Bella + + # Conflicts: + # src/main/java/seedu/address/logic/parser/CliSyntax.java + # src/main/java/seedu/address/logic/parser/FinancialDatabaseParser.java + + Conflicts resolved. + +commit b4a210de9ea475da7481cac99797b5e05aa57f25 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 16 23:21:41 2018 +0800 + + Update TO_DO_LIST_PREFIX in CliSyntax + Add parser for ToDoListAddCommand and WildcardSearchCommand.java + Slight change to ToDoList.fxml + +commit 49f2ff1fa438a09b6f2afacd3718c8d391b1c35c +Author: weiqing-nic +Date: Tue Oct 16 23:16:31 2018 +0800 + + Merge changes + +commit 679fde547a1503008abf8876fa42f14de1d2ba84 +Merge: d7584b77 62ae91b7 +Author: weiqing-nic +Date: Tue Oct 16 23:15:34 2018 +0800 + + Merge branch 'new' of https://github.com/weiqing-nic/debt-tracker into new + +commit 62ae91b7be5ee063260e9a6d45587902dc3600ec +Merge: 18aeb6b1 bc28dbe5 +Author: weiqing-nic +Date: Tue Oct 16 23:13:55 2018 +0800 + + Merge pull request #6 from CS2103-AY1819S1-W12-2/master + + merge + +commit d7584b770695f626ccf7a555f78f851241323878 +Author: weiqing-nic +Date: Tue Oct 16 23:13:03 2018 +0800 + + Save work + +commit bc28dbe52535fd15ff80be077b5d0efa77deba89 +Merge: 65397c43 d1118392 +Author: Julian Cheong <42330762+julianc269@users.noreply.github.com> +Date: Tue Oct 16 21:46:40 2018 +0800 + + Merge pull request #46 from CS2103-AY1819S1-W12-2/aadit_changes + + Changes to tests to handle transactions + +commit d1118392e01ffc9f95f20bef41b85d8f67da5069 +Author: aaditkamat +Date: Tue Oct 16 21:29:54 2018 +0800 + + Add explanatory comments to the CalendarManager class + + Signed-off-by: aaditkamat + +commit 44d7ed365d64023469c5d62e2134abf3cd884fee (origin/julian_changes) +Author: julianc269 +Date: Tue Oct 16 20:42:17 2018 +0800 + + Update tests: refactoring and compile error fixes + +commit 9bf7f4b251a7a9e6f4f8b12172966059e629757c +Merge: a3b7e6e1 e2e94301 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Oct 16 19:41:37 2018 +0800 + + Merge pull request #44 from xiaoyeong/v1.2 + + add new Command, AdvanceAnalyticsCommand.java + +commit 0902867cd369df29d35753c5c9d834c93bd5585a +Author: julianc269 +Date: Tue Oct 16 19:39:36 2018 +0800 + + Update TransactionListPanel.fxml and TransactionCard.fxml + +commit e2e94301f218467b842328fc2293a800919dab9a +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Oct 16 19:38:41 2018 +0800 + + Add a new command, AdvanceAnalyticsCommand.java + +commit 155be51344d117a05433a7edc194dc523d008e02 +Merge: cdbb3b86 103b1145 +Author: julianc269 +Date: Tue Oct 16 19:18:35 2018 +0800 + + Merge branch 'aadit_changes' into julian_changes + +commit 103b11450d56093291989e4b9d791b8be25a820a +Merge: 6d4779c7 cdbb3b86 +Author: julianc269 +Date: Tue Oct 16 19:18:15 2018 +0800 + + Fix Merge Conflicts + +commit 6d4779c7582ee2d1a4afaeaf89d78fb94771e150 +Author: aaditkamat +Date: Tue Oct 16 17:31:44 2018 +0800 + + Modify tests to handle transactions + + Signed-off-by: aaditkamat + +commit 826bb00652eca8c9bbdd92f35129a8b826973d90 +Merge: 726e9b1b dd907ab3 +Author: aaditkamat +Date: Tue Oct 16 16:02:35 2018 +0800 + + Merge remote-tracking branch 'origin/aadit_changes' into aadit_changes + +commit 726e9b1bf4b8f2138b63e63ca6788ff805dc824e +Author: aaditkamat +Date: Tue Oct 16 16:01:29 2018 +0800 + + Modify commands and system as well as GUI tests to handle transactions + + Signed-off-by: aaditkamat + +commit 644e8a081d2b21d5818e735a9aed58ba397ff10b +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Oct 16 15:40:45 2018 +0800 + + Tag author xiaoyeong to AnalyticsCommand + +commit 881b5b353079317096d729beb0793798155f9357 (origin/wei_qing_changes) +Merge: 65397c43 18aeb6b1 +Author: weiqing-nic +Date: Tue Oct 16 14:28:44 2018 +0800 + + Merge pull request #42 from weiqing-nic/new + + Add Photo to Model + +commit 18aeb6b179b052f95cf94a06d172ee94a072eaf3 +Author: weiqing-nic +Date: Tue Oct 16 14:23:45 2018 +0800 + + Add Photo to Model + +commit cdbb3b865f79e39eaafcf6b502e027d60aedceb4 +Merge: 65397c43 e82d6e2e +Author: Aadit Kamat +Date: Tue Oct 16 13:18:57 2018 +0800 + + Merge pull request #40 from julianc269/master + + Add Google Calendar Integration and Reposense Config File + +commit ac5d033a95ac5dba52630bcebf9af108d7670230 +Author: aaditkamat +Date: Tue Oct 16 12:51:03 2018 +0800 + + Change model to handle transactions instead of persons + + Signed-off-by: aaditkamat + +commit a3b7e6e13aaa5528c989c5d076dc1630fc0cd80b +Merge: 65397c43 32d04286 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Oct 16 12:24:18 2018 +0800 + + Merge pull request #41 from xiaoyeong/v1.2 + + Update AnalyticsCommand and FinancialDatabaseParser + +commit e82d6e2ea0e3728a2fae06cd594bd4d3ee51d741 +Author: julianc269 +Date: Tue Oct 16 04:09:33 2018 +0800 + + Fix Import Statements + +commit 5c9b082eccb049d9fd21b00c6050893e343a403f +Author: julianc269 +Date: Tue Oct 16 04:01:54 2018 +0800 + + Add Reposense Config File + +commit cc749e46d3da89a3eccdbf8430774cdf00aed745 +Author: julianc269 +Date: Tue Oct 16 03:55:57 2018 +0800 + + Add CalendarCommand and CalendarManager + +commit c915f72a610b44dba811e8af27ab2830a908cb85 +Author: aaditkamat +Date: Tue Oct 16 03:08:42 2018 +0800 + + Modify tests to handle transactions in place of persons + + Signed-off-by: aaditkamat + +commit d4efa32637571dab6934ffdd8cbbc27809b9c531 +Merge: 65397c43 0ef87c43 +Author: aaditkamat +Date: Mon Oct 15 09:07:01 2018 +0800 + + Remove Java API docs for the projects and modify xml file structures + +commit 3bc535323ddcc960c0a528da5986b83004c954d2 +Merge: 73f97a09 65397c43 +Author: Julian Cheong <42330762+julianc269@users.noreply.github.com> +Date: Mon Oct 15 19:15:22 2018 +0800 + + Merge pull request #3 from CS2103-AY1819S1-W12-2/master + + Bring repo up to date + +commit dd907ab3df041de569dbc8cfa64316dd96646b27 +Merge: 65397c43 0ef87c43 +Author: Aadit Kamat +Date: Mon Oct 15 09:07:01 2018 +0800 + + Merge pull request #39 from aaditkamat/add_commands + + Fix checkstyle bugs + +commit 0ef87c439c6cb4cb2e2c3871a7d5886faeee73f1 +Author: Aadit Kamat +Date: Mon Oct 15 09:05:13 2018 +0800 + + Fix checkstyle bugs + + Signed-off-by: aaditkamat + +commit 32d04286214364d7de4d511c7b01b1777027b0c0 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Sat Oct 13 15:00:32 2018 +0800 + + update AnalyticsCommand and FinancialDatabaseParser + +commit a5ae6e93f8b63cfe6b8699a0862a6017ccefc561 +Merge: 40e09fb6 65397c43 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Thu Oct 11 09:29:12 2018 +0800 + + Merge pull request #5 from CS2103-AY1819S1-W12-2/master + + merge to v1.1sy + +commit 65397c438b38a5c8d2e7a584bcc8df7295b7a486 (origin/ysabella_changes) +Merge: ae3cb101 1d4546a0 +Author: Aadit Kamat +Date: Wed Oct 10 00:12:26 2018 +0800 + + Merge pull request #36 from aaditkamat/add_commands + + Add transaction deadline and implement currency exchange in amount class + +commit 1d4546a03cff59886054993836e6b37948b1ddcd +Merge: c9d4508c ae3cb101 +Author: Aadit Kamat +Date: Wed Oct 10 00:11:44 2018 +0800 + + Merge branch 'master' into add_commands + +commit c9d4508c2a2360eb02b7fc68c47f80d3bec3776f +Author: Aadit Kamat +Date: Wed Oct 10 00:10:43 2018 +0800 + + Update and rename WildCardSearch.java to WildCardSearchCommand.java + +commit 589f549d13906673645b0d37e7f80c2380f33fc7 +Author: Aadit Kamat +Date: Wed Oct 10 00:09:18 2018 +0800 + + Update CliSyntax.java + +commit ae3cb101cd4a74f16cd38140c27c5bbd8460123d +Merge: 6f7bb281 2875e17d +Author: Aadit Kamat +Date: Wed Oct 10 00:04:03 2018 +0800 + + Merge pull request #35 from Bellaaarh/master + + Update colour scheme for Debt Tracker GUI + +commit 2875e17dd64195f878eb8f6b756e53b77c69c63d +Merge: 7effe092 6f7bb281 +Author: Aadit Kamat +Date: Wed Oct 10 00:03:46 2018 +0800 + + Merge branch 'master' into master + +commit 6f7bb281f25b872c5e224b650ebfcf69b8da7b93 +Author: Aadit Kamat +Date: Wed Oct 10 00:03:01 2018 +0800 + + Resolve merge conflict between WildcardSearch and WildcardSearchCommand + +commit 9b1a27681fa17320a930086c39cdb5f0eedd9465 +Merge: 756d8cfa 40e09fb6 +Author: Aadit Kamat +Date: Tue Oct 9 23:54:23 2018 +0800 + + Merge pull request #28 from xiaoyeong/v1.1sy + + Edit the file in UploadPhotoCommand + +commit 7effe09267eac43fab8d5ae3a779f63fe9b67d3c +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 9 23:52:32 2018 +0800 + + Add ToDoList.fxml for GUI, ToDoList.java and ToDoListAddCommand.java . Update CliSyntax with Prefix message for ToDoListAddCommand.java . + +commit d405e41759fead4ffa8664a0adaf99f9cde0dbc1 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 9 23:51:29 2018 +0800 + + Update colour of GUI + +commit 756d8cfa13ab94b242b88ea480450ffdbf0e01d0 +Merge: b614c4b4 e3a6dcff +Author: Aadit Kamat +Date: Tue Oct 9 23:50:45 2018 +0800 + + Merge pull request #34 from weiqing-nic/new + + Change the UniqueId to alphabet and increase the length to 256 characters + +commit 21ed2de54a579924075a6f29790667e398f91e1c +Author: Aadit Kamat +Date: Tue Oct 9 23:23:37 2018 +0800 + + Fix some checkstyle issues + + Signed-off-by: aaditkamat + +commit e3a6dcffb80d546efd90877917d7720fc1a88f38 +Author: weiqing-nic +Date: Tue Oct 9 23:04:59 2018 +0800 + + Increase the number of alphabet for uniqueId from a-Z + +commit 6af120176a9bfedd09f4a85ecba06a823171b123 +Author: Aadit Kamat +Date: Tue Oct 9 23:00:15 2018 +0800 + + Add transaction deadline and implement currency exchange in Amount + + Signed-off-by: aaditkamat + +commit de63407adf71a825e31c5ff14a73367d7b70bd6c +Author: weiqing-nic +Date: Tue Oct 9 22:40:34 2018 +0800 + + Amend the styling + +commit 0aecc48886a0546d2adb343b8260525747d1afbf +Author: weiqing-nic +Date: Tue Oct 9 22:14:38 2018 +0800 + + Increase the number of alphabet for uniqueId + +commit 3da90d8b20f87545061f0e21b894bfc6b0f94a89 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 9 21:16:46 2018 +0800 + + Remove trailing whitespace from lines 67 and 68 in UserGuide.adoc + +commit 46ae60cdf29d7b3a262319f50df1f0f01e4afa4b +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 9 21:08:05 2018 +0800 + + Add new line to EOF for FieldType.java and UniqueId.java + +commit 8fc384fa11d9f618ec1e424afe33af6519b8eff4 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 9 20:57:40 2018 +0800 + + Add new line to EOF of Mode.java + +commit 4dce2d75f8649c5b96efa1575aede42093f6d017 +Merge: e7626e95 b614c4b4 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 9 20:49:44 2018 +0800 + + Merge branch 'master' of https://github.com/CS2103-AY1819S1-W12-2/main + + # Conflicts: + # src/main/java/seedu/address/logic/commands/WildcardSearchCommand.java + Resolve conflict + +commit e7626e95d62d0eff10299e70348e38f287351e02 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 9 20:30:23 2018 +0800 + + Correct mistake in WildcardSearchCommand.java so program can be compiled now + Delete extra new line at EOF of Model.java + +commit fcedd591a2433755301e8b91a24bd43290bc22b3 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 9 20:15:35 2018 +0800 + + Revert "Revert "Change WildcardSearch.java to WildcardSearchCommand.java"" + + This reverts commit ea3668e38d4abfec20400d088defb6b066548880. + +commit ea3668e38d4abfec20400d088defb6b066548880 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 9 20:14:53 2018 +0800 + + Revert "Change WildcardSearch.java to WildcardSearchCommand.java" + + This reverts commit 9f9fd6693d411f82a123bd7ac58312fa7a3a8a4c. + +commit 9f9fd6693d411f82a123bd7ac58312fa7a3a8a4c +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 9 20:14:23 2018 +0800 + + Change WildcardSearch.java to WildcardSearchCommand.java + Add new lines at EOF for Model.java and WildcardSearchCommand.java + +commit fd4a6e65f4ffdb71bf19e4b43e35591d8b207adb +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 9 19:53:29 2018 +0800 + + Update colour scheme for Debt Tracker GUI + +commit 40e09fb62442a4b9e4d666a3ca65a167bc9491eb +Merge: eea64eb1 b614c4b4 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Oct 9 17:43:03 2018 +0800 + + Merge pull request #3 from CS2103-AY1819S1-W12-2/master + + v1.1.1 + +commit a8879a4a46334d7094205eb96312402648bdd850 +Author: weiqing-nic +Date: Mon Oct 8 21:23:22 2018 +0800 + + Add unique id + +commit 03f4d76b1b3400310703e951d876ef47d2434253 +Merge: 82b500e8 b614c4b4 +Author: weiqing-nic +Date: Mon Oct 8 19:56:38 2018 +0800 + + Merge pull request #5 from CS2103-AY1819S1-W12-2/master + + merge with latest code + +commit 82b500e87f9eaa51289e449d90773f7dc2bb1521 +Author: weiqing-nic +Date: Mon Oct 8 19:50:31 2018 +0800 + + Revert "Add UniqueId" + + This reverts commit a71bc878276a0f09fdf4e494e480ac93b0b114fd. + +commit 99bd365e89cf44b13e71e24d9e41423429b26949 +Author: weiqing-nic +Date: Mon Oct 8 19:49:43 2018 +0800 + + Revert "Add Unique Id" + +commit b614c4b45d43cb465ec3cd20e3a77850b692e631 (tag: V1.1) +Merge: fef4ac7c 16282697 +Author: Aadit Kamat +Date: Sun Oct 7 18:59:57 2018 +0800 + + Merge pull request #33 from julianc269/transactions + + Transactions Implementation + +commit 162826972b6f63b48178b6d6d90a930cf91054ec +Author: unknown +Date: Sun Oct 7 16:32:29 2018 +0800 + + Fix Merge Conflict + +commit 6e2bcb01a5f4eeef676c1d2b77aa29d76322a31a +Author: unknown +Date: Sun Oct 7 16:30:25 2018 +0800 + + JUnit Test Fixes + +commit 90aaaa3f0fb5751f520fb31aa78f2123c96173a8 +Author: unknown +Date: Sun Oct 7 11:52:25 2018 +0800 + + Implement transactions + +commit 37b9bd81f6ec92a4da5767f2045ccfc1f0bc18a2 +Author: weiqing-nic +Date: Sun Oct 7 03:52:10 2018 +0800 + + Add Unique Id + +commit a71bc878276a0f09fdf4e494e480ac93b0b114fd +Author: weiqing-nic +Date: Sun Oct 7 03:37:54 2018 +0800 + + Add UniqueId + +commit e5b95dba721f4e16281f3776ddb0ec5f3f44de4b +Merge: 83699f1e fef4ac7c +Author: Bellaaarh <42434959+Bellaaarh@users.noreply.github.com> +Date: Sat Oct 6 20:47:42 2018 +0800 + + Merge pull request #1 from CS2103-AY1819S1-W12-2/master + + Pull request + +commit 68ab133f98dd4318c5ba4e5b2333261f57d67512 +Merge: c45f9cdd 75c5e88d +Author: weiqing-nic +Date: Sat Oct 6 20:21:03 2018 +0800 + + Merge branch 'master' of https://github.com/weiqing-nic/debt-tracker + +commit c45f9cdd12e97577d77d51b3548d25084df6d5fd +Author: weiqing-nic +Date: Sat Oct 6 20:19:28 2018 +0800 + + Add shell file for gradle + +commit 75c5e88d2246a159a9440c2a9fe530f59b173834 +Merge: c3c51925 fef4ac7c +Author: weiqing-nic +Date: Sat Oct 6 20:19:12 2018 +0800 + + Merge pull request #3 from CS2103-AY1819S1-W12-2/master + + merge from master + +commit fef4ac7c67b4ed4f4ca43b10ea9ed3956d6710bb +Merge: acb682cb 73f97a09 +Author: Julian Cheong <42330762+julianc269@users.noreply.github.com> +Date: Sat Oct 6 20:18:28 2018 +0800 + + Merge pull request #32 from julianc269/master + + Minor Fixes: Compilation Errors + +commit 73f97a090648c9a2bc2d28c78a0525cd9cfb9e68 +Author: unknown +Date: Sat Oct 6 20:01:49 2018 +0800 + + Minor Fixes + +commit 92f096eb3ac884f98e83611243aeada2d41a3414 +Merge: 4648e436 acb682cb +Author: Julian Cheong <42330762+julianc269@users.noreply.github.com> +Date: Sat Oct 6 19:51:23 2018 +0800 + + Merge pull request #2 from CS2103-AY1819S1-W12-2/master + + Bring repo up to date + +commit c3c51925023297665f9782460cf5ca038ca003a7 +Merge: e5b09bbe acb682cb +Author: weiqing-nic +Date: Sat Oct 6 17:10:21 2018 +0800 + + Merge branch 'master' of https://github.com/CS2103-AY1819S1-W12-2/main + +commit e5b09bbedf341c519d5d0874e20b4243ed3a6509 +Author: weiqing-nic +Date: Sat Oct 6 17:08:41 2018 +0800 + + Merge to master + +commit eea64eb13f8928d11550b0703f508ca00a7bea24 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Sat Oct 6 16:50:08 2018 +0800 + + Edit the file in UploadPhotoCommand + +commit acb520bd318c813e04111b87b9c1be3be34322d7 +Merge: 5f2031f8 acb682cb +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Sat Oct 6 16:32:11 2018 +0800 + + Merge pull request #2 from CS2103-AY1819S1-W12-2/master + + v1.2 + +commit c24f046c5799020e63c2de809f5f11e34a12e8bb +Merge: 547d801f d2e1867b +Author: weiqing-nic +Date: Tue Oct 2 21:27:09 2018 +0800 + + Merge branch 'master' of https://github.com/weiqing-nic/debt-tracker + +commit 547d801f3e1bba7b496ec8aa4809e22c017f73ab +Author: weiqing-nic +Date: Tue Oct 2 21:26:50 2018 +0800 + + Change profile image for aaditKamat + +commit acb682cb7383a246120b58e7bef6ee8722b32104 +Merge: f2d02391 22a85050 +Author: Aadit Kamat +Date: Tue Oct 2 21:18:43 2018 +0800 + + Merge pull request #20 from xiaoyeong/v1.1sy + + Amend image filenames in AboutUs.adoc + +commit 22a850507bb9836eb8c8195bff23e7d933954856 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Oct 2 21:14:58 2018 +0800 + + Add photo of aaditkamat and xiaoyeong + +commit 3c9aad10bd7faa8606552fc1c86dfaba1c8c7752 +Author: Aadit Kamat +Date: Tue Oct 2 20:48:16 2018 +0800 + + Add changes to some tests to use Transaction model + + Signed-off-by: aaditkamat + +commit fba423b74d40f84d9e00b4c9cd314f166be226dd +Merge: a54f0e53 a82cb320 +Author: aaditkamat +Date: Tue Oct 2 18:06:08 2018 +0800 + + Merge branch 'master' of github.com:aaditkamat/debt-tracker + +commit a54f0e5322b2a3885f011c59f1595d3f7a48d273 +Author: Aadit Kamat +Date: Tue Oct 2 17:12:15 2018 +0800 + + Transition from Person model to Transaction model + + Signed-off-by: aaditkamat + +commit b2151c02577d5fc5febb5d2b1fe1260177e938a6 +Author: Aadit Kamat +Date: Tue Oct 2 01:20:31 2018 +0800 + + Add transaction component to add command and its parser + + Signed-off-by: aaditkamat + +commit 4f0bf12045c872a0072f1202c124d707cfc05cb7 +Author: Aadit Kamat +Date: Tue Oct 2 01:04:39 2018 +0800 + + Parse transaction details from command line arguments to add command + + Signed-off-by: aaditkamat + +commit 688899b9d5b2607f71d66464ef515af8ad67b0fe +Author: Aadit Kamat +Date: Tue Oct 2 00:23:02 2018 +0800 + + Implement transaction in debt tracker database + + Signed-off-by: aaditkamat + +commit f2d023910c5f69da72b2c1b7250a98317ec390e6 +Merge: 2df8ff8c 80e15dfe +Author: Aadit Kamat +Date: Tue Oct 2 17:54:27 2018 +0800 + + Merge pull request #17 from Bellaaarh/Ysabella + + Add WildcardSearch.java and NameContainsLettersPredicate.java + +commit 2df8ff8cd7ffb4c80b16a359e231a749f002776d +Merge: 7dd553e5 310187e8 +Author: Aadit Kamat +Date: Tue Oct 2 17:47:52 2018 +0800 + + Merge pull request #15 from xiaoyeong/v1.1sy + + Add new command "AnalyticsCommand" . + +commit 7dd553e5738b6bfffa996d312bda75c803e98579 +Merge: 44e1d053 d2e1867b +Author: Aadit Kamat +Date: Tue Oct 2 17:46:45 2018 +0800 + + Merge pull request #16 from weiqing-nic/master + + Partial Complete code for Picture + +commit d2e1867bb5d7a85bf0b2f3256437ca9ad0a52677 +Merge: 26345d3c 44e1d053 +Author: Aadit Kamat +Date: Tue Oct 2 17:46:29 2018 +0800 + + Merge branch 'master' into master + +commit 44e1d0534bdf0c7765040433cab944abb51adfd1 +Merge: acc422eb 4648e436 +Author: Aadit Kamat +Date: Tue Oct 2 17:35:45 2018 +0800 + + Merge pull request #18 from julianc269/master + + Add FilterCommand, Renamed Image + +commit a82cb320471487c0ce53f7ebae4179f7cc05e893 +Author: Aadit Kamat +Date: Tue Oct 2 17:12:15 2018 +0800 + + Transition from Person model to Transaction model + + Signed-off-by: aaditkamat + +commit 80e15dfe22cb53416ae68134f347c08dc835b102 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 2 02:56:39 2018 +0800 + + Update User Guide v1.1 + +commit 4648e4366afbb33141ab98a87bf97717059447b2 +Author: unknown +Date: Tue Oct 2 02:52:01 2018 +0800 + + update developer guide: filter command + +commit cbd0583c15619f98305a074f121dd01fe5031bba +Author: unknown +Date: Tue Oct 2 02:36:22 2018 +0800 + + adhere to CheckStyle coding standards + +commit 26345d3c0fe1571c6c2d8b1ab813a02bad71a40b +Author: weiqing-nic +Date: Tue Oct 2 02:32:07 2018 +0800 + + Edit Developer Guide + +commit c5e81b1c2d486017f4de3698e27729a924bcc7d3 +Author: unknown +Date: Tue Oct 2 02:17:51 2018 +0800 + + rename image: julianc269.png + +commit 56a7c9d56a9b9bd3c3b0e32ff2e2cd08cfab93fd +Author: unknown +Date: Tue Oct 2 02:17:25 2018 +0800 + + add FilterCommand + +commit a82d0a6177c16aee140f23ad68d784162ab84968 +Author: weiqing-nic +Date: Tue Oct 2 01:32:49 2018 +0800 + + Partial Complete code for Picture + +commit 310187e8fc6b1a4dd03d1a62c243d4c28211867e +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Oct 2 01:29:22 2018 +0800 + + edit to fit the guideline of checkstyle + +commit fc9b193339119c93907453d8ae52d9e69673ab1f +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 2 01:23:41 2018 +0800 + + Add new line to the bottom of WildcardSearch.java and NameContainsLettersPredicate.java + +commit 28783f577741f0a9ff5f9f08799ede5dca79e498 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Oct 2 01:22:18 2018 +0800 + + Create WildcardSearch.java and NameContainsLetterPredicate.java to implement WildcardSearch function. + +commit e141d71097d89780e2075f9182ddf73e73371947 +Author: Aadit Kamat +Date: Tue Oct 2 01:20:31 2018 +0800 + + Add transaction component to add command and its parser + + Signed-off-by: aaditkamat + +commit 240a9d01f4a4217dc3d13675fce9ac1efb6abeb3 +Author: Aadit Kamat +Date: Tue Oct 2 01:04:39 2018 +0800 + + Parse transaction details from command line arguments to add command + + Signed-off-by: aaditkamat + +commit 8976e6a438094bdc59cd4f6ef6ddab0c552970ba +Merge: ef92fb77 7561f935 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Oct 2 00:57:54 2018 +0800 + + Merge branch 'v1.1sy' of https://github.com/xiaoyeong/addressbook-level4 into v1.1sy + +commit ef92fb775b676c7910d28dc1f5064435c0942fd7 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Oct 2 00:54:10 2018 +0800 + + Revert "edit photo of xiaoyeong to fit the requirement" + + This reverts commit 6b38db041232089fc9ebf0082f6cb924643c3ae3. + +commit 7561f935d824ce39a2bdc2fb21d56ebe1f14a2e3 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Oct 2 00:54:10 2018 +0800 + + Revert "edit photo of xiaoyeong to fir the requirement" + + This reverts commit 6b38db041232089fc9ebf0082f6cb924643c3ae3. + +commit 6b38db041232089fc9ebf0082f6cb924643c3ae3 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Oct 2 00:50:21 2018 +0800 + + edit photo of xiaoyeong to fir the requirement + +commit 358ce83a6cc74f053cf186c09dce604f3d650494 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Oct 2 00:29:42 2018 +0800 + + add new command " AnalyticsCommand". + +commit afa2b9661804ca76cd2c35a2af5b79036c9f88b5 +Author: Aadit Kamat +Date: Tue Oct 2 00:23:02 2018 +0800 + + Implement transaction in debt tracker database + + Signed-off-by: aaditkamat + +commit 41e3fa1d010e599a400f149f789d4facdd17ad54 +Author: unknown +Date: Mon Oct 1 23:53:40 2018 +0800 + + remove image: julian.jpg + +commit 8499d08f3caa55b6978d1c5b7d5075291093570a +Merge: e0323ed7 acc422eb +Author: Julian Cheong <42330762+julianc269@users.noreply.github.com> +Date: Mon Oct 1 23:50:30 2018 +0800 + + Merge pull request #1 from CS2103-AY1819S1-W12-2/master + + update local repo + +commit 5f2031f8dacb7319aab249cfdf2679ba1bc035dc +Merge: 83699f1e acc422eb +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Mon Oct 1 22:40:27 2018 +0800 + + Merge pull request #1 from CS2103-AY1819S1-W12-2/master + + v1.1 + +commit acc422eb362457ece12ab830ecfeffb773a8a101 +Merge: c09fad1e acef09f5 +Author: Aadit Kamat +Date: Mon Oct 1 20:23:18 2018 +0800 + + Merge pull request #13 from weiqing-nic/master + + Add new lines + +commit acef09f54d41c4b3a69aa54132630a780e11db99 +Author: weiqing-nic +Date: Mon Oct 1 19:38:38 2018 +0800 + + Add new lines + +commit c09fad1eb2d0213b515a94e9de3cb6bddbac1417 +Merge: 7d3f733a f20cc1f8 +Author: Aadit Kamat +Date: Mon Oct 1 19:33:09 2018 +0800 + + Merge pull request #10 from aaditkamat/master + + Add API documentation for existing codebase + +commit 7d3f733aa05d15873947877d97ce46d4c95015a8 +Merge: 25c5bfea 22229393 +Author: Aadit Kamat +Date: Mon Oct 1 19:32:45 2018 +0800 + + Merge pull request #11 from Bellaaarh/Ysabella + + Add Ysabella's picture and information to AboutUs.adoc + +commit 22229393eea6510356168f352df00ccada035446 +Author: Aadit Kamat +Date: Mon Oct 1 19:32:16 2018 +0800 + + Rename image file + +commit b1bbeed558b50618ad664b8b6cc1306c9d7971bb +Merge: 72c7a26b 25c5bfea +Author: Aadit Kamat +Date: Mon Oct 1 19:27:51 2018 +0800 + + Merge branch 'master' into Ysabella + +commit 25c5bfeaf8abcc88b7bfcc0800b7e16aba28b855 +Merge: 7d8460e0 9f83f816 +Author: Aadit Kamat +Date: Mon Oct 1 19:25:20 2018 +0800 + + Merge pull request #12 from weiqing-nic/master + + Change UI picture on AboutUs to png and add github profile link + +commit 9f83f816e2e0e39392b6981a24ca8f6c89d1939e +Merge: 194cbb92 d4592a0a +Author: weiqing-nic +Date: Mon Oct 1 19:22:57 2018 +0800 + + Merge branch 'master' of https://github.com/weiqing-nic/debt-tracker + +commit 194cbb924c4bc74b23d1a4610175e6c72dde5b0f +Author: weiqing-nic +Date: Mon Oct 1 19:21:12 2018 +0800 + + Change email + +commit 9b6e405ca69eb44ae20d5393ab0286361f803ae6 +Author: weiqing-nic +Date: Mon Oct 1 19:16:53 2018 +0800 + + File Changes to ContactUs and remove Contact Us + +commit d4592a0a3375d6af6fadab86d780521efee42331 +Author: weiqing-nic +Date: Mon Oct 1 19:15:03 2018 +0800 + + File Changes to ContactUs and remove Contact Us + +commit 72c7a26b246ac4f56d6008f27f6227402c27c735 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Mon Oct 1 17:48:46 2018 +0800 + + Removed previous AboutUs.adoc that did not have newline at the end + +commit 9b7d3483ef2f033e6aaa755c60924d2c4af9dd56 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Mon Oct 1 17:45:09 2018 +0800 + + Update of AboutUs.adoc: Change Ysabella.png to bellaaarh.png + +commit 70d6553dbbdfb7623e5e4e094c68f28c599a0cd4 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Mon Oct 1 17:43:46 2018 +0800 + + Update name of Ysabella.png to bellaaarh.png + +commit a8934c0993c8d2a2631edbdb92e80d2802a582d0 +Merge: 0d7d86be 65b3173b +Author: DESKTOP-2HNCDPM\Ysabella +Date: Mon Oct 1 17:41:05 2018 +0800 + + Merge branch 'Ysabella' of https://github.com/Bellaaarh/addressbook-level4 into Ysabella + + # Conflicts: + # docs/AboutUs.adoc + +commit 0d7d86bee8e8af087e0fb58d14360c194c490c74 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Mon Oct 1 17:32:42 2018 +0800 + + Update in AboutUs.adoc from Ysabella.jpg to Ysabella.png + +commit 90dffac6bae5a346f1bf50ac7c4d77ac89e850d8 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Mon Oct 1 17:31:38 2018 +0800 + + Update Ysabella.jpg to Ysabella.png + +commit 22f860c1a7820c143121756ffe4c8cc691c40d76 +Author: weiqing-nic +Date: Mon Oct 1 13:24:47 2018 +0800 + + Change image extension + +commit acf62472e41b80652ae1c5a4ae8bcef1e15c10a9 +Author: weiqing-nic +Date: Mon Oct 1 13:18:20 2018 +0800 + + Change image to png + +commit 6c35a6073f2ae0f9f89092e75bd853e0a3c193f1 +Merge: 00d1181f 2796b18c +Author: weiqing-nic +Date: Mon Oct 1 13:14:25 2018 +0800 + + Merge branch 'master' of https://github.com/weiqing-nic/debt-tracker + +commit 00d1181fe6186bfb2854e7a7b84863f8b8231ce6 +Author: weiqing-nic +Date: Mon Oct 1 13:14:17 2018 +0800 + + Change the github link! + +commit 2796b18caf2a53650dcf1c1516551e7ff5bf0e3f +Author: weiqing-nic +Date: Mon Oct 1 13:13:49 2018 +0800 + + Change the document! + +commit 865b3897406826984cdbbe26b0fa372f58354041 +Author: weiqing-nic +Date: Mon Oct 1 13:05:42 2018 +0800 + + Merge branch 'CS2103-AY1819S1-W12-2-master' + +commit 2b4b001376641502a4d46f1e9b82513e5207cc60 +Merge: 70ee89f6 4819e6aa +Author: weiqing-nic +Date: Mon Oct 1 12:56:22 2018 +0800 + + Merge branch 'CS2103-AY1819S1-W12-2-master' + +commit 4819e6aac319f2fd22b0d6d7c6a5a3bb47d6e7a7 +Merge: 70ee89f6 7d8460e0 +Author: weiqing-nic +Date: Mon Oct 1 12:55:27 2018 +0800 + + Merge branch 'master' of https://github.com/CS2103-AY1819S1-W12-2/main into CS2103-AY1819S1-W12-2-master + +commit 65b3173b15516f000d5c68ffa59c88ca300d64b9 +Merge: c91912b3 7d8460e0 +Author: Bellaaarh <42434959+Bellaaarh@users.noreply.github.com> +Date: Mon Oct 1 10:20:24 2018 +0800 + + Merge branch 'master' into Ysabella + +commit c91912b37bbcc62a8b61b777c0718643f589282c +Author: DESKTOP-2HNCDPM\Ysabella +Date: Mon Oct 1 10:17:13 2018 +0800 + + Add Ysabella's picture and information to AboutUs.adoc + +commit f20cc1f8a05a2bb573657e9c13eeb2939056d96a +Author: Aadit Kamat +Date: Sat Sep 29 22:52:13 2018 +0800 + + Add newline at EOF for the js files + + Signed-off-by: Aadit + +commit c61f65b6f5ed99ff269f31a3f69e3c68b9f3587a +Author: Aadit Kamat +Date: Sat Sep 29 22:39:23 2018 +0800 + + Generate Javadoc for all the classes + + Signed-off-by: Aadit + +commit 7d8460e082dfff09bfebeeae5765d08ee9312590 +Merge: d266398b 305fedb1 +Author: Aadit Kamat +Date: Sat Sep 29 17:28:05 2018 +0800 + + Merge pull request #9 from aaditkamat/edit-readme + + Add images of team members and amend the docs + +commit 305fedb1d5aa4bf323abdd8947e17ffb58c6fbb3 +Author: Aadit Kamat +Date: Sat Sep 29 17:21:13 2018 +0800 + + AboutUs.adoc: Amend the about us section + + Signed-off-by: Aadit + +commit 98f696610eb586f14684e702faa11bc84e87b96e +Author: aaditkamat +Date: Wed Sep 19 10:39:27 2018 +0800 + + Re-edit the import statement order + +commit cc02378245325162c61cb231b6859b8fb22620bb +Author: Aadit Kamat +Date: Wed Sep 19 10:18:30 2018 +0800 + + Reorder static imports + + Signed-off-by: aaditkamat + +commit 70bc3c0723b5a971a46a3e49ade9c58c33b096ab +Author: Aadit Kamat +Date: Wed Sep 19 09:59:14 2018 +0800 + + Remove johndoe.adoc and make coding style changes + + Signed-off-by: aaditkamat + +commit e556847300e73ab7b364610e2cf06f629d957833 +Author: Aadit Kamat +Date: Tue Sep 18 23:32:05 2018 +0800 + + Remove xiaoyeong.jpg (extra image file) + + Signed-off-by: aaditkamat + +commit ac517ab6ae13dedb07f8467d38fd138b365d463b +Merge: 55dd2cdf 34abcea6 +Author: aaditkamat +Date: Tue Sep 18 23:30:43 2018 +0800 + + Merge remote-tracking branch 'origin/edit-readme' into edit-readme + + # Conflicts: + # docs/AboutUs.adoc + +commit 55dd2cdf7a886c0bea7a6113ebeb14dbefc5f097 +Author: Aadit Kamat +Date: Tue Sep 18 23:30:08 2018 +0800 + + Merge branch 'master' of github.com:cs2103-project-group/debt-tracker into edit-readme + + Signed-off-by: aaditkamat + + # Conflicts: + # docs/AboutUs.adoc + +commit 51438964da207aefa27de1dce37533b93e707df2 +Merge: 96470f5e d266398b +Author: Aadit Kamat +Date: Tue Sep 18 23:29:26 2018 +0800 + + Merge branch 'master' of github.com:cs2103-project-group/debt-tracker into edit-readme + + Signed-off-by: aaditkamat + + # Conflicts: + # docs/AboutUs.adoc + +commit 34abcea6d952009fa898f73f93f9805b39b7da97 +Merge: 96470f5e d266398b +Author: Aadit Kamat +Date: Tue Sep 18 23:19:00 2018 +0800 + + Merge branch 'master' into edit-readme + +commit d266398be94cfbf894e85e8bf5ddd5b8213ac408 +Merge: f510b75c 666f01cb +Author: Aadit Kamat +Date: Tue Sep 18 23:15:38 2018 +0800 + + Merge pull request #4 from xiaoyeong/LouShawYeong + + Edit the file base on the requirements of the weekly LO + +commit 666f01cb54051753e78bde22ca9aec1ea2b618e3 +Merge: 5a330417 f510b75c +Author: Aadit Kamat +Date: Tue Sep 18 23:08:49 2018 +0800 + + Merge branch 'master' into LouShawYeong + +commit 5a330417d7b595b42627b2cd94b1fa97c1d42b95 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Sep 18 23:06:59 2018 +0800 + + edit changes request by aadit + +commit f510b75c864d2140d8e7ea1fc28824c35f7d255f +Merge: e0c08e03 e0323ed7 +Author: Aadit Kamat +Date: Tue Sep 18 23:06:26 2018 +0800 + + Merge pull request #8 from julianc269/master + + Add Contact, Image and Command Aliases + +commit a9244f09fea4d27d2ea5814fab1ab0b6e7c78b48 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Sep 18 23:05:26 2018 +0800 + + Revert "edit to User Guide" + + This reverts commit 18319ae79faf41b349169356b2134fa568e2e456. + +commit d8e217391e2e291feac2834ec379a3ce293c98ae +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Sep 18 23:04:56 2018 +0800 + + Revert "edit Development guide" + + This reverts commit c14f67d21f50594eac73e3122b3f9c3f328a1651. + +commit 35e7cf4f184d5fbdd789f9be6a00c17dccb7f435 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Sep 18 23:04:29 2018 +0800 + + Revert "Revert "edit AboutUs"" + + This reverts commit 0396b9655bc7249af439d936876b3bbe5fb03e60. + +commit 0396b9655bc7249af439d936876b3bbe5fb03e60 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Sep 18 23:03:50 2018 +0800 + + Revert "edit AboutUs" + + This reverts commit 82ec932350a9596141fc156753a545e2a7d96f87. + +commit 96470f5e35192a5450fac8d7a805c05736d1a7d4 +Author: Aadit Kamat +Date: Tue Sep 18 23:00:42 2018 +0800 + + Amend the docs + + Signed-off-by: aaditkamat + +commit 29e67c15248ab949d2aa6fd3332754bec1960f4c +Merge: e10284ab e0c08e03 +Author: Aadit Kamat +Date: Tue Sep 18 22:54:53 2018 +0800 + + Add images for docs and edit docs as per LO requirements + + Signed-off-by: aaditkamat + +commit e0323ed755f3aeb40584b7fd7515a091597a6832 +Merge: beea1ab8 e0c08e03 +Author: Julian Cheong <42330762+julianc269@users.noreply.github.com> +Date: Tue Sep 18 22:16:15 2018 +0800 + + Merge branch 'master' into master + +commit 70ee89f6de146c455428f8ea8a0492e27b3f1945 +Merge: bac66922 6aa375c4 +Author: weiqing-nic +Date: Tue Sep 18 22:11:30 2018 +0800 + + Merge branch 'master' of https://github.com/weiqing-nic/debt-tracker + +commit bac66922d5e42343a5ba78dcf7103a13e2f4b5c9 +Author: weiqing-nic +Date: Tue Sep 18 22:11:27 2018 +0800 + + Merge branch 'master' of https://github.com/weiqing-nic/debt-tracker + +commit 6aa375c49b13b22e3a3391babf3717e7370fce9b +Merge: 0cc06f21 a99956ea +Author: weiqing-nic +Date: Tue Sep 18 22:10:35 2018 +0800 + + Merge branch 'master' of https://github.com/weiqing-nic/debt-tracker + +commit 0cc06f21594bc516f223636552347e350402d23d +Author: weiqing-nic +Date: Tue Sep 18 22:09:49 2018 +0800 + + Add contact + +commit a99956eaf458b9a887d1c49a3f9e8400477e9bf3 +Author: weiqing-nic +Date: Tue Sep 18 22:06:50 2018 +0800 + + Add contact + +commit 4fe020a665d3b6e4b74e76a0490e3d216d2c2de4 +Author: weiqing-nic +Date: Tue Sep 18 22:05:15 2018 +0800 + + Add contact + +commit e0c08e03219ce2a85830c361e0ccae47524b22cb +Merge: 57940f02 949171fb +Author: Aadit Kamat +Date: Tue Sep 18 21:58:03 2018 +0800 + + Merge pull request #7 from weiqing-nic/master + + Add Image! + +commit beea1ab8f8ea6089ba8a7200a6ad5be4221658c2 +Author: unknown +Date: Tue Sep 18 21:56:44 2018 +0800 + + Add command aliases + +commit c8026dbc280649e9de934074121edffd006bcc56 +Author: unknown +Date: Tue Sep 18 21:37:09 2018 +0800 + + Add team member image: julian.jpg + +commit 2e17e123e86966c7ca8326cbc9e479164801ca1a +Author: unknown +Date: Tue Sep 18 21:34:45 2018 +0800 + + Add Contact to ContactUs.adoc + +commit 949171fb31593408193f82840d06684f9001d2bc +Author: weiqing-nic +Date: Tue Sep 18 21:24:29 2018 +0800 + + Add image + +commit 085bc0210b36c995a66a053069685bd77d189c69 +Author: weiqing-nic +Date: Tue Sep 18 21:21:42 2018 +0800 + + Add contact Wei Qing + +commit cfb29c006667d5d1bdf095bf250f29d333761a53 +Merge: 9fbe8aa2 57940f02 +Author: weiqing-nic +Date: Tue Sep 18 21:18:10 2018 +0800 + + Merge branch 'master' of https://github.com/weiqing-nic/debt-tracker + +commit 9fbe8aa297ca827b3815e8e0b3d1b764cc614a63 +Author: weiqing-nic +Date: Tue Sep 18 21:17:58 2018 +0800 + + Merge pull request #1 from aaditkamat/edit-readme + + README.adoc: add second name to team members section in README + +commit 57940f020215568280414d2ce27f9589d9da9bbd +Merge: b8468f7a 31b2762e +Author: Aadit Kamat +Date: Tue Sep 18 20:51:30 2018 +0800 + + Merge pull request #5 from Bellaaarh/Ysabella + + README.adoc update (except UI mockup) + +commit 31b2762ea3db2af71583c0da4c2f5db3a1be5f1a +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Sep 18 17:01:49 2018 +0800 + + Add docs/images/Ui.jpg + +commit e10284abba2130df623aee01fa63dedd3edda5b1 +Author: Aadit Kamat +Date: Tue Sep 18 16:40:56 2018 +0800 + + Remove codacy badge + + Signed-off-by: aaditkamat + +commit b8468f7ab2001ac1a2f0d572d736a72993351a2e +Merge: a294940e d3bfbc01 +Author: Aadit Kamat +Date: Tue Sep 18 16:29:59 2018 +0800 + + Merge pull request #3 from aaditkamat/edit-readme + + Add v1.0 User Guide and Developer Guide to project docs + +commit d3bfbc01ac1e5c7cdcd00e10d6ccb062889a873b +Author: Aadit Kamat +Date: Tue Sep 18 16:19:25 2018 +0800 + + Remove Lou Shaw Yeong.txt + + Signed-off-by: aaditkamat + +commit eb98af22726ad1b0279b14aef31c9bd9291263a3 +Author: DESKTOP-2HNCDPM\Ysabella +Date: Tue Sep 18 15:34:53 2018 +0800 + + README.adoc update (except UI mockup) + +commit c14f67d21f50594eac73e3122b3f9c3f328a1651 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Sep 18 15:29:27 2018 +0800 + + edit Development guide + +commit 18319ae79faf41b349169356b2134fa568e2e456 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Sep 18 15:23:09 2018 +0800 + + edit to User Guide + +commit 82ec932350a9596141fc156753a545e2a7d96f87 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Sep 18 15:05:54 2018 +0800 + + edit AboutUs + +commit a9920b90f3519fb407ab2c2eb8b1511c7f3f7477 +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Sep 18 15:02:29 2018 +0800 + + add image of team member Lou Shaw Yeong + add the contact information of Lou Shaw Yeong + +commit 5d42ebc0d2396551b96b92f769114ac8482faca3 +Author: Aadit Kamat +Date: Tue Sep 18 01:22:15 2018 +0800 + + Add v1.0 User Guide and Developer Guide to project docs + + Signed-off-by: aaditkamat + +commit a294940ec303c4472d548bab5dfd6e43af4eafa1 +Merge: 7f3b6b38 fb8eaa28 +Author: Aadit Kamat +Date: Wed Sep 12 11:35:09 2018 +0800 + + Merge pull request #1 from aaditkamat/edit-readme + + README.adoc: add second name to team members section in README + +commit fb8eaa283acd15e85b76015a868c2bf9f18c1581 +Merge: 6b5ab753 7f3b6b38 +Author: Aadit Kamat +Date: Wed Sep 12 11:33:53 2018 +0800 + + Merge branch 'master' of github.com:cs2103-project-group/debt-tracker into edit-readme + + Signed-off-by: aaditkamat + + # Conflicts: + # README.adoc + +commit 7f3b6b381efc4dd92557970257f39b57a9d0ca75 +Merge: 5383298a 88707da1 +Author: Aadit Kamat +Date: Wed Sep 12 11:20:23 2018 +0800 + + Merge pull request #2 from xiaoyeong/LouShawYeong + + Add team member name to README + +commit 88707da1da1d9a00176de0f38c3635fac9eed43c +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Wed Sep 12 00:22:29 2018 +0800 + + Add new line in README.adoc + +commit 6b5ab75305df0647a8fd628a4992d6b88fc13ce2 +Author: Aadit Kamat +Date: Wed Sep 12 00:07:48 2018 +0800 + + Add name to team members section in README + + Signed-off-by: aaditkamat + +commit 5383298a0ba19243fabb28e5621a6ba4c604b43c +Author: Jun An +Date: Sat Sep 8 05:23:50 2018 +0800 + + DeveloperGuide: update "Setting up" section + + Due to an ongoing issue[1] with some of the newer versions of IntelliJ, + the IDE may report code errors for JAXB or JavaFx APIs depending on the + Intellij Edition being used, although the code can be build and run + successfully since we have already imported the dependencies through + gradle. + + This may cause confusion amongst users. + + Let's update the "Setting up" section to address this issue, and how + to resolve it. + + [1]: https://youtrack.jetbrains.com/issue/IDEA-189060 + +commit 0d9c9e02e895e2b6bc1320a579b9e0300e60eb1c +Author: Lou Shaw Yeong <39236896+xiaoyeong@users.noreply.github.com> +Date: Tue Sep 11 17:29:50 2018 +0800 + + Add a file "Lou Shaw Yeong" + +commit 4bc8fdce4ccffdd3cb9bc8cf6a6fde86338e4db5 +Author: Paul Tan +Date: Sat Sep 8 00:49:05 2018 +0800 + + HelpWindowTest: fix bogus "focus on another stage" code + + When run in head-full mode, HelpWindowTest fails with the following + exception: + + seedu.address.ui.HelpWindowTest > focus_helpWindowNotFocused_focused FAILED + java.lang.AssertionError at HelpWindowTest.java:64 + + The line in question is from the following: + + assertFalse(helpWindow.getRoot().isFocused()); + + which comes right after: + + // Focus on another stage to remove focus from the helpWindow + FxToolkit.setupStage(Stage::requestFocus); + + However, despite what the comment claims, the call to + FxToolkit.setupStage(...) does not "focus on another stage". This is + because the Stage registered with TestFX is the HelpWindow stage itself. + In other words, we are just requesting the HelpWindow to focus itself, + which is the complete opposite of "removing focus from the helpWindow". + + This "focus on another stage" code was written in 1c6071fa + (HelpWindowTest: fix failing test in non-headless mode, 2018-04-16). At + that point in time, the stage registered with TestFX _was_ "another + stage"[1] and so the code was correct. However, in a42ededd (Fix + stalling HelpWindowTest, 2018-06-26) this was changed such that the + stage registered with TestFX is the HelpWindow stage itself. Yet, the + code was not modified to properly operate in the new world order[2]. + + Fix this piece of code by creating a temporary stage to focus on, so + that the goal of "removing focus from the helpWindow" is properly + achieved. + + [1]: Somewhat-ish. The full story can be found in a42ededd (Fix stalling + HelpWindowTest, 2018-06-26). + + [2]: And obviously, the author did not run tests in head-full mode :-S + +commit 83699f1e96c2a9392dafaf3196091bc7df96d645 +Author: Paul Tan +Date: Wed Aug 15 15:11:29 2018 +0800 + + checkstyle: add SingleSpaceSeparator + + Most of the code in our the code base only puts a single space between + non-whitespace characters, + + "Like " + "this." + + It is highly likely that there will not be a case where we will need to + put more than a single space between non-whitespace characters, + + "Like " + "this." + + To enforce consistency throughout the code base, let's add the + SingleSpaceSeparator module to our checkstyle configuration, and fix all + of the existing violations in our code base. + +commit 385809b3d4967bd0a225223f70a3ef3e77cbae3d +Author: Paul Tan +Date: Thu Aug 16 20:01:17 2018 +0800 + + AddCommandSystemTest: remove outdated comment + + The bug mentioned in the comment refers to this comment that was in + AddressBook.java: + + // TODO: the tags master list will be updated even though the below line fails. + // This can cause the tags master list to have additional tags that are not tagged to any person + // in the person list. + + which was added in 1eb8b138 (teach classes in Model to execute edit, + 2016-12-13). + + However, the bug was fixed in d51894a8 (AddressBook: remove master tag + list, 2018-03-29). + + So, this comment is not relevant any more. Let's remove it. + + No other changes will need to be done to the test case itself: any tag + will be suitable for this test case, since HOON himself does not have + any tags. + +commit 5fedf269242b3437cd87288abc8bce879bf71321 +Author: Paul Tan +Date: Wed Aug 15 21:32:33 2018 +0800 + + ModelManager: remove synchronization from methods + + Synchronized methods are only useful when multiple threads could access + the same object at the same time[1]. + + However, when our application is run, only the JavaFX application thread + should have access to the model. When running GUI tests, the main thread + (running the tests) and the JavaFX application thread will both have + access to the model, but the synchronization implemented internally in + TestFX should ensure that only one thread accesses the model at any + given time. + + As such, the model does not require synchronization. If any of the above + conditions do not hold, it is a bug and should be fixed directly, not + papered over by adding locks. Depending on the JVM's implementation + details and whether is having a good or bad day, such careless use of + synchronization could lead to a performance penalty[2]. + + So, let's remove the synchronization from ModelManager's methods, and + remove the synchronization requirement from its javadoc. + + [1]: But even then, they're not a silver bullet. + [2]: https://stackoverflow.com/a/8524882 + +commit 618e597ff145ff6881d0ebaa7944b0bb7a63c9df +Merge: d96c9451 d655a2eb +Author: Paul Tan +Date: Wed Aug 15 10:44:45 2018 +0800 + + [#856] Remove unnecessary uses of `this` (#903) + + [1/2] Remove unnecessary uses of `this` + [2/2] XmlAdaptedPerson#toModelType(): remove shadowing of fields + +commit d655a2eb64017e1148c24bc583048f687615f6dd +Author: Paul Tan +Date: Tue Aug 14 22:28:23 2018 +0800 + + XmlAdaptedPerson#toModelType(): remove shadowing of fields + + The method body references the fields of XmlAdaptedPerson (`name`, + `phone`, etc.), but also shadows them later on by declaring local + variables with the same name. + + Such mixing of instance fields and local variables within the same + method is out of the ordinary in the code base, and can be accidentally + mis-read if the reader is not paying attention. + + Let's take the path of least surprise by renaming the local variables + such that they do not shadow XmlAdaptedPerson's fields. + +commit 4e0d182148877c022f734a172fb44e8bcba5b75c +Author: Paul Tan +Date: Tue Aug 14 19:34:13 2018 +0800 + + Remove unnecessary uses of `this` + + According to our Java coding standard[1], we should only use the `this` + keyword when the field is shadowed by a method or constructor parameter. + + So, let's remove all unnecessary uses of `this` from our code base. + + [1] https://oss-generic.github.io/process/codingStandards/CodingStandard-Java.html + +commit d96c9451e26e23a6066788a6e222b8561f28d4ca +Merge: 407a283e c3a54065 +Author: Tan Wang Leng +Date: Tue Aug 14 09:35:51 2018 +0800 + + [#829] Update TestUtil to use filteredList (#900) + + Methods in TestUtil such as getMidIndex(Model), getLastIndex(Model) + and getPerson(Model, Index) return the index and person based on the + entire address book instead of the model's filtered list. + + When tests require a filtered list, we will get the incorrect person + or index upon calling these methods in TestUtil. + + Let's update these methods in TestUtil to return values from the + model's filtered list. + +commit c3a54065e06a6ac6d044e90844497ec0d9f28121 +Author: LiXiaowei +Date: Mon Aug 13 23:37:11 2018 +0800 + + Update SelectCommandSystemTest to use methods from TestUtil + +commit 9fbc8c49924791696b954ee15bf833061a5d18aa +Author: LiXiaowei +Date: Mon Aug 13 23:36:53 2018 +0800 + + Update TestUtil to use filteredList + + Methods in TestUtil such as getMidIndex(Model), getLastIndex(Model) + and getPerson(Model, Index) return the index and person based on the + entire address book instead of the model's filtered list. + + When tests require a filtered list, we will get the incorrect person + or index upon calling these methods in TestUtil. + + Let's update these methods in TestUtil to return values from the + model's filtered list. + +commit 407a283e1e93b4749bd11b6168f056028a361136 +Author: Paul Tan +Date: Mon Aug 13 20:22:47 2018 +0800 + + XmlSerializableAddressBook: check for duplicate person(s) + + When the address book XML file happens to contain duplicate person(s), + XmlSerializableAddressBook#toModelType() will throw an unchecked + DuplicatePersonException instead of the checked IllegalValueException + which it promises to throw. + + This is because XmlSerializableAddressBook#toModelType() relied on + AddressBook#addPerson(Person) throwing DuplicatePersonException when a + duplicate person is encountered. Since DuplicatePersonException + inherited from DuplicateDataException, which in turn inherited from + IllegalValueException, this gave rise to the expected behavior. + + However, 6817bd35 (model: make DuplicatePersonException a + RuntimeException, 2018-08-07) made DuplicatePersonException inherit from + RuntimeException. Since this commit, all callers of + AddressBook#addPerson(Person) are expected to perform the duplicate + person check using AddressBook#hasPerson(Person). Yet, + XmlSerializableAddressBook#toModelType() was not updated. + + Fix this by teaching XmlSerializableAddressBook#toModelType() to + explicitly check for duplicate persons using + AddressBook#hasPerson(Person). Add a test to prevent future regressions. + +commit 8a474ab849ab3e28b1f252dc1b8b11846770ff2f +Merge: a2fe5658 d5ab4fd1 +Author: Paul Tan +Date: Mon Aug 13 21:44:35 2018 +0800 + + Combine Command#setData(...) and Command#execute() together (#898) + + Ensure that all command tests verify their model state and command + history. + + Our commands forgot that their bound model and commandHistory are part + of their state, and did not check them in their `#equals(...)` + implementations. Combine Command#setData(...) and Command#execute() + together to fix this, and allow us to streamline our command testing + code by removing all of the `prepareCommand(...)` helper methods. + + [1/5] SelectCommandTest: verify model state as well + [2/5] FindCommandTest: verify entire model state + [3/5] HelpCommandTest: verify model state as well + [4/5] Command tests: verify CommandHistory as well + [5/5] Command: combine setData(...) and execute() together + +commit d5ab4fd18d9461736d3a34031cbf334080bf9414 +Author: Paul Tan +Date: Wed Aug 8 18:44:59 2018 +0800 + + Command: combine setData(...) and execute() together + + To execute a command, (e.g. AddCommand), we need to + + 1. Construct it: + + AddCommand addCommand = new AddCommand(person); + + 2. Bind the model and command history to it: + + addCommand.setData(model, commandHistory); + + 3. And then execute it: + + addCommand.execute(); + + However, there is no reason why step (2) and step (3) must be separate, + when it could just be: + + addCommand.execute(model, commandHistory); + + In fact, it causes more trouble: + + * Since the model and commandHistory are stored as protected fields in + the Command base class, many commands forget to handle them + appropriately. For example, all commands don't consider the model + and commandHistory in their `#equals(...)` methods, even though + these fields are part of their state. + + * Many command tests need to introduce a helper `prepareCommand(...)` + method to streamline the command "setData and execute" process. + + So, let's fix this by combining Command#setData(...) and + Command#execute() together. We can then simplify all the command tests + by removing their `prepareCommand(...)` helper methods. + +commit e41c8001e0ff4248a8b87b9a2466290e2027d251 +Author: Paul Tan +Date: Wed Aug 8 18:53:34 2018 +0800 + + Command tests: verify CommandHistory as well + + When executing a command, LogicManager will pass its CommandHistory to + the command being executed. + + While commands can examine the CommandHistory, they should not modify + it. However, our command tests (in `seedu.address.logic.commands`) do + not verify the CommandHistory at all. + + Let's teach them to verify the CommandHistory. This is done by teaching + CommandTestUtil.assertCommandSuccess(...) and + CommandTestUtil.assertCommandFailure(...) to verify that the + CommandHistory is not modified. + + We also need to implement CommandHistory#equals(Object), otherwise + assertEquals(...) will not work with it. + +commit 1971ea7a8e0149ccdf8f3eefe0c51fee556d5d86 +Author: Paul Tan +Date: Wed Aug 8 23:12:30 2018 +0800 + + HelpCommandTest: verify model state as well + + When executed, HelpCommand should: + + (1) Raise a ShowHelpRequestEvent, and + + (2) Not modify the model at all. + + HelpCommandTest verifies (1), but does not verify (2). + + Given that in the actual application, LogicManager will pass the Model + to HelpCommand, we should verify that HelpCommand behaves as expected + and does not modify the model. + + As such, let's make HelpCommandTest verify the model state as well. This + is done by rewriting it to use + `CommandTestUtil.assertCommandSuccess(...)`, for consistency with the + other command tests. + +commit 2595aa50cf70fbe0df744649373dbe66f45497fe +Author: Paul Tan +Date: Wed Aug 8 23:05:20 2018 +0800 + + FindCommandTest: verify entire model state + + FindCommandTest only verifies some parts of the model state, namely the + contents of `model.getAddressBook()` and + `model.getFilteredPersonList()`. + + However, the Model contains much more than that -- it also encapsulates + the address book history, for example. The Model may also grow to store + other pieces of data in the future. We need to ensure that FindCommand + does not needlessly meddle with the other data stored in the model. + + As such, let's make FindCommandTest verify the entire model state. + This is done by rewriting it to use + `CommandTestUtil.assertCommandSuccess(...)`, to make it consistent with + the other command tests. + +commit c109251efd98fd5315c3bf4514b07a91ff360bc4 +Author: Paul Tan +Date: Wed Aug 8 22:43:28 2018 +0800 + + SelectCommandTest: verify model state as well + + SelectCommand, when executed, should: + + (1) Raise a JumpToListRequestEvent (if the provided selection index is + valid), and + + (2) Not modify the model at all. + + SelectCommandTest verifies (1), but does not verify (2). + + Given that in the actual application, LogicManager will pass the Model + to SelectCommand, we should verify that SelectCommand behaves as + expected and does not modify the model. + + As such, let's make SelectCommandTest verify the model state as well. + This is done by rewriting it to use + `CommandTestUtil.assertCommandSuccess(...)` and + `CommandTestUtil.assertCommandFailure(...)`, for consistency with the + other command tests. + +commit a2fe565873d9225f24bb5f7b2e7f7c8970b9f3c4 +Author: Paul Tan +Date: Thu Aug 9 00:23:13 2018 +0800 + + UserPrefs: remove addressBookName + + It is not used in our application at all. + +commit db126b99092d533ee7424a2001de0836f00619b0 +Merge: c9b222cb b2875e00 +Author: Paul Tan +Date: Thu Aug 9 17:58:52 2018 +0800 + + model: convert checked exceptions to runtime exceptions (#896) + + DuplicatePersonException and PersonNotFoundException are checked + exceptions. They are thrown by methods to signify that their relevant + preconditions were violated. + + Using checked exceptions for such a purpose is slightly useful in that + it will force callers to handle the case where the above preconditions + are not met, such as when the methods are called with invalid user + input. + + However, it imposes a HUGE cost on callers where the preconditions are + already known to be met (e.g. in test code, or when the user input has + already been validated before hand). In such a case, callers are forced + to add try-catch blocks around the method call even if they know that + the exception will never be thrown, bloating up the code. It is also + impossible to test the catch blocks as well since correct code will + ensure that the precondition holds and thus the exception will never be + thrown, leading to reduced code coverage. + + Checked exceptions also don't work very well with the Java Streams API, + since the API doesn't accept lambdas which could throw checked + exceptions. + + In AB-4, the amount of code which benefits from DuplicatePersonException + and PersonNotFoundException being checked exceptions is much smaller + than the amount of code which is negatively impacted. + + As such, let's make the tradeoff in the other direction, by making + DuplicatePersonException and PersonNotFoundException runtime exceptions. + New callers _could_ forget to check that the preconditions hold before + calling the methods in question (although test cases should catch that), + but this is balanced out by the huge benefit of having more concise and + testable code. + + [1/11] Remove redundant throws clauses + [2/11] model: expose hasPerson(Person) functionality + [3/11] AddCommand: explicitly perform duplicate person check + [4/11] EditCommand: explicitly perform duplicate person check + [5/11] model: make DuplicatePersonException a RuntimeException + [6/11] model: make PersonNotFoundException a RuntimeException + [7/11] AddressBookSystemTest: remove unnecessary catch block + [8/11] commons: remove DuplicateDataException + [9/11] UniquePersonList: check for null arguments more thoroughly + [10/11] UniquePersonListTest: move to `seedu.address.model.person` package + [11/11] UniquePersonListTest: add some more tests + +commit b2875e000e2b97ca77402bd65e6269a1e6994b2e +Author: Paul Tan +Date: Wed Aug 8 16:19:10 2018 +0800 + + UniquePersonListTest: add some more tests + + More test coverage is always nice. + + In particular, we want to check that UniquePersonList's methods throw + DuplicatePersonException and PersonNotFoundException where relevant. + These cases were not tested by existing test code. + +commit 8e370e418958244d8a842b32161762d545f401e7 +Author: Paul Tan +Date: Thu Aug 9 14:23:49 2018 +0800 + + UniquePersonListTest: move to `seedu.address.model.person` package + + Since UniquePersonList is in the `seedu.address.model.person` package, + its corresponding test UniquePersonListTest should be in the same + package as well. + +commit e7473900c12426764aebbc582f2ecebb247a6b89 +Author: Paul Tan +Date: Wed Aug 8 16:29:36 2018 +0800 + + UniquePersonList: check for null arguments more thoroughly + + Some methods do not explicitly check that their arguments are non-null + with `requireNonNull(...)`. + + Let's fix them to be consistent with the rest of the code base. + +commit bc1b0686b21ab8ad3a511b154bd634ee056daef1 +Author: Paul Tan +Date: Tue Aug 7 23:26:28 2018 +0800 + + commons: remove DuplicateDataException + + It is not used anymore. + +commit 1c39319fe333c53037f0f03d37b8693a41e905fb +Author: Paul Tan +Date: Tue Aug 7 23:14:34 2018 +0800 + + AddressBookSystemTest: remove unnecessary catch block + + The code in the `try` block does not throw any checked exceptions. + +commit 73693de3a3ada76e08fe72922c15edbaf415e15d +Author: Paul Tan +Date: Tue Aug 7 23:11:14 2018 +0800 + + model: make PersonNotFoundException a RuntimeException + + PersonNotFoundException is a checked exception. It is thrown by methods + such as `UniquePersonList#remove(Person)`, + `UniquePersonList#setPerson(Person, Person)` etc. to signify that + certain preconditions were not met -- namely that the person provided to + those methods does not exist in the address book/UniquePersonList. + + Using checked exceptions for such a purpose is slightly useful in that + it will force callers to handle the case where the above preconditions + are not met, such as when the methods are called with invalid user + input. + + However, it imposes a HUGE cost on callers where the preconditions are + already known to be met (e.g. in test code, or when the user input has + already been validated before hand). In such a case, callers are forced + to add try-catch blocks around the method call even if they know that + the exception will never be thrown, bloating up the code. It is also + impossible to test the catch blocks as well since correct code will + ensure that the precondition holds and thus the exception will never be + thrown, leading to reduced code coverage. + + Checked exceptions also don't work very well with the Java Streams API, + since the API doesn't accept lambdas which could throw checked + exceptions. + + In AB-4, the amount of code which benefits from PersonNotFoundException + being a checked exception is much smaller than the amount of code which + is negatively impacted. + + As such, let's make the tradeoff in the other direction, by making + PersonNotFoundException a RuntimeException. New callers _could_ forget + to check that the preconditions hold before calling the methods in + question (although test cases should catch that), but this is balanced + out by the huge benefit of having more concise and testable code. + +commit 6817bd359355bc3c1fbee1f75b51de60afc4c97e +Author: Paul Tan +Date: Tue Aug 7 22:24:17 2018 +0800 + + model: make DuplicatePersonException a RuntimeException + + DuplicatePersonException is a checked exception. It is thrown by methods + such as `UniquePersonList#add(Person)`, + `UniquePersonList#setPerson(Person, Person)` etc. to signify that + certain preconditions were not met -- namely that the operation would + cause the "no duplicate persons in address book/UniquePersonList" + constraint to be violated. + + Using checked exceptions for such a purpose is slightly useful in that + it will force callers to handle the case where the above preconditions + are not met, such as when the methods are called with invalid user + input. + + However, it imposes a HUGE cost on callers where the preconditions are + already known to be met (e.g. in test code, or when the user input has + already been validated before hand). In such a case, callers are forced + to add try-catch blocks around the method call even if they know that + the exception will never be thrown, bloating up the code. It is also + impossible to test the catch blocks as well since correct code will + ensure that the precondition holds and thus the exception will never be + thrown, leading to reduced code coverage. + + Checked exceptions also don't work very well with the Java Streams API, + since the API doesn't accept lambdas which could throw checked + exceptions. + + In AB-4, the amount of code which benefits from + DuplicatePersonException being a checked exception is much smaller than + the amount of code which is negatively impacted. + + As such, let's make the tradeoff in the other direction, by making + DuplicatePersonException a RuntimeException. New callers _could_ forget + to check that the preconditions hold before calling the methods in + question (although test cases should catch that), but this is balanced + out by the huge benefit of having more concise and testable code. + +commit e66d31c483a0fcaeb953287e2af56962284c2841 +Author: Paul Tan +Date: Tue Aug 7 22:57:18 2018 +0800 + + EditCommand: explicitly perform duplicate person check + + In the next few commits, we will convert DuplicatePersonException into a + runtime exception. + + In preparation for that, let's teach EditCommand to not depend on + catching DuplicatePersonException for its control flow. + + Since DuplicatePersonException is still a checked exception, we need to + add an ugly `throw new AssertionError("should not happen")`, but this + will be removed in later commits once we convert + DuplicatePersonException into a runtime exception. + +commit 5e14e423d39aba11f5ccf5697e30ffa3c72823ca +Author: Paul Tan +Date: Tue Aug 7 22:39:15 2018 +0800 + + AddCommand: explicitly perform duplicate person check + + In the next few commits, we will convert DuplicatePersonException into a + runtime exception. + + In preparation for that, let's teach AddCommand to not depend on + catching DuplicatePersonException for its control flow. + + Since DuplicatePersonException is still a checked exception, we need to + add an ugly `throw new AssertionError("should not happen")`, but this + will be removed in later commits once we convert + DuplicatePersonException into a runtime exception. + +commit ac42c32ff5c7eb604a751dc35964eb7388bf8bb4 +Author: Paul Tan +Date: Mon Aug 6 18:57:26 2018 +0800 + + model: expose hasPerson(Person) functionality + + In the next few commits, we are going to be converting + DuplicatePersonException and PersonNotFoundException into runtime + exceptions. + + To do that, we need to be able to query the model to determine if a + person exists in the address book. + + This functionality is already available in + `UniquePersonList#contains(Person)`, but was simply not exposed. Let's + expose it. + +commit 000dbd1645d4c193088a2f94429642fca5c1e203 +Author: Paul Tan +Date: Wed Aug 8 17:12:26 2018 +0800 + + Remove redundant throws clauses + + These redundant throws clauses were identified using IntelliJ's + Analyze->Inspect Code feature, and analyzing the whole project. + +commit c9b222cb2870b23760122cadb82248769442fa96 +Author: Zhi Yuan Yong +Date: Wed Aug 8 21:30:55 2018 +0800 + + ClearCommandTest: fix tautological tests + + Tests in ClearCommandTest always pass because the actual and expected + model refer to the same instance; + `assertEquals(expectedModel, actualModel)` is always true because + expectedModel and actualModel reference the same object. + + As a result, the model's state isn't correctly verified. + + Let's update these tests to correctly verify the model's state. + +commit 6ae95915822de14c87e2c2cb672a902f6a14b53c +Author: Paul Tan +Date: Tue Jul 10 22:28:01 2018 +0800 + + ParserUtil: remove `Optional` variants of parse methods + + As the comment[1] at the top of ParserUtil says, methods that take + `Optional` as a parameter are bad. + + So, let's remove them. + + (It could be argued that leaving these methods in the code base could + serve as an example for students of what not to do, but really, (1) the + number of things that are forbidden under "best practice" is quite + numerous, and trying to add an example of every single one of them in + our code base would just lead to an annoyingly smelly code base, and (2) + students will need to spend time cleaning up all of these negative + examples, which is an unnecessary burden. These things would be better + documented in style guides.) + + [1] Comment added in 84d6516f ([#557] ParserUtil: Update header comments + on Optional usage (#558), 2017-07-18) + +commit e186102b646d2307b53928142dd22932a6f4c86d +Author: Paul Tan +Date: Mon Aug 6 19:16:42 2018 +0800 + + Replace uses of `org.junit.Assert.fail` with `throw new AssertionError(...)` + + The source code of `org.junit.Assert.fail(String)` is[1]: + + public static void fail(String message) { + if (message == null) { + throw new AssertionError(); + } + throw new AssertionError(message); + } + + where `AssertionError` is our favorite `java.lang.AssertionError`. + + In other words, calling `fail(String)` is no different from writing + `throw new AssertionError(...)`. + + The latter has a further benefit, though -- it informs the Java compiler + that the code path terminates at that point. This is useful when we are + inside a function that has a non-void return type -- if we used + `fail(String)`, we will still need to `return` a dummy value at the end + to satisfy the compiler, whereas if we used + `throw new AssertionError(...)` we do not need to do that. + + So, let's use `throw new AssertionError(...)` consistently throughout + the code base. + + [1] https://github.com/junit-team/junit4/blob/02c328028b4d32c15bbf0becc9838e54ecbafcbf/src/main/java/org/junit/Assert.java#L85-L90 + +commit 9bc3b33ea8e2b7bab786a159fc64935326ba97a5 +Merge: 6632b4e3 69728c1f +Author: Paul Tan +Date: Mon Aug 6 23:28:50 2018 +0800 + + parsers: throw ParseException consistently (#893) + + Some parsers in the `parsers` package throw ParseException on a parse + error, others throw IllegalValueException. + + Given that they are *all* parsers, let's make them all throw + ParseException for consistency. + + [1/4] ParserUtil methods: throw ParseExceptions on invalid input + [2/4] parsers: remove unnecessary catch-throws of ParseExceptions + [3/4] Remove use of `junit.framework` package + [4/4] Use chained exceptions consistently throughout the code base + +commit 69728c1f2531e96265a04d79a33168abd3cb586e +Author: Paul Tan +Date: Mon Aug 6 18:20:04 2018 +0800 + + Use chained exceptions consistently throughout the code base + + In some places of our code, we respond to an exception by throwing + another exception. + + In such a situation, it is good practice to _chain_ the exceptions by + passing the initial exception as a `cause` to the next exception. This + is because it provides more information to higher-level exception + handlers, allowing them to e.g. provide more meaningful stack traces + that show how the exception is handled and transformed as it is + propagated through the call stack. + + However, certain places in our code base do not use exception chaining + when they could. These were discovered by grepping the code base for + `\bthrow\b` and seeing if any of the thrown exceptions fit the criteria + described above. + + Let's fix them to use chained exceptions. + + See https://docs.oracle.com/javase/tutorial/essential/exceptions/chained.html + for more information on chained exceptions. + +commit d7b3f1cc02bf1cda215891964f254925fb543c3a +Author: Paul Tan +Date: Mon Aug 6 21:29:10 2018 +0800 + + Remove use of `junit.framework` package + + There are certain places in our code base where we use classes from the + `junit.framework` package. + + The `junit.framework` package exists for backwards-compatibility with + JUnit 3[1]. We are not a legacy code base stuck on JUnit 3, thus we + should use the JUnit 4 API. + + Replace uses of the `junit.framework` package with the JUnit 4 API + equivalents, namely: + + * Rather than using `junit.framework.TestCase.assertNotNull`, use the + JUnit 4 API's `org.junit.Assert.assertNotNull`[2]. + + * Rather than using `junit.framework.AssertionFailedError`, use + `java.lang.AssertionError` instead, since that is what is thrown by + the JUnit 4 API on assertion failures. + + [1] From the package-info.java of `junit.framework` at + https://github.com/junit-team/junit4/blob/02c328028b4d32c15bbf0becc9838e54ecbafcbf/src/main/java/junit/framework/package-info.java#L2 + + "Provides JUnit v3.x core classes" + + [2] https://stackoverflow.com/a/291074 + + "JUnit 3.X: junit.framework.Assert + + JUnit 4.X: org.junit.Assert + + Prefer the newest one, especially when running JDK5 and higher with + annotation support." + +commit c348aa9690128c11f0f169760cb2b574e611a5bc +Author: Paul Tan +Date: Tue Jul 10 22:20:31 2018 +0800 + + parsers: remove unnecessary catch-throws of ParseExceptions + + These try-catch blocks simply catch the ParseException, and then throw a + new ParseException with the exact same message and the caught + ParseException as its cause. + + This catch-throwing of ParseExceptions does not add any value, so let's + remove them. This has the side benefit of removing one level of + indentation from the code. + +commit 2ae8dddb4dd051843dc38fd144953a2f9bc24322 +Author: Paul Tan +Date: Tue Jul 10 22:10:39 2018 +0800 + + ParserUtil methods: throw ParseExceptions on invalid input + + Given that ParserUtil#parseName(String), ParserUtil#parsePhone(String) + etc are, as their name implies, *parsers*, it would thus make more sense + for them to be throwing `ParseException` on a parse failure, rather than + the more generically-named `IllegalValueException`. + +commit 6632b4e3f81b75dfc8808481adc79aa082abf695 +Author: Paul Tan +Date: Tue Jul 10 22:07:29 2018 +0800 + + ParserUtil: remove unused field MESSAGE_INSUFFICIENT_PARTS + +commit b410fcafaeb5c76772da30bfb86c350acb5ee2e8 +Author: Paul Tan +Date: Sat Jul 28 12:50:29 2018 +0800 + + .gitattributes: treat all *.pdf files as binary + + Some students may wish to commit PDF files into their downstream repos. + + The PDF file format[1] is _mostly_ text-like. As such, it is likely that + the first 8000 bytes of any PDF file will _not_ contain a NUL byte, + leading Git to treat the PDF file as a text file[2]. + + In AddressBook-Level4, our Travis `run-checks` scripts requires all text + files, as determined by Git, to fulfill certain requirements such as + only having LF line endings and not having any trailing whitespace. + + However, PDF files, although usually determined by Git to be text files, + may not actually be _fully_ text. Particularly, PDF files may contain + embedded binary streams which contain arbitrary binary data. + + This arbitrary binary data can cause PDF files to fail our Travis + `run-checks` scripts. + + Given that PDFs _can_ contain binary data, it would thus make more sense + to treat the entire file as binary. This both allows them to pass our + `run-checks` scripts, as well as to prevent Git from giving + not-very-useful text diffs when the PDF files are modified. + + As such, let's tell Git to treat all *.pdf files as binary. + + [1] https://en.wikipedia.org/wiki/PDF#File_structure + [2] https://github.com/git/git/blob/ffc6fa0e396238de3a30623912980263b4f283ab/xdiff-interface.c#L201-L207 + +commit ac37d6e2ed08c693de17ecb7badb7be38e42f2fe +Merge: c47a1e39 73765025 +Author: Tan Wang Leng +Date: Wed Jul 25 20:04:22 2018 +0800 + + [#855] Refactor PersonBuilder constructor to use TypicalPersons as argument (#889) + + When creating a Person for testing, some tests specify almost all of + the fields of an existing TypicalPerson, with only a slight variation + in one or two fields. For example, the code below builds on top of + TypicalPerson#AMY with only changes to address and tags: + + toAdd = new PersonBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY) + .withEmail(VALID_EMAIL_AMY).withAddress(VALID_ADDRESS_BOB) + .withTags(VALID_TAG_FRIEND).build(); + + This is long-winded and unnecessary, as PersonBuilder allows us to start + from a ready-made Person, and modify as necessary. For example, the code + above can be refactored to: + + toAdd = new PersonBuilder(AMY).withAddress(VALID_ADDRESS_BOB).build(); + + Let's refactor the calls to PersonBuilder to make them more concise. + +commit 737650257dd96ff63737c6ad34e5b54f13ddda5d +Author: LiXiaoooowei +Date: Wed Jul 25 01:41:52 2018 +0800 + + Shorten calls to PersonBuilder + + When creating a Person for testing, some tests specify almost all of + the fields of an existing TypicalPerson, with only a slight variation + in one or two fields. For example, the code below builds on top of + TypicalPerson#AMY with only changes to address and tags: + + toAdd = new PersonBuilder().withName(VALID_NAME_AMY).withPhone(VALID_PHONE_AMY) + .withEmail(VALID_EMAIL_AMY).withAddress(VALID_ADDRESS_BOB).withTags(VALID_TAG_FRIEND) + .build(); + + This is long-winded and unnecessary, as PersonBuilder allows us to start + from a ready-made Person, and modify as necessary. For example, the code + above can be refactored to: + + toAdd = new PersonBuilder(AMY).withAddress(VALID_ADDRESS_BOB).build(); + + Let's refactor the calls to PersonBuilder to make them more concise. + +commit c47a1e394e2d3b3a3f1d06aac92ef248f9f23745 +Merge: a1b29c20 d9467665 +Author: Paul Tan +Date: Fri Jul 6 22:54:15 2018 +0800 + + Decouple UndoableCommand from ReadOnlyAddressBook (#861) + + The undo/redo mechanism uses an UndoRedoStack stored in the + LogicManager, which uses 2 stacks to store executed and undone + UndoableCommands. The UndoableCommands stores the previousAddressBook + state before execution, which is used to restore the AddressBook state + during an undo command. + + This results in unnecessary coupling between the UndoableCommand (within + the Logic Layer) and AddressBook (within the Model Layer). + + Let's add a new class, VersionedAddressBook which extends AddressBook + and shift the undo redo machanism from UndoRedoStack in LogicManager to + VersionedAddressBook in ModelManager. This VersionedAddressBook class + will use a list to keep track of the different versions of AddressBook + by maintaining a list of AddressBook States. + + Since VersionedAddressBook will store all the AddressBook states, + UndoableCommand will no longer need to store the + previousAddressBookState in itself. + + [1/5] System Tests: remove model verification checks + [2/5] Add VersionedAddressBook Class + [3/5] Remove UndoRedoStack class + [4/5] Remove UndoableCommand class + [5/5] DeveloperGuide: update section on UndoRedoStack to VersionedAddressBook + +commit d946766560e633e075335b5cfe055f5f49889b08 +Author: Jun An +Date: Thu Apr 19 19:06:07 2018 +0800 + + DeveloperGuide: update section on UndoRedoStack to VersionedAddressBook + + The app previously uses UndoRedoStack which stores the UndoableCommands + in LogicManager for the undo/redo mechanism. + + Since the undo/redo machanism has been shifted to VersionedAddressBook + which stores ReadOnlyAddressBook in a List, and has been moved to Model + layer instead, the sections on undo/redo feature, Logic and Model + component in DeveloperGuide is out of date. + + Also, commands that do not mutate the address book, such as + FindCommand and ListCommand, will no longer clear the redoable + address book states. This allows for redo commands to pass when we + undo commands and execute a non-mutating command afterwards. + + UndoableCommand has also been removed from the codebase as well. + + Let's update the out of date sections in the DeveloperGuide, such + as switching from UndoRedoStack to the updated VersionedAddressBook, + how the undo/redo mechanism works, and remove any reference + to UndoableCommand in DeveloperGuide. + +commit 8fb3f9af3829117dc4a8bc92974c85c54f67210f +Author: Jun An +Date: Thu Apr 19 19:04:53 2018 +0800 + + Remove UndoableCommand class + + UndoableCommand was previously used to undo and redo commands through + its UndoableCommand#undo() and UndoableCommand#redo() method + respectively. + + The undo/redo mechanism now uses an VersionedAddressBook which uses a + list to keep track of the AddressBook's history. As such there is no + longer a need for UndoableCommand class, and it should be removed for + code quality purposes. + + Let's remove UndoableCommand class and its corresponding tests, as + well as making all commands extend from Command class instead. + + Following this change, UndoableCommand#preprocessUndoableCommand() is + no longer called when it is required for commands such as DeleteCommand + and EditCommand. The intention of having + UndoableCommand#preprocessUndoableCommand() was to resolve an issue[1] + in our app. + + Since this issue is also resolved here by moving the undo/redo + mechanism from UndoRedoStack to VersionedAddressBook which tracks + AddressBook states instead of UndoableCommands, there is no longer a + need for a separate method to preprocess the commands. + + Let's inline DeleteCommand#preprocessUndoableCommand() into + DeleteCommand#execute() and EditCommand#preprocessUndoableCommand() + into EditCommand#execute(). + + [1] Issue with undo/redo and modifications to filtered lists: + https://github.com/se-edu/addressbook-level4/issues/737 + +commit 1975187184ee7be5e457d94902b11b2db776c7e0 +Author: Jun An +Date: Thu Apr 19 18:20:03 2018 +0800 + + Remove UndoRedoStack class + + The undo/redo mechanism previously uses UndoRedoStack which stores + UndoableCommands. + + Since the undo/redo mechanism has switched from using UndoRedoStack to + VersionedAddressBook, UndoRedoStack is no longer used. As such, it + should be removed for code quality purposes. + + Let's remove UndoRedoStack class and its corresponding tests. + +commit ece049f7a66b3f3b4a5a8a4e65b173e84464019d +Author: Jun An +Date: Mon Jun 11 13:42:43 2018 +0800 + + Add VersionedAddressBook Class + + The undo/redo mechanism uses an UndoRedoStack stored in the + LogicManager, which uses 2 stacks to store executed and undone + UndoableCommands. The UndoableCommands stores the previousAddressBook + state before execution, which is used to restore the AddressBook state + during an undo command. + + This results in unnecessary coupling between the UndoableCommand + (within the Logic Layer) and AddressBook (within the Model Layer). + + Let's add a new class, VersionedAddressBook which extends AddressBook + and shift the undo redo machanism from UndoRedoStack in LogicManager + to VersionedAddressBook in ModelManager. This VersionedAddressBook + class will use a list to keep track of the different versions of + AddressBook by maintaining a list of AddressBook States. + + Since VersionedAddressBook will store all the AddressBook states, + UndoableCommand will no longer need to store the + previousAddressBookState in itself. + +commit 8a80e587624262c0cef516cb35328b620626e5ef +Author: Jun An +Date: Sun Apr 22 15:32:30 2018 +0800 + + System Tests: remove model verification checks + + Whenever System Tests asserts if a command is executed correctly, + there will be a verification to check that the internal + components, such as the model, is correct. + + As System Tests are categorised as black box testing, it isn't + necessary to verify the internal components, such as the model. + + Let's remove model verification checks for System Tests. + +commit a1b29c20c825312a14ffe6b8242baee056cb5017 +Merge: 686ec9ac 047b2c07 +Author: Paul Tan +Date: Thu Jul 5 22:01:18 2018 +0800 + + Add se-edu branding + navigation bar to website (#888) + + We would like to give visitors easy access to the AddressBook-Level4 + documentation as well as other SE-EDU projects, in order to build a + cohesive SE-EDU brand image. + + Add two navigation bars to the top of the AddressBook-Level4 website -- + one SE-EDU navigation bar that links to other SE-EDU projects, and one + site navigation bar that provides easy access to AddressBook-Level4's + User Guide, Developer Guide etc. + + [1/12] build.gradle: asciidoctor: specify template_dirs + [2/12] docs/templates: import asciidoctor reference template + [3/12] docs/templates/helpers.rb: remove unused code + [4/12] docs/templates: remind devs to restart the gradle daemon + [5/12] docs/templates/_footer: fix condition for emitting + [6/12] docs: add site navigation bar + [7/12] Site navbar: add a "View on GitHub" link + [8/12] HelpWindow: don't show site navigation bar + [9/12] docs: add SE-EDU navigation bar + [10/12] gh-pages.css: override some asciidoctor.css rules + [11/12] docs/templates/_footer: horizontally center footer text in page + [12/12] Site navbar: add "Learning Outcomes" as an SE-EDU specific item + +commit 047b2c0780640e79c79b7d104d8c99271b0feddc +Author: Paul Tan +Date: Mon Jul 2 13:07:52 2018 +0800 + + Site navbar: add "Learning Outcomes" as an SE-EDU specific item + + Students browsing the SE-EDU website may wish to have easy access to the + Learning Outcomes for AddressBook-Level4. + + As such, let's add a "Learning Outcomes" link to the navigation bar. + + Downstream projects have no use for the "Learning Outcomes" document, + since they are supposed to be standalone products. Hence, let's make the + "Learning Outcomes" link SE-EDU-only, visible only when the `site-seedu` + attribute is set. + +commit 8fde696d2c30440d496c6c1aa3edc1c5d254c942 +Author: Paul Tan +Date: Mon Jul 2 15:39:14 2018 +0800 + + docs/templates/_footer: horizontally center footer text in page + + Our navigation bars and page content are all horizontally centered, thus + it makes sense to center the footer text as well. + +commit 5a974c6ec2a9a8b81c2aea492944b245c48f4e1f +Author: Paul Tan +Date: Mon Jul 2 12:59:05 2018 +0800 + + gh-pages.css: override some asciidoctor.css rules + + While the styling defined by asciidoctor.css looks very pleasant + overall, some of its colors and fonts don't look very cohesive with our + site design. + + Fix this by overriding some select style rules in gh-pages.css. + +commit a83ed0b46e30f8d8c0ecaeae384f2997264a7ddb +Author: Paul Tan +Date: Mon Jul 2 12:32:13 2018 +0800 + + docs: add SE-EDU navigation bar + + We would like to give visitors easy access to other SE-EDU projects, as + well as build a cohesive SE-EDU brand image across all SE-EDU projects. + + As such, let's add a SE-EDU navigation bar to the top of every page. + This navigation bar will display the SE-EDU logo, and provide links to + other SE-EDU project. It will also highlight which project the reader is + currently viewing. + + Our downstream projects, however, are not official SE-EDU projects, and + so they have no need for this SE-EDU navigation bar. As such, let's make + it such that the SE-EDU navigation bar is only rendered if the + `site-seedu` attribute is set. + +commit 9cdc224f43cce7083995680d6f060319569a7182 +Author: Paul Tan +Date: Mon Jul 2 01:57:01 2018 +0800 + + HelpWindow: don't show site navigation bar + + The help window launched by the `help` command displays the rendered + User Guide (UserGuide.html). However, it contains a navigation bar. + + This navigation bar is non-functional -- clicking on the links will not + do anything because the files that they link to are not found. This + is because we only copy in `UserGuide.html` to the resources directory, + and not the rest of the documentation. + + As such, let's hide the navigation bar when the User Guide is displayed + in the Help Window. + + To do this, introduce a separate document, HelpWindow.adoc, that is only + meant to be displayed inside the help window. This document just + includes the contents of UserGuide.adoc verbatim, with one exception: it + sets the `no-site-header` attribute, thus disabling the rendering of the + navigation bar. + +commit fdb060977a4495794e213ce74de9691e5bd7ddd1 +Author: Paul Tan +Date: Mon Jul 2 13:34:26 2018 +0800 + + Site navbar: add a "View on GitHub" link + + We'd like to encourage visitors to contribute to our project via GitHub. + + As such, let's add an easily-accessible link to our GitHub repo page to + the navigation bar. + + Our downstream forks may also wish to do the same, so make the URL + configurable through the `site-githuburl` attribute. + +commit 5f5b6ed40cea2252b840aeccf71602d24a2784ab +Author: Paul Tan +Date: Sun Jul 1 21:35:18 2018 +0800 + + docs: add site navigation bar + + To give readers a more cohesive browsing experience, let's add a + navigation bar to the top of every page. + + This navigation bar will remind readers the name of the website they are + browsing (AddressBook-Level4), and will provide convenient links to + frequently-used documents, such as the User Guide and Developer Guide. + + Implement this navigation bar using the templating mechanism that we + have set up over the past few commits, and document it in the Developer + Guide. + + Some important concerns that we need to handle are: + + 1. Given that AddressBook-Level4 is meant to be used by students as a + base to build their own products, which may or may not be an address + book app, we should be able to easily specify the site name that is + displayed in the navigation bar. + + Solution: Teach the navigation bar to use the asciidoc attribute + `site-name` as the site name. + + 2. Not all documents may wish to have a navigation bar displayed at the + top of their page. + + Solution: Teach the navigation bar to check if the asciidoc + attribute `no-site-header` is set. If it is, then we don't render + the navigation bar. + + 3. The rendered documentation should be browsable locally. Thus, links + in the navigation bar must be relative, and the proper relative + links must be generated no matter how deep the documentation + directory tree is. + + Solution: Introduce an asciidoc attribute `site-root`, which should + store the absolute path of the root documentation directory. In + other words, it should be the same as the `sourceDir` specified in + build.gradle. This is used to workaround the fact that the + asciidoctor gradle plugin only passes in individual filenames, and + not the sourceDir, to asciidoctor. + + The navigation bar can then compare the current directory with the + `site-root` directory, and use it to generate the correct relative + paths. + + 4. It looks nicer if the item that the reader is currently browsing is + highlighted in the navigation bar. e.g. If the current page is the + Developer Guide, the "Developer Guide" item will be highlighted in + the navigation bar. + + This requirement is complicated by the fact that the "Developer + Guide" actually comprises of many documents: UsingGradle, Using + Travis, UsingAppVeyor etc. + + Solution: Teach the navigation bar to examine the `site-section` + attribute of the document, and highlight the appropriate navigation + item. + + 5. The templating mechanism is extremely advanced and requires some + knowledge of Ruby and Asciidoctor's API. Downstream projects may + modify the template file, break it, and then file an issue expecting + support from us. + + Solution: Explicitly state in the Developer Guide that we do not + provide support for modified template files. If downstream projects + break the files, they get to keep the pieces. + + Thanks to the additional configuration attributes that we have added, + downstream projects will need to do more configuration to tweak the + documentation settings to match their fork. Update the developer guide + to mention this. + +commit 011fd6dc5eb28770f73eeb8fbad1486336a493c9 +Author: Paul Tan +Date: Sun Jul 1 16:58:30 2018 +0800 + + docs/templates/_footer: fix condition for emitting
+ + The footer has unnecessary empty vertical space. + + This is because if the `last-update-label` attribute is specified, an + extra
is added, which is meant to separate the "Last updated" line + from the document revision number line. + + However, if the document has no revision number, then it would seem that + the footer has unnecessary empty vertical space. + + Fix this by only emitting the
if there is a revnumber AND a + last-update-label. + +commit 4eabe89c56769129a9f8f653c18abba71699020d +Author: Paul Tan +Date: Sun Jul 1 16:35:18 2018 +0800 + + docs/templates: remind devs to restart the gradle daemon + + For the purpose of speed, the asciidoctor gradle plugin will "reuse the + asciidoctor instance to avoid reinstantiating the jruby runtime"[1]. + + This has the effect of keeping the old template files in memory, meaning + that if the template files are modified while the gradle daemon is + running, the changes won't be reflected in the running gradle daemon. + The documentation will still use the old template even when the + `asciidoctor` task is rerun. + + This optimization is however, still beneficial: developers are more + likely to edit the documentation adoc files compared to modifying the + template files. As such, they will benefit from the speed increase + gained from keeping the template files in memory. Thus, we will not make + any attempt to work around this. + + Instead, let's add a comment to the top of every template file, + reminding developers that if they wish for their changes to the template + files to be reflected in the generated HTML files, they will need to + restart the Gradle daemon. + + [1] https://github.com/asciidoctor/asciidoctor-gradle-plugin/commit/0b9d614fb10fcf79747588e0a8257fca5b96033a + +commit 87e5627482c9a820816cdc711c2c7da6fc30b3f5 +Author: Paul Tan +Date: Sun Jul 1 16:48:24 2018 +0800 + + docs/templates/helpers.rb: remove unused code + + In the previous commit, we imported helpers.rb, as well as other + template files, from the asciidoctor-backends[1] repo. + + However, as we did not import all of the template files, some of the + code in helpers.rb is unused. + + The unused code is an unnecessary maintenance and readability burden, so + let's remove them. + + [1] https://github.com/asciidoctor/asciidoctor-backends/tree/master/slim/html5 + +commit cd9ea3a63f7859ea855c0715479f5b02bc7a3ffa +Author: Paul Tan +Date: Wed Nov 15 14:04:57 2017 +0800 + + docs/templates: import asciidoctor reference template + + We are trying to implement a navigation bar in the SE-EDU website using + asciidoctor's template mechanism[1]. + + Asciidoctor's template mechanism works by allowing template developers + to override the rendering of certain blocks in asciidoctor's syntax + tree. For our case, if we want to add a navigation bar to the top of the + page, we will need to override asciidoctor's `document` block handling. + + The problem is: the rendering logic for the document block itself is + quite coarse -- covering everything from the header and