Skip to content

Commit 4b68d0c

Browse files
committed
Merge pull request #10 from civitaspo/v0.2.2
V0.2.2
2 parents 8cda920 + 2baca5e commit 4b68d0c

File tree

3 files changed

+27
-9
lines changed

3 files changed

+27
-9
lines changed

CHANGELOG.md

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
0.2.2 (2016-02-02)
2+
==================
3+
- Add: doas option

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ configurations {
1212
provided
1313
}
1414

15-
version = "0.2.1"
15+
version = "0.2.2"
1616

1717
sourceCompatibility = 1.7
1818
targetCompatibility = 1.7

src/main/java/org/embulk/output/hdfs/HdfsFileOutputPlugin.java

Lines changed: 23 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,16 @@
11
package org.embulk.output.hdfs;
22

3-
import java.io.File;
4-
import java.io.IOException;
5-
import java.io.OutputStream;
6-
import java.util.ArrayList;
7-
import java.util.List;
8-
import java.util.Map;
9-
3+
import com.google.common.base.Optional;
4+
import com.google.common.base.Throwables;
105
import org.apache.hadoop.conf.Configuration;
116
import org.apache.hadoop.fs.FileSystem;
127
import org.apache.hadoop.fs.Path;
13-
import org.embulk.config.TaskReport;
148
import org.embulk.config.Config;
159
import org.embulk.config.ConfigDefault;
1610
import org.embulk.config.ConfigDiff;
1711
import org.embulk.config.ConfigSource;
1812
import org.embulk.config.Task;
13+
import org.embulk.config.TaskReport;
1914
import org.embulk.config.TaskSource;
2015
import org.embulk.spi.Buffer;
2116
import org.embulk.spi.Exec;
@@ -24,6 +19,14 @@
2419
import org.jruby.embed.ScriptingContainer;
2520
import org.slf4j.Logger;
2621

22+
import java.io.File;
23+
import java.io.IOException;
24+
import java.io.OutputStream;
25+
import java.net.URI;
26+
import java.util.ArrayList;
27+
import java.util.List;
28+
import java.util.Map;
29+
2730
public class HdfsFileOutputPlugin
2831
implements FileOutputPlugin
2932
{
@@ -58,6 +61,9 @@ public interface PluginTask
5861
@ConfigDefault("false")
5962
public boolean getOverwrite();
6063

64+
@Config("doas")
65+
@ConfigDefault("null")
66+
public Optional<String> getDoas();
6167
}
6268

6369
@Override
@@ -186,6 +192,15 @@ private static FileSystem getFs(final PluginTask task)
186192
configuration.set(entry.getKey(), entry.getValue());
187193
}
188194

195+
if (task.getDoas().isPresent()) {
196+
URI uri = FileSystem.getDefaultUri(configuration);
197+
try {
198+
return FileSystem.get(uri, configuration, task.getDoas().get());
199+
}
200+
catch (InterruptedException e) {
201+
throw Throwables.propagate(e);
202+
}
203+
}
189204
return FileSystem.get(configuration);
190205
}
191206

0 commit comments

Comments
 (0)