embulk-filter-icu4j 0.1.0 → 0.2.0
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 +4 -4
- data/build.gradle +2 -2
- data/src/main/java/org/embulk/filter/icu4j/Icu4jFilterPlugin.java +43 -42
- metadata +4 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 0d8fa0b28ed6c6d8231b04b75fb7e836ddd2aa2e
|
4
|
+
data.tar.gz: 62d2df03b4dea26db5531346cb07db60b7f388d5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d8d8a07ec890402c0b5b52507ef197c65709e906233a64cc5aebfa8e481f016de34c78332d93066e3f96c685363d8e19282045d1f4a246dc8d67631d51da01c8
|
7
|
+
data.tar.gz: 7144d51b395d6e3becb56a0651d8283c8ee534d4a1fa5466c5a91ca30349b357f1be617df6a5802425f46d9200c8f9e1a17559f8a244a0d34c0c6b03fffb9bc6
|
data/build.gradle
CHANGED
@@ -13,7 +13,7 @@ configurations {
|
|
13
13
|
provided
|
14
14
|
}
|
15
15
|
|
16
|
-
version = "0.
|
16
|
+
version = "0.2.0"
|
17
17
|
|
18
18
|
sourceCompatibility = 1.7
|
19
19
|
targetCompatibility = 1.7
|
@@ -21,7 +21,7 @@ targetCompatibility = 1.7
|
|
21
21
|
dependencies {
|
22
22
|
compile "org.embulk:embulk-core:0.7.4"
|
23
23
|
provided "org.embulk:embulk-core:0.7.4"
|
24
|
-
compile 'icu:icu4j:
|
24
|
+
compile 'com.ibm.icu:icu4j:56.1'
|
25
25
|
testCompile "junit:junit:4.+"
|
26
26
|
}
|
27
27
|
|
@@ -55,8 +55,14 @@ public class Icu4jFilterPlugin implements FilterPlugin
|
|
55
55
|
|
56
56
|
for (String key: task.getKeyNames()) {
|
57
57
|
for (Map<String, String> setting : task.getSettings()) {
|
58
|
-
|
59
|
-
|
58
|
+
String keyName = key + MoreObjects.firstNonNull(setting.get("suffix"), "");
|
59
|
+
if (task.getKeepInput()) {
|
60
|
+
if (setting.get("suffix") != null) {
|
61
|
+
builder.add(new Column(i++, keyName, Types.STRING));
|
62
|
+
}
|
63
|
+
} else {
|
64
|
+
builder.add(new Column(i++, keyName, Types.STRING));
|
65
|
+
}
|
60
66
|
}
|
61
67
|
}
|
62
68
|
Schema outputSchema = new Schema(builder.build());
|
@@ -83,62 +89,57 @@ public class Icu4jFilterPlugin implements FilterPlugin
|
|
83
89
|
|
84
90
|
return new PageOutput() {
|
85
91
|
private PageReader reader = new PageReader(inputSchema);
|
92
|
+
private PageBuilder builder = new PageBuilder(Exec.getBufferAllocator(), outputSchema, output);
|
86
93
|
|
87
94
|
@Override
|
88
95
|
public void finish() {
|
89
|
-
|
96
|
+
builder.finish();
|
90
97
|
}
|
91
98
|
|
92
99
|
@Override
|
93
100
|
public void close() {
|
94
|
-
|
101
|
+
builder.close();
|
95
102
|
}
|
96
103
|
|
97
104
|
@Override
|
98
105
|
public void add(Page page) {
|
99
106
|
reader.setPage(page);
|
100
|
-
|
101
|
-
|
102
|
-
|
103
|
-
|
104
|
-
|
105
|
-
|
106
|
-
|
107
|
-
|
108
|
-
|
109
|
-
|
110
|
-
|
111
|
-
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
continue;
|
119
|
-
}
|
120
|
-
if (Types.STRING.equals(inputColumn.getType())) {
|
121
|
-
builder.setString(inputColumn, reader.getString(inputColumn));
|
122
|
-
} else if (Types.BOOLEAN.equals(inputColumn.getType())) {
|
123
|
-
builder.setBoolean(inputColumn, reader.getBoolean(inputColumn));
|
124
|
-
} else if (Types.DOUBLE.equals(inputColumn.getType())) {
|
125
|
-
builder.setDouble(inputColumn, reader.getDouble(inputColumn));
|
126
|
-
} else if (Types.LONG.equals(inputColumn.getType())) {
|
127
|
-
builder.setLong(inputColumn, reader.getLong(inputColumn));
|
128
|
-
} else if (Types.TIMESTAMP.equals(inputColumn.getType())) {
|
129
|
-
builder.setTimestamp(inputColumn, reader.getTimestamp(inputColumn));
|
107
|
+
while (reader.nextRecord()) {
|
108
|
+
if (task.getKeepInput()) {
|
109
|
+
for (Column inputColumn: inputSchema.getColumns()) {
|
110
|
+
if (reader.isNull(inputColumn)) {
|
111
|
+
builder.setNull(inputColumn);
|
112
|
+
continue;
|
113
|
+
}
|
114
|
+
if (Types.STRING.equals(inputColumn.getType())) {
|
115
|
+
builder.setString(inputColumn, reader.getString(inputColumn));
|
116
|
+
} else if (Types.BOOLEAN.equals(inputColumn.getType())) {
|
117
|
+
builder.setBoolean(inputColumn, reader.getBoolean(inputColumn));
|
118
|
+
} else if (Types.DOUBLE.equals(inputColumn.getType())) {
|
119
|
+
builder.setDouble(inputColumn, reader.getDouble(inputColumn));
|
120
|
+
} else if (Types.LONG.equals(inputColumn.getType())) {
|
121
|
+
builder.setLong(inputColumn, reader.getLong(inputColumn));
|
122
|
+
} else if (Types.TIMESTAMP.equals(inputColumn.getType())) {
|
123
|
+
builder.setTimestamp(inputColumn, reader.getTimestamp(inputColumn));
|
124
|
+
}
|
130
125
|
}
|
131
126
|
}
|
132
|
-
}
|
133
127
|
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
139
|
-
|
140
|
-
|
128
|
+
List<Map<String, String>> settings = task.getSettings();
|
129
|
+
for (Column column : keyNameColumns) {
|
130
|
+
for (int i = 0; i < settings.size(); i++) {
|
131
|
+
Map<String, String> setting = settings.get(i);
|
132
|
+
String suffix = setting.get("suffix");
|
133
|
+
Column outputColumn = outputSchema.lookupColumn(column.getName() + MoreObjects.firstNonNull(suffix, ""));
|
134
|
+
String convert = convert(column, suffix, setting.get("case"), transliterators.get(i));
|
135
|
+
if (convert == null) {
|
136
|
+
builder.setNull(outputColumn);
|
137
|
+
} else {
|
138
|
+
builder.setString(outputColumn, convert);
|
139
|
+
}
|
140
|
+
}
|
141
141
|
}
|
142
|
+
builder.addRecord();
|
142
143
|
}
|
143
144
|
}
|
144
145
|
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: embulk-filter-icu4j
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- toyama0919
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2015-10-
|
11
|
+
date: 2015-10-23 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -57,7 +57,8 @@ files:
|
|
57
57
|
- lib/embulk/filter/icu4j.rb
|
58
58
|
- src/main/java/org/embulk/filter/icu4j/Icu4jFilterPlugin.java
|
59
59
|
- src/test/java/org/embulk/filter/icu4j/TestIcu4jFilterPlugin.java
|
60
|
-
- classpath/embulk-filter-icu4j-0.
|
60
|
+
- classpath/embulk-filter-icu4j-0.2.0.jar
|
61
|
+
- classpath/icu4j-56.1.jar
|
61
62
|
homepage: https://github.com/toyama0919/embulk-filter-icu4j
|
62
63
|
licenses:
|
63
64
|
- MIT
|