embulk-filter-timestamp_format 0.3.0 → 0.3.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 451b88351373a8de1875a6fdc5c78e9c91b093e6
4
- data.tar.gz: afdf5911609850f33f6f3351fe90eed8d96d8f81
3
+ metadata.gz: 94f9cf903e02ed4a2c7a2fcbcd246d54e4d79918
4
+ data.tar.gz: e7a9224bb84bff01a5b177e6cea65b4535142219
5
5
  SHA512:
6
- metadata.gz: dc4a96d6f2b3a3743514fa175e4bfae7fe89d1f8e104b59460a4d9a70e0f9122b5eea007bfe5937782a45935b7186fe36edebdbd3e5d660e4ea6ce73654f43ae
7
- data.tar.gz: b3c6057322b0620999b70ab6b49d92bd2154560120ceab0966472775ffcf0b07dbb7748cfe6dac0a53627bd657898039f2069b94eb7380c280b5e6e946883d0f
6
+ metadata.gz: 3b0134f40cb27a9256c8fda3b694ccd7ca4bdd56c58e91f4002b9af21dc9883dcea42d725e397de176a45986ae2fd6bb253f4162fdd51c3271ea7e250a0b1661
7
+ data.tar.gz: c37e4f3210911938e33aab11dd1e977167d53f0b2234537a58370ce7e94536dc37c071c3936ebbafb4cf33a53b7f44131ae84dc5f392ae942e021543280ecbbb
@@ -1,3 +1,9 @@
1
+ # 0.3.1 (2017-08-26)
2
+
3
+ Enhancements:
4
+
5
+ * Use old, but non-deprecated TimestampParser API to support embulk < 0.8.29
6
+
1
7
  # 0.3.0 (2017-08-23)
2
8
 
3
9
  Changes:
@@ -13,13 +13,13 @@ configurations {
13
13
  provided
14
14
  }
15
15
 
16
- version = "0.3.0"
16
+ version = "0.3.1"
17
17
  sourceCompatibility = 1.7
18
18
  targetCompatibility = 1.7
19
19
 
20
20
  dependencies {
21
- compile "org.embulk:embulk-core:0.8.29+"
22
- provided "org.embulk:embulk-core:0.8.29+"
21
+ compile "org.embulk:embulk-core:0.8.+"
22
+ provided "org.embulk:embulk-core:0.8.+"
23
23
  compile "io.github.medjed:JsonPathCompiler:0.1.+"
24
24
 
25
25
  testCompile "junit:junit:4.+"
@@ -1,6 +1,6 @@
1
- #Wed Jan 13 12:41:02 JST 2016
1
+ #Wed Aug 09 13:08:20 JST 2017
2
2
  distributionBase=GRADLE_USER_HOME
3
3
  distributionPath=wrapper/dists
4
4
  zipStoreBase=GRADLE_USER_HOME
5
5
  zipStorePath=wrapper/dists
6
- distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-bin.zip
6
+ distributionUrl=https\://services.gradle.org/distributions/gradle-3.3-all.zip
@@ -25,6 +25,7 @@ import java.util.regex.Matcher;
25
25
  import java.util.regex.Pattern;
26
26
 
27
27
  import org.joda.time.format.DateTimeFormat;
28
+ import org.jruby.embed.ScriptingContainer;
28
29
 
29
30
  public class TimestampParser {
30
31
  public interface Task {
@@ -66,7 +67,7 @@ public class TimestampParser {
66
67
  // TODO get default current time from ExecTask.getExecTimestamp
67
68
  for (String format : formatList) {
68
69
  if (format.contains("%")) {
69
- org.embulk.spi.time.TimestampParser parser = new org.embulk.spi.time.TimestampParser(format, defaultFromTimeZone);
70
+ org.embulk.spi.time.TimestampParser parser = getTimestampParser(format, defaultFromTimeZone);
70
71
  this.jrubyParserList.add(parser);
71
72
  } else {
72
73
  // special treatment for nano resolution. n is not originally supported by Joda-Time
@@ -168,4 +169,83 @@ public class TimestampParser {
168
169
  }
169
170
  return nsec;
170
171
  }
172
+
173
+ private class TimestampParserTaskImpl implements org.embulk.spi.time.TimestampParser.Task
174
+ {
175
+ private final DateTimeZone defaultTimeZone;
176
+ private final String defaultTimestampFormat;
177
+ private final String defaultDate;
178
+ public TimestampParserTaskImpl(
179
+ DateTimeZone defaultTimeZone,
180
+ String defaultTimestampFormat,
181
+ String defaultDate)
182
+ {
183
+ this.defaultTimeZone = defaultTimeZone;
184
+ this.defaultTimestampFormat = defaultTimestampFormat;
185
+ this.defaultDate = defaultDate;
186
+ }
187
+ @Override
188
+ public DateTimeZone getDefaultTimeZone()
189
+ {
190
+ return this.defaultTimeZone;
191
+ }
192
+ @Override
193
+ public String getDefaultTimestampFormat()
194
+ {
195
+ return this.defaultTimestampFormat;
196
+ }
197
+ @Override
198
+ public String getDefaultDate()
199
+ {
200
+ return this.defaultDate;
201
+ }
202
+ @Override
203
+ public ScriptingContainer getJRuby()
204
+ {
205
+ return null;
206
+ }
207
+ }
208
+
209
+ private class TimestampParserColumnOptionImpl implements org.embulk.spi.time.TimestampParser.TimestampColumnOption
210
+ {
211
+ private final Optional<DateTimeZone> timeZone;
212
+ private final Optional<String> format;
213
+ private final Optional<String> date;
214
+ public TimestampParserColumnOptionImpl(
215
+ Optional<DateTimeZone> timeZone,
216
+ Optional<String> format,
217
+ Optional<String> date)
218
+ {
219
+ this.timeZone = timeZone;
220
+ this.format = format;
221
+ this.date = date;
222
+ }
223
+ @Override
224
+ public Optional<DateTimeZone> getTimeZone()
225
+ {
226
+ return this.timeZone;
227
+ }
228
+ @Override
229
+ public Optional<String> getFormat()
230
+ {
231
+ return this.format;
232
+ }
233
+ @Override
234
+ public Optional<String> getDate()
235
+ {
236
+ return this.date;
237
+ }
238
+ }
239
+
240
+ private org.embulk.spi.time.TimestampParser getTimestampParser(String format, DateTimeZone timezone)
241
+ {
242
+ // ToDo: Use following codes after deciding to drop supporting embulk < 0.8.29.
243
+ //
244
+ // return new org.embulk.spi.time.TimestampParser(format, timezone);
245
+ String date = "1970-01-01";
246
+ TimestampParserTaskImpl task = new TimestampParserTaskImpl(timezone, format, date);
247
+ TimestampParserColumnOptionImpl columnOption = new TimestampParserColumnOptionImpl(
248
+ Optional.of(timezone), Optional.of(format), Optional.of(date));
249
+ return new org.embulk.spi.time.TimestampParser(task, columnOption);
250
+ }
171
251
  }
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: embulk-filter-timestamp_format
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
4
+ version: 0.3.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Naotoshi Seo
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-08-23 00:00:00.000000000 Z
11
+ date: 2017-08-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -110,7 +110,7 @@ files:
110
110
  - src/test/java/org/embulk/filter/timestamp_format/TestTimestampUnit.java
111
111
  - classpath/accessors-smart-1.1.jar
112
112
  - classpath/asm-5.0.3.jar
113
- - classpath/embulk-filter-timestamp_format-0.3.0.jar
113
+ - classpath/embulk-filter-timestamp_format-0.3.1.jar
114
114
  - classpath/json-smart-2.2.1.jar
115
115
  - classpath/JsonPathCompiler-0.1.2.jar
116
116
  - classpath/slf4j-api-1.7.21.jar