Repository: beam Updated Branches: refs/heads/master 02905c27b -> 199686907
[BEAM-933] Fix and enable findbugs in Java examples Project: http://git-wip-us.apache.org/repos/asf/beam/repo Commit: http://git-wip-us.apache.org/repos/asf/beam/commit/f6daad4f Tree: http://git-wip-us.apache.org/repos/asf/beam/tree/f6daad4f Diff: http://git-wip-us.apache.org/repos/asf/beam/diff/f6daad4f Branch: refs/heads/master Commit: f6daad4fc95cb633794c60254c6c335602f1df31 Parents: 02905c2 Author: eralmas7 <eralm...@yahoo.com> Authored: Sun Jul 9 11:50:52 2017 +0530 Committer: Kenneth Knowles <k...@google.com> Committed: Mon Jul 17 15:52:08 2017 -0700 ---------------------------------------------------------------------- examples/java/pom.xml | 12 ---------- .../apache/beam/examples/complete/TfIdf.java | 3 ++- .../examples/complete/TopWikipediaSessions.java | 24 ++++++++++---------- .../beam/examples/complete/TrafficRoutes.java | 19 ++++++++++++++++ .../beam/examples/cookbook/TriggerExample.java | 6 +++-- 5 files changed, 37 insertions(+), 27 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/beam/blob/f6daad4f/examples/java/pom.xml ---------------------------------------------------------------------- diff --git a/examples/java/pom.xml b/examples/java/pom.xml index ae64a79..12fe06f 100644 --- a/examples/java/pom.xml +++ b/examples/java/pom.xml @@ -365,18 +365,6 @@ </profiles> <build> - <pluginManagement> - <plugins> - <!-- BEAM-933 --> - <plugin> - <groupId>org.codehaus.mojo</groupId> - <artifactId>findbugs-maven-plugin</artifactId> - <configuration> - <skip>true</skip> - </configuration> - </plugin> - </plugins> - </pluginManagement> <plugins> <plugin> http://git-wip-us.apache.org/repos/asf/beam/blob/f6daad4f/examples/java/src/main/java/org/apache/beam/examples/complete/TfIdf.java ---------------------------------------------------------------------- diff --git a/examples/java/src/main/java/org/apache/beam/examples/complete/TfIdf.java b/examples/java/src/main/java/org/apache/beam/examples/complete/TfIdf.java index 7552b94..435ffab 100644 --- a/examples/java/src/main/java/org/apache/beam/examples/complete/TfIdf.java +++ b/examples/java/src/main/java/org/apache/beam/examples/complete/TfIdf.java @@ -17,6 +17,7 @@ */ package org.apache.beam.examples.complete; +import com.google.common.base.Optional; import java.io.File; import java.io.IOException; import java.net.URI; @@ -121,7 +122,7 @@ public class TfIdf { Set<URI> uris = new HashSet<>(); if (absoluteUri.getScheme().equals("file")) { File directory = new File(absoluteUri); - for (String entry : directory.list()) { + for (String entry : Optional.fromNullable(directory.list()).or(new String[] {})) { File path = new File(directory, entry); uris.add(path.toURI()); } http://git-wip-us.apache.org/repos/asf/beam/blob/f6daad4f/examples/java/src/main/java/org/apache/beam/examples/complete/TopWikipediaSessions.java ---------------------------------------------------------------------- diff --git a/examples/java/src/main/java/org/apache/beam/examples/complete/TopWikipediaSessions.java b/examples/java/src/main/java/org/apache/beam/examples/complete/TopWikipediaSessions.java index 478e2dc..3691e53 100644 --- a/examples/java/src/main/java/org/apache/beam/examples/complete/TopWikipediaSessions.java +++ b/examples/java/src/main/java/org/apache/beam/examples/complete/TopWikipediaSessions.java @@ -162,17 +162,18 @@ public class TopWikipediaSessions { public PCollection<String> expand(PCollection<TableRow> input) { return input .apply(ParDo.of(new ExtractUserAndTimestamp())) - - .apply("SampleUsers", ParDo.of( - new DoFn<String, String>() { - @ProcessElement - public void processElement(ProcessContext c) { - if (Math.abs(c.element().hashCode()) <= Integer.MAX_VALUE * samplingThreshold) { - c.output(c.element()); - } - } - })) - + .apply( + "SampleUsers", + ParDo.of( + new DoFn<String, String>() { + @ProcessElement + public void processElement(ProcessContext c) { + if (Math.abs((long) c.element().hashCode()) + <= Integer.MAX_VALUE * samplingThreshold) { + c.output(c.element()); + } + } + })) .apply(new ComputeSessions()) .apply("SessionsToStrings", ParDo.of(new SessionsToStringsDoFn())) .apply(new TopPerMonth()) @@ -191,7 +192,6 @@ public class TopWikipediaSessions { @Default.String(EXPORTED_WIKI_TABLE) String getInput(); void setInput(String value); - @Description("File to output results to") @Validation.Required String getOutput(); http://git-wip-us.apache.org/repos/asf/beam/blob/f6daad4f/examples/java/src/main/java/org/apache/beam/examples/complete/TrafficRoutes.java ---------------------------------------------------------------------- diff --git a/examples/java/src/main/java/org/apache/beam/examples/complete/TrafficRoutes.java b/examples/java/src/main/java/org/apache/beam/examples/complete/TrafficRoutes.java index c9ba18c..fb16eb4 100644 --- a/examples/java/src/main/java/org/apache/beam/examples/complete/TrafficRoutes.java +++ b/examples/java/src/main/java/org/apache/beam/examples/complete/TrafficRoutes.java @@ -29,6 +29,8 @@ import java.util.HashMap; import java.util.Hashtable; import java.util.List; import java.util.Map; +import java.util.Objects; + import org.apache.avro.reflect.Nullable; import org.apache.beam.examples.common.ExampleBigQueryTableOptions; import org.apache.beam.examples.common.ExampleOptions; @@ -112,6 +114,23 @@ public class TrafficRoutes { public int compareTo(StationSpeed other) { return Long.compare(this.timestamp, other.timestamp); } + + @Override + public boolean equals(Object object) { + if (object == null) { + return false; + } + if (object.getClass() != getClass()) { + return false; + } + StationSpeed otherStationSpeed = (StationSpeed) object; + return Objects.equals(this.timestamp, otherStationSpeed.timestamp); + } + + @Override + public int hashCode() { + return this.timestamp.hashCode(); + } } /** http://git-wip-us.apache.org/repos/asf/beam/blob/f6daad4f/examples/java/src/main/java/org/apache/beam/examples/cookbook/TriggerExample.java ---------------------------------------------------------------------- diff --git a/examples/java/src/main/java/org/apache/beam/examples/cookbook/TriggerExample.java b/examples/java/src/main/java/org/apache/beam/examples/cookbook/TriggerExample.java index e7596aa..651c242 100644 --- a/examples/java/src/main/java/org/apache/beam/examples/cookbook/TriggerExample.java +++ b/examples/java/src/main/java/org/apache/beam/examples/cookbook/TriggerExample.java @@ -23,6 +23,7 @@ import com.google.api.services.bigquery.model.TableRow; import com.google.api.services.bigquery.model.TableSchema; import java.util.ArrayList; import java.util.List; +import java.util.Random; import java.util.concurrent.TimeUnit; import org.apache.beam.examples.common.ExampleBigQueryTableOptions; import org.apache.beam.examples.common.ExampleOptions; @@ -476,9 +477,10 @@ public class TriggerExample { @ProcessElement public void processElement(ProcessContext c) throws Exception { Instant timestamp = Instant.now(); - if (Math.random() < THRESHOLD){ + Random random = new Random(); + if (random.nextDouble() < THRESHOLD){ int range = MAX_DELAY - MIN_DELAY; - int delayInMinutes = (int) (Math.random() * range) + MIN_DELAY; + int delayInMinutes = random.nextInt(range) + MIN_DELAY; long delayInMillis = TimeUnit.MINUTES.toMillis(delayInMinutes); timestamp = new Instant(timestamp.getMillis() - delayInMillis); }