Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Browse files

Merge pull request #29 from square/jake/checkstyle

Introduce checkstyle to enforce code style. Clean-up files to pass.
  • Loading branch information...
commit 5bbf120bece195ba258e1f070651e65c3cc58138 2 parents 44e7c9c + 33f8289
@edenman edenman authored
View
6 .gitignore
@@ -13,9 +13,9 @@ target
pom.xml.*
release.properties
-.idea/workspace.xml
-.idea/tasks.xml
-.idea/libraries
+.idea
+*.iml
+classes
obj
View
20 android/pom.xml
@@ -28,4 +28,24 @@
<scope>test</scope>
</dependency>
</dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <configuration>
+ <configLocation>../checkstyle.xml</configLocation>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>verify</phase>
+ <goals>
+ <goal>checkstyle</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
</project>
View
4 android/src/main/java/retrofit/android/ShakeDetector.java
@@ -154,8 +154,8 @@ void clear() {
/** Purges samples with timestamps older than cutoff. */
void purge(long cutoff) {
- while (sampleCount >= MIN_QUEUE_SIZE &&
- oldest != null && cutoff - oldest.timestamp > 0) {
+ while (sampleCount >= MIN_QUEUE_SIZE
+ && oldest != null && cutoff - oldest.timestamp > 0) {
// Remove sample.
Sample removed = oldest;
if (removed.accelerating) acceleratingCount--;
View
9 android/src/main/java/retrofit/io/QueueFile.java
@@ -50,7 +50,7 @@
* @author Bob Lee (bob@squareup.com)
*/
public class QueueFile {
- private static final Logger logger =
+ private static final Logger LOGGER =
Logger.getLogger(QueueFile.class.getName());
/** Initial file size in bytes. */
@@ -501,7 +501,8 @@ public synchronized void remove() throws IOException {
public synchronized void clear() throws IOException {
writeHeader(INITIAL_LENGTH, 0, 0, 0);
elementCount = 0;
- first = last = Element.NULL;
+ first = Element.NULL;
+ last = Element.NULL;
fileLength = INITIAL_LENGTH;
if (fileLength > INITIAL_LENGTH) setLength(INITIAL_LENGTH);
}
@@ -533,7 +534,7 @@ public synchronized void close() throws IOException {
}
});
} catch (IOException e) {
- logger.log(Level.WARNING, "read error", e);
+ LOGGER.log(Level.WARNING, "read error", e);
}
builder.append("]]");
return builder.toString();
@@ -590,6 +591,6 @@ public synchronized void close() throws IOException {
* which case it reads all the remaining bytes. Not buffered.
* @param length of element data in bytes
*/
- public void read(InputStream in, int length) throws IOException;
+ void read(InputStream in, int length) throws IOException;
}
}
View
120 checkstyle.xml
@@ -0,0 +1,120 @@
+<?xml version="1.0"?>
+<!DOCTYPE module PUBLIC
+ "-//Puppy Crawl//DTD Check Configuration 1.2//EN"
+ "http://www.puppycrawl.com/dtds/configuration_1_2.dtd">
+
+<module name="Checker">
+ <!--module name="NewlineAtEndOfFile"/-->
+ <module name="FileLength"/>
+ <module name="FileTabCharacter"/>
+
+ <!-- Trailing spaces -->
+ <module name="RegexpSingleline">
+ <property name="format" value="\s+$"/>
+ <property name="message" value="Line has trailing spaces."/>
+ </module>
+
+ <module name="TreeWalker">
+ <property name="cacheFile" value="${checkstyle.cache.file}"/>
+
+ <!-- Checks for Javadoc comments. -->
+ <!-- See http://checkstyle.sf.net/config_javadoc.html -->
+ <!--module name="JavadocMethod"/-->
+ <!--module name="JavadocType"/-->
+ <!--module name="JavadocVariable"/-->
+ <!--module name="JavadocStyle"/-->
+
+
+ <!-- Checks for Naming Conventions. -->
+ <!-- See http://checkstyle.sf.net/config_naming.html -->
+ <module name="ConstantName"/>
+ <module name="LocalFinalVariableName"/>
+ <module name="LocalVariableName"/>
+ <module name="MemberName"/>
+ <module name="MethodName"/>
+ <module name="PackageName"/>
+ <module name="ParameterName"/>
+ <module name="StaticVariableName"/>
+ <module name="TypeName"/>
+
+
+ <!-- Checks for imports -->
+ <!-- See http://checkstyle.sf.net/config_import.html -->
+ <module name="AvoidStarImport"/>
+ <module name="IllegalImport"/> <!-- defaults to sun.* packages -->
+ <module name="RedundantImport"/>
+ <module name="UnusedImports"/>
+
+
+ <!-- Checks for Size Violations. -->
+ <!-- See http://checkstyle.sf.net/config_sizes.html -->
+ <module name="LineLength">
+ <property name="max" value="120"/>
+ </module>
+ <!--module name="MethodLength"/-->
+ <!--module name="ParameterNumber"/-->
+
+
+ <!-- Checks for whitespace -->
+ <!-- See http://checkstyle.sf.net/config_whitespace.html -->
+ <module name="GenericWhitespace"/>
+ <module name="EmptyForIteratorPad"/>
+ <module name="MethodParamPad"/>
+ <module name="NoWhitespaceAfter"/>
+ <module name="NoWhitespaceBefore"/>
+ <module name="OperatorWrap"/>
+ <module name="ParenPad"/>
+ <!--module name="TypecastParenPad"/-->
+ <module name="WhitespaceAfter"/>
+ <module name="WhitespaceAround"/>
+
+
+ <!-- Modifier Checks -->
+ <!-- See http://checkstyle.sf.net/config_modifiers.html -->
+ <!--module name="ModifierOrder"/-->
+ <module name="RedundantModifier"/>
+
+
+ <!-- Checks for blocks. You know, those {}'s -->
+ <!-- See http://checkstyle.sf.net/config_blocks.html -->
+ <!--module name="AvoidNestedBlocks"/-->
+ <!--module name="EmptyBlock"/-->
+ <module name="LeftCurly"/>
+ <!--module name="NeedBraces"/-->
+ <module name="RightCurly"/>
+
+
+ <!-- Checks for common coding problems -->
+ <!-- See http://checkstyle.sf.net/config_coding.html -->
+ <!--module name="AvoidInlineConditionals"/-->
+ <module name="CovariantEquals"/>
+ <module name="DoubleCheckedLocking"/>
+ <module name="EmptyStatement"/>
+ <module name="EqualsAvoidNull"/>
+ <module name="EqualsHashCode"/>
+ <!--module name="HiddenField"/-->
+ <module name="IllegalInstantiation"/>
+ <module name="InnerAssignment"/>
+ <!--module name="MagicNumber"/-->
+ <module name="MissingSwitchDefault"/>
+ <module name="RedundantThrows"/>
+ <module name="SimplifyBooleanExpression"/>
+ <module name="SimplifyBooleanReturn"/>
+
+ <!-- Checks for class design -->
+ <!-- See http://checkstyle.sf.net/config_design.html -->
+ <!--module name="DesignForExtension"/-->
+ <!--module name="FinalClass"/-->
+ <!--module name="HideUtilityClassConstructor"/-->
+ <!--module name="InterfaceIsType"/-->
+ <!--module name="VisibilityModifier"/-->
+
+
+ <!-- Miscellaneous other checks. -->
+ <!-- See http://checkstyle.sf.net/config_misc.html -->
+ <!--module name="ArrayTypeStyle"/-->
+ <!--module name="FinalParameters"/-->
+ <!--module name="TodoComment"/-->
+ <module name="UpperEll"/>
+ </module>
+</module>
View
20 core/pom.xml
@@ -22,4 +22,24 @@
<scope>test</scope>
</dependency>
</dependencies>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <configuration>
+ <configLocation>../checkstyle.xml</configLocation>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>verify</phase>
+ <goals>
+ <goal>checkstyle</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
</project>
View
16 http/pom.xml
@@ -54,6 +54,22 @@
<build>
<plugins>
<plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <configuration>
+ <configLocation>../checkstyle.xml</configLocation>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>verify</phase>
+ <goals>
+ <goal>checkstyle</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
<groupId>org.sonatype.plugins</groupId>
<artifactId>jarjar-maven-plugin</artifactId>
<executions>
View
22 http/src/main/java/retrofit/http/CallbackResponseHandler.java
@@ -21,7 +21,7 @@
public abstract class CallbackResponseHandler<T>
implements ResponseHandler<Void> {
- private static final Logger logger =
+ private static final Logger LOGGER =
Logger.getLogger(CallbackResponseHandler.class.getName());
private static final int UNAUTHORIZED = 401;
@@ -66,13 +66,13 @@ public Void handleResponse(HttpResponse response) throws IOException {
int statusCode = statusLine.getStatusCode();
if (statusCode == UNAUTHORIZED) {
- logger.fine("Session expired.");
+ LOGGER.fine("Session expired.");
callback.sessionExpired();
return null;
}
if (statusCode == FORBIDDEN) {
- logger.fine("Account disabled.");
+ LOGGER.fine("Account disabled.");
callback.sessionExpired();
return null;
}
@@ -82,7 +82,7 @@ public Void handleResponse(HttpResponse response) throws IOException {
// 2XX == successful request
if (statusCode >= 200 && statusCode < 300) {
if (entity == null) {
- logger.fine("Missing entity for " + statusCode + " response.");
+ LOGGER.fine("Missing entity for " + statusCode + " response.");
callback.serverError(null, statusCode);
return null;
}
@@ -90,7 +90,7 @@ public Void handleResponse(HttpResponse response) throws IOException {
try {
callback.call(parse(entity));
} catch (ServerException e) {
- logger.log(Level.WARNING, e.getMessage(), e);
+ LOGGER.log(Level.WARNING, e.getMessage(), e);
callback.serverError(null, statusCode);
}
return null;
@@ -101,11 +101,11 @@ public Void handleResponse(HttpResponse response) throws IOException {
if (entity != null) {
// TODO: Use specified encoding.
String body = new String(HttpClients.entityToBytes(entity), "UTF-8");
- logger.fine("Server returned " + statusCode + ", "
+ LOGGER.fine("Server returned " + statusCode + ", "
+ statusLine.getReasonPhrase() + ". Body: " + body);
callback.serverError(parseServerMessage(statusCode, body), statusCode);
} else {
- logger.fine("Server returned " + statusCode + ", "
+ LOGGER.fine("Server returned " + statusCode + ", "
+ statusLine.getReasonPhrase() + ".");
callback.serverError(null, statusCode);
}
@@ -119,16 +119,16 @@ public Void handleResponse(HttpResponse response) throws IOException {
// TODO: Use specified encoding.
String body = new String(HttpClients.entityToBytes(bufferedEntity),
"UTF-8");
- logger.fine("Server returned " + statusCode + ", "
+ LOGGER.fine("Server returned " + statusCode + ", "
+ statusLine.getReasonPhrase() + ". Body: " + body);
try {
callback.clientError(parse(bufferedEntity), statusCode);
} catch (ServerException e) {
- logger.log(Level.WARNING, e.getMessage(), e);
+ LOGGER.log(Level.WARNING, e.getMessage(), e);
callback.serverError(null, statusCode);
}
} else {
- logger.fine("Server returned " + statusCode + ", "
+ LOGGER.fine("Server returned " + statusCode + ", "
+ statusLine.getReasonPhrase() + ".");
callback.clientError(null, statusCode);
}
@@ -146,7 +146,7 @@ private String parseServerMessage(int statusCode, String body) {
if (serverError != null) return serverError.message;
} catch (Throwable t) {
// The server error takes precedence.
- logger.log(Level.WARNING, t.getMessage(), t);
+ LOGGER.log(Level.WARNING, t.getMessage(), t);
}
}
return null;
View
4 http/src/main/java/retrofit/http/Fetcher.java
@@ -25,7 +25,7 @@
* @author Bob Lee (bob@squareup.com)
*/
public class Fetcher {
- private static final Logger logger =
+ private static final Logger LOGGER =
Logger.getLogger(Fetcher.class.getName());
// TODO: Support conditional get.
@@ -62,7 +62,7 @@ public void run() {
httpClientProvider.get().execute(get, new DownloadHandler(gson, destination,
uiCallback, progressListener, mainThread));
} catch (IOException e) {
- logger.log(Level.WARNING, "fetch exception", e);
+ LOGGER.log(Level.WARNING, "fetch exception", e);
uiCallback.networkError();
} catch (Throwable t) {
uiCallback.unexpectedError(t);
View
4 http/src/main/java/retrofit/http/GsonResponseHandler.java
@@ -15,7 +15,7 @@
* Callback#call(T)}.
*/
class GsonResponseHandler<T> extends CallbackResponseHandler<T> {
- private static final Logger logger =
+ private static final Logger LOGGER =
Logger.getLogger(GsonResponseHandler.class.getName());
private final Gson gson;
@@ -40,7 +40,7 @@ private GsonResponseHandler(Gson gson, Type type, Callback<T> callback, String u
@Override protected T parse(HttpEntity entity) throws IOException,
ServerException {
try {
- if (logger.isLoggable(Level.FINE)) {
+ if (LOGGER.isLoggable(Level.FINE)) {
entity = HttpClients.copyAndLog(entity, url, startTime);
}
View
2  http/src/main/java/retrofit/http/Headers.java
@@ -11,5 +11,5 @@
public interface Headers {
/** Sets headers on the given message, with the specified MIME type */
- public void setOn(HttpMessage message, String mimeType);
+ void setOn(HttpMessage message, String mimeType);
}
View
12 http/src/main/java/retrofit/http/HttpClients.java
@@ -16,7 +16,7 @@
* @author Bob Lee (bob@squareup.com)
*/
public class HttpClients {
- private static final Logger logger =
+ private static final Logger LOGGER =
Logger.getLogger(HttpClients.class.getName());
/**
@@ -42,7 +42,7 @@ public static IOException responseToException(HttpResponse response) {
if (entity != null) body = new String(entityToBytes(entity));
} catch (Throwable t) {
// The original error takes precedence.
- logger.log(Level.WARNING, "Response entity to String conversion.", t);
+ LOGGER.log(Level.WARNING, "Response entity to String conversion.", t);
}
return new IOException("Unexpected response."
+ " Code: " + statusLine.getStatusCode()
@@ -57,15 +57,15 @@ public static HttpEntity copyAndLog(HttpEntity entity, String url, String startT
throws IOException {
byte[] bytes = entityToBytes(entity);
// TODO: Use correct encoding.
- if (logger.isLoggable(Level.FINE)) {
+ if (LOGGER.isLoggable(Level.FINE)) {
final int chunkSize = 4000;
- logger.fine("----Response from " + url + " at " + startTime + ":");
+ LOGGER.fine("----Response from " + url + " at " + startTime + ":");
for (int i = 0; i < bytes.length; i += chunkSize) {
int end = i + chunkSize;
- logger.fine(((end > bytes.length) ? new String(bytes, i, bytes.length - i)
+ LOGGER.fine(((end > bytes.length) ? new String(bytes, i, bytes.length - i)
: new String(bytes, i, chunkSize)));
}
- logger.fine("----end response.");
+ LOGGER.fine("----end response.");
}
return new ByteArrayEntity(bytes);
View
2  http/src/main/java/retrofit/http/HttpRequestBuilder.java
@@ -33,8 +33,6 @@
* </ol>
*/
final class HttpRequestBuilder {
- private static final Logger logger = Logger.getLogger(HttpRequestBuilder.class.getName());
-
private final Gson gson;
private Method javaMethod;
View
10 http/src/main/java/retrofit/http/RestAdapter.java
@@ -31,7 +31,7 @@
* @author Bob Lee (bob@squareup.com)
*/
@Singleton public class RestAdapter {
- private static final Logger logger = Logger.getLogger(RestAdapter.class.getName());
+ private static final Logger LOGGER = Logger.getLogger(RestAdapter.class.getName());
@Inject private Server server;
@Inject private Provider<HttpClient> httpClientProvider;
@@ -108,7 +108,7 @@
// The last parameter should be of type Callback<T>. Determine T.
Type[] genericParameterTypes = method.getGenericParameterTypes();
final Type resultType = getCallbackParameterType(method, genericParameterTypes);
- logger.fine("Sending " + request.getMethod() + " to " + request.getURI());
+ LOGGER.fine("Sending " + request.getMethod() + " to " + request.getURI());
final Date start = new Date();
startTime = dateFormat.get().format(start);
@@ -128,7 +128,7 @@
}
});
} catch (Throwable t) {
- logger.log(Level.WARNING, t.getMessage() + " from " + url + " at " + startTime, t);
+ LOGGER.log(Level.WARNING, t.getMessage() + " from " + url + " at " + startTime, t);
callback.unexpectedError(t);
}
@@ -141,10 +141,10 @@ private void backgroundInvoke(HttpUriRequest request, ResponseHandler<Void> rh,
try {
httpClientProvider.get().execute(request, rh);
} catch (IOException e) {
- logger.log(Level.WARNING, e.getMessage() + " from " + url + " at " + startTime, e);
+ LOGGER.log(Level.WARNING, e.getMessage() + " from " + url + " at " + startTime, e);
callback.networkError();
} catch (Throwable t) {
- logger.log(Level.WARNING, t.getMessage() + " from " + url + " at " + startTime, t);
+ LOGGER.log(Level.WARNING, t.getMessage() + " from " + url + " at " + startTime, t);
callback.unexpectedError(t);
}
}
View
2  http/src/main/java/retrofit/http/TypedBytesEntity.java
@@ -31,7 +31,7 @@ public TypedBytesEntity(TypedBytes typedBytes) {
return typedBytes.length();
}
- @Override public InputStream getContent() throws IOException, IllegalStateException {
+ @Override public InputStream getContent() throws IOException {
ByteArrayOutputStream out = new ByteArrayOutputStream();
typedBytes.writeTo(out);
return new ByteArrayInputStream(out.toByteArray());
View
16 io/pom.xml
@@ -43,6 +43,22 @@
<artifactId>android-maven-plugin</artifactId>
<extensions>true</extensions>
</plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <configuration>
+ <configLocation>../checkstyle.xml</configLocation>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>verify</phase>
+ <goals>
+ <goal>checkstyle</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>
View
3  io/src/main/java/retrofit/io/Files.java
@@ -62,8 +62,7 @@ public static void makeDirectory(File directory) {
}
} else {
if (!directory.isDirectory()) {
- throw new IllegalArgumentException("File " + directory +
- " is not a directory");
+ throw new IllegalArgumentException("File " + directory + " is not a directory");
}
}
}
View
9 pom.xml
@@ -150,6 +150,15 @@
<target>${java.version}</target>
</configuration>
</plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <version>2.9.1</version>
+ <configuration>
+ <failsOnError>true</failsOnError>
+ </configuration>
+ </plugin>
</plugins>
</pluginManagement>
View
16 sample-android/pom.xml
@@ -40,6 +40,22 @@
<artifactId>android-maven-plugin</artifactId>
<extensions>true</extensions>
</plugin>
+
+ <plugin>
+ <groupId>org.apache.maven.plugins</groupId>
+ <artifactId>maven-checkstyle-plugin</artifactId>
+ <configuration>
+ <configLocation>../checkstyle.xml</configLocation>
+ </configuration>
+ <executions>
+ <execution>
+ <phase>verify</phase>
+ <goals>
+ <goal>checkstyle</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
</plugins>
</build>
</project>
Please sign in to comment.
Something went wrong with that request. Please try again.