embulk-input-jdbc 0.2.4 → 0.3.0

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: 4a550ebcfbfdf2ffd7224f75e0323e2f2f38d251
4
- data.tar.gz: 94fd015df489f76a7ab61f96d8270e41cf835c47
3
+ metadata.gz: 8f90e12c2fee1a30c130f033663488322ea010a9
4
+ data.tar.gz: 9dbae6a7d01b3bda36606b6f269f1f7d2fdcddc9
5
5
  SHA512:
6
- metadata.gz: fe03d9383723b67c6e7bfad40e846af35e28a6005c23481e8ef3d0371bb32153c3707249251fbd54f3e4dd486127998b7fe331cac86a116d900008e9b6eeb58d
7
- data.tar.gz: 36c39dd512041e1191cb18b2b53c7c8b9fe9d2d74546bc39742c2f0da6aaaed4830d89033a21175f44895940febeaa5b1b3baba04bd13baa78af8e5fa5521408
6
+ metadata.gz: 3dbed8686fd882876041fe10914297a63d7cce394ef3e686abc12bba4104f0ac88e3e59b8ce100da98fffa8bbf31bc2f4f040ad77b2c310312e7da441113958a
7
+ data.tar.gz: e53a6be622d0ec449c946990cdaedb8a21b3fa83d3a593894dee39675adc3e793bb5c5d1718ae5eda5da8c28895a494abe5ffa0bd5b0a96e82f1b0c1582b5f82
@@ -20,17 +20,30 @@ public class JdbcInputPlugin
20
20
  {
21
21
  private final static Set<String> loadedJarGlobs = new HashSet<String>();
22
22
 
23
- public interface GenericPluginTask extends PluginTask
23
+ public interface GenericPluginTask
24
+ extends PluginTask
24
25
  {
25
- @Config("driver_name")
26
- public String getDriverName();
26
+ @Config("driver_path")
27
+ @ConfigDefault("null")
28
+ public Optional<String> getDriverPath();
27
29
 
28
30
  @Config("driver_class")
29
31
  public String getDriverClass();
30
32
 
31
- @Config("driver_path")
33
+ @Config("url")
34
+ public String getUrl();
35
+
36
+ @Config("user")
32
37
  @ConfigDefault("null")
33
- public Optional<String> getDriverPath();
38
+ public Optional<String> getUser();
39
+
40
+ @Config("password")
41
+ @ConfigDefault("null")
42
+ public Optional<String> getPassword();
43
+
44
+ @Config("schema")
45
+ @ConfigDefault("null")
46
+ public Optional<String> getSchema();
34
47
  }
35
48
 
36
49
  @Override
@@ -42,11 +55,11 @@ public class JdbcInputPlugin
42
55
  @Override
43
56
  protected JdbcInputConnection newConnection(PluginTask task) throws SQLException
44
57
  {
45
- GenericPluginTask g = (GenericPluginTask) task;
58
+ GenericPluginTask t = (GenericPluginTask) task;
46
59
 
47
- if (g.getDriverPath().isPresent()) {
60
+ if (t.getDriverPath().isPresent()) {
48
61
  synchronized (loadedJarGlobs) {
49
- String glob = g.getDriverPath().get();
62
+ String glob = t.getDriverPath().get();
50
63
  if (!loadedJarGlobs.contains(glob)) {
51
64
  loadDriverJar(glob);
52
65
  loadedJarGlobs.add(glob);
@@ -54,33 +67,28 @@ public class JdbcInputPlugin
54
67
  }
55
68
  }
56
69
 
57
- String url;
58
- if (g.getPort().isPresent()) {
59
- url = String.format("jdbc:%s://%s:%d/%s",
60
- g.getDriverName(), g.getHost(), g.getPort().get(), g.getDatabase());
61
- } else {
62
- url = String.format("jdbc:%s://%s/%s",
63
- g.getDriverName(), g.getHost(), g.getDatabase());
64
- }
65
-
66
70
  Properties props = new Properties();
67
- props.setProperty("user", g.getUser());
68
- props.setProperty("password", g.getPassword());
71
+ if (t.getUser().isPresent()) {
72
+ props.setProperty("user", t.getUser().get());
73
+ }
74
+ if (t.getPassword().isPresent()) {
75
+ props.setProperty("password", t.getPassword().get());
76
+ }
69
77
 
70
- props.putAll(g.getOptions());
78
+ props.putAll(t.getOptions());
71
79
 
72
80
  Driver driver;
73
81
  try {
74
82
  // TODO check Class.forName(driverClass) is a Driver before newInstance
75
83
  // for security
76
- driver = (Driver) Class.forName(g.getDriverClass()).newInstance();
84
+ driver = (Driver) Class.forName(t.getDriverClass()).newInstance();
77
85
  } catch (Exception ex) {
78
86
  throw Throwables.propagate(ex);
79
87
  }
80
88
 
81
- Connection con = driver.connect(url, props);
89
+ Connection con = driver.connect(t.getUrl(), props);
82
90
  try {
83
- JdbcInputConnection c = new JdbcInputConnection(con, g.getSchema().orNull());
91
+ JdbcInputConnection c = new JdbcInputConnection(con, t.getSchema().orNull());
84
92
  con = null;
85
93
  return c;
86
94
  } finally {
@@ -34,31 +34,10 @@ public abstract class AbstractJdbcInputPlugin
34
34
 
35
35
  public interface PluginTask extends Task
36
36
  {
37
- @Config("host")
38
- public String getHost();
39
-
40
- @Config("port")
41
- @ConfigDefault("null")
42
- public Optional<Integer> getPort();
43
-
44
- @Config("user")
45
- public String getUser();
46
-
47
- @Config("password")
48
- @ConfigDefault("\"\"")
49
- public String getPassword();
50
-
51
37
  @Config("options")
52
38
  @ConfigDefault("{}")
53
39
  public Properties getOptions();
54
40
 
55
- @Config("database")
56
- public String getDatabase();
57
-
58
- @Config("schema")
59
- @ConfigDefault("null")
60
- public Optional<String> getSchema();
61
-
62
41
  @Config("table")
63
42
  public String getTable();
64
43
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-input-jdbc
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.4
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sadayuki Furuhashi
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-27 00:00:00.000000000 Z
11
+ date: 2015-02-28 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Selects records from a table.
14
14
  email:
@@ -27,7 +27,7 @@ files:
27
27
  - src/main/java/org/embulk/input/jdbc/getter/ColumnGetter.java
28
28
  - src/main/java/org/embulk/input/jdbc/getter/ColumnGetterFactory.java
29
29
  - src/main/java/org/embulk/input/jdbc/getter/ColumnGetters.java
30
- - classpath/embulk-input-jdbc-0.2.4.jar
30
+ - classpath/embulk-input-jdbc-0.3.0.jar
31
31
  homepage: https://github.com/embulk/embulk-input-jdbc
32
32
  licenses:
33
33
  - Apache 2.0