Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[T7][T15-B4] #108

Open
wants to merge 330 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
330 commits
Select commit Hold shift + click to select a range
cb850ac
Update Edit Test
Ellie-Peng Mar 21, 2017
8a1ce50
Update Edit Test
Ellie-Peng Mar 21, 2017
907c5d3
more progress on dates, modified tests for new Task constructor
Mar 22, 2017
835cc4d
Update UserGuide
Ellie-Peng Mar 22, 2017
e628f96
merge dates with edit_test
Mar 22, 2017
7a37539
fixed issue with tests, 1 fail, 13 error
Mar 22, 2017
576ccd9
added instructions for start and end times
AmroShohoud Mar 22, 2017
22709e6
correct sequence diagram
fanyiii Mar 22, 2017
927d408
add validation for date and title
fanyiii Mar 22, 2017
a2eac80
add TitleTest and fix XmlUtilTest
fanyiii Mar 22, 2017
efefd8f
Fix anchor link problem in Userguide and DeveloperGuide
Ellie-Peng Mar 23, 2017
1127831
Update UI screenshot
Ellie-Peng Mar 23, 2017
29b9459
Fix Index is cut off when names are too long for PersonCard
Ellie-Peng Mar 23, 2017
a90fc6c
Revert change
Ellie-Peng Mar 23, 2017
13d3a25
remove irrelevant code and modify ConfigTest
fanyiii Mar 23, 2017
a022cb9
Merge branch 'edit_test' to master
fanyiii Mar 23, 2017
6696eff
rename address to taskit
fanyiii Mar 23, 2017
d924287
modify config
fanyiii Mar 23, 2017
f866ec7
modify TaskListPanelHandle and fix some errors in edit test
fanyiii Mar 23, 2017
3228361
TaskIt jar file
invalid-email-address Mar 23, 2017
483742b
fix ClearCommandTest
fanyiii Mar 23, 2017
862e6f1
delete old appveyor build
AmroShohoud Mar 23, 2017
0c53331
made tutorial-requested changes
AmroShohoud Mar 23, 2017
7479a12
added "author" tags
AmroShohoud Mar 23, 2017
55b263b
fixed user stories
AmroShohoud Mar 23, 2017
b650a75
Implement List by deadline, undone, done task
Ellie-Peng Mar 23, 2017
76b6ff9
fix formatting issue
AmroShohoud Mar 24, 2017
ef9796c
change t/ to tag
AmroShohoud Mar 24, 2017
df0d67d
Implement List by today and undone and done
Ellie-Peng Mar 27, 2017
878c5e8
implement SaveCommand
fanyiii Mar 27, 2017
31919d4
Merge branch 'save' to ‘master’
fanyiii Mar 27, 2017
8bbbcd9
update UserGuide.md for save command
fanyiii Mar 27, 2017
2903bbb
Update UserGuide.md
fanyiii Mar 27, 2017
e400cc8
Correct bugs in list command
Ellie-Peng Mar 27, 2017
c170e52
Merge branch 'list_by_deadline'
Ellie-Peng Mar 27, 2017
599ff40
Correct List overdue command
Ellie-Peng Mar 27, 2017
ee771cc
Implement MarkCommand
Ellie-Peng Mar 27, 2017
dc27e99
Update UserGuide
Ellie-Peng Mar 28, 2017
7dc1b20
Update Developer Guide
Ellie-Peng Mar 28, 2017
1f5bb47
added more NFRs
AmroShohoud Mar 28, 2017
0d7e005
update NFR
AmroShohoud Mar 28, 2017
e414c2d
implemented find by substring
fcw6323 Mar 29, 2017
0741890
implemented searching specific string of keywords by double inverted …
fcw6323 Mar 29, 2017
f3e9876
implemented find "<keywords>" <keywords> that accepts both a double i…
fcw6323 Mar 29, 2017
a55f3b8
implemented priority
Mar 29, 2017
192be91
refactorized FindCommandParser
fcw6323 Mar 29, 2017
fbfd724
can set dates to none
Mar 29, 2017
4217e1f
fix all instances of new Task in tests
Mar 29, 2017
3cbb7cc
merge date to priority
Mar 29, 2017
d475351
add information for using priority and for setting date to null
AmroShohoud Mar 29, 2017
a677e66
change t/ to tag
Mar 29, 2017
e6c013b
Simplify list command
Ellie-Peng Mar 29, 2017
d7baedd
Fix GUI test failing
Ellie-Peng Mar 29, 2017
327bffc
Add More User cases
Ellie-Peng Mar 29, 2017
2f683cc
merge dates to master
Mar 29, 2017
0946691
Implement list by priority
Ellie-Peng Mar 29, 2017
cf8a32b
Create Tab for mainwindow
Ellie-Peng Mar 29, 2017
bf9a415
Implemented find by date (mm/dd/yy), "today", "tomorrow" and month "J…
fcw6323 Mar 29, 2017
7508518
Merge branch 'master' of https://github.com/CS2103JAN2017-T15-B4/main
fcw6323 Mar 29, 2017
bac70f6
fixing tests, 0 errors, 11 fails
Mar 29, 2017
641bec5
merge
Mar 29, 2017
371745e
1 failure left
Mar 29, 2017
3767618
trying to make travis pass
Mar 29, 2017
17cd000
added collated stuff
Mar 29, 2017
dda3123
implement undo command
fanyiii Mar 29, 2017
b8ec6d7
implement redo
fanyiii Mar 29, 2017
45f449c
Merge branch 'undo' to master
fanyiii Mar 29, 2017
1725ef6
update collate
fanyiii Mar 30, 2017
f7aa2b5
remove trailing whitespaces
fanyiii Mar 30, 2017
752772a
improve formatting
fanyiii Mar 30, 2017
9bc14f3
left with trailing spaces in some collated file
fanyiii Mar 30, 2017
e52cc3a
removed unused imports for checkstyle
Mar 30, 2017
14b58ed
remove checkstyle tests to see if passing
Mar 30, 2017
e08f736
removed collated trailing spaces of A0097141H
fcw6323 Mar 30, 2017
53ab850
Merge branch 'master' of https://github.com/CS2103JAN2017-T15-B4/main
fcw6323 Mar 30, 2017
3fcaea6
add redo
AmroShohoud Mar 30, 2017
b5012a3
removed trailing spaces of A0163996J
fcw6323 Mar 30, 2017
9f75549
Merge branch 'master' of https://github.com/CS2103JAN2017-T15-B4/main
fcw6323 Mar 30, 2017
795b839
some changes to use cases
AmroShohoud Mar 30, 2017
e9a58d4
modify help url and remove browserPanel
fanyiii Mar 30, 2017
e15e404
fix help url and remove browserPanel code
fanyiii Mar 30, 2017
239649c
add find by date info
AmroShohoud Mar 30, 2017
80b8e31
Update UserGuide.md
AmroShohoud Mar 30, 2017
94b462a
change name of app
Mar 30, 2017
81ee2eb
merge
Mar 30, 2017
de73c2c
Update UI
fanyiii Mar 30, 2017
9aef409
add UI design information
AmroShohoud Mar 30, 2017
f8ab762
add a new line to config.json
fanyiii Mar 30, 2017
c6c17ce
Rebase to Master
Ellie-Peng Mar 31, 2017
aa5776b
Add more menuitems
Ellie-Peng Mar 31, 2017
2fc1372
Add MenuBarPanel
Ellie-Peng Apr 1, 2017
c8bae85
Update MenuBar
Ellie-Peng Apr 1, 2017
07e656c
changed how priority is showed and added priority invalid test
Apr 1, 2017
ec11899
got rid of whitespace making travis fail
Apr 1, 2017
6651e52
Correct MenuBar
Ellie-Peng Apr 1, 2017
d182ad2
Correct nullpointer exception
Ellie-Peng Apr 1, 2017
ec64467
Implement new GUI
Ellie-Peng Apr 1, 2017
0a3f984
fix adding today/tomorrow bug for date
Apr 2, 2017
81af638
removed all mentions of person
Apr 2, 2017
6ef8156
implement change storage path
fanyiii Apr 2, 2017
1a92c3b
minor fix
fanyiii Apr 2, 2017
bb0c7ca
retrive taskmanager from model
fanyiii Apr 2, 2017
ba6c562
rename addressbook to TaskManger to pass travis
fanyiii Apr 2, 2017
3005d5f
Improve Code Quality
Ellie-Peng Apr 3, 2017
4661795
select a task when added or editet
fanyiii Apr 3, 2017
9badf74
auto update overdue status
fanyiii Apr 3, 2017
132105a
Add icon image
Ellie-Peng Apr 3, 2017
9166398
Correct Nullpounter exception
Ellie-Peng Apr 3, 2017
42efcc1
fix overdue bug
Ellie-Peng Apr 3, 2017
253c505
Improve code quality
Ellie-Peng Apr 3, 2017
98a0e8c
Merge branch 'change-path'
fanyiii Apr 3, 2017
65e9e11
Fix minor issues
Ellie-Peng Apr 3, 2017
06b70f6
merge master to temp_branch_for_bugs
Apr 4, 2017
42a50f2
fixed code style issues
Apr 4, 2017
ff4ad16
Add overdue component on the GUI
Ellie-Peng Apr 4, 2017
8a32989
Change Name for menbar
Ellie-Peng Apr 4, 2017
e746aa7
Merge GUI_NEW
Ellie-Peng Apr 4, 2017
4d667c3
Removing trailing whitespace
Ellie-Peng Apr 4, 2017
429060f
fix merge
Apr 4, 2017
1a180d0
merge
Apr 4, 2017
da5f432
removed extra author comments and replaced rest with 'generated' to e…
Apr 4, 2017
c2503d7
removed gitignore for /data/ directory and populated 53 tasks in xml
fcw6323 Apr 4, 2017
2defe07
Hide completed tasks
Ellie-Peng Apr 4, 2017
ece6682
Merge branch 'hide_done_task'
Ellie-Peng Apr 4, 2017
75b2dd8
added Mark command tests
fcw6323 Apr 4, 2017
cf7c712
magicnumberized assertResultMessage
fcw6323 Apr 4, 2017
c3b465e
add color to tags
fanyiii Apr 4, 2017
4492292
modify taskCard - priority label
fanyiii Apr 4, 2017
17d26d6
change data format
fanyiii Apr 4, 2017
0cb0007
Merge branch 'enhance-taskcard'
fanyiii Apr 4, 2017
3c66841
modified markcommandtest to accommodate the change in showing of done…
fcw6323 Apr 4, 2017
6c329e1
re-added /data/ to prevent overriding of dogfed task list
fcw6323 Apr 4, 2017
396e883
sort by priority and date
Apr 4, 2017
c49b6bd
merge
Apr 4, 2017
7a8dc83
add sort in ListCommandTest
Apr 4, 2017
db59a42
added ListCommandTest cases for all, undone, done, today, and overdue.
fcw6323 Apr 4, 2017
2dc002d
Merge branch 'master' of https://github.com/CS2103JAN2017-T15-B4/main
fcw6323 Apr 4, 2017
b2bccc0
removed unnecessary logging and added undone tasks testing
fcw6323 Apr 4, 2017
b29cdb3
fixed editing giving duplicate tasks bug
Apr 4, 2017
3619620
merge
Apr 4, 2017
7a57115
removed unnecessary imports
fcw6323 Apr 4, 2017
5d66168
merge
Apr 4, 2017
e8c01b5
add some undo test cases
fanyiii Apr 5, 2017
9a66088
Minor change to MenuBar
Ellie-Peng Apr 5, 2017
308eb5d
Minor Change to list command
Ellie-Peng Apr 5, 2017
015acc5
Allow alias for commands
Ellie-Peng Apr 5, 2017
54ee562
trying to get travis to pass
AmroShohoud Apr 5, 2017
347f9d0
get rid of trailing whitespaces to make travis pass
AmroShohoud Apr 5, 2017
c6137d3
get rid of trailing whitespaces to make travis pass
AmroShohoud Apr 5, 2017
5882268
get rid of trailing whitespaces to make travis pass
AmroShohoud Apr 5, 2017
b56e2d4
small fix for tests
AmroShohoud Apr 5, 2017
ac56df1
Implement list by floating, deadline, event
Ellie-Peng Apr 5, 2017
7b43343
added edit priority and date tests
AmroShohoud Apr 5, 2017
ffbe748
added new UI image
AmroShohoud Apr 5, 2017
cc53351
made changes for requested by tutor code review
AmroShohoud Apr 5, 2017
3421517
added newline to end of config.json
AmroShohoud Apr 5, 2017
be0c20f
Add editCommand and list command tests
Ellie-Peng Apr 6, 2017
71afaa1
Merge branch 'Enhance_Edit'
Ellie-Peng Apr 6, 2017
0beb018
Fix Travis errors no newline at eof
Ellie-Peng Apr 6, 2017
3e0a7d3
Update developer Guide and UserGuide
Ellie-Peng Apr 6, 2017
2507238
Update developerGuide
Ellie-Peng Apr 6, 2017
d1ed062
added collated files
AmroShohoud Apr 6, 2017
7e23e9a
fix author typo for collated
AmroShohoud Apr 6, 2017
ed9b34a
remove extra collated file
AmroShohoud Apr 6, 2017
496e0ae
more undo test cases
fanyiii Apr 6, 2017
a25b622
update aboutUs and modelClassDiagram
fanyiii Apr 6, 2017
a5109f3
highlight newly added task
fanyiii Apr 6, 2017
8ea3481
fix image error for jar file
AmroShohoud Apr 6, 2017
2147dfc
merge
AmroShohoud Apr 6, 2017
25b1dd4
task v0.5 jar file
invalid-email-address Apr 6, 2017
6b43467
add newline to EOF config
AmroShohoud Apr 7, 2017
2fe41d7
fix test error
AmroShohoud Apr 7, 2017
8ac56ba
Fix Gui tests failure
Ellie-Peng Apr 7, 2017
800e000
Update AboutUs role
Ellie-Peng Apr 7, 2017
26be625
Fix authorship
Ellie-Peng Apr 7, 2017
dbaeb42
Update About US
Ellie-Peng Apr 7, 2017
9fa8dee
Reset the order
Ellie-Peng Apr 8, 2017
ad9936f
Improve code quality
Ellie-Peng Apr 8, 2017
ee4da93
Correct bugs in mark command
Ellie-Peng Apr 8, 2017
01f24f3
can add and edit titles in quote
AmroShohoud Apr 8, 2017
9d87c21
Rename AddressBook to TaskManager
Ellie-Peng Apr 8, 2017
c98c006
add whitespace
Ellie-Peng Apr 8, 2017
a04a89b
merge
AmroShohoud Apr 8, 2017
5723b3f
Add more tests
Ellie-Peng Apr 8, 2017
4607ed4
Add more tests
Ellie-Peng Apr 9, 2017
056e2a5
Fix Travis
Ellie-Peng Apr 9, 2017
f756b7f
Merge branch 'master'
fanyiii Apr 9, 2017
f85b4c8
modify undo test
fanyiii Apr 9, 2017
760c7ba
fix editing title with quotes issue
AmroShohoud Apr 9, 2017
bd04116
merge
AmroShohoud Apr 9, 2017
470fd05
Merge branch 'undo-test'
fanyiii Apr 9, 2017
23e1585
Remove incorrect @@author tag
Ellie-Peng Apr 9, 2017
ea55679
Merge branch 'master' of https://github.com/CS2103JAN2017-T15-B4/main
Ellie-Peng Apr 9, 2017
3366f8f
add more tests
Ellie-Peng Apr 9, 2017
f0babfe
Rename AddressBook to TaskManager
Ellie-Peng Apr 9, 2017
4889438
Add more tests
Ellie-Peng Apr 9, 2017
a41b67e
Update User Guide
Ellie-Peng Apr 9, 2017
901ed7f
Update format
Ellie-Peng Apr 9, 2017
7139389
Update format
Ellie-Peng Apr 9, 2017
5ddfe84
Update format
Ellie-Peng Apr 9, 2017
20f7cb5
Update Format
Ellie-Peng Apr 9, 2017
e01b768
Update User Guide
Ellie-Peng Apr 9, 2017
2ed8abf
Correct Link
Ellie-Peng Apr 9, 2017
eba6958
Correct link
Ellie-Peng Apr 9, 2017
54d30cd
add test scripts for add, delete, mark, list, undo, clear
fanyiii Apr 9, 2017
3471b3c
enhance change path
fanyiii Apr 9, 2017
db9d671
Yay done with TestScript
fanyiii Apr 9, 2017
74119be
add SampleData.xml
fanyiii Apr 9, 2017
a350107
Merge branch 'testscript'
fanyiii Apr 9, 2017
6705576
minor fixes on format
fanyiii Apr 9, 2017
507786c
Update TestScript.md
AmroShohoud Apr 9, 2017
92bf36a
Update TestScript.md
AmroShohoud Apr 9, 2017
f647626
mark titleTest as unused
fanyiii Apr 9, 2017
4650382
Update DeveloperGuide.md
fanyiii Apr 9, 2017
3d148ee
add change path command
fanyiii Apr 9, 2017
838dfae
Update UserGuide.md
fanyiii Apr 9, 2017
59cca05
update AboutUs
fanyiii Apr 9, 2017
845ea35
Update AboutUs.md
fanyiii Apr 9, 2017
609788a
Merge branch ‘testscript’
fanyiii Apr 9, 2017
700714a
Update DeveloperGuide, adding Task diagram
fanyiii Apr 9, 2017
8ca1db0
Update DeveloperGuide.md
fanyiii Apr 9, 2017
1f94125
update collate
fanyiii Apr 9, 2017
7eed2d5
Update AboutUs.md
fanyiii Apr 9, 2017
5be3f8a
Update AboutUs.md
fanyiii Apr 9, 2017
512d4ed
Add comments
Ellie-Peng Apr 10, 2017
ea27b5d
Update collate
Ellie-Peng Apr 10, 2017
8559cb7
Update collate
Ellie-Peng Apr 10, 2017
1c0f0f2
Update User Guide
Ellie-Peng Apr 10, 2017
f8ab957
Update User Guide
Ellie-Peng Apr 10, 2017
5cad769
Improve Format
Ellie-Peng Apr 10, 2017
3c11109
Improve Format
Ellie-Peng Apr 10, 2017
e2e315d
Update Format
Ellie-Peng Apr 10, 2017
6c597ba
Update AboutUs
Ellie-Peng Apr 10, 2017
7c3026f
Update AboutUs
Ellie-Peng Apr 10, 2017
523f8d1
Update UserGuide
Ellie-Peng Apr 10, 2017
a94731a
Refine UserGuide
Ellie-Peng Apr 10, 2017
620b159
Update UserGuide
Ellie-Peng Apr 10, 2017
196b1f8
Update UserGuide.md
AmroShohoud Apr 10, 2017
c365f91
Update UserGuide
Ellie-Peng Apr 10, 2017
b2a216b
Merge branch 'master' of https://github.com/CS2103JAN2017-T15-B4/main
Ellie-Peng Apr 10, 2017
95d6cda
Update AboutUs.md
AmroShohoud Apr 10, 2017
476f365
merge
AmroShohoud Apr 10, 2017
a811a65
Update Documents
Ellie-Peng Apr 10, 2017
ba78d4f
Update documents
Ellie-Peng Apr 10, 2017
b02e590
Set theme jekyll-theme-minimal
fanyiii Apr 10, 2017
003bedb
Set theme jekyll-theme-cayman
fanyiii Apr 10, 2017
a849965
Final Check
Ellie-Peng Apr 10, 2017
db5e3f3
Merge branch 'master' of https://github.com/CS2103JAN2017-T15-B4/main
Ellie-Peng Apr 10, 2017
484b19b
made unused folder for collated
AmroShohoud Apr 10, 2017
471d771
merge
AmroShohoud Apr 10, 2017
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
30 changes: 2 additions & 28 deletions .project
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>addressbook-level4</name>
<comment>Project addressbook-level4 created by Buildship.</comment>
<name>Phase B team v5</name>
<comment>Project taskManagerProject created by Buildship.</comment>
<projects>
</projects>
<buildSpec>
Expand All @@ -15,35 +15,9 @@
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>net.sf.eclipsecs.core.CheckstyleBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.buildship.core.gradleprojectnature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>net.sf.eclipsecs.core.CheckstyleNature</nature>
</natures>
<filteredResources>
<filter>
<id>1476898072165</id>
<name></name>
<type>26</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-projectRelativePath-matches-false-false-build</arguments>
</matcher>
</filter>
<filter>
<id>1476898072188</id>
<name></name>
<type>26</type>
<matcher>
<id>org.eclipse.ui.ide.multiFilter</id>
<arguments>1.0-projectRelativePath-matches-false-false-.gradle</arguments>
</matcher>
</filter>
</filteredResources>
</projectDescription>
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ matrix:

script: >-
./config/travis/run-checks.sh &&
travis_retry ./gradlew clean checkstyleMain checkstyleTest headless allTests coverage coveralls
travis_retry ./gradlew clean headless allTests coverage coveralls

before_install:
- "export DISPLAY=:99.0"
Expand Down
28 changes: 9 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,26 @@
# Address Book (Level 4)
# TaskIt

[![Build Status](https://travis-ci.org/se-edu/addressbook-level4.svg?branch=master)](https://travis-ci.org/se-edu/addressbook-level4)
[![Build status](https://ci.appveyor.com/api/projects/status/3boko2x2vr5cc3w2?svg=true)](https://ci.appveyor.com/project/damithc/addressbook-level4)
[![Coverage Status](https://coveralls.io/repos/github/se-edu/addressbook-level4/badge.svg?branch=master)](https://coveralls.io/github/se-edu/addressbook-level4?branch=master)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/fc0b7775cf7f4fdeaf08776f3d8e364a)](https://www.codacy.com/app/damith/addressbook-level4?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=se-edu/addressbook-level4&amp;utm_campaign=Badge_Grade)
[![Build Status](https://travis-ci.org/CS2103JAN2017-T15-B4/main.svg?branch=master)](https://travis-ci.org/CS2103JAN2017-T15-B4/main)
[![Coverage Status](https://coveralls.io/repos/github/CS2103JAN2017-T15-B4/main/badge.svg?branch=master)](https://coveralls.io/github/CS2103JAN2017-T15-B4/main?branch=master)
[![Codacy Badge](https://api.codacy.com/project/badge/Grade/5a71bb34f16148cfbae7c43bf8067b78)](https://www.codacy.com/app/fanyiii/main?utm_source=github.com&amp;utm_medium=referral&amp;utm_content=CS2103JAN2017-T15-B4/main&amp;utm_campaign=Badge_Grade)

<img src="docs/images/Ui.png" width="600"><br>
<img src="docs/images/Ui.jpeg" width="600"><br>

* This is a desktop Address Book application. It has a GUI but most of the user interactions happen using
* TaskIt is a useful and effective task manager app developed by us with the hope to help students and
working adults to better manage their hectic schedule.
* This is a desktop task manager application. It has a GUI but most of the user interactions happen using
a CLI (Command Line Interface).
* It is a Java sample application intended for students learning Software Engineering while using Java as
the main programming language.
* It is **written in OOP fashion**. It provides a **reasonably well-written** code example that is
**significantly bigger** (around 6 KLoC)than what students usually write in beginner-level SE modules.
* What's different from [level 3](https://github.com/se-edu/addressbook-level3):
* A more sophisticated GUI that includes a list panel and an in-built Browser.
* More test cases, including automated GUI testing.
* Support for *Build Automation* using Gradle and for *Continuous Integration* using Travis CI.


#### Site Map
* [User Guide](docs/UserGuide.md)
* [Developer Guide](docs/DeveloperGuide.md)
* [Learning Outcomes](docs/LearningOutcomes.md)
* [About Us](docs/AboutUs.md)
* [Contact Us](docs/ContactUs.md)


#### Acknowledgements

* Some parts of this sample application were inspired by the excellent
[Java FX tutorial](http://code.makery.ch/library/javafx-8-tutorial/) by *Marco Jakob*.

* This was adapted from [address book level 4](https://github.com/nus-cs2103-AY1617S2/addressbook-level4/).

#### Licence : [MIT](LICENSE)
Binary file added TaskIt.jar
Binary file not shown.
Binary file added TaskItv05.jar
Binary file not shown.
4 changes: 3 additions & 1 deletion build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -34,12 +34,13 @@ allprojects {
// This part is similar to global variables
// Access them by using double-quoted strings (GStrings) and referencing by $ e.g. "Variable contains $Variable"
project.ext {
nattyVersion = '0.11'
controlsFxVersion = '8.40.11'
guavaVersion = '19.0'
jacksonVersion = '2.7.0'
jacksonDataTypeVersion = '2.7.4'
junitVersion = '4.12'
testFxVersion = '4.0.+'
testFxVersion = '4.0.5-alpha'
monocleVersion = '1.8.0_20'
checkstyleVersion = '7.1.2'

Expand All @@ -63,6 +64,7 @@ allprojects {
compile "com.fasterxml.jackson.core:jackson-databind:$jacksonVersion"
compile "com.fasterxml.jackson.datatype:jackson-datatype-jsr310:$jacksonDataTypeVersion"
compile "com.google.guava:guava:$guavaVersion"
compile "com.joestelmach:natty:$nattyVersion"

testCompile "junit:junit:$junitVersion"
testCompile "org.testfx:testfx-core:$testFxVersion"
Expand Down
259 changes: 259 additions & 0 deletions collated/main/A0097141H.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,259 @@
# A0097141H
###### /java/seedu/taskit/logic/commands/FindCommand.java
``` java
/**
* Finds and lists all tasks in database whose name contains any of the argument keywords.
* Keyword matching is case sensitive.
*/
public class FindCommand extends Command {

public static final String COMMAND_WORD = "find";

public static final String MESSAGE_USAGE = COMMAND_WORD + ": Finds all tasks whose names contain any of "
+ "the specified keywords (case-sensitive) and displays them as a list with index numbers.\n"
+ "Parameters: KEYWORD [MORE_KEYWORDS]...\n"
+ "Example: " + COMMAND_WORD + " SWE project";

private final Set<String> keywords;

public FindCommand(Set<String> keywords) {
this.keywords = keywords;
}

@Override
public CommandResult execute() {
model.updateFilteredTaskList(keywords);
return new CommandResult(getMessageForTaskListShownSummary(model.getFilteredTaskList().size()));
}

```
###### /java/seedu/taskit/logic/parser/FindCommandParser.java
``` java
/**
* Parses input arguments and creates a new FindCommand object
*/
public class FindCommandParser {

/**
* Parses the given {@code String} of arguments in the context of the FindCommand
* and returns an FindCommand object for execution.
*/
public Command parse(String args) {
final Matcher matcher = KEYWORDS_ARGS_FORMAT.matcher(args.trim());
if (!matcher.matches()) {
return new IncorrectCommand(
String.format(MESSAGE_INVALID_COMMAND_FORMAT, FindCommand.MESSAGE_USAGE));
}

String keywords = matcher.group("keywords");
final String[] groupedKeywords = parseKeywords(keywords);
final Set<String> keywordSet = new HashSet<>(Arrays.asList(groupedKeywords));

return new FindCommand(keywordSet);
}


```
###### /java/seedu/taskit/logic/parser/FindCommandParser.java
``` java
/**
* Method to separate keywords by whitespace or double inverted commas
* Assume only 1 set of wrapped keywords are allowed.
* @param matcher
* @return String[] keywords of
*/
private String[] parseKeywords(String str){
String[] keywords = {"keyword"}; //will eventually be overridden

String keywordsStr = str;

int[] invCommaIdx = findInvCommasIndexes(keywordsStr);
int idxOpenInvComma = invCommaIdx[0];
int idxCloseInvComma = invCommaIdx[1];

if(idxOpenInvComma < idxCloseInvComma){ //found a pair of inverted commas!
//extract inverted commas
keywords[0] = keywordsStr.substring(idxOpenInvComma+1, idxCloseInvComma);

//create new substring by removing keywords in inverted commas
String subStrKeywords = keywordsStr.replace(keywordsStr.substring(idxOpenInvComma,idxCloseInvComma+1), "");

//if subStrKeywords is not empty string
if(!subStrKeywords.trim().equals("")){
String[] keywordsToAdd = subStrKeywords.trim().split("\\s+");
keywords = concatStringArrays(keywords, keywordsToAdd);
}
} else{//invalid or don't have inverted commas, just split normally
keywords = keywordsStr.split("\\s+");
}
return keywords;
}

```
###### /java/seedu/taskit/logic/parser/FindCommandParser.java
``` java
/**
* returns indexes of occurrences of '\"'
* @param str
* @return int[] {openInvCommaIndex,closeInvCommaIndex,invCommaCount}
* invCommaCount not in use for now, but future releases maybe
*/
private int[] findInvCommasIndexes(String str){

int[] idx = {0,0,0};

int idxOpenInvComma = 0;
int idxCloseInvComma = 0;
boolean foundInvComma = false;

for (int i=0;i<str.length();i++){
if (str.charAt(i) == '\"'){
if(!foundInvComma){
idxOpenInvComma = i;
foundInvComma = true;
}else{
//found a matching inverted comma
idxCloseInvComma = i;
foundInvComma = false;
}
idx[2]++;
}
}
idx[0] = idxOpenInvComma;
idx[1] = idxCloseInvComma;
return idx;
}

```
###### /java/seedu/taskit/logic/parser/FindCommandParser.java
``` java
/**
* simple method to return a String[] array based on 2 String[] arrays
* @param strArr1
* @param strArr2
* @return
*/
private String[] concatStringArrays(String[] strArr1, String[] strArr2){

Object[] objArr = ArrayUtils.addAll(strArr1, strArr2);
String[] keywords = Arrays.copyOf(objArr, objArr.length, String[].class);

return keywords;
}

}
```
###### /java/seedu/taskit/model/ModelManager.java
``` java
private class NameQualifier implements Qualifier {
private Set<String> nameKeyWords;

NameQualifier(Set<String> nameKeyWords) {
this.nameKeyWords = nameKeyWords;
}

@Override
public boolean run(ReadOnlyTask task) {


String[] monthsArr = {"january", "jan", "february", "feb", "march", "mar", "april", "apr", "may", "june", "jun",
"july", "jul", "august", "aug", "september", "sept", "sep", "october", "oct",
"november", "nov", "december", "dec"};
ArrayList<String> months = new ArrayList<String>() ;
Collections.addAll(months, monthsArr);
//filter by date to see if searching for date



return
nameKeyWords.stream()
.filter(keyword -> StringUtil.containsWordIgnoreCase(task.toStringTitleTagAndDateList(), keyword.toLowerCase()))
.findAny()
.isPresent() |
nameKeyWords.stream()
.filter(keyword -> task.toStringTitleTagAndDateList().contains(keyword.toLowerCase()))
.findAny()
.isPresent() |

//this is to find if keywords match dates

nameKeyWords.stream()
.filter(k -> months.contains(k.toLowerCase()))
.filter(k -> {
try {
return (new Date(k)).isMonthEqualsMonth(task.getEnd());
} catch (IllegalValueException | NullPointerException e1) {
//e1.printStackTrace();
return false;
}
})
.findAny()
.isPresent() |

nameKeyWords.stream()
.filter(keyword -> {
try {
return task.getEnd().isDateEqualsDate(new Date(keyword)) | task.getStart().isDateEqualsDate(new Date(keyword));
} catch (IllegalValueException e) {
return false;
}
})
.findAny()
.isPresent()
;
}

@Override
public String toString() {
return "name=" + String.join(", ", nameKeyWords);
}
}

```
###### /java/seedu/taskit/model/task/Date.java
``` java
public boolean isDateEqualsDate(Date other) {

return date != null && DateUtils.isSameDay(date, other.date);
}

public boolean isMonthEqualsMonth(Date other) {
Calendar c1 = Calendar.getInstance();
c1.setTime(date);
Calendar c2 = Calendar.getInstance();
c2.setTime(other.date);

return date != null && c1.get(Calendar.MONTH)==c2.get(Calendar.MONTH);
}

@Override
public int hashCode() {
return date.hashCode();
}

}
```
###### /java/seedu/taskit/model/task/ReadOnlyTask.java
``` java
/**
* Stringifies title and tags
* @return lowercase String with title and tags for easy string matching
*/

default String toStringTitleTagAndDateList() {
String titleTagAndDateString = getTitle().title + " ";
final StringBuilder builder = new StringBuilder();
builder.append(getTitle()).append(" ");
builder.append(getStart()).append(" ");
builder.append(getEnd()).append(" ");
getTags().iterator().forEachRemaining(builder::append);

titleTagAndDateString = builder.toString();
titleTagAndDateString = titleTagAndDateString.replace('[', ' ').replace(']', ' ');

return titleTagAndDateString.toLowerCase();
}

}

```
Loading