Skip to content

Commit 4de6efb

Browse files
committed
Add import order check in checkstyle
This new checkstyle rule ensures consistent ordering of imports, following the rules that the default Eclipse formatter uses. That means Eclipse IDE users will not need to perform any additional configuration to adhere to these new import ordering rules. We chose Eclipse's default rules over the default rules of other IDEs because we are using Eclipse as the primary IDE for CS2103, SE-EDU and TEAMMATES at the moment. However, when the time comes to switch to another IDE, we will need to update the checkstyle rules accordingly.
1 parent a6c0c98 commit 4de6efb

File tree

72 files changed

+349
-300
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

72 files changed

+349
-300
lines changed

config/checkstyle/checkstyle.xml

+16
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,22 @@
4343
IMPORT CHECKS
4444
-->
4545

46+
<!-- Checks the ordering of import statements follow the rules that the default Eclipse formatter uses.
47+
The order rule "STATIC###STANDARD_JAVA_PACKAGE###SPECIAL_IMPORTS###THIRD_PARTY_PACKAGE" consists of:
48+
1. STATIC: static imports
49+
2. STANDARD_JAVA_PACKAGE: standard java/javax imports
50+
3. SPECIAL_IMPORTS: defined as org imports
51+
4. THIRD_PARTY_PACKAGE: defined as com imports
52+
-->
53+
<module name="CustomImportOrder">
54+
<property name="customImportOrderRules"
55+
value="STATIC###STANDARD_JAVA_PACKAGE###SPECIAL_IMPORTS###THIRD_PARTY_PACKAGE"/>
56+
<property name="specialImportsRegExp" value="^org\."/>
57+
<property name="thirdPartyPackageRegExp" value="^com\."/>
58+
<property name="sortImportsInGroupAlphabetically" value="true"/>
59+
<property name="separateLineBetweenGroups" value="true"/>
60+
</module>
61+
4662
<!-- Checks for redundant import statements.
4763
An import statement is redundant if:
4864
* It is a duplicate of another import. This is, when a class is imported more than once.

src/main/java/seedu/address/MainApp.java

+6-5
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,12 @@
11
package seedu.address;
22

3+
import java.io.IOException;
4+
import java.util.Map;
5+
import java.util.Optional;
6+
import java.util.logging.Logger;
7+
38
import com.google.common.eventbus.Subscribe;
9+
410
import javafx.application.Application;
511
import javafx.application.Platform;
612
import javafx.stage.Stage;
@@ -25,11 +31,6 @@
2531
import seedu.address.ui.Ui;
2632
import seedu.address.ui.UiManager;
2733

28-
import java.io.IOException;
29-
import java.util.Map;
30-
import java.util.Optional;
31-
import java.util.logging.Logger;
32-
3334
/**
3435
* The main entry point to the application.
3536
*/

src/main/java/seedu/address/commons/core/EventsCenter.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package seedu.address.commons.core;
22

3+
import java.util.logging.Logger;
4+
35
import com.google.common.eventbus.EventBus;
4-
import seedu.address.commons.events.BaseEvent;
56

6-
import java.util.logging.Logger;
7+
import seedu.address.commons.events.BaseEvent;
78

89
/**
910
* Manages the event dispatching of the app.

src/main/java/seedu/address/commons/core/LogsCenter.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
package seedu.address.commons.core;
22

3-
import seedu.address.commons.events.BaseEvent;
4-
53
import java.io.IOException;
64
import java.util.logging.ConsoleHandler;
75
import java.util.logging.FileHandler;
@@ -10,6 +8,8 @@
108
import java.util.logging.Logger;
119
import java.util.logging.SimpleFormatter;
1210

11+
import seedu.address.commons.events.BaseEvent;
12+
1313
/**
1414
* Configures and manages loggers and handlers, including their logging level
1515
* Named {@link Logger}s can be obtained from this class<br>

src/main/java/seedu/address/commons/core/UnmodifiableObservableList.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,5 @@
11
package seedu.address.commons.core;
22

3-
import javafx.beans.InvalidationListener;
4-
import javafx.collections.ListChangeListener;
5-
import javafx.collections.ObservableList;
6-
import javafx.collections.transformation.FilteredList;
7-
import javafx.collections.transformation.SortedList;
8-
93
import java.text.Collator;
104
import java.util.Collection;
115
import java.util.Collections;
@@ -18,6 +12,12 @@
1812
import java.util.function.UnaryOperator;
1913
import java.util.stream.Stream;
2014

15+
import javafx.beans.InvalidationListener;
16+
import javafx.collections.ListChangeListener;
17+
import javafx.collections.ObservableList;
18+
import javafx.collections.transformation.FilteredList;
19+
import javafx.collections.transformation.SortedList;
20+
2121
/**
2222
* Unmodifiable view of an observable list
2323
*/

src/main/java/seedu/address/commons/core/Version.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package seedu.address.commons.core;
22

3-
import com.fasterxml.jackson.annotation.JsonCreator;
4-
import com.fasterxml.jackson.annotation.JsonValue;
5-
63
import java.util.regex.Matcher;
74
import java.util.regex.Pattern;
85

6+
import com.fasterxml.jackson.annotation.JsonCreator;
7+
import com.fasterxml.jackson.annotation.JsonValue;
8+
99
/**
1010
* Represents a version with major, minor and patch number
1111
*/

src/main/java/seedu/address/commons/util/ConfigUtil.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package seedu.address.commons.util;
22

3-
import seedu.address.commons.core.Config;
4-
import seedu.address.commons.exceptions.DataConversionException;
5-
63
import java.io.IOException;
74
import java.util.Optional;
85

6+
import seedu.address.commons.core.Config;
7+
import seedu.address.commons.exceptions.DataConversionException;
8+
99
/**
1010
* A class for accessing the Config File.
1111
*/

src/main/java/seedu/address/commons/util/JsonUtil.java

+7-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
package seedu.address.commons.util;
22

3+
import java.io.File;
4+
import java.io.IOException;
5+
import java.util.Optional;
6+
import java.util.logging.Level;
7+
import java.util.logging.Logger;
8+
39
import com.fasterxml.jackson.annotation.JsonAutoDetect;
410
import com.fasterxml.jackson.annotation.PropertyAccessor;
511
import com.fasterxml.jackson.core.JsonProcessingException;
@@ -10,15 +16,10 @@
1016
import com.fasterxml.jackson.databind.deser.std.FromStringDeserializer;
1117
import com.fasterxml.jackson.databind.module.SimpleModule;
1218
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
19+
1320
import seedu.address.commons.core.LogsCenter;
1421
import seedu.address.commons.exceptions.DataConversionException;
1522

16-
import java.io.File;
17-
import java.io.IOException;
18-
import java.util.Optional;
19-
import java.util.logging.Level;
20-
import java.util.logging.Logger;
21-
2223
/**
2324
* Converts a Java object instance to JSON and vice versa
2425
*/

src/main/java/seedu/address/commons/util/XmlUtil.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package seedu.address.commons.util;
22

3+
import java.io.File;
4+
import java.io.FileNotFoundException;
5+
36
import javax.xml.bind.JAXBContext;
47
import javax.xml.bind.JAXBException;
58
import javax.xml.bind.Marshaller;
69
import javax.xml.bind.Unmarshaller;
7-
import java.io.File;
8-
import java.io.FileNotFoundException;
910

1011
/**
1112
* Helps with reading from and writing to XML files.

src/main/java/seedu/address/logic/LogicManager.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package seedu.address.logic;
22

3+
import java.util.logging.Logger;
4+
35
import javafx.collections.ObservableList;
46
import seedu.address.commons.core.ComponentManager;
57
import seedu.address.commons.core.LogsCenter;
@@ -10,8 +12,6 @@
1012
import seedu.address.model.person.ReadOnlyPerson;
1113
import seedu.address.storage.Storage;
1214

13-
import java.util.logging.Logger;
14-
1515
/**
1616
* The main LogicManager of the app.
1717
*/

src/main/java/seedu/address/logic/commands/AddCommand.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package seedu.address.logic.commands;
22

3+
import java.util.HashSet;
4+
import java.util.Set;
5+
36
import seedu.address.commons.exceptions.IllegalValueException;
47
import seedu.address.model.person.Address;
58
import seedu.address.model.person.Email;
@@ -10,9 +13,6 @@
1013
import seedu.address.model.tag.Tag;
1114
import seedu.address.model.tag.UniqueTagList;
1215

13-
import java.util.HashSet;
14-
import java.util.Set;
15-
1616
/**
1717
* Adds a person to the address book.
1818
*/

src/main/java/seedu/address/logic/commands/SelectCommand.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,8 @@
22

33
import seedu.address.commons.core.EventsCenter;
44
import seedu.address.commons.core.Messages;
5-
import seedu.address.commons.events.ui.JumpToListRequestEvent;
65
import seedu.address.commons.core.UnmodifiableObservableList;
6+
import seedu.address.commons.events.ui.JumpToListRequestEvent;
77
import seedu.address.model.person.ReadOnlyPerson;
88

99
/**

src/main/java/seedu/address/logic/parser/Parser.java

+16-16
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,20 @@
11
package seedu.address.logic.parser;
22

3+
import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT;
4+
import static seedu.address.commons.core.Messages.MESSAGE_UNKNOWN_COMMAND;
5+
6+
import java.util.Arrays;
7+
import java.util.Collection;
8+
import java.util.Collections;
9+
import java.util.HashSet;
10+
import java.util.List;
11+
import java.util.NoSuchElementException;
12+
import java.util.Optional;
13+
import java.util.Set;
14+
import java.util.regex.Matcher;
15+
import java.util.regex.Pattern;
16+
import java.util.stream.Collectors;
17+
318
import seedu.address.commons.exceptions.IllegalValueException;
419
import seedu.address.commons.util.StringUtil;
520
import seedu.address.logic.commands.AddCommand;
@@ -11,9 +26,9 @@
1126
import seedu.address.logic.commands.ExitCommand;
1227
import seedu.address.logic.commands.FindCommand;
1328
import seedu.address.logic.commands.HelpCommand;
29+
import seedu.address.logic.commands.IncorrectCommand;
1430
import seedu.address.logic.commands.ListCommand;
1531
import seedu.address.logic.commands.SelectCommand;
16-
import seedu.address.logic.commands.IncorrectCommand;
1732
import seedu.address.logic.parser.ArgumentTokenizer.Prefix;
1833
import seedu.address.model.person.Address;
1934
import seedu.address.model.person.Email;
@@ -22,21 +37,6 @@
2237
import seedu.address.model.tag.Tag;
2338
import seedu.address.model.tag.UniqueTagList;
2439

25-
import java.util.Arrays;
26-
import java.util.Collection;
27-
import java.util.Collections;
28-
import java.util.HashSet;
29-
import java.util.List;
30-
import java.util.NoSuchElementException;
31-
import java.util.Optional;
32-
import java.util.Set;
33-
import java.util.regex.Matcher;
34-
import java.util.regex.Pattern;
35-
import java.util.stream.Collectors;
36-
37-
import static seedu.address.commons.core.Messages.MESSAGE_INVALID_COMMAND_FORMAT;
38-
import static seedu.address.commons.core.Messages.MESSAGE_UNKNOWN_COMMAND;
39-
4040
/**
4141
* Parses user input.
4242
*/

src/main/java/seedu/address/model/AddressBook.java

+9-10
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
package seedu.address.model;
22

3+
import java.util.Collection;
4+
import java.util.HashMap;
5+
import java.util.HashSet;
6+
import java.util.List;
7+
import java.util.Map;
8+
import java.util.Objects;
9+
import java.util.Set;
10+
11+
import javafx.collections.ObservableList;
312
import seedu.address.commons.core.UnmodifiableObservableList;
413
import seedu.address.model.person.Person;
514
import seedu.address.model.person.ReadOnlyPerson;
@@ -8,16 +17,6 @@
817
import seedu.address.model.tag.Tag;
918
import seedu.address.model.tag.UniqueTagList;
1019

11-
import java.util.Objects;
12-
import java.util.Collection;
13-
import java.util.Set;
14-
import java.util.HashSet;
15-
import java.util.HashMap;
16-
import java.util.List;
17-
import java.util.Map;
18-
19-
import javafx.collections.ObservableList;
20-
2120
/**
2221
* Wraps all data at the address-book level
2322
* Duplicates are not allowed (by .equals comparison)

src/main/java/seedu/address/model/Model.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package seedu.address.model;
22

3+
import java.util.Set;
4+
35
import seedu.address.commons.core.UnmodifiableObservableList;
46
import seedu.address.model.person.Person;
57
import seedu.address.model.person.ReadOnlyPerson;
68
import seedu.address.model.person.UniquePersonList;
79
import seedu.address.model.person.UniquePersonList.DuplicatePersonException;
810

9-
import java.util.Set;
10-
1111
/**
1212
* The API of the Model component.
1313
*/

src/main/java/seedu/address/model/ModelManager.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
package seedu.address.model;
22

3+
import java.util.Set;
4+
import java.util.logging.Logger;
5+
36
import javafx.collections.transformation.FilteredList;
7+
import seedu.address.commons.core.ComponentManager;
48
import seedu.address.commons.core.LogsCenter;
59
import seedu.address.commons.core.UnmodifiableObservableList;
10+
import seedu.address.commons.events.model.AddressBookChangedEvent;
611
import seedu.address.commons.util.CollectionUtil;
712
import seedu.address.commons.util.StringUtil;
8-
import seedu.address.commons.events.model.AddressBookChangedEvent;
9-
import seedu.address.commons.core.ComponentManager;
1013
import seedu.address.model.person.Person;
1114
import seedu.address.model.person.ReadOnlyPerson;
1215
import seedu.address.model.person.UniquePersonList;
1316
import seedu.address.model.person.UniquePersonList.PersonNotFoundException;
1417

15-
import java.util.Set;
16-
import java.util.logging.Logger;
17-
1818
/**
1919
* Represents the in-memory model of the address book data.
2020
* All changes to any model should be synchronized.

src/main/java/seedu/address/model/ReadOnlyAddressBook.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package seedu.address.model;
22

33

4+
import javafx.collections.ObservableList;
45
import seedu.address.model.person.ReadOnlyPerson;
56
import seedu.address.model.tag.Tag;
6-
import javafx.collections.ObservableList;
77

88
/**
99
* Unmodifiable view of an address book

src/main/java/seedu/address/model/UserPrefs.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package seedu.address.model;
22

3-
import seedu.address.commons.core.GuiSettings;
4-
53
import java.util.Objects;
64

5+
import seedu.address.commons.core.GuiSettings;
6+
77
/**
88
* Represents User's preferences.
99
*/

src/main/java/seedu/address/model/person/Person.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package seedu.address.model.person;
22

3+
import java.util.Objects;
4+
35
import seedu.address.commons.util.CollectionUtil;
46
import seedu.address.model.tag.UniqueTagList;
57

6-
import java.util.Objects;
7-
88
/**
99
* Represents a Person in the address book.
1010
* Guarantees: details are present and not null, field values are validated.

0 commit comments

Comments
 (0)