You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@beam.apache.org by ke...@apache.org on 2016/11/22 20:11:49 UTC
[45/50] incubator-beam git commit: [BEAM-59] Drops public
constructors and uses Factory methods in Gcs/File/IOChannelFactory.
[BEAM-59] Drops public constructors and uses Factory methods in Gcs/File/IOChannelFactory.
Project: http://git-wip-us.apache.org/repos/asf/incubator-beam/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-beam/commit/e6fa2ff2
Tree: http://git-wip-us.apache.org/repos/asf/incubator-beam/tree/e6fa2ff2
Diff: http://git-wip-us.apache.org/repos/asf/incubator-beam/diff/e6fa2ff2
Branch: refs/heads/python-sdk
Commit: e6fa2ff26e836848fa549c290ed098dd019cc4e1
Parents: 249dbc0
Author: Pei He <pe...@google.com>
Authored: Mon Oct 31 17:58:31 2016 -0700
Committer: Luke Cwik <lc...@google.com>
Committed: Tue Nov 22 06:18:54 2016 -0800
----------------------------------------------------------------------
.../apache/beam/sdk/util/FileIOChannelFactory.java | 17 +++++++++++++++++
.../apache/beam/sdk/util/GcsIOChannelFactory.java | 10 +++++++++-
.../org/apache/beam/sdk/util/IOChannelUtils.java | 7 +++----
.../beam/sdk/util/FileIOChannelFactoryTest.java | 2 +-
.../beam/sdk/util/GcsIOChannelFactoryTest.java | 2 +-
5 files changed, 31 insertions(+), 7 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/e6fa2ff2/sdks/java/core/src/main/java/org/apache/beam/sdk/util/FileIOChannelFactory.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/FileIOChannelFactory.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/FileIOChannelFactory.java
index 0eefb77..13591a3 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/FileIOChannelFactory.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/FileIOChannelFactory.java
@@ -44,6 +44,7 @@ import java.util.Collections;
import java.util.LinkedList;
import java.util.List;
import java.util.regex.Matcher;
+import org.apache.beam.sdk.options.PipelineOptions;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -53,6 +54,22 @@ import org.slf4j.LoggerFactory;
public class FileIOChannelFactory implements IOChannelFactory {
private static final Logger LOG = LoggerFactory.getLogger(FileIOChannelFactory.class);
+ /**
+ * Create a {@link FileIOChannelFactory} with the given {@link PipelineOptions}.
+ */
+ public static FileIOChannelFactory fromOptions(PipelineOptions options) {
+ return create();
+ }
+
+ /**
+ * Create a {@link FileIOChannelFactory}.
+ */
+ public static FileIOChannelFactory create() {
+ return new FileIOChannelFactory();
+ }
+
+ private FileIOChannelFactory() {}
+
/**
* Converts the given file spec to a java {@link File}. If {@code spec} is actually a URI with
* the {@code file} scheme, then this function will ensure that the returned {@link File}
http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/e6fa2ff2/sdks/java/core/src/main/java/org/apache/beam/sdk/util/GcsIOChannelFactory.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/GcsIOChannelFactory.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/GcsIOChannelFactory.java
index bd2ec4e..9f99cd6 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/GcsIOChannelFactory.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/GcsIOChannelFactory.java
@@ -25,6 +25,7 @@ import java.util.Collection;
import java.util.LinkedList;
import java.util.List;
import org.apache.beam.sdk.options.GcsOptions;
+import org.apache.beam.sdk.options.PipelineOptions;
import org.apache.beam.sdk.util.gcsfs.GcsPath;
/**
@@ -32,9 +33,16 @@ import org.apache.beam.sdk.util.gcsfs.GcsPath;
*/
public class GcsIOChannelFactory implements IOChannelFactory {
+ /**
+ * Create a {@link GcsIOChannelFactory} with the given {@link PipelineOptions}.
+ */
+ public static GcsIOChannelFactory fromOptions(PipelineOptions options) {
+ return new GcsIOChannelFactory(options.as(GcsOptions.class));
+ }
+
private final GcsOptions options;
- public GcsIOChannelFactory(GcsOptions options) {
+ private GcsIOChannelFactory(GcsOptions options) {
this.options = options;
}
http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/e6fa2ff2/sdks/java/core/src/main/java/org/apache/beam/sdk/util/IOChannelUtils.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/IOChannelUtils.java b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/IOChannelUtils.java
index 16a6e95..d221fa9 100644
--- a/sdks/java/core/src/main/java/org/apache/beam/sdk/util/IOChannelUtils.java
+++ b/sdks/java/core/src/main/java/org/apache/beam/sdk/util/IOChannelUtils.java
@@ -29,7 +29,6 @@ import java.util.Map;
import java.util.Set;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.beam.sdk.options.GcsOptions;
import org.apache.beam.sdk.options.PipelineOptions;
/**
@@ -61,8 +60,8 @@ public class IOChannelUtils {
* to provide, e.g., credentials for GCS.
*/
public static void registerStandardIOFactories(PipelineOptions options) {
- setIOFactory("gs", new GcsIOChannelFactory(options.as(GcsOptions.class)));
- setIOFactory("file", new FileIOChannelFactory());
+ setIOFactory("gs", GcsIOChannelFactory.fromOptions(options));
+ setIOFactory("file", FileIOChannelFactory.fromOptions(options));
}
/**
@@ -175,7 +174,7 @@ public class IOChannelUtils {
Matcher matcher = URI_SCHEME_PATTERN.matcher(spec);
if (!matcher.matches()) {
- return new FileIOChannelFactory();
+ return FileIOChannelFactory.create();
}
String scheme = matcher.group("scheme");
http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/e6fa2ff2/sdks/java/core/src/test/java/org/apache/beam/sdk/util/FileIOChannelFactoryTest.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/util/FileIOChannelFactoryTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/util/FileIOChannelFactoryTest.java
index 4d4f93b..e27a043 100644
--- a/sdks/java/core/src/test/java/org/apache/beam/sdk/util/FileIOChannelFactoryTest.java
+++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/util/FileIOChannelFactoryTest.java
@@ -46,7 +46,7 @@ import org.junit.runners.JUnit4;
public class FileIOChannelFactoryTest {
@Rule public ExpectedException thrown = ExpectedException.none();
@Rule public TemporaryFolder temporaryFolder = new TemporaryFolder();
- private FileIOChannelFactory factory = new FileIOChannelFactory();
+ private FileIOChannelFactory factory = FileIOChannelFactory.create();
private void testCreate(Path path) throws Exception {
String expected = "my test string";
http://git-wip-us.apache.org/repos/asf/incubator-beam/blob/e6fa2ff2/sdks/java/core/src/test/java/org/apache/beam/sdk/util/GcsIOChannelFactoryTest.java
----------------------------------------------------------------------
diff --git a/sdks/java/core/src/test/java/org/apache/beam/sdk/util/GcsIOChannelFactoryTest.java b/sdks/java/core/src/test/java/org/apache/beam/sdk/util/GcsIOChannelFactoryTest.java
index 6bdb782..7248b38 100644
--- a/sdks/java/core/src/test/java/org/apache/beam/sdk/util/GcsIOChannelFactoryTest.java
+++ b/sdks/java/core/src/test/java/org/apache/beam/sdk/util/GcsIOChannelFactoryTest.java
@@ -33,7 +33,7 @@ public class GcsIOChannelFactoryTest {
@Before
public void setUp() {
- factory = new GcsIOChannelFactory(PipelineOptionsFactory.as(GcsOptions.class));
+ factory = GcsIOChannelFactory.fromOptions(PipelineOptionsFactory.as(GcsOptions.class));
}
@Test