You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@twill.apache.org by ch...@apache.org on 2014/01/28 02:08:11 UTC

[2/2] git commit: [TWILL-35] Enabling checkstyle.

[TWILL-35] Enabling checkstyle.

Signed-off-by: Terence Yim <te...@continuuity.com>


Project: http://git-wip-us.apache.org/repos/asf/incubator-twill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-twill/commit/098a0cac
Tree: http://git-wip-us.apache.org/repos/asf/incubator-twill/tree/098a0cac
Diff: http://git-wip-us.apache.org/repos/asf/incubator-twill/diff/098a0cac

Branch: refs/heads/master
Commit: 098a0cac2c72c0d0f9627477d1ae6b6d7668291c
Parents: 61a602a
Author: Terence Yim <te...@continuuity.com>
Authored: Mon Jan 27 16:00:45 2014 -0800
Committer: Terence Yim <te...@continuuity.com>
Committed: Mon Jan 27 17:07:53 2014 -0800

----------------------------------------------------------------------
 checkstyle.xml                                  | 356 +++++++++++++++++++
 pom.xml                                         |  26 ++
 .../java/org/apache/twill/api/LocalFile.java    |   2 +-
 .../apache/twill/api/ResourceSpecification.java |   3 +-
 .../org/apache/twill/api/TwillController.java   |   2 +-
 .../twill/api/TwillRunnableSpecification.java   |   2 +-
 .../apache/twill/api/TwillSpecification.java    |  10 +-
 .../DefaultEventHandlerSpecification.java       |   5 +-
 .../apache/twill/internal/DefaultLocalFile.java |   2 +-
 .../twill/internal/DefaultResourceReport.java   |   4 +-
 .../internal/DefaultRuntimeSpecification.java   |   2 +-
 .../DefaultTwillRunnableSpecification.java      |   2 +-
 .../internal/DefaultTwillSpecification.java     |   8 +-
 .../java/org/apache/twill/internal/RunIds.java  |   4 +-
 .../org/apache/twill/filesystem/Location.java   |   2 +-
 .../AbstractExecutionServiceController.java     |  11 +-
 .../twill/internal/AbstractTwillController.java |   2 +-
 .../internal/AbstractZKServiceController.java   |  12 +-
 .../java/org/apache/twill/internal/Configs.java |   8 +-
 .../org/apache/twill/internal/Constants.java    |   2 +-
 .../internal/SingleRunnableApplication.java     |   2 +-
 .../internal/TwillContainerController.java      |   2 +-
 .../twill/internal/TwillContainerLauncher.java  |   2 +-
 .../org/apache/twill/internal/ZKMessages.java   |   8 +-
 .../twill/internal/ZKServiceDecorator.java      |  32 +-
 .../twill/internal/json/ArgumentsCodec.java     |  10 +-
 .../twill/internal/json/LocalFileCodec.java     |   4 +-
 .../internal/json/ResourceReportAdapter.java    |   4 +-
 .../internal/json/ResourceReportCodec.java      |  12 +-
 .../json/ResourceSpecificationCodec.java        |   4 +-
 .../json/RuntimeSpecificationCodec.java         |  16 +-
 .../twill/internal/json/StateNodeCodec.java     |   9 +-
 .../internal/json/TwillRunResourcesCodec.java   |   4 +-
 .../json/TwillRunnableSpecificationCodec.java   |  10 +-
 .../internal/json/TwillSpecificationCodec.java  |  24 +-
 .../internal/kafka/EmbeddedKafkaServer.java     |   1 -
 .../twill/internal/logging/LogEntryDecoder.java |   4 +-
 .../twill/internal/state/MessageCodec.java      |   6 +-
 .../twill/internal/state/SimpleMessage.java     |   2 +-
 .../apache/twill/internal/state/StateNode.java  |   2 +-
 .../twill/internal/state/SystemMessages.java    |   2 +-
 .../twill/kafka/client/KafkaPublisher.java      |   2 +-
 .../apache/twill/internal/ControllerTest.java   |  10 +-
 .../twill/internal/state/MessageCodecTest.java  |   2 +-
 .../internal/state/ZKServiceDecoratorTest.java  |  14 +-
 .../internal/utils/ApplicationBundlerTest.java  |   6 +-
 .../discovery/DefaultServiceDiscovered.java     |   2 +-
 .../discovery/InMemoryDiscoveryService.java     |   2 +-
 .../twill/discovery/ZKDiscoveryService.java     |  22 +-
 .../discovery/DiscoveryServiceTestBase.java     |   6 +-
 .../twill/discovery/ZKDiscoveryServiceTest.java |   4 +-
 .../internal/yarn/Hadoop20YarnAMClient.java     |  10 +-
 .../internal/yarn/Hadoop20YarnAppClient.java    |  10 +-
 .../internal/yarn/Hadoop20YarnNMClient.java     |   2 +-
 .../internal/yarn/ports/AllocationResponse.java |   2 +-
 .../yarn/ports/AllocationResponses.java         |   6 +-
 .../internal/yarn/Hadoop21YarnAMClient.java     |   4 +-
 .../internal/yarn/Hadoop21YarnAppClient.java    |  10 +-
 .../internal/yarn/Hadoop21YarnNMClient.java     |   2 +-
 .../twill/internal/AbstractTwillService.java    |   6 +-
 .../org/apache/twill/internal/ServiceMain.java  |  12 +-
 .../appmaster/ApplicationMasterMain.java        |   8 +-
 .../ApplicationMasterProcessLauncher.java       |   8 +-
 .../appmaster/ApplicationMasterService.java     |   2 +-
 .../appmaster/ApplicationSubmitter.java         |   2 +-
 .../appmaster/RunnableContainerRequest.java     |   4 +-
 .../appmaster/RunnableProcessLauncher.java      |   4 +-
 .../internal/appmaster/RunningContainers.java   |  28 +-
 .../internal/appmaster/TrackerService.java      |   4 +-
 .../internal/container/TwillContainerMain.java  |  18 +-
 .../container/TwillContainerService.java        |  19 +-
 .../yarn/AbstractYarnProcessLauncher.java       |   8 +-
 .../twill/internal/yarn/YarnAMClient.java       |   2 +-
 .../twill/internal/yarn/YarnAppClient.java      |   4 +-
 .../internal/yarn/YarnApplicationReport.java    |   4 +-
 .../internal/yarn/YarnContainerStatus.java      |   2 +-
 .../twill/internal/yarn/YarnLaunchContext.java  |   2 +-
 .../twill/internal/yarn/YarnNMClient.java       |   2 +-
 .../apache/twill/internal/yarn/YarnUtils.java   |  10 +-
 .../twill/yarn/LocationSecureStoreUpdater.java  |   6 +-
 .../apache/twill/yarn/ResourceReportClient.java |   4 +-
 .../org/apache/twill/yarn/YarnSecureStore.java  |   2 +-
 .../apache/twill/yarn/YarnTwillController.java  |  14 +-
 .../twill/yarn/YarnTwillRunnerService.java      |  60 ++--
 .../org/apache/twill/yarn/BaseYarnTest.java     |   4 +-
 .../twill/yarn/DistributeShellTestRun.java      |  16 +-
 .../org/apache/twill/yarn/DistributedShell.java |  10 +-
 .../apache/twill/yarn/EchoServerTestRun.java    |  32 +-
 .../twill/yarn/FailureRestartTestRun.java       |   3 +
 .../org/apache/twill/yarn/LocalFileTestRun.java |  41 ++-
 .../twill/yarn/ProvisionTimeoutTestRun.java     |  24 +-
 .../org/apache/twill/yarn/SocketServer.java     |   2 +-
 .../apache/twill/yarn/TaskCompletedTestRun.java |   3 +
 .../internal/zookeeper/BasicNodeChildren.java   |   2 +-
 .../twill/internal/zookeeper/BasicNodeData.java |   2 +-
 .../zookeeper/DefaultZKClientService.java       |  12 +-
 .../zookeeper/FailureRetryZKClient.java         |   6 +-
 .../internal/zookeeper/NamespaceZKClient.java   |   4 +-
 .../zookeeper/RewatchOnExpireWatcher.java       |   4 +-
 .../zookeeper/RewatchOnExpireZKClient.java      |   4 +-
 .../zookeeper/SettableOperationFuture.java      |   6 +-
 .../apache/twill/zookeeper/ZKClientService.java |   2 +-
 .../apache/twill/zookeeper/ZKOperations.java    |   6 +-
 .../apache/twill/zookeeper/ZKClientTest.java    |   4 +-
 104 files changed, 779 insertions(+), 384 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/checkstyle.xml
----------------------------------------------------------------------
diff --git a/checkstyle.xml b/checkstyle.xml
new file mode 100644
index 0000000..5fcce66
--- /dev/null
+++ b/checkstyle.xml
@@ -0,0 +1,356 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC
+    "-//Puppy Crawl//DTD Check Configuration 1.3//EN"
+    "http://www.puppycrawl.com/dtds/configuration_1_3.dtd">
+
+<!-- This is a checkstyle configuration file. For descriptions of
+what the following rules do, please see the checkstyle configuration
+page at http://checkstyle.sourceforge.net/config.html -->
+
+<module name="Checker">
+
+  <module name="FileTabCharacter">
+    <!-- Checks that there are no tab characters in the file.
+    -->
+  </module>
+
+  <!--
+
+  LENGTH CHECKS FOR FILES
+
+  -->
+
+  <module name="FileLength">
+    <property name="max" value="3000"/>
+    <property name="severity" value="warning"/>
+  </module>
+
+
+  <module name="NewlineAtEndOfFile">
+    <property name="lineSeparator" value="lf"/>
+  </module>
+
+  <module name="RegexpSingleline">
+    <!-- Checks that FIXME is not used in comments.  TODO is preferred.
+    -->
+    <property name="format" value="((//.*)|(\*.*))FIXME" />
+    <property name="message" value='TODO is preferred to FIXME.  e.g. "TODO: (ENG-123) -  Refactor when v2 is released."' />
+  </module>
+
+  <module name="RegexpSingleline">
+    <!-- Checks that TODOs are named with some basic formatting. Checks for the following pattern  TODO: ( 
+    -->
+    <property name="format" value="((//.*)|(\*.*))TODO[^: (]" />
+    <property name="message" value='All TODOs should be named.  e.g. "TODO: (ENG-123) - Refactor when v2 is released."' />
+  </module>
+
+  <!--<module name="JavadocPackage">-->
+    <!--&lt;!&ndash; Checks that each Java package has a Javadoc file used for commenting.-->
+      <!--Only allows a package-info.java, not package.html. &ndash;&gt;-->
+    <!--<property name="severity" value="warning"/>-->
+  <!--</module>-->
+
+  <!-- All Java AST specific tests live under TreeWalker module. -->
+  <module name="TreeWalker">
+
+    <!--
+
+    IMPORT CHECKS
+
+    -->
+
+    <module name="AvoidStarImport">
+      <property name="allowClassImports" value="false"/>
+      <property name="allowStaticMemberImports" value="false"/>
+    </module>
+
+    <module name="AvoidStaticImport">
+    </module>
+
+    <module name="RedundantImport">
+      <!-- Checks for redundant import statements. -->
+      <property name="severity" value="error"/>
+    </module>
+
+    <module name="ImportOrder">
+      <!-- Checks for out of order import statements. -->
+      <property name="severity" value="warning"/>
+      <property name="groups" value="ch,com,junit,kafka,net,org,/^javax?\./"/>
+      <!-- This ensures that static imports go to the end. -->
+      <property name="option" value="bottom"/>
+      <property name="tokens" value="STATIC_IMPORT, IMPORT"/>
+    </module>
+
+    <!--
+
+    METHOD LENGTH CHECKS
+
+    -->
+
+    <module name="MethodLength">
+      <property name="tokens" value="METHOD_DEF"/>
+      <property name="max" value="300"/>
+      <property name="countEmpty" value="false"/>
+      <property name="severity" value="warning"/>
+   </module>
+   
+    <!--
+
+    JAVADOC CHECKS
+
+    -->
+
+    <!-- Checks for Javadoc comments.                     -->
+    <!-- See http://checkstyle.sf.net/config_javadoc.html -->
+    <module name="JavadocMethod">
+      <property name="scope" value="protected"/>
+      <property name="severity" value="warning"/>
+      <property name="allowMissingJavadoc" value="true"/>
+      <property name="allowMissingParamTags" value="true"/>
+      <property name="allowMissingReturnTag" value="true"/>
+      <property name="allowMissingThrowsTags" value="true"/>
+      <property name="allowThrowsTagsForSubclasses" value="true"/>
+      <property name="allowUndeclaredRTE" value="true"/>
+    </module>
+
+    <module name="JavadocType">
+      <property name="scope" value="protected"/>
+      <property name="severity" value="error"/>
+    </module>
+
+    <module name="JavadocStyle">
+      <property name="severity" value="warning"/>
+    </module>
+
+    <!--
+
+    NAMING CHECKS
+
+    -->
+
+    <!-- Item 38 - Adhere to generally accepted naming conventions -->
+
+    <module name="PackageName">
+      <!-- Validates identifiers for package names against the
+        supplied expression. -->
+      <!-- Here the default checkstyle rule restricts package name parts to
+        seven characters, this is not in line with common practice at Google.
+      -->
+      <property name="format" value="^[a-z]+(\.[a-z][a-z0-9]{1,})*$"/>
+      <property name="severity" value="warning"/>
+    </module>
+
+    <module name="TypeNameCheck">
+      <!-- Validates static, final fields against the
+      expression "^[A-Z][a-zA-Z0-9]*$". -->
+      <metadata name="altname" value="TypeName"/>
+      <property name="severity" value="warning"/>
+    </module>
+
+    <module name="ConstantNameCheck">
+      <!-- Validates non-private, static, final fields against the supplied
+      public/package final fields "^[A-Z][A-Z0-9]*(_[A-Z0-9]+)*$". -->
+      <metadata name="altname" value="ConstantName"/>
+      <property name="applyToPublic" value="true"/>
+      <property name="applyToProtected" value="true"/>
+      <property name="applyToPackage" value="true"/>
+      <property name="applyToPrivate" value="false"/>
+      <property name="format" value="^([A-Z][A-Z0-9]*(_[A-Z0-9]+)*|FLAG_.*)$"/>
+      <message key="name.invalidPattern"
+               value="Variable ''{0}'' should be in ALL_CAPS (if it is a constant) or be private (otherwise)."/>
+      <property name="severity" value="warning"/>
+    </module>
+
+    <module name="StaticVariableNameCheck">
+      <!-- Validates static, non-final fields against the supplied
+      expression "^[a-z][a-zA-Z0-9]*_?$". -->
+      <metadata name="altname" value="StaticVariableName"/>
+      <property name="applyToPublic" value="true"/>
+      <property name="applyToProtected" value="true"/>
+      <property name="applyToPackage" value="true"/>
+      <property name="applyToPrivate" value="true"/>
+      <property name="format" value="^[a-z][a-zA-Z0-9]*_?$"/>
+      <property name="severity" value="warning"/>
+    </module>
+
+    <module name="MemberNameCheck">
+      <!-- Validates non-static members against the supplied expression. -->
+      <metadata name="altname" value="MemberName"/>
+      <property name="applyToPublic" value="true"/>
+      <property name="applyToProtected" value="true"/>
+      <property name="applyToPackage" value="true"/>
+      <property name="applyToPrivate" value="true"/>
+      <property name="format" value="^[a-z][a-zA-Z0-9]*$"/>
+      <property name="severity" value="warning"/>
+    </module>
+
+    <module name="MethodNameCheck">
+      <!-- Validates identifiers for method names. -->
+      <metadata name="altname" value="MethodName"/>
+      <property name="format" value="^[a-z][a-zA-Z0-9]*(_[a-zA-Z0-9]+)*$"/>
+      <property name="severity" value="warning"/>
+    </module>
+
+    <module name="ParameterName">
+      <!-- Validates identifiers for method parameters against the
+        expression "^[a-z][a-zA-Z0-9]*$". -->
+      <property name="severity" value="warning"/>
+    </module>
+
+    <module name="LocalFinalVariableName">
+      <!-- Validates identifiers for local final variables against the
+        expression "^[a-z][a-zA-Z0-9]*$". -->
+      <property name="severity" value="warning"/>
+    </module>
+
+    <module name="LocalVariableName">
+      <!-- Validates identifiers for local variables against the
+        expression "^[a-z][a-zA-Z0-9]*$". -->
+      <property name="severity" value="warning"/>
+    </module>
+
+
+    <!--
+
+    LENGTH and CODING CHECKS
+
+    -->
+
+    <module name="LineLength">
+      <!-- Checks if a line is too long. -->
+      <property name="max" value="120" default="120"/>
+      <property name="severity" value="error"/>
+
+      <!--
+        The default ignore pattern exempts the following elements:
+          - import statements
+          - long URLs inside comments
+      -->
+
+      <property name="ignorePattern"
+          value="${com.puppycrawl.tools.checkstyle.checks.sizes.LineLength.ignorePattern}"
+          default="^(package .*;\s*)|(import .*;\s*)|( *\* *https?://.*)$"/>
+    </module>
+
+    <module name="LeftCurly">
+      <!-- Checks for placement of the left curly brace ('{'). -->
+      <property name="severity" value="error"/>
+    </module>
+
+    <module name="RightCurly">
+      <!-- Checks right curlies on CATCH, ELSE, and TRY blocks are on
+      the same line. e.g., the following example is fine:
+      <pre>
+        if {
+          ...
+        } else
+      </pre>
+      -->
+      <!-- This next example is not fine:
+      <pre>
+        if {
+          ...
+        }
+        else
+      </pre>
+      -->
+      <property name="option" value="same"/>
+      <property name="severity" value="error"/>
+    </module>
+
+    <!-- Checks for braces around if and else blocks -->
+    <module name="NeedBraces">
+      <property name="severity" value="error"/>
+      <property name="tokens" value="LITERAL_IF, LITERAL_ELSE, LITERAL_FOR, LITERAL_WHILE, LITERAL_DO"/>
+    </module>
+
+    <module name="UpperEll">
+      <!-- Checks that long constants are defined with an upper ell.-->
+      <property name="severity" value="error"/>
+    </module>
+
+    <module name="FallThrough">
+      <!-- Warn about falling through to the next case statement.  Similar to
+      javac -Xlint:fallthrough, but the check is suppressed if a single-line comment
+      on the last non-blank line preceding the fallen-into case contains 'fall through' (or
+      some other variants which we don't publicized to promote consistency).
+      -->
+      <property name="reliefPattern"
+       value="fall through|Fall through|fallthru|Fallthru|falls through|Falls through|fallthrough|Fallthrough|No break|NO break|no break|continue on"/>
+      <property name="severity" value="error"/>
+    </module>
+
+
+    <!--
+
+    MODIFIERS CHECKS
+
+    -->
+
+    <module name="ModifierOrder">
+      <!-- Warn if modifier order is inconsistent with JLS3 8.1.1, 8.3.1, and
+           8.4.3.  The prescribed order is:
+           public, protected, private, abstract, static, final, transient, volatile,
+           synchronized, native, strictfp
+        -->
+    </module>
+
+
+    <!--
+
+    WHITESPACE CHECKS
+
+    -->
+
+    <module name="WhitespaceAround">
+      <!-- Checks that various tokens are surrounded by whitespace.
+           This includes most binary operators and keywords followed
+           by regular or curly braces.
+      -->
+      <property name="tokens" value="ASSIGN, BAND, BAND_ASSIGN, BOR,
+        BOR_ASSIGN, BSR, BSR_ASSIGN, BXOR, BXOR_ASSIGN, COLON, DIV, DIV_ASSIGN,
+        EQUAL, GE, GT, LAND, LCURLY, LE, LITERAL_CATCH, LITERAL_DO, LITERAL_ELSE,
+        LITERAL_FINALLY, LITERAL_FOR, LITERAL_IF, LITERAL_RETURN,
+        LITERAL_SYNCHRONIZED, LITERAL_TRY, LITERAL_WHILE, LOR, LT, MINUS,
+        MINUS_ASSIGN, MOD, MOD_ASSIGN, NOT_EQUAL, PLUS, PLUS_ASSIGN, QUESTION,
+        SL, SL_ASSIGN, SR_ASSIGN, STAR, STAR_ASSIGN"/>
+      <property name="allowEmptyConstructors" value="true"/>
+      <property name="allowEmptyMethods" value="true"/>
+      <property name="severity" value="error"/>
+    </module>
+
+    <module name="WhitespaceAfter">
+      <!-- Checks that commas, semicolons and typecasts are followed by
+           whitespace.
+      -->
+      <property name="tokens" value="COMMA, SEMI, TYPECAST"/>
+    </module>
+
+    <module name="NoWhitespaceAfter">
+      <!-- Checks that there is no whitespace after various unary operators.
+           Linebreaks are allowed.
+      -->
+      <property name="tokens" value="BNOT, DEC, DOT, INC, LNOT, UNARY_MINUS,
+        UNARY_PLUS"/>
+      <property name="allowLineBreaks" value="true"/>
+      <property name="severity" value="error"/>
+    </module>
+
+    <module name="NoWhitespaceBefore">
+      <!-- Checks that there is no whitespace before various unary operators.
+           Linebreaks are allowed.
+      -->
+      <property name="tokens" value="SEMI, DOT, POST_DEC, POST_INC"/>
+      <property name="allowLineBreaks" value="true"/>
+      <property name="severity" value="error"/>
+    </module>
+
+    <module name="ParenPad">
+      <!-- Checks that there is no whitespace before close parens or after
+           open parens.
+      -->
+      <property name="severity" value="error"/>
+    </module>
+
+  </module>
+</module>

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 217a0ce..dbebdae 100644
--- a/pom.xml
+++ b/pom.xml
@@ -235,6 +235,28 @@
                         </execution>
                     </executions>
                 </plugin>
+                <plugin>
+                    <groupId>org.apache.maven.plugins</groupId>
+                    <artifactId>maven-checkstyle-plugin</artifactId>
+                    <version>2.11</version>
+                    <executions>
+                        <execution>
+                            <id>validate</id>
+                            <phase>validate</phase>
+                            <configuration>
+                                <configLocation>checkstyle.xml</configLocation>
+                                <encoding>UTF-8</encoding>
+                                <consoleOutput>true</consoleOutput>
+                                <failsOnError>true</failsOnError>
+                                <includeTestSourceDirectory>true</includeTestSourceDirectory>
+                                <sourceDirectory>${project.build.sourceDirectory}/..</sourceDirectory>
+                            </configuration>
+                            <goals>
+                                <goal>check</goal>
+                            </goals>
+                        </execution>
+                    </executions>
+                </plugin>
             </plugins>
         </pluginManagement>
         <plugins>
@@ -253,6 +275,10 @@
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-checkstyle-plugin</artifactId>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-javadoc-plugin</artifactId>
             </plugin>
             <plugin>

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-api/src/main/java/org/apache/twill/api/LocalFile.java
----------------------------------------------------------------------
diff --git a/twill-api/src/main/java/org/apache/twill/api/LocalFile.java b/twill-api/src/main/java/org/apache/twill/api/LocalFile.java
index df35a3b..bcc3e13 100644
--- a/twill-api/src/main/java/org/apache/twill/api/LocalFile.java
+++ b/twill-api/src/main/java/org/apache/twill/api/LocalFile.java
@@ -17,8 +17,8 @@
  */
 package org.apache.twill.api;
 
-import javax.annotation.Nullable;
 import java.net.URI;
+import javax.annotation.Nullable;
 
 /**
  * This interface represents a local file that will be available for the container running a {@link TwillRunnable}.

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-api/src/main/java/org/apache/twill/api/ResourceSpecification.java
----------------------------------------------------------------------
diff --git a/twill-api/src/main/java/org/apache/twill/api/ResourceSpecification.java b/twill-api/src/main/java/org/apache/twill/api/ResourceSpecification.java
index b40682f..0bab811 100644
--- a/twill-api/src/main/java/org/apache/twill/api/ResourceSpecification.java
+++ b/twill-api/src/main/java/org/apache/twill/api/ResourceSpecification.java
@@ -20,7 +20,8 @@ package org.apache.twill.api;
 import org.apache.twill.internal.DefaultResourceSpecification;
 
 /**
- * This interface provides specifications for resource requirements including set and get methods for number of cores, amount of memory, and number of instances.
+ * This interface provides specifications for resource requirements including set and get methods
+ * for number of cores, amount of memory, and number of instances.
  */
 public interface ResourceSpecification {
 

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-api/src/main/java/org/apache/twill/api/TwillController.java
----------------------------------------------------------------------
diff --git a/twill-api/src/main/java/org/apache/twill/api/TwillController.java b/twill-api/src/main/java/org/apache/twill/api/TwillController.java
index a5906f4..7c5089d 100644
--- a/twill-api/src/main/java/org/apache/twill/api/TwillController.java
+++ b/twill-api/src/main/java/org/apache/twill/api/TwillController.java
@@ -17,10 +17,10 @@
  */
 package org.apache.twill.api;
 
+import com.google.common.util.concurrent.ListenableFuture;
 import org.apache.twill.api.logging.LogHandler;
 import org.apache.twill.discovery.Discoverable;
 import org.apache.twill.discovery.ServiceDiscovered;
-import com.google.common.util.concurrent.ListenableFuture;
 
 /**
  * For controlling a running application.

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-api/src/main/java/org/apache/twill/api/TwillRunnableSpecification.java
----------------------------------------------------------------------
diff --git a/twill-api/src/main/java/org/apache/twill/api/TwillRunnableSpecification.java b/twill-api/src/main/java/org/apache/twill/api/TwillRunnableSpecification.java
index bbcc5d7..d161f9d 100644
--- a/twill-api/src/main/java/org/apache/twill/api/TwillRunnableSpecification.java
+++ b/twill-api/src/main/java/org/apache/twill/api/TwillRunnableSpecification.java
@@ -17,8 +17,8 @@
  */
 package org.apache.twill.api;
 
-import org.apache.twill.internal.DefaultTwillRunnableSpecification;
 import com.google.common.collect.ImmutableMap;
+import org.apache.twill.internal.DefaultTwillRunnableSpecification;
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-api/src/main/java/org/apache/twill/api/TwillSpecification.java
----------------------------------------------------------------------
diff --git a/twill-api/src/main/java/org/apache/twill/api/TwillSpecification.java b/twill-api/src/main/java/org/apache/twill/api/TwillSpecification.java
index 00d171d..3931d04 100644
--- a/twill-api/src/main/java/org/apache/twill/api/TwillSpecification.java
+++ b/twill-api/src/main/java/org/apache/twill/api/TwillSpecification.java
@@ -17,24 +17,24 @@
  */
 package org.apache.twill.api;
 
-import org.apache.twill.internal.DefaultLocalFile;
-import org.apache.twill.internal.DefaultRuntimeSpecification;
-import org.apache.twill.internal.DefaultTwillRunnableSpecification;
-import org.apache.twill.internal.DefaultTwillSpecification;
 import com.google.common.base.Function;
 import com.google.common.base.Preconditions;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
+import org.apache.twill.internal.DefaultLocalFile;
+import org.apache.twill.internal.DefaultRuntimeSpecification;
+import org.apache.twill.internal.DefaultTwillRunnableSpecification;
+import org.apache.twill.internal.DefaultTwillSpecification;
 
-import javax.annotation.Nullable;
 import java.io.File;
 import java.net.URI;
 import java.util.Collection;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import javax.annotation.Nullable;
 
 /**
  * Represents specification of a {@link TwillApplication}.

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-api/src/main/java/org/apache/twill/internal/DefaultEventHandlerSpecification.java
----------------------------------------------------------------------
diff --git a/twill-api/src/main/java/org/apache/twill/internal/DefaultEventHandlerSpecification.java b/twill-api/src/main/java/org/apache/twill/internal/DefaultEventHandlerSpecification.java
index df21400..83e7c38 100644
--- a/twill-api/src/main/java/org/apache/twill/internal/DefaultEventHandlerSpecification.java
+++ b/twill-api/src/main/java/org/apache/twill/internal/DefaultEventHandlerSpecification.java
@@ -17,11 +17,8 @@
  */
 package org.apache.twill.internal;
 
-import org.apache.twill.api.EventHandlerSpecification;
-import org.apache.twill.api.EventHandler;
-import org.apache.twill.api.EventHandlerSpecification;
-import org.apache.twill.api.EventHandlerSpecification;
 import com.google.common.collect.ImmutableMap;
+import org.apache.twill.api.EventHandler;
 import org.apache.twill.api.EventHandlerSpecification;
 
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-api/src/main/java/org/apache/twill/internal/DefaultLocalFile.java
----------------------------------------------------------------------
diff --git a/twill-api/src/main/java/org/apache/twill/internal/DefaultLocalFile.java b/twill-api/src/main/java/org/apache/twill/internal/DefaultLocalFile.java
index e43c0c0..4fc78e1 100644
--- a/twill-api/src/main/java/org/apache/twill/internal/DefaultLocalFile.java
+++ b/twill-api/src/main/java/org/apache/twill/internal/DefaultLocalFile.java
@@ -19,8 +19,8 @@ package org.apache.twill.internal;
 
 import org.apache.twill.api.LocalFile;
 
-import javax.annotation.Nullable;
 import java.net.URI;
+import javax.annotation.Nullable;
 
 /**
  * A straightforward implementation of {@link LocalFile}.

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-api/src/main/java/org/apache/twill/internal/DefaultResourceReport.java
----------------------------------------------------------------------
diff --git a/twill-api/src/main/java/org/apache/twill/internal/DefaultResourceReport.java b/twill-api/src/main/java/org/apache/twill/internal/DefaultResourceReport.java
index c4c8a29..b6c2b73 100644
--- a/twill-api/src/main/java/org/apache/twill/internal/DefaultResourceReport.java
+++ b/twill-api/src/main/java/org/apache/twill/internal/DefaultResourceReport.java
@@ -17,11 +17,11 @@
  */
 package org.apache.twill.internal;
 
-import org.apache.twill.api.ResourceReport;
-import org.apache.twill.api.TwillRunResources;
 import com.google.common.collect.HashMultimap;
 import com.google.common.collect.Multimaps;
 import com.google.common.collect.SetMultimap;
+import org.apache.twill.api.ResourceReport;
+import org.apache.twill.api.TwillRunResources;
 
 import java.util.Collection;
 import java.util.Map;

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-api/src/main/java/org/apache/twill/internal/DefaultRuntimeSpecification.java
----------------------------------------------------------------------
diff --git a/twill-api/src/main/java/org/apache/twill/internal/DefaultRuntimeSpecification.java b/twill-api/src/main/java/org/apache/twill/internal/DefaultRuntimeSpecification.java
index c4f496e..9de81b1 100644
--- a/twill-api/src/main/java/org/apache/twill/internal/DefaultRuntimeSpecification.java
+++ b/twill-api/src/main/java/org/apache/twill/internal/DefaultRuntimeSpecification.java
@@ -17,11 +17,11 @@
  */
 package org.apache.twill.internal;
 
+import com.google.common.collect.ImmutableList;
 import org.apache.twill.api.LocalFile;
 import org.apache.twill.api.ResourceSpecification;
 import org.apache.twill.api.RuntimeSpecification;
 import org.apache.twill.api.TwillRunnableSpecification;
-import com.google.common.collect.ImmutableList;
 
 import java.util.Collection;
 

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-api/src/main/java/org/apache/twill/internal/DefaultTwillRunnableSpecification.java
----------------------------------------------------------------------
diff --git a/twill-api/src/main/java/org/apache/twill/internal/DefaultTwillRunnableSpecification.java b/twill-api/src/main/java/org/apache/twill/internal/DefaultTwillRunnableSpecification.java
index 14ea7f5..0d2eb22 100644
--- a/twill-api/src/main/java/org/apache/twill/internal/DefaultTwillRunnableSpecification.java
+++ b/twill-api/src/main/java/org/apache/twill/internal/DefaultTwillRunnableSpecification.java
@@ -17,8 +17,8 @@
  */
 package org.apache.twill.internal;
 
-import org.apache.twill.api.TwillRunnableSpecification;
 import com.google.common.collect.ImmutableMap;
+import org.apache.twill.api.TwillRunnableSpecification;
 
 import java.util.Map;
 

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-api/src/main/java/org/apache/twill/internal/DefaultTwillSpecification.java
----------------------------------------------------------------------
diff --git a/twill-api/src/main/java/org/apache/twill/internal/DefaultTwillSpecification.java b/twill-api/src/main/java/org/apache/twill/internal/DefaultTwillSpecification.java
index 6bb2b15..fdb8b32 100644
--- a/twill-api/src/main/java/org/apache/twill/internal/DefaultTwillSpecification.java
+++ b/twill-api/src/main/java/org/apache/twill/internal/DefaultTwillSpecification.java
@@ -17,18 +17,18 @@
  */
 package org.apache.twill.internal;
 
-import org.apache.twill.api.EventHandlerSpecification;
-import org.apache.twill.api.RuntimeSpecification;
-import org.apache.twill.api.TwillSpecification;
 import com.google.common.base.Objects;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
+import org.apache.twill.api.EventHandlerSpecification;
+import org.apache.twill.api.RuntimeSpecification;
+import org.apache.twill.api.TwillSpecification;
 
-import javax.annotation.Nullable;
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import javax.annotation.Nullable;
 
 /**
  * Straightforward implementation of {@link org.apache.twill.api.TwillSpecification}.

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-api/src/main/java/org/apache/twill/internal/RunIds.java
----------------------------------------------------------------------
diff --git a/twill-api/src/main/java/org/apache/twill/internal/RunIds.java b/twill-api/src/main/java/org/apache/twill/internal/RunIds.java
index 7249d81..b7641f3 100644
--- a/twill-api/src/main/java/org/apache/twill/internal/RunIds.java
+++ b/twill-api/src/main/java/org/apache/twill/internal/RunIds.java
@@ -17,8 +17,8 @@
  */
 package org.apache.twill.internal;
 
-import org.apache.twill.api.RunId;
 import com.google.common.base.Preconditions;
+import org.apache.twill.api.RunId;
 
 import java.util.UUID;
 
@@ -65,7 +65,7 @@ public final class RunIds {
       if (other == null || !(other instanceof RunId)) {
         return false;
       }
-      return id.equals(((RunId)other).getId());
+      return id.equals(((RunId) other).getId());
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-common/src/main/java/org/apache/twill/filesystem/Location.java
----------------------------------------------------------------------
diff --git a/twill-common/src/main/java/org/apache/twill/filesystem/Location.java b/twill-common/src/main/java/org/apache/twill/filesystem/Location.java
index dee9546..a2d1f9a 100644
--- a/twill-common/src/main/java/org/apache/twill/filesystem/Location.java
+++ b/twill-common/src/main/java/org/apache/twill/filesystem/Location.java
@@ -17,11 +17,11 @@
  */
 package org.apache.twill.filesystem;
 
-import javax.annotation.Nullable;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.OutputStream;
 import java.net.URI;
+import javax.annotation.Nullable;
 
 /**
  * This interface defines the location and operations of a resource on the filesystem.

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/AbstractExecutionServiceController.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/AbstractExecutionServiceController.java b/twill-core/src/main/java/org/apache/twill/internal/AbstractExecutionServiceController.java
index 974639d..acb6b7b 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/AbstractExecutionServiceController.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/AbstractExecutionServiceController.java
@@ -17,13 +17,13 @@
  */
 package org.apache.twill.internal;
 
-import org.apache.twill.api.RunId;
-import org.apache.twill.api.ServiceController;
-import org.apache.twill.common.Threads;
 import com.google.common.util.concurrent.AbstractIdleService;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.Service;
+import org.apache.twill.api.RunId;
+import org.apache.twill.api.ServiceController;
+import org.apache.twill.common.Threads;
 
 import java.util.Queue;
 import java.util.concurrent.ConcurrentLinkedQueue;
@@ -31,7 +31,8 @@ import java.util.concurrent.Executor;
 import java.util.concurrent.atomic.AtomicReference;
 
 /**
- *
+ * An abstract base class for implementing {@link ServiceController} that deal with Service state transition and
+ * listener callback.
  */
 public abstract class AbstractExecutionServiceController implements ServiceController {
 
@@ -120,7 +121,7 @@ public abstract class AbstractExecutionServiceController implements ServiceContr
   }
 
   /**
-   * Inner class for dispatching listener call back to a list of listeners
+   * Inner class for dispatching listener call back to a list of listeners.
    */
   private static final class ListenerExecutors implements Listener {
 

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/AbstractTwillController.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/AbstractTwillController.java b/twill-core/src/main/java/org/apache/twill/internal/AbstractTwillController.java
index 71f0c14..d45a7c3 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/AbstractTwillController.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/AbstractTwillController.java
@@ -47,7 +47,7 @@ import java.util.Queue;
 import java.util.concurrent.ConcurrentLinkedQueue;
 
 /**
- * A abstract base class for {@link org.apache.twill.api.TwillController} implementation that uses Zookeeper to controller a
+ * A abstract base class for {@link TwillController} implementation that uses Zookeeper to controller a
  * running twill application.
  */
 public abstract class AbstractTwillController extends AbstractZKServiceController implements TwillController {

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/AbstractZKServiceController.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/AbstractZKServiceController.java b/twill-core/src/main/java/org/apache/twill/internal/AbstractZKServiceController.java
index 98cc2b8..a132128 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/AbstractZKServiceController.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/AbstractZKServiceController.java
@@ -17,6 +17,12 @@
  */
 package org.apache.twill.internal;
 
+import com.google.common.base.Charsets;
+import com.google.common.collect.Lists;
+import com.google.common.util.concurrent.FutureCallback;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
+import com.google.gson.GsonBuilder;
 import org.apache.twill.api.Command;
 import org.apache.twill.api.RunId;
 import org.apache.twill.api.ServiceController;
@@ -29,12 +35,6 @@ import org.apache.twill.internal.state.StateNode;
 import org.apache.twill.internal.state.SystemMessages;
 import org.apache.twill.zookeeper.NodeData;
 import org.apache.twill.zookeeper.ZKClient;
-import com.google.common.base.Charsets;
-import com.google.common.collect.Lists;
-import com.google.common.util.concurrent.FutureCallback;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.gson.GsonBuilder;
 import org.apache.zookeeper.KeeperException;
 import org.apache.zookeeper.WatchedEvent;
 import org.apache.zookeeper.Watcher;

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/Configs.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/Configs.java b/twill-core/src/main/java/org/apache/twill/internal/Configs.java
index 0fa1df8..f2f9c59 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/Configs.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/Configs.java
@@ -18,10 +18,13 @@
 package org.apache.twill.internal;
 
 /**
- *
+ * Defines keys and default values constants being used for configuration.
  */
 public final class Configs {
 
+  /**
+   * Defines keys being used in configuration.
+   */
   public static final class Keys {
     /**
      * Size in MB of reserved memory for Java process (non-heap memory).
@@ -32,6 +35,9 @@ public final class Configs {
     }
   }
 
+  /**
+   * Defines default configuration values.
+   */
   public static final class Defaults {
     // By default have 200MB reserved for Java process.
     public static final int JAVA_RESERVED_MEMORY_MB = 200;

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/Constants.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/Constants.java b/twill-core/src/main/java/org/apache/twill/internal/Constants.java
index efe91a7..9912638 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/Constants.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/Constants.java
@@ -31,7 +31,7 @@ public final class Constants {
 
   public static final long PROVISION_TIMEOUT = 30000;
 
-  /** Memory size of AM */
+  /** Memory size of AM. */
   public static final int APP_MASTER_MEMORY_MB = 512;
 
   public static final int APP_MASTER_RESERVED_MEMORY_MB = 150;

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/SingleRunnableApplication.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/SingleRunnableApplication.java b/twill-core/src/main/java/org/apache/twill/internal/SingleRunnableApplication.java
index a52afe1..2f3d0bf 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/SingleRunnableApplication.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/SingleRunnableApplication.java
@@ -24,7 +24,7 @@ import org.apache.twill.api.TwillRunnableSpecification;
 import org.apache.twill.api.TwillSpecification;
 
 /**
- * A simple {@link org.apache.twill.api.TwillApplication} that contains only one {@link org.apache.twill.api.TwillRunnable}.
+ * A simple {@link TwillApplication} that contains only one {@link TwillRunnable}.
  */
 public class SingleRunnableApplication implements TwillApplication {
 

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/TwillContainerController.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/TwillContainerController.java b/twill-core/src/main/java/org/apache/twill/internal/TwillContainerController.java
index 8b090bd..bb46cd5 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/TwillContainerController.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/TwillContainerController.java
@@ -17,9 +17,9 @@
  */
 package org.apache.twill.internal;
 
+import com.google.common.util.concurrent.ListenableFuture;
 import org.apache.twill.api.ServiceController;
 import org.apache.twill.internal.state.Message;
-import com.google.common.util.concurrent.ListenableFuture;
 
 /**
  * A {@link ServiceController} that allows sending a message directly. Internal use only.

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/TwillContainerLauncher.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/TwillContainerLauncher.java b/twill-core/src/main/java/org/apache/twill/internal/TwillContainerLauncher.java
index dad8cbe..5d2f33c 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/TwillContainerLauncher.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/TwillContainerLauncher.java
@@ -18,6 +18,7 @@
 package org.apache.twill.internal;
 
 import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
 import org.apache.twill.api.LocalFile;
 import org.apache.twill.api.RunId;
 import org.apache.twill.api.RuntimeSpecification;
@@ -27,7 +28,6 @@ import org.apache.twill.internal.state.StateNode;
 import org.apache.twill.launcher.TwillLauncher;
 import org.apache.twill.zookeeper.NodeData;
 import org.apache.twill.zookeeper.ZKClient;
-import com.google.common.util.concurrent.ListenableFuture;
 import org.apache.twill.zookeeper.ZKOperations;
 import org.apache.zookeeper.KeeperException;
 import org.slf4j.Logger;

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/ZKMessages.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/ZKMessages.java b/twill-core/src/main/java/org/apache/twill/internal/ZKMessages.java
index 03575dd..b7905d9 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/ZKMessages.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/ZKMessages.java
@@ -17,14 +17,14 @@
  */
 package org.apache.twill.internal;
 
-import org.apache.twill.internal.state.Message;
-import org.apache.twill.internal.state.MessageCodec;
-import org.apache.twill.zookeeper.ZKClient;
-import org.apache.twill.zookeeper.ZKOperations;
 import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.SettableFuture;
+import org.apache.twill.internal.state.Message;
+import org.apache.twill.internal.state.MessageCodec;
+import org.apache.twill.zookeeper.ZKClient;
+import org.apache.twill.zookeeper.ZKOperations;
 import org.apache.zookeeper.CreateMode;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/ZKServiceDecorator.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/ZKServiceDecorator.java b/twill-core/src/main/java/org/apache/twill/internal/ZKServiceDecorator.java
index d434bac..7592176 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/ZKServiceDecorator.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/ZKServiceDecorator.java
@@ -17,6 +17,21 @@
  */
 package org.apache.twill.internal;
 
+import com.google.common.base.Charsets;
+import com.google.common.base.Supplier;
+import com.google.common.collect.ImmutableList;
+import com.google.common.collect.Lists;
+import com.google.common.util.concurrent.AbstractService;
+import com.google.common.util.concurrent.AsyncFunction;
+import com.google.common.util.concurrent.FutureCallback;
+import com.google.common.util.concurrent.Futures;
+import com.google.common.util.concurrent.ListenableFuture;
+import com.google.common.util.concurrent.MoreExecutors;
+import com.google.common.util.concurrent.Service;
+import com.google.gson.Gson;
+import com.google.gson.GsonBuilder;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
 import org.apache.twill.api.RunId;
 import org.apache.twill.api.ServiceController;
 import org.apache.twill.common.ServiceListenerAdapter;
@@ -33,21 +48,6 @@ import org.apache.twill.zookeeper.NodeData;
 import org.apache.twill.zookeeper.OperationFuture;
 import org.apache.twill.zookeeper.ZKClient;
 import org.apache.twill.zookeeper.ZKOperations;
-import com.google.common.base.Charsets;
-import com.google.common.base.Supplier;
-import com.google.common.collect.ImmutableList;
-import com.google.common.collect.Lists;
-import com.google.common.util.concurrent.AbstractService;
-import com.google.common.util.concurrent.AsyncFunction;
-import com.google.common.util.concurrent.FutureCallback;
-import com.google.common.util.concurrent.Futures;
-import com.google.common.util.concurrent.ListenableFuture;
-import com.google.common.util.concurrent.MoreExecutors;
-import com.google.common.util.concurrent.Service;
-import com.google.gson.Gson;
-import com.google.gson.GsonBuilder;
-import com.google.gson.JsonElement;
-import com.google.gson.JsonObject;
 import org.apache.zookeeper.CreateMode;
 import org.apache.zookeeper.KeeperException;
 import org.apache.zookeeper.WatchedEvent;
@@ -55,12 +55,12 @@ import org.apache.zookeeper.Watcher;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
-import javax.annotation.Nullable;
 import java.util.Collections;
 import java.util.List;
 import java.util.concurrent.Executor;
 import java.util.concurrent.ExecutorService;
 import java.util.concurrent.Executors;
+import javax.annotation.Nullable;
 
 /**
  * A {@link Service} decorator that wrap another {@link Service} with the service states reflected

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/json/ArgumentsCodec.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/json/ArgumentsCodec.java b/twill-core/src/main/java/org/apache/twill/internal/json/ArgumentsCodec.java
index 07d4c1d..484231f 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/json/ArgumentsCodec.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/json/ArgumentsCodec.java
@@ -17,7 +17,6 @@
  */
 package org.apache.twill.internal.json;
 
-import org.apache.twill.internal.Arguments;
 import com.google.common.collect.ImmutableMultimap;
 import com.google.common.io.InputSupplier;
 import com.google.common.io.OutputSupplier;
@@ -31,6 +30,7 @@ import com.google.gson.JsonObject;
 import com.google.gson.JsonParseException;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
+import org.apache.twill.internal.Arguments;
 
 import java.io.IOException;
 import java.io.Reader;
@@ -41,7 +41,7 @@ import java.util.List;
 import java.util.Map;
 
 /**
- *
+ * Gson codec for {@link Arguments}.
  */
 public final class ArgumentsCodec implements JsonSerializer<Arguments>, JsonDeserializer<Arguments> {
 
@@ -81,9 +81,9 @@ public final class ArgumentsCodec implements JsonSerializer<Arguments>, JsonDese
   public Arguments deserialize(JsonElement json, Type typeOfT,
                               JsonDeserializationContext context) throws JsonParseException {
     JsonObject jsonObj = json.getAsJsonObject();
-    List<String> arguments = context.deserialize(jsonObj.get("arguments"), new TypeToken<List<String>>() {}.getType());
+    List<String> arguments = context.deserialize(jsonObj.get("arguments"), new TypeToken<List<String>>() { }.getType());
     Map<String, Collection<String>> args = context.deserialize(jsonObj.get("runnableArguments"),
-                                                               new TypeToken<Map<String, Collection<String>>>(){
+                                                               new TypeToken<Map<String, Collection<String>>>() {
                                                                }.getType());
 
     ImmutableMultimap.Builder<String, String> builder = ImmutableMultimap.builder();
@@ -92,4 +92,4 @@ public final class ArgumentsCodec implements JsonSerializer<Arguments>, JsonDese
     }
     return new Arguments(arguments, builder.build());
   }
-}
\ No newline at end of file
+}

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/json/LocalFileCodec.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/json/LocalFileCodec.java b/twill-core/src/main/java/org/apache/twill/internal/json/LocalFileCodec.java
index 680a36c..8f2b9c4 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/json/LocalFileCodec.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/json/LocalFileCodec.java
@@ -17,8 +17,6 @@
  */
 package org.apache.twill.internal.json;
 
-import org.apache.twill.api.LocalFile;
-import org.apache.twill.internal.DefaultLocalFile;
 import com.google.gson.JsonDeserializationContext;
 import com.google.gson.JsonDeserializer;
 import com.google.gson.JsonElement;
@@ -26,6 +24,8 @@ import com.google.gson.JsonObject;
 import com.google.gson.JsonParseException;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
+import org.apache.twill.api.LocalFile;
+import org.apache.twill.internal.DefaultLocalFile;
 
 import java.lang.reflect.Type;
 import java.net.URI;

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/json/ResourceReportAdapter.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/json/ResourceReportAdapter.java b/twill-core/src/main/java/org/apache/twill/internal/json/ResourceReportAdapter.java
index e473fe7..4427704 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/json/ResourceReportAdapter.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/json/ResourceReportAdapter.java
@@ -17,10 +17,10 @@
  */
 package org.apache.twill.internal.json;
 
-import org.apache.twill.api.ResourceReport;
-import org.apache.twill.api.TwillRunResources;
 import com.google.gson.Gson;
 import com.google.gson.GsonBuilder;
+import org.apache.twill.api.ResourceReport;
+import org.apache.twill.api.TwillRunResources;
 
 import java.io.Reader;
 import java.io.Writer;

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/json/ResourceReportCodec.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/json/ResourceReportCodec.java b/twill-core/src/main/java/org/apache/twill/internal/json/ResourceReportCodec.java
index 884d889..89a8433 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/json/ResourceReportCodec.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/json/ResourceReportCodec.java
@@ -17,9 +17,6 @@
  */
 package org.apache.twill.internal.json;
 
-import org.apache.twill.api.ResourceReport;
-import org.apache.twill.api.TwillRunResources;
-import org.apache.twill.internal.DefaultResourceReport;
 import com.google.gson.JsonDeserializationContext;
 import com.google.gson.JsonDeserializer;
 import com.google.gson.JsonElement;
@@ -28,6 +25,9 @@ import com.google.gson.JsonParseException;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
 import com.google.gson.reflect.TypeToken;
+import org.apache.twill.api.ResourceReport;
+import org.apache.twill.api.TwillRunResources;
+import org.apache.twill.internal.DefaultResourceReport;
 
 import java.lang.reflect.Type;
 import java.util.Collection;
@@ -45,9 +45,9 @@ public final class ResourceReportCodec implements JsonSerializer<ResourceReport>
 
     json.addProperty("appMasterId", src.getApplicationId());
     json.add("appMasterResources", context.serialize(
-      src.getAppMasterResources(), new TypeToken<TwillRunResources>(){}.getType()));
+      src.getAppMasterResources(), new TypeToken<TwillRunResources>() { }.getType()));
     json.add("runnableResources", context.serialize(
-      src.getResources(), new TypeToken<Map<String, Collection<TwillRunResources>>>(){}.getType()));
+      src.getResources(), new TypeToken<Map<String, Collection<TwillRunResources>>>() { }.getType()));
 
     return json;
   }
@@ -60,7 +60,7 @@ public final class ResourceReportCodec implements JsonSerializer<ResourceReport>
     TwillRunResources masterResources = context.deserialize(
       jsonObj.get("appMasterResources"), TwillRunResources.class);
     Map<String, Collection<TwillRunResources>> resources = context.deserialize(
-      jsonObj.get("runnableResources"), new TypeToken<Map<String, Collection<TwillRunResources>>>(){}.getType());
+      jsonObj.get("runnableResources"), new TypeToken<Map<String, Collection<TwillRunResources>>>() { }.getType());
 
     return new DefaultResourceReport(appMasterId, masterResources, resources);
   }

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/json/ResourceSpecificationCodec.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/json/ResourceSpecificationCodec.java b/twill-core/src/main/java/org/apache/twill/internal/json/ResourceSpecificationCodec.java
index bea73c4..d3b9707 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/json/ResourceSpecificationCodec.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/json/ResourceSpecificationCodec.java
@@ -17,8 +17,6 @@
  */
 package org.apache.twill.internal.json;
 
-import org.apache.twill.api.ResourceSpecification;
-import org.apache.twill.internal.DefaultResourceSpecification;
 import com.google.gson.JsonDeserializationContext;
 import com.google.gson.JsonDeserializer;
 import com.google.gson.JsonElement;
@@ -26,6 +24,8 @@ import com.google.gson.JsonObject;
 import com.google.gson.JsonParseException;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
+import org.apache.twill.api.ResourceSpecification;
+import org.apache.twill.internal.DefaultResourceSpecification;
 
 import java.lang.reflect.Type;
 

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/json/RuntimeSpecificationCodec.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/json/RuntimeSpecificationCodec.java b/twill-core/src/main/java/org/apache/twill/internal/json/RuntimeSpecificationCodec.java
index 867f4a8..970152e 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/json/RuntimeSpecificationCodec.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/json/RuntimeSpecificationCodec.java
@@ -17,11 +17,6 @@
  */
 package org.apache.twill.internal.json;
 
-import org.apache.twill.api.LocalFile;
-import org.apache.twill.api.ResourceSpecification;
-import org.apache.twill.api.RuntimeSpecification;
-import org.apache.twill.api.TwillRunnableSpecification;
-import org.apache.twill.internal.DefaultRuntimeSpecification;
 import com.google.common.reflect.TypeToken;
 import com.google.gson.JsonDeserializationContext;
 import com.google.gson.JsonDeserializer;
@@ -30,12 +25,17 @@ import com.google.gson.JsonObject;
 import com.google.gson.JsonParseException;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
+import org.apache.twill.api.LocalFile;
+import org.apache.twill.api.ResourceSpecification;
+import org.apache.twill.api.RuntimeSpecification;
+import org.apache.twill.api.TwillRunnableSpecification;
+import org.apache.twill.internal.DefaultRuntimeSpecification;
 
 import java.lang.reflect.Type;
 import java.util.Collection;
 
 /**
- *
+ * Gson codec for {@link RuntimeSpecification}.
  */
 final class RuntimeSpecificationCodec implements JsonSerializer<RuntimeSpecification>,
                                                  JsonDeserializer<RuntimeSpecification> {
@@ -46,7 +46,7 @@ final class RuntimeSpecificationCodec implements JsonSerializer<RuntimeSpecifica
     json.addProperty("name", src.getName());
     json.add("runnable", context.serialize(src.getRunnableSpecification(), TwillRunnableSpecification.class));
     json.add("resources", context.serialize(src.getResourceSpecification(), ResourceSpecification.class));
-    json.add("files", context.serialize(src.getLocalFiles(), new TypeToken<Collection<LocalFile>>(){}.getType()));
+    json.add("files", context.serialize(src.getLocalFiles(), new TypeToken<Collection<LocalFile>>() { }.getType()));
 
     return json;
   }
@@ -62,7 +62,7 @@ final class RuntimeSpecificationCodec implements JsonSerializer<RuntimeSpecifica
     ResourceSpecification resources = context.deserialize(jsonObj.get("resources"),
                                                           ResourceSpecification.class);
     Collection<LocalFile> files = context.deserialize(jsonObj.get("files"),
-                                                      new TypeToken<Collection<LocalFile>>(){}.getType());
+                                                      new TypeToken<Collection<LocalFile>>() { }.getType());
 
     return new DefaultRuntimeSpecification(name, runnable, resources, files);
   }

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/json/StateNodeCodec.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/json/StateNodeCodec.java b/twill-core/src/main/java/org/apache/twill/internal/json/StateNodeCodec.java
index c1e9d1c..f620231 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/json/StateNodeCodec.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/json/StateNodeCodec.java
@@ -17,8 +17,6 @@
  */
 package org.apache.twill.internal.json;
 
-import org.apache.twill.api.ServiceController;
-import org.apache.twill.internal.state.StateNode;
 import com.google.gson.JsonDeserializationContext;
 import com.google.gson.JsonDeserializer;
 import com.google.gson.JsonElement;
@@ -26,11 +24,13 @@ import com.google.gson.JsonObject;
 import com.google.gson.JsonParseException;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
+import org.apache.twill.api.ServiceController;
+import org.apache.twill.internal.state.StateNode;
 
 import java.lang.reflect.Type;
 
 /**
- *
+ * Gson codec for {@link StateNode}.
  */
 public final class StateNodeCodec implements JsonSerializer<StateNode>, JsonDeserializer<StateNode> {
 
@@ -42,7 +42,8 @@ public final class StateNodeCodec implements JsonSerializer<StateNode>, JsonDese
     String errorMessage = jsonObj.has("errorMessage") ? jsonObj.get("errorMessage").getAsString() : null;
 
     return new StateNode(state, errorMessage,
-                         context.<StackTraceElement[]>deserialize(jsonObj.get("stackTraces"), StackTraceElement[].class));
+                         context.<StackTraceElement[]>deserialize(jsonObj.get("stackTraces"),
+                                                                  StackTraceElement[].class));
   }
 
   @Override

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/json/TwillRunResourcesCodec.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/json/TwillRunResourcesCodec.java b/twill-core/src/main/java/org/apache/twill/internal/json/TwillRunResourcesCodec.java
index 8951173..c39fa16 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/json/TwillRunResourcesCodec.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/json/TwillRunResourcesCodec.java
@@ -17,8 +17,6 @@
  */
 package org.apache.twill.internal.json;
 
-import org.apache.twill.api.TwillRunResources;
-import org.apache.twill.internal.DefaultTwillRunResources;
 import com.google.gson.JsonDeserializationContext;
 import com.google.gson.JsonDeserializer;
 import com.google.gson.JsonElement;
@@ -26,6 +24,8 @@ import com.google.gson.JsonObject;
 import com.google.gson.JsonParseException;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
+import org.apache.twill.api.TwillRunResources;
+import org.apache.twill.internal.DefaultTwillRunResources;
 
 import java.lang.reflect.Type;
 

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/json/TwillRunnableSpecificationCodec.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/json/TwillRunnableSpecificationCodec.java b/twill-core/src/main/java/org/apache/twill/internal/json/TwillRunnableSpecificationCodec.java
index f37c1e8..c5c586a 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/json/TwillRunnableSpecificationCodec.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/json/TwillRunnableSpecificationCodec.java
@@ -17,8 +17,6 @@
  */
 package org.apache.twill.internal.json;
 
-import org.apache.twill.api.TwillRunnableSpecification;
-import org.apache.twill.internal.DefaultTwillRunnableSpecification;
 import com.google.common.reflect.TypeToken;
 import com.google.gson.JsonDeserializationContext;
 import com.google.gson.JsonDeserializer;
@@ -27,12 +25,14 @@ import com.google.gson.JsonObject;
 import com.google.gson.JsonParseException;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
+import org.apache.twill.api.TwillRunnableSpecification;
+import org.apache.twill.internal.DefaultTwillRunnableSpecification;
 
 import java.lang.reflect.Type;
 import java.util.Map;
 
 /**
- *
+ * Gson codec for {@link TwillRunnableSpecification}.
  */
 final class TwillRunnableSpecificationCodec implements JsonSerializer<TwillRunnableSpecification>,
                                                        JsonDeserializer<TwillRunnableSpecification> {
@@ -43,7 +43,7 @@ final class TwillRunnableSpecificationCodec implements JsonSerializer<TwillRunna
 
     json.addProperty("classname", src.getClassName());
     json.addProperty("name", src.getName());
-    json.add("arguments", context.serialize(src.getConfigs(), new TypeToken<Map<String, String>>(){}.getType()));
+    json.add("arguments", context.serialize(src.getConfigs(), new TypeToken<Map<String, String>>() { }.getType()));
 
     return json;
   }
@@ -56,7 +56,7 @@ final class TwillRunnableSpecificationCodec implements JsonSerializer<TwillRunna
     String className = jsonObj.get("classname").getAsString();
     String name = jsonObj.get("name").getAsString();
     Map<String, String> arguments = context.deserialize(jsonObj.get("arguments"),
-                                                        new TypeToken<Map<String, String>>(){}.getType());
+                                                        new TypeToken<Map<String, String>>() { }.getType());
 
     return new DefaultTwillRunnableSpecification(className, name, arguments);
   }

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/json/TwillSpecificationCodec.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/json/TwillSpecificationCodec.java b/twill-core/src/main/java/org/apache/twill/internal/json/TwillSpecificationCodec.java
index 5d88350..d46434a 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/json/TwillSpecificationCodec.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/json/TwillSpecificationCodec.java
@@ -17,11 +17,6 @@
  */
 package org.apache.twill.internal.json;
 
-import org.apache.twill.api.EventHandlerSpecification;
-import org.apache.twill.api.RuntimeSpecification;
-import org.apache.twill.api.TwillSpecification;
-import org.apache.twill.internal.DefaultEventHandlerSpecification;
-import org.apache.twill.internal.DefaultTwillSpecification;
 import com.google.common.reflect.TypeToken;
 import com.google.gson.JsonDeserializationContext;
 import com.google.gson.JsonDeserializer;
@@ -30,6 +25,11 @@ import com.google.gson.JsonObject;
 import com.google.gson.JsonParseException;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
+import org.apache.twill.api.EventHandlerSpecification;
+import org.apache.twill.api.RuntimeSpecification;
+import org.apache.twill.api.TwillSpecification;
+import org.apache.twill.internal.DefaultEventHandlerSpecification;
+import org.apache.twill.internal.DefaultTwillSpecification;
 
 import java.lang.reflect.Type;
 import java.util.List;
@@ -47,9 +47,9 @@ final class TwillSpecificationCodec implements JsonSerializer<TwillSpecification
     JsonObject json = new JsonObject();
     json.addProperty("name", src.getName());
     json.add("runnables", context.serialize(src.getRunnables(),
-                                            new TypeToken<Map<String, RuntimeSpecification>>(){}.getType()));
+                                            new TypeToken<Map<String, RuntimeSpecification>>() { }.getType()));
     json.add("orders", context.serialize(src.getOrders(),
-                                         new TypeToken<List<TwillSpecification.Order>>(){}.getType()));
+                                         new TypeToken<List<TwillSpecification.Order>>() { }.getType()));
     EventHandlerSpecification eventHandler = src.getEventHandler();
     if (eventHandler != null) {
       json.add("handler", context.serialize(eventHandler, EventHandlerSpecification.class));
@@ -65,9 +65,9 @@ final class TwillSpecificationCodec implements JsonSerializer<TwillSpecification
 
     String name = jsonObj.get("name").getAsString();
     Map<String, RuntimeSpecification> runnables = context.deserialize(
-      jsonObj.get("runnables"), new TypeToken<Map<String, RuntimeSpecification>>(){}.getType());
+      jsonObj.get("runnables"), new TypeToken<Map<String, RuntimeSpecification>>() { }.getType());
     List<TwillSpecification.Order> orders = context.deserialize(
-      jsonObj.get("orders"), new TypeToken<List<TwillSpecification.Order>>(){}.getType());
+      jsonObj.get("orders"), new TypeToken<List<TwillSpecification.Order>>() { }.getType());
 
     JsonElement handler = jsonObj.get("handler");
     EventHandlerSpecification eventHandler = null;
@@ -84,7 +84,7 @@ final class TwillSpecificationCodec implements JsonSerializer<TwillSpecification
     @Override
     public JsonElement serialize(TwillSpecification.Order src, Type typeOfSrc, JsonSerializationContext context) {
       JsonObject json = new JsonObject();
-      json.add("names", context.serialize(src.getNames(), new TypeToken<Set<String>>(){}.getType()));
+      json.add("names", context.serialize(src.getNames(), new TypeToken<Set<String>>() { }.getType()));
       json.addProperty("type", src.getType().name());
       return json;
     }
@@ -94,7 +94,7 @@ final class TwillSpecificationCodec implements JsonSerializer<TwillSpecification
                                                 JsonDeserializationContext context) throws JsonParseException {
       JsonObject jsonObj = json.getAsJsonObject();
 
-      Set<String> names = context.deserialize(jsonObj.get("names"), new TypeToken<Set<String>>(){}.getType());
+      Set<String> names = context.deserialize(jsonObj.get("names"), new TypeToken<Set<String>>() { }.getType());
       TwillSpecification.Order.Type type = TwillSpecification.Order.Type.valueOf(jsonObj.get("type").getAsString());
 
       return new DefaultTwillSpecification.DefaultOrder(names, type);
@@ -108,7 +108,7 @@ final class TwillSpecificationCodec implements JsonSerializer<TwillSpecification
     public JsonElement serialize(EventHandlerSpecification src, Type typeOfSrc, JsonSerializationContext context) {
       JsonObject json = new JsonObject();
       json.addProperty("classname", src.getClassName());
-      json.add("configs", context.serialize(src.getConfigs(), new TypeToken<Map<String, String>>(){}.getType()));
+      json.add("configs", context.serialize(src.getConfigs(), new TypeToken<Map<String, String>>() { }.getType()));
       return json;
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/kafka/EmbeddedKafkaServer.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/kafka/EmbeddedKafkaServer.java b/twill-core/src/main/java/org/apache/twill/internal/kafka/EmbeddedKafkaServer.java
index d82d617..0beab44 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/kafka/EmbeddedKafkaServer.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/kafka/EmbeddedKafkaServer.java
@@ -21,7 +21,6 @@ import com.google.common.util.concurrent.AbstractIdleService;
 import kafka.server.KafkaConfig;
 import kafka.server.KafkaServerStartable;
 
-import java.io.File;
 import java.util.Properties;
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/logging/LogEntryDecoder.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/logging/LogEntryDecoder.java b/twill-core/src/main/java/org/apache/twill/internal/logging/LogEntryDecoder.java
index dc11666..9bb0896 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/logging/LogEntryDecoder.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/logging/LogEntryDecoder.java
@@ -17,13 +17,13 @@
  */
 package org.apache.twill.internal.logging;
 
-import org.apache.twill.api.logging.LogEntry;
-import org.apache.twill.internal.json.JsonUtils;
 import com.google.gson.JsonDeserializationContext;
 import com.google.gson.JsonDeserializer;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
 import com.google.gson.JsonParseException;
+import org.apache.twill.api.logging.LogEntry;
+import org.apache.twill.internal.json.JsonUtils;
 
 import java.lang.reflect.Type;
 

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/state/MessageCodec.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/state/MessageCodec.java b/twill-core/src/main/java/org/apache/twill/internal/state/MessageCodec.java
index 176f620..60c5da1 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/state/MessageCodec.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/state/MessageCodec.java
@@ -17,7 +17,6 @@
  */
 package org.apache.twill.internal.state;
 
-import org.apache.twill.api.Command;
 import com.google.common.base.Charsets;
 import com.google.common.reflect.TypeToken;
 import com.google.gson.Gson;
@@ -29,16 +28,17 @@ import com.google.gson.JsonObject;
 import com.google.gson.JsonParseException;
 import com.google.gson.JsonSerializationContext;
 import com.google.gson.JsonSerializer;
+import org.apache.twill.api.Command;
 
 import java.lang.reflect.Type;
 import java.util.Map;
 
 /**
- *
+ * Gson codec for {@link Message}.
  */
 public final class MessageCodec {
 
-  private static final Type OPTIONS_TYPE = new TypeToken<Map<String, String>>() {}.getType();
+  private static final Type OPTIONS_TYPE = new TypeToken<Map<String, String>>() { }.getType();
   private static final Gson GSON = new GsonBuilder()
                                         .registerTypeAdapter(Message.class, new MessageAdapter())
                                         .registerTypeAdapter(Command.class, new CommandAdapter())

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/state/SimpleMessage.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/state/SimpleMessage.java b/twill-core/src/main/java/org/apache/twill/internal/state/SimpleMessage.java
index e146e56..9cfbe29 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/state/SimpleMessage.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/state/SimpleMessage.java
@@ -17,8 +17,8 @@
  */
 package org.apache.twill.internal.state;
 
-import org.apache.twill.api.Command;
 import com.google.common.base.Objects;
+import org.apache.twill.api.Command;
 
 /**
  *

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/state/StateNode.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/state/StateNode.java b/twill-core/src/main/java/org/apache/twill/internal/state/StateNode.java
index d66f8a2..6cdab48 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/state/StateNode.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/state/StateNode.java
@@ -17,8 +17,8 @@
  */
 package org.apache.twill.internal.state;
 
-import org.apache.twill.api.ServiceController;
 import com.google.common.util.concurrent.Service;
+import org.apache.twill.api.ServiceController;
 
 /**
  *

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/internal/state/SystemMessages.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/internal/state/SystemMessages.java b/twill-core/src/main/java/org/apache/twill/internal/state/SystemMessages.java
index 9877121..73683bd 100644
--- a/twill-core/src/main/java/org/apache/twill/internal/state/SystemMessages.java
+++ b/twill-core/src/main/java/org/apache/twill/internal/state/SystemMessages.java
@@ -17,8 +17,8 @@
  */
 package org.apache.twill.internal.state;
 
-import org.apache.twill.api.Command;
 import com.google.common.base.Preconditions;
+import org.apache.twill.api.Command;
 
 /**
  * Collection of predefined system messages.

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/main/java/org/apache/twill/kafka/client/KafkaPublisher.java
----------------------------------------------------------------------
diff --git a/twill-core/src/main/java/org/apache/twill/kafka/client/KafkaPublisher.java b/twill-core/src/main/java/org/apache/twill/kafka/client/KafkaPublisher.java
index bffce97..0be45cb 100644
--- a/twill-core/src/main/java/org/apache/twill/kafka/client/KafkaPublisher.java
+++ b/twill-core/src/main/java/org/apache/twill/kafka/client/KafkaPublisher.java
@@ -38,7 +38,7 @@ public interface KafkaPublisher {
      *                ByteBuffer would be {@code 0}.
      * @param partitionKey Key for computing the partition Id to publish to. The {@link Object#hashCode()} method
      *                     will be invoke to compute the id.
-     * @return
+     * @return This {@link Preparer} instance.
      */
     Preparer add(ByteBuffer message, Object partitionKey);
 

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/test/java/org/apache/twill/internal/ControllerTest.java
----------------------------------------------------------------------
diff --git a/twill-core/src/test/java/org/apache/twill/internal/ControllerTest.java b/twill-core/src/test/java/org/apache/twill/internal/ControllerTest.java
index 382dc95..048e489 100644
--- a/twill-core/src/test/java/org/apache/twill/internal/ControllerTest.java
+++ b/twill-core/src/test/java/org/apache/twill/internal/ControllerTest.java
@@ -17,6 +17,11 @@
  */
 package org.apache.twill.internal;
 
+import com.google.common.base.Suppliers;
+import com.google.common.collect.ImmutableList;
+import com.google.common.util.concurrent.AbstractIdleService;
+import com.google.common.util.concurrent.Service;
+import com.google.gson.JsonObject;
 import org.apache.twill.api.Command;
 import org.apache.twill.api.ResourceReport;
 import org.apache.twill.api.RunId;
@@ -30,11 +35,6 @@ import org.apache.twill.internal.zookeeper.InMemoryZKServer;
 import org.apache.twill.zookeeper.NodeData;
 import org.apache.twill.zookeeper.ZKClient;
 import org.apache.twill.zookeeper.ZKClientService;
-import com.google.common.base.Suppliers;
-import com.google.common.collect.ImmutableList;
-import com.google.common.util.concurrent.AbstractIdleService;
-import com.google.common.util.concurrent.Service;
-import com.google.gson.JsonObject;
 import org.junit.Assert;
 import org.junit.Test;
 import org.slf4j.Logger;

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/test/java/org/apache/twill/internal/state/MessageCodecTest.java
----------------------------------------------------------------------
diff --git a/twill-core/src/test/java/org/apache/twill/internal/state/MessageCodecTest.java b/twill-core/src/test/java/org/apache/twill/internal/state/MessageCodecTest.java
index d267cf8..2090cca 100644
--- a/twill-core/src/test/java/org/apache/twill/internal/state/MessageCodecTest.java
+++ b/twill-core/src/test/java/org/apache/twill/internal/state/MessageCodecTest.java
@@ -17,8 +17,8 @@
  */
 package org.apache.twill.internal.state;
 
-import org.apache.twill.api.Command;
 import com.google.common.collect.ImmutableMap;
+import org.apache.twill.api.Command;
 import org.junit.Assert;
 import org.junit.Test;
 

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/test/java/org/apache/twill/internal/state/ZKServiceDecoratorTest.java
----------------------------------------------------------------------
diff --git a/twill-core/src/test/java/org/apache/twill/internal/state/ZKServiceDecoratorTest.java b/twill-core/src/test/java/org/apache/twill/internal/state/ZKServiceDecoratorTest.java
index 47d8562..401d6e3 100644
--- a/twill-core/src/test/java/org/apache/twill/internal/state/ZKServiceDecoratorTest.java
+++ b/twill-core/src/test/java/org/apache/twill/internal/state/ZKServiceDecoratorTest.java
@@ -17,13 +17,6 @@
  */
 package org.apache.twill.internal.state;
 
-import org.apache.twill.api.RunId;
-import org.apache.twill.internal.RunIds;
-import org.apache.twill.internal.ZKServiceDecorator;
-import org.apache.twill.internal.zookeeper.InMemoryZKServer;
-import org.apache.twill.zookeeper.NodeData;
-import org.apache.twill.zookeeper.ZKClientService;
-import org.apache.twill.zookeeper.ZKClients;
 import com.google.common.base.Charsets;
 import com.google.common.base.Joiner;
 import com.google.common.base.Preconditions;
@@ -35,6 +28,13 @@ import com.google.common.util.concurrent.Service;
 import com.google.gson.Gson;
 import com.google.gson.JsonElement;
 import com.google.gson.JsonObject;
+import org.apache.twill.api.RunId;
+import org.apache.twill.internal.RunIds;
+import org.apache.twill.internal.ZKServiceDecorator;
+import org.apache.twill.internal.zookeeper.InMemoryZKServer;
+import org.apache.twill.zookeeper.NodeData;
+import org.apache.twill.zookeeper.ZKClientService;
+import org.apache.twill.zookeeper.ZKClients;
 import org.apache.zookeeper.CreateMode;
 import org.apache.zookeeper.WatchedEvent;
 import org.apache.zookeeper.Watcher;

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-core/src/test/java/org/apache/twill/internal/utils/ApplicationBundlerTest.java
----------------------------------------------------------------------
diff --git a/twill-core/src/test/java/org/apache/twill/internal/utils/ApplicationBundlerTest.java b/twill-core/src/test/java/org/apache/twill/internal/utils/ApplicationBundlerTest.java
index 508cadb..38d0a05 100644
--- a/twill-core/src/test/java/org/apache/twill/internal/utils/ApplicationBundlerTest.java
+++ b/twill-core/src/test/java/org/apache/twill/internal/utils/ApplicationBundlerTest.java
@@ -17,13 +17,13 @@
  */
 package org.apache.twill.internal.utils;
 
-import org.apache.twill.filesystem.LocalLocationFactory;
-import org.apache.twill.filesystem.Location;
-import org.apache.twill.internal.ApplicationBundler;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.Lists;
 import com.google.common.io.ByteStreams;
 import com.google.common.io.Files;
+import org.apache.twill.filesystem.LocalLocationFactory;
+import org.apache.twill.filesystem.Location;
+import org.apache.twill.internal.ApplicationBundler;
 import org.junit.Assert;
 import org.junit.Rule;
 import org.junit.Test;

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-discovery-core/src/main/java/org/apache/twill/discovery/DefaultServiceDiscovered.java
----------------------------------------------------------------------
diff --git a/twill-discovery-core/src/main/java/org/apache/twill/discovery/DefaultServiceDiscovered.java b/twill-discovery-core/src/main/java/org/apache/twill/discovery/DefaultServiceDiscovered.java
index 49fb641..9734683 100644
--- a/twill-discovery-core/src/main/java/org/apache/twill/discovery/DefaultServiceDiscovered.java
+++ b/twill-discovery-core/src/main/java/org/apache/twill/discovery/DefaultServiceDiscovered.java
@@ -17,9 +17,9 @@
  */
 package org.apache.twill.discovery;
 
-import org.apache.twill.common.Cancellable;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Lists;
+import org.apache.twill.common.Cancellable;
 
 import java.util.Iterator;
 import java.util.List;

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-discovery-core/src/main/java/org/apache/twill/discovery/InMemoryDiscoveryService.java
----------------------------------------------------------------------
diff --git a/twill-discovery-core/src/main/java/org/apache/twill/discovery/InMemoryDiscoveryService.java b/twill-discovery-core/src/main/java/org/apache/twill/discovery/InMemoryDiscoveryService.java
index 2f950b8..6a71855 100644
--- a/twill-discovery-core/src/main/java/org/apache/twill/discovery/InMemoryDiscoveryService.java
+++ b/twill-discovery-core/src/main/java/org/apache/twill/discovery/InMemoryDiscoveryService.java
@@ -17,10 +17,10 @@
  */
 package org.apache.twill.discovery;
 
-import org.apache.twill.common.Cancellable;
 import com.google.common.collect.LinkedHashMultimap;
 import com.google.common.collect.Maps;
 import com.google.common.collect.SetMultimap;
+import org.apache.twill.common.Cancellable;
 
 import java.util.Map;
 import java.util.concurrent.locks.Lock;

http://git-wip-us.apache.org/repos/asf/incubator-twill/blob/098a0cac/twill-discovery-core/src/main/java/org/apache/twill/discovery/ZKDiscoveryService.java
----------------------------------------------------------------------
diff --git a/twill-discovery-core/src/main/java/org/apache/twill/discovery/ZKDiscoveryService.java b/twill-discovery-core/src/main/java/org/apache/twill/discovery/ZKDiscoveryService.java
index 0543626..f29d986 100644
--- a/twill-discovery-core/src/main/java/org/apache/twill/discovery/ZKDiscoveryService.java
+++ b/twill-discovery-core/src/main/java/org/apache/twill/discovery/ZKDiscoveryService.java
@@ -17,14 +17,6 @@
  */
 package org.apache.twill.discovery;
 
-import org.apache.twill.common.Cancellable;
-import org.apache.twill.common.Threads;
-import org.apache.twill.zookeeper.NodeChildren;
-import org.apache.twill.zookeeper.NodeData;
-import org.apache.twill.zookeeper.OperationFuture;
-import org.apache.twill.zookeeper.ZKClient;
-import org.apache.twill.zookeeper.ZKClients;
-import org.apache.twill.zookeeper.ZKOperations;
 import com.google.common.cache.CacheBuilder;
 import com.google.common.cache.CacheLoader;
 import com.google.common.cache.LoadingCache;
@@ -37,6 +29,14 @@ import com.google.common.util.concurrent.FutureCallback;
 import com.google.common.util.concurrent.Futures;
 import com.google.common.util.concurrent.ListenableFuture;
 import com.google.common.util.concurrent.SettableFuture;
+import org.apache.twill.common.Cancellable;
+import org.apache.twill.common.Threads;
+import org.apache.twill.zookeeper.NodeChildren;
+import org.apache.twill.zookeeper.NodeData;
+import org.apache.twill.zookeeper.OperationFuture;
+import org.apache.twill.zookeeper.ZKClient;
+import org.apache.twill.zookeeper.ZKClients;
+import org.apache.twill.zookeeper.ZKOperations;
 import org.apache.zookeeper.CreateMode;
 import org.apache.zookeeper.KeeperException;
 import org.apache.zookeeper.WatchedEvent;
@@ -75,13 +75,13 @@ import java.util.concurrent.locks.ReentrantLock;
  *        &#64;Override
  *        public String getName() {
  *          return 'service-name';
- *        &#125;
+ *        }
  *
  *        &#64;Override
  *        public InetSocketAddress getSocketAddress() {
  *          return new InetSocketAddress(hostname, port);
- *        &#125;
- *      &#125;);
+ *        }
+ *      });
  *      ...
  *      ...
  *      ServiceDiscovered services = service.discovery("service-name");