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