embulk-input-rethinkdb 0.1.0 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6aea1c18ded9bd6128ff2545899f22607399659e
4
- data.tar.gz: 9d5b3d65250fc2dd4ea890de07392a46a8befebc
3
+ metadata.gz: 21aa87211af2414daa21a3b274500095fa379f7a
4
+ data.tar.gz: 2bca810caf3003b88f593bce79a458cbc000e045
5
5
  SHA512:
6
- metadata.gz: 88f5d2a5d872d1ff81272a36b2b1c9c2b0dcdb3703caf2d2ee34a4fc6778390b2d04eafbbd6939b226c09935c440e0a9d6a0af88fac6636609121020f418c101
7
- data.tar.gz: abd006954caf6c08f065a60e2a5cdd78905c6e0bc3aa824654deb7080b28bc8cdcb67483e1e45488e312a3eca2337e79816ce90cfc43a07dbdfbcdd2588c4ad4
6
+ metadata.gz: 616d24bc4184ccaa8461a5cf593f6d14f3dda00c6bcdba0c69afeb8af80d4354e67abc977cc358c7b29d11dc39977aa173ae0493310b4729eb9810a9b1a8a083
7
+ data.tar.gz: 9fe40b9bed815b8b02dc095c8bf42a2f6e83db03a8933b5fc047126d80639e8c3832a3eb07fb1e74309d833685e1b980ac627c8ab4ce8d4fa35610521d146fcd
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # RethinkDB input plugin for Embulk
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/embulk-input-rethinkdb.svg)](https://badge.fury.io/rb/embulk-input-rethinkdb)
4
+
3
5
  RethinkDB input plugin for Embulk loads records from RethinkDB.
4
6
 
5
7
  ## Overview
@@ -16,6 +18,7 @@ RethinkDB input plugin for Embulk loads records from RethinkDB.
16
18
  - **database**: database name (string, required)
17
19
  - **user**: database login user name (string, required)
18
20
  - **password**: database login password (string, required)
21
+ - **cert_file**: path to TLS CA certificate file (string)
19
22
  - **query**: ReQL to run (string, required)
20
23
  - **column_name**: column name used in outputs (string, default: `"record"`)
21
24
 
@@ -13,7 +13,7 @@ configurations {
13
13
  provided
14
14
  }
15
15
 
16
- version = "0.1.0"
16
+ version = "0.1.1"
17
17
 
18
18
  sourceCompatibility = 1.8
19
19
  targetCompatibility = 1.8
@@ -25,12 +25,19 @@ import org.embulk.spi.Schema;
25
25
  import org.embulk.spi.type.Types;
26
26
  import org.msgpack.value.Value;
27
27
  import org.msgpack.value.ValueFactory;
28
+ import org.slf4j.Logger;
29
+ import org.slf4j.LoggerFactory;
28
30
 
29
31
  import javax.script.Bindings;
30
32
  import javax.script.ScriptEngine;
31
33
  import javax.script.ScriptEngineManager;
32
34
  import javax.script.ScriptException;
33
35
 
36
+ import java.io.IOException;
37
+ import java.io.InputStream;
38
+ import java.nio.file.Files;
39
+ import java.nio.file.Path;
40
+ import java.nio.file.Paths;
34
41
  import java.util.ArrayList;
35
42
  import java.util.HashMap;
36
43
  import java.util.List;
@@ -81,6 +88,8 @@ public class RethinkdbInputPlugin
81
88
  BufferAllocator getBufferAllocator();
82
89
  }
83
90
 
91
+ private static final Logger logger = LoggerFactory.getLogger(RethinkdbInputPlugin.class);
92
+
84
93
  @Override
85
94
  public ConfigDiff transaction(ConfigSource config,
86
95
  InputPlugin.Control control)
@@ -89,9 +98,7 @@ public class RethinkdbInputPlugin
89
98
  if (task.getAuthKey().isPresent()) {
90
99
  throw new ConfigException("auth_key option is not supported yet");
91
100
  }
92
- if (task.getCertFile().isPresent()) {
93
- throw new ConfigException("cert_file option is not supported yet");
94
- }
101
+
95
102
  if (!(task.getUser().isPresent() && task.getPassword().isPresent())) {
96
103
  throw new ConfigException("user and password are needed");
97
104
  }
@@ -140,12 +147,25 @@ public class RethinkdbInputPlugin
140
147
  throw new ConfigException("ReQL compile error");
141
148
  }
142
149
 
143
- Connection conn = r.connection()
150
+ Connection.Builder builder = r.connection()
144
151
  .hostname(task.getHost())
145
152
  .port(task.getPort())
146
153
  .db(task.getDatabase())
147
- .user(task.getUser().get(), task.getPassword().get())
148
- .connect();
154
+ .user(task.getUser().get(), task.getPassword().get());
155
+
156
+ Connection conn;
157
+ if (task.getCertFile().isPresent()) {
158
+ Path certFilePath = Paths.get(task.getCertFile().get());
159
+ try (InputStream is = Files.newInputStream(certFilePath)) {
160
+ builder.certFile(is);
161
+ conn = builder.connect();
162
+ } catch (IOException ex) {
163
+ throw new ConfigException("error reading TLS certificate file");
164
+ }
165
+ }
166
+ else {
167
+ conn = builder.connect();
168
+ }
149
169
 
150
170
  Cursor cursor = ast.run(conn);
151
171
  for (Object doc : cursor) {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-input-rethinkdb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Koji Matsumoto
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-06-13 00:00:00.000000000 Z
11
+ date: 2020-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  requirement: !ruby/object:Gem::Requirement
@@ -49,7 +49,7 @@ files:
49
49
  - LICENSE.txt
50
50
  - README.md
51
51
  - build.gradle
52
- - classpath/embulk-input-rethinkdb-0.1.0.jar
52
+ - classpath/embulk-input-rethinkdb-0.1.1.jar
53
53
  - classpath/hamcrest-core-1.1.jar
54
54
  - classpath/json-simple-1.1.1.jar
55
55
  - classpath/junit-4.10.jar