Skip to content

Commit 636cd54

Browse files
committed
Code cleanup per chackstyle, findbugs, etc.
1 parent 157a234 commit 636cd54

Some content is hidden

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

42 files changed

+401
-95
lines changed

checkstyle.xml

+242
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,242 @@
1+
<?xml version="1.0"?>
2+
<!--
3+
4+
Copyright 2016-2017 the original author or authors.
5+
6+
Licensed under the Apache License, Version 2.0 (the "License");
7+
you may not use this file except in compliance with the License.
8+
You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing, software
13+
distributed under the License is distributed on an "AS IS" BASIS,
14+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15+
See the License for the specific language governing permissions and
16+
limitations under the License.
17+
18+
-->
19+
<!DOCTYPE module PUBLIC
20+
"-//Puppy Crawl//DTD Check Configuration 1.3//EN"
21+
"http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
22+
23+
<!--
24+
Checkstyle configuration that checks the Google coding conventions from Google Java Style
25+
that can be found at https://google.github.io/styleguide/javaguide.html.
26+
27+
Checkstyle is very configurable. Be sure to read the documentation at
28+
http://checkstyle.sf.net (or in your downloaded distribution).
29+
30+
To completely disable a check, just comment it out or delete it from the file.
31+
32+
Authors: Max Vetrenko, Ruslan Diachenko, Roman Ivanov.
33+
-->
34+
35+
<module name = "Checker">
36+
<property name="charset" value="UTF-8"/>
37+
38+
<property name="severity" value="warning"/>
39+
40+
<property name="fileExtensions" value="java, properties, xml"/>
41+
<!-- Checks for whitespace -->
42+
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
43+
<module name="FileTabCharacter">
44+
<property name="eachLine" value="true"/>
45+
</module>
46+
47+
<module name="TreeWalker">
48+
<module name="OuterTypeFilename"/>
49+
<module name="IllegalTokenText">
50+
<property name="tokens" value="STRING_LITERAL, CHAR_LITERAL"/>
51+
<property name="format" value="\\u00(09|0(a|A)|0(c|C)|0(d|D)|22|27|5(C|c))|\\(0(10|11|12|14|15|42|47)|134)"/>
52+
<property name="message" value="Consider using special escape sequence instead of octal value or Unicode escaped value."/>
53+
</module>
54+
<module name="AvoidEscapedUnicodeCharacters">
55+
<property name="allowEscapesForControlCharacters" value="true"/>
56+
<property name="allowByTailComment" value="true"/>
57+
<property name="allowNonPrintableEscapes" value="true"/>
58+
</module>
59+
<module name="LineLength">
60+
<property name="max" value="120"/>
61+
<property name="ignorePattern" value="^package.*|^import.*|a href|href|http://|https://|ftp://"/>
62+
</module>
63+
<module name="AvoidStarImport"/>
64+
<module name="OneTopLevelClass"/>
65+
<module name="NoLineWrap"/>
66+
<module name="EmptyBlock">
67+
<property name="option" value="TEXT"/>
68+
<property name="tokens" value="LITERAL_TRY, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_SWITCH"/>
69+
</module>
70+
<module name="NeedBraces"/>
71+
<module name="LeftCurly">
72+
<property name="maxLineLength" value="100"/>
73+
</module>
74+
<module name="RightCurly">
75+
<property name="id" value="RightCurlySame"/>
76+
<property name="tokens" value="LITERAL_TRY, LITERAL_CATCH, LITERAL_FINALLY, LITERAL_IF, LITERAL_ELSE, LITERAL_DO"/>
77+
</module>
78+
<module name="RightCurly">
79+
<property name="id" value="RightCurlyAlone"/>
80+
<property name="option" value="alone"/>
81+
<property name="tokens" value="CLASS_DEF, METHOD_DEF, CTOR_DEF, LITERAL_FOR, LITERAL_WHILE, STATIC_INIT, INSTANCE_INIT"/>
82+
</module>
83+
<module name="WhitespaceAround">
84+
<property name="allowEmptyConstructors" value="true"/>
85+
<property name="allowEmptyMethods" value="true"/>
86+
<property name="allowEmptyTypes" value="true"/>
87+
<property name="allowEmptyLoops" value="true"/>
88+
<message key="ws.notFollowed"
89+
value="WhitespaceAround: ''{0}'' is not followed by whitespace. Empty blocks may only be represented as '{}' when not part of a multi-block statement (4.1.3)"/>
90+
<message key="ws.notPreceded"
91+
value="WhitespaceAround: ''{0}'' is not preceded with whitespace."/>
92+
</module>
93+
<module name="OneStatementPerLine"/>
94+
<module name="MultipleVariableDeclarations"/>
95+
<module name="ArrayTypeStyle"/>
96+
<module name="MissingSwitchDefault"/>
97+
<module name="FallThrough"/>
98+
<module name="UpperEll"/>
99+
<module name="ModifierOrder"/>
100+
<module name="EmptyLineSeparator">
101+
<property name="allowNoEmptyLineBetweenFields" value="true"/>
102+
<property name="tokens" value="IMPORT, CLASS_DEF, INTERFACE_DEF, ENUM_DEF, STATIC_INIT, INSTANCE_INIT, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
103+
</module>
104+
<module name="SeparatorWrap">
105+
<property name="id" value="SeparatorWrapDot"/>
106+
<property name="tokens" value="DOT"/>
107+
<property name="option" value="nl"/>
108+
</module>
109+
<module name="SeparatorWrap">
110+
<property name="id" value="SeparatorWrapComma"/>
111+
<property name="tokens" value="COMMA"/>
112+
<property name="option" value="EOL"/>
113+
</module>
114+
<module name="SeparatorWrap">
115+
<property name="id" value="SeparatorWrapMethodRef"/>
116+
<property name="tokens" value="METHOD_REF"/>
117+
<property name="option" value="nl"/>
118+
</module>
119+
<module name="PackageName">
120+
<property name="format" value="^[a-z]+(\.[a-z][a-z0-9]*)*$"/>
121+
<message key="name.invalidPattern"
122+
value="Package name ''{0}'' must match pattern ''{1}''."/>
123+
</module>
124+
<module name="TypeName">
125+
<message key="name.invalidPattern"
126+
value="Type name ''{0}'' must match pattern ''{1}''."/>
127+
</module>
128+
<module name="MemberName">
129+
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9]*$"/>
130+
<message key="name.invalidPattern"
131+
value="Member name ''{0}'' must match pattern ''{1}''."/>
132+
</module>
133+
<module name="ParameterName">
134+
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
135+
<message key="name.invalidPattern"
136+
value="Parameter name ''{0}'' must match pattern ''{1}''."/>
137+
</module>
138+
<module name="CatchParameterName">
139+
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
140+
<message key="name.invalidPattern"
141+
value="Catch parameter name ''{0}'' must match pattern ''{1}''."/>
142+
</module>
143+
<module name="LocalVariableName">
144+
<property name="tokens" value="VARIABLE_DEF"/>
145+
<property name="format" value="^[a-z]([a-z0-9][a-zA-Z0-9]*)?$"/>
146+
<message key="name.invalidPattern"
147+
value="Local variable name ''{0}'' must match pattern ''{1}''."/>
148+
</module>
149+
<module name="ClassTypeParameterName">
150+
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
151+
<message key="name.invalidPattern"
152+
value="Class type name ''{0}'' must match pattern ''{1}''."/>
153+
</module>
154+
<module name="MethodTypeParameterName">
155+
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
156+
<message key="name.invalidPattern"
157+
value="Method type name ''{0}'' must match pattern ''{1}''."/>
158+
</module>
159+
<module name="InterfaceTypeParameterName">
160+
<property name="format" value="(^[A-Z][0-9]?)$|([A-Z][a-zA-Z0-9]*[T]$)"/>
161+
<message key="name.invalidPattern"
162+
value="Interface type name ''{0}'' must match pattern ''{1}''."/>
163+
</module>
164+
<module name="NoFinalizer"/>
165+
<module name="GenericWhitespace">
166+
<message key="ws.followed"
167+
value="GenericWhitespace ''{0}'' is followed by whitespace."/>
168+
<message key="ws.preceded"
169+
value="GenericWhitespace ''{0}'' is preceded with whitespace."/>
170+
<message key="ws.illegalFollow"
171+
value="GenericWhitespace ''{0}'' should followed by whitespace."/>
172+
<message key="ws.notPreceded"
173+
value="GenericWhitespace ''{0}'' is not preceded with whitespace."/>
174+
</module>
175+
<module name="Indentation">
176+
<property name="basicOffset" value="4"/>
177+
<property name="braceAdjustment" value="0"/>
178+
<property name="caseIndent" value="0"/>
179+
<property name="throwsIndent" value="8"/>
180+
<property name="lineWrappingIndentation" value="8"/>
181+
<property name="arrayInitIndent" value="4"/>
182+
</module>
183+
<module name="AbbreviationAsWordInName">
184+
<property name="ignoreFinal" value="false"/>
185+
<property name="allowedAbbreviationLength" value="4"/>
186+
</module>
187+
<module name="OverloadMethodsDeclarationOrder"/>
188+
<module name="VariableDeclarationUsageDistance"/>
189+
<module name="CustomImportOrder">
190+
<property name="sortImportsInGroupAlphabetically" value="true"/>
191+
<property name="separateLineBetweenGroups" value="true"/>
192+
<property name="customImportOrderRules" value="STATIC###THIRD_PARTY_PACKAGE"/>
193+
</module>
194+
<module name="MethodParamPad"/>
195+
<module name="ParenPad"/>
196+
<module name="OperatorWrap">
197+
<property name="option" value="NL"/>
198+
<property name="tokens" value="BAND, BOR, BSR, BXOR, DIV, EQUAL, GE, GT, LAND, LE, LITERAL_INSTANCEOF, LOR, LT, MINUS, MOD, NOT_EQUAL, PLUS, QUESTION, SL, SR, STAR, METHOD_REF "/>
199+
</module>
200+
<module name="AnnotationLocation">
201+
<property name="id" value="AnnotationLocationMostCases"/>
202+
<property name="tokens" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF"/>
203+
</module>
204+
<module name="AnnotationLocation">
205+
<property name="id" value="AnnotationLocationVariables"/>
206+
<property name="tokens" value="VARIABLE_DEF"/>
207+
<property name="allowSamelineMultipleAnnotations" value="true"/>
208+
</module>
209+
<module name="NonEmptyAtclauseDescription"/>
210+
<module name="JavadocTagContinuationIndentation"/>
211+
<module name="SummaryJavadoc">
212+
<property name="forbiddenSummaryFragments" value="^@return the *|^This method returns |^A [{]@code [a-zA-Z0-9]+[}]( is a )"/>
213+
</module>
214+
<module name="JavadocParagraph"/>
215+
<module name="AtclauseOrder">
216+
<property name="tagOrder" value="@param, @return, @throws, @deprecated"/>
217+
<property name="target" value="CLASS_DEF, INTERFACE_DEF, ENUM_DEF, METHOD_DEF, CTOR_DEF, VARIABLE_DEF"/>
218+
</module>
219+
<module name="JavadocMethod">
220+
<property name="scope" value="public"/>
221+
<property name="allowMissingParamTags" value="true"/>
222+
<property name="allowMissingThrowsTags" value="true"/>
223+
<property name="allowMissingReturnTag" value="true"/>
224+
<property name="allowMissingJavadoc" value="true"/>
225+
<property name="minLineCount" value="2"/>
226+
<property name="allowedAnnotations" value="Override, Test"/>
227+
<property name="allowThrowsTagsForSubclasses" value="true"/>
228+
</module>
229+
<module name="MethodName">
230+
<property name="format" value="^[a-z][a-z0-9][a-zA-Z0-9_]*$"/>
231+
<message key="name.invalidPattern"
232+
value="Method name ''{0}'' must match pattern ''{1}''."/>
233+
</module>
234+
<module name="SingleLineJavadoc">
235+
<property name="ignoreInlineTags" value="false"/>
236+
</module>
237+
<module name="EmptyCatchBlock">
238+
<property name="exceptionVariableName" value="expected"/>
239+
</module>
240+
<module name="CommentsIndentation"/>
241+
</module>
242+
</module>

pom.xml

+8-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
<parent>
2121
<groupId>org.mybatis</groupId>
2222
<artifactId>mybatis-parent</artifactId>
23-
<version>28</version>
23+
<version>29-SNAPSHOT</version>
2424
</parent>
2525
<groupId>org.mybatis.dynamic.sql</groupId>
2626
<artifactId>mybatis-dynamic-sql</artifactId>
@@ -52,6 +52,13 @@
5252
</reportSet>
5353
</reportSets>
5454
</plugin>
55+
<plugin>
56+
<groupId>org.apache.maven.plugins</groupId>
57+
<artifactId>maven-checkstyle-plugin</artifactId>
58+
<configuration>
59+
<configLocation>checkstyle.xml</configLocation>
60+
</configuration>
61+
</plugin>
5562
</plugins>
5663
</reporting>
5764

src/main/java/org/mybatis/dynamic/sql/AbstractListValueCondition.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -40,10 +40,10 @@ public <R> R accept(ConditionVisitor<T,R> visitor) {
4040
* into the parameter map. An example of this is when the case insensitive
4141
* conditions will change a value to upper case.
4242
*
43-
* We do not expose the values stream because we cannot allow subclasses
43+
* <p>We do not expose the values stream because we cannot allow subclasses
4444
* to change the order or number of values.
4545
*
46-
* @param value
46+
* @param value the value
4747
* @return the transformed value - in most cases the value is not changed
4848
*/
4949
protected T transformValue(T value) {

src/main/java/org/mybatis/dynamic/sql/AbstractNoValueCondition.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
*/
1616
package org.mybatis.dynamic.sql;
1717

18-
public abstract class AbstractNoValueCondition <T> extends Condition<T> {
18+
public abstract class AbstractNoValueCondition<T> extends Condition<T> {
1919

2020
@Override
2121
public <R> R accept(ConditionVisitor<T,R> visitor) {

src/main/java/org/mybatis/dynamic/sql/AbstractSqlSupport.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -22,14 +22,14 @@ public abstract class AbstractSqlSupport {
2222
public static final String ONE_SPACE = " "; //$NON-NLS-1$
2323
private static final String UNKNOWN_TABLE = "<<unknown>>"; //$NON-NLS-1$
2424

25-
private SqlTable table;
25+
private Optional<SqlTable> table;
2626

27-
public AbstractSqlSupport(SqlTable table) {
27+
public AbstractSqlSupport(Optional<SqlTable> table) {
2828
this.table = table;
2929
}
3030

3131
private Optional<SqlTable> table() {
32-
return Optional.ofNullable(table);
32+
return table;
3333
}
3434

3535
protected String tableName() {

src/main/java/org/mybatis/dynamic/sql/ConditionVisitor.java

+3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@
1717

1818
public interface ConditionVisitor<T, R> {
1919
R visit(AbstractListValueCondition<T> condition);
20+
2021
R visit(AbstractNoValueCondition<T> condition);
22+
2123
R visit(AbstractSingleValueCondition<T> condition);
24+
2225
R visit(AbstractTwoValueCondition<T> condition);
2326
}

src/main/java/org/mybatis/dynamic/sql/SqlBuilder.java

+5-5
Original file line numberDiff line numberDiff line change
@@ -22,23 +22,23 @@
2222

2323
public interface SqlBuilder {
2424

25-
public static DeleteModelBuilder deleteFrom(SqlTable table) {
25+
static DeleteModelBuilder deleteFrom(SqlTable table) {
2626
return DeleteModelBuilder.of(table);
2727
}
2828

29-
public static <T> InsertModelBuilder<T> insert(T record) {
29+
static <T> InsertModelBuilder<T> insert(T record) {
3030
return InsertModelBuilder.insert(record);
3131
}
3232

33-
public static SelectModelBuilder select(SqlColumn<?>...columns) {
33+
static SelectModelBuilder select(SqlColumn<?>...columns) {
3434
return SelectModelBuilder.of(columns);
3535
}
3636

37-
public static SelectModelBuilder selectDistinct(SqlColumn<?>...columns) {
37+
static SelectModelBuilder selectDistinct(SqlColumn<?>...columns) {
3838
return SelectModelBuilder.ofDistinct(columns);
3939
}
4040

41-
public static UpdateModelBuilder update(SqlTable table) {
41+
static UpdateModelBuilder update(SqlTable table) {
4242
return UpdateModelBuilder.of(table);
4343
}
4444
}

src/main/java/org/mybatis/dynamic/sql/SqlColumn.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -23,8 +23,8 @@
2323
* @author Jeff Butler
2424
*
2525
* @param <T> - even though the type is not directly used in this class,
26-
* it is used by the compiler to match columns with conditions so it should
27-
* not be removed.
26+
* it is used by the compiler to match columns with conditions so it should
27+
* not be removed.
2828
*/
2929
public class SqlColumn<T> {
3030

src/main/java/org/mybatis/dynamic/sql/SqlConditions.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -111,15 +111,15 @@ static <T> IsIn<T> isIn(T...values) {
111111
return isIn(Stream.of(values));
112112
}
113113

114+
static <T> IsIn<T> isIn(Stream<T> values) {
115+
return IsIn.of(values);
116+
}
117+
114118
@SafeVarargs
115119
static <T> IsNotIn<T> isNotIn(T...values) {
116120
return isNotIn(Stream.of(values));
117121
}
118122

119-
static <T> IsIn<T> isIn(Stream<T> values) {
120-
return IsIn.of(values);
121-
}
122-
123123
static <T> IsNotIn<T> isNotIn(Stream<T> values) {
124124
return IsNotIn.of(values);
125125
}

0 commit comments

Comments
 (0)