You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by GitBox <gi...@apache.org> on 2019/01/14 09:52:15 UTC

[beam] Diff for: [GitHub] robertwb merged pull request #7454: [BEAM-6184] Enforce javadoc check on non-trivial public methods

diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStageFunction.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStageFunction.java
index 570e5dc620c0..bc51a106d7bd 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStageFunction.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/functions/FlinkExecutableStageFunction.java
@@ -331,10 +331,8 @@ private void fireTimer(
   public void close() throws Exception {
     // close may be called multiple times when an exception is thrown
     if (stageContext != null) {
-      try (@SuppressWarnings("unused")
-              AutoCloseable bundleFactoryCloser = stageBundleFactory;
-          @SuppressWarnings("unused")
-              AutoCloseable closable = stageContext) {
+      try (AutoCloseable bundleFactoryCloser = stageBundleFactory;
+           AutoCloseable closable = stageContext) {
       } catch (Exception e) {
         LOG.error("Error in close: ", e);
         throw e;
diff --git a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperator.java b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperator.java
index af1c6060c1ec..d113cc3ec1fe 100644
--- a/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperator.java
+++ b/runners/flink/src/main/java/org/apache/beam/runners/flink/translation/wrappers/streaming/ExecutableStageDoFnOperator.java
@@ -400,10 +400,8 @@ public void dispose() throws Exception {
     // may be called multiple times when an exception is thrown
     if (stageContext != null) {
       // Remove the reference to stageContext and make stageContext available for garbage collection.
-      try (@SuppressWarnings("unused")
-              AutoCloseable bundleFactoryCloser = stageBundleFactory;
-          @SuppressWarnings("unused")
-              AutoCloseable closable = stageContext) {
+      try (AutoCloseable bundleFactoryCloser = stageBundleFactory;
+           AutoCloseable closable = stageContext) {
         // DoFnOperator generates another "bundle" for the final watermark
         // https://issues.apache.org/jira/browse/BEAM-5816
         super.dispose();
diff --git a/runners/spark/src/test/java/org/apache/beam/runners/spark/translation/streaming/ResumeFromCheckpointStreamingTest.java b/runners/spark/src/test/java/org/apache/beam/runners/spark/translation/streaming/ResumeFromCheckpointStreamingTest.java
index b5aaa46130d4..117cce85a327 100644
--- a/runners/spark/src/test/java/org/apache/beam/runners/spark/translation/streaming/ResumeFromCheckpointStreamingTest.java
+++ b/runners/spark/src/test/java/org/apache/beam/runners/spark/translation/streaming/ResumeFromCheckpointStreamingTest.java
@@ -133,7 +133,7 @@ private static void produce(Map<String, Instant> messages) {
     Serializer<String> stringSerializer = new StringSerializer();
     Serializer<Instant> instantSerializer = new InstantSerializer();
 
-    try (@SuppressWarnings("unchecked")
+    try (
         KafkaProducer<String, Instant> kafkaProducer =
             new KafkaProducer(producerProps, stringSerializer, instantSerializer)) {
       for (Map.Entry<String, Instant> en : messages.entrySet()) {
diff --git a/sdks/java/build-tools/src/main/resources/beam/checkstyle.xml b/sdks/java/build-tools/src/main/resources/beam/checkstyle.xml
index b6d30f7b4aa8..37c7adad2536 100644
--- a/sdks/java/build-tools/src/main/resources/beam/checkstyle.xml
+++ b/sdks/java/build-tools/src/main/resources/beam/checkstyle.xml
@@ -26,6 +26,11 @@ page at http://checkstyle.sourceforge.net/config.html -->
 <module name="Checker">
   <property name="severity" value="error"/>
 
+  <!-- Allows inline SuppressWarnings annotation, by using for example
+      "@SuppressWarnings("checkstyle:JavadocMethod")".
+  -->
+  <module name="SuppressWarningsFilter" />
+
   <module name="RegexpSingleline">
     <property name="format" value="Throwables.propagate\("/>
     <property name="message" value="Throwables.propagate is deprecated"/>
@@ -108,6 +113,9 @@ page at http://checkstyle.sourceforge.net/config.html -->
 
     -->
 
+    <!-- Required to work in pair with SuppressWarningsFilter-->
+    <module name="SuppressWarningsHolder" />
+
     <!-- Checks for Javadoc comments.                     -->
     <!-- See http://checkstyle.sf.net/config_javadoc.html -->
     <module name="JavadocMethod">
@@ -121,6 +129,19 @@ page at http://checkstyle.sourceforge.net/config.html -->
       <property name="allowUndeclaredRTE" value="true"/>
     </module>
 
+    <module name="JavadocMethod">
+      <property name="scope" value="public"/>
+      <property name="severity" value="warning"/>
+      <property name="minLineCount" value="30"/>
+      <property name="allowMissingJavadoc" value="false"/>
+      <property name="allowMissingPropertyJavadoc" 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>
+
     <!-- Check that paragraph tags are used correctly in Javadoc. -->
     <!--
     TODO(https://issues.apache.org/jira/browse/BEAM-4670): re-enable after fixing after spotless
diff --git a/sdks/java/build-tools/src/main/resources/beam/suppressions.xml b/sdks/java/build-tools/src/main/resources/beam/suppressions.xml
index 575d3f2eaf36..e3ab90dff46a 100644
--- a/sdks/java/build-tools/src/main/resources/beam/suppressions.xml
+++ b/sdks/java/build-tools/src/main/resources/beam/suppressions.xml
@@ -21,9 +21,12 @@
   <suppress checks="JavadocPackage" files=".*[\\\/]maven-archetypes[\\\/].*"/>
   <suppress checks="JavadocPackage" files=".*[\\\/]examples[\\\/].*"/>
   
+  <suppress checks="JavadocMethod" files=".*Test\.java"/>
+  <suppress checks="JavadocMethod" files=".*[\\\/]src[\\\/]test[\\\/].*"/>
+  <suppress checks="JavadocMethod" files=".*[\\\/]examples[\\\/].*"/>
+
   <!-- suppress all checks in the generated directories -->
   <suppress checks=".*" files=".+[\\\/]generated[\\\/].+\.java" />
   <suppress checks=".*" files=".+[\\\/]generated-sources[\\\/].+\.java" />
   <suppress checks=".*" files=".+[\\\/]generated-test-sources[\\\/].+\.java" />
 </suppressions>
-
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/annotations/Experimental.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/annotations/Experimental.java
index be653ea62926..05bdee080ea1 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/annotations/Experimental.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/annotations/Experimental.java
@@ -38,6 +38,10 @@
   ElementType.METHOD,
   ElementType.TYPE
 })
+
+/**
+ * You can indicate a category for the experimental feature. This is unused and serves only as a hint to the reader.
+ */
 @Documented
 public @interface Experimental {
   Kind value() default Kind.UNSPECIFIED;
diff --git a/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/schema/BeamTableUtils.java b/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/schema/BeamTableUtils.java
index 9ddc642dff3c..798f0e6e651c 100644
--- a/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/schema/BeamTableUtils.java
+++ b/sdks/java/extensions/sql/src/main/java/org/apache/beam/sdk/extensions/sql/impl/schema/BeamTableUtils.java
@@ -90,6 +90,12 @@ public static String beamRow2CsvLine(Row row, CSVFormat csvFormat) {
     return writer.toString();
   }
 
+  /**
+   * Attempt to cast an object to a specified Schema.Field.Type.
+   * @throws IllegalArgumentException if the value cannot be cast to that type.
+   *
+   * @return The casted object in Schema.Field.Type.
+   */
   public static Object autoCastField(Schema.Field field, Object rawObj) {
     if (rawObj == null) {
       if (!field.getType().getNullable()) {


With regards,
Apache Git Services