embulk-output-cassandra 0.1.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 +7 -0
- data/.gitignore +13 -0
- data/LICENSE.txt +21 -0
- data/README.md +45 -0
- data/build.gradle +97 -0
- data/config/checkstyle/checkstyle.xml +128 -0
- data/config/checkstyle/default.xml +108 -0
- data/embulk-output-cassandra.iml +13 -0
- data/gradle/wrapper/gradle-wrapper.jar +0 -0
- data/gradle/wrapper/gradle-wrapper.properties +5 -0
- data/gradlew +172 -0
- data/gradlew.bat +84 -0
- data/lib/embulk/output/cassandra.rb +3 -0
- data/src/main/java/org/embulk/output/cassandra/CassandraOutputPlugin.java +283 -0
- data/src/main/java/org/embulk/output/cassandra/setter/BigintColumnSetter.java +41 -0
- data/src/main/java/org/embulk/output/cassandra/setter/BooleanColumnSetter.java +30 -0
- data/src/main/java/org/embulk/output/cassandra/setter/CassandraColumnSetter.java +51 -0
- data/src/main/java/org/embulk/output/cassandra/setter/CassandraColumnSetterFactory.java +60 -0
- data/src/main/java/org/embulk/output/cassandra/setter/ColumnSetterVisitor.java +96 -0
- data/src/main/java/org/embulk/output/cassandra/setter/DateColumnSetter.java +29 -0
- data/src/main/java/org/embulk/output/cassandra/setter/DecimalColumnSetter.java +43 -0
- data/src/main/java/org/embulk/output/cassandra/setter/DoubleColumnSetter.java +41 -0
- data/src/main/java/org/embulk/output/cassandra/setter/FloatColumnSetter.java +41 -0
- data/src/main/java/org/embulk/output/cassandra/setter/InetColumnSetter.java +26 -0
- data/src/main/java/org/embulk/output/cassandra/setter/IntColumnSetter.java +41 -0
- data/src/main/java/org/embulk/output/cassandra/setter/ListColumnSetter.java +22 -0
- data/src/main/java/org/embulk/output/cassandra/setter/MapColumnSetter.java +22 -0
- data/src/main/java/org/embulk/output/cassandra/setter/SetColumnSetter.java +24 -0
- data/src/main/java/org/embulk/output/cassandra/setter/SmallintColumnSetter.java +41 -0
- data/src/main/java/org/embulk/output/cassandra/setter/TextColumnSetter.java +50 -0
- data/src/main/java/org/embulk/output/cassandra/setter/TimeColumnSetter.java +46 -0
- data/src/main/java/org/embulk/output/cassandra/setter/TimestampColumnSetter.java +42 -0
- data/src/main/java/org/embulk/output/cassandra/setter/TimeuuidColumnSetter.java +18 -0
- data/src/main/java/org/embulk/output/cassandra/setter/TinyintColumnSetter.java +41 -0
- data/src/main/java/org/embulk/output/cassandra/setter/TupleColumnSetter.java +34 -0
- data/src/main/java/org/embulk/output/cassandra/setter/UuidColumnSetter.java +18 -0
- data/src/main/java/org/embulk/output/cassandra/setter/ValueConverter.java +63 -0
- data/src/main/java/org/embulk/output/cassandra/setter/VarintColumnSetter.java +43 -0
- data/src/test/java/org/embulk/output/cassandra/TestCassandraOutputPlugin.java +250 -0
- data/src/test/resources/org/embulk/output/cassandra/create_keyspace.cql +5 -0
- data/src/test/resources/org/embulk/output/cassandra/create_table_test_basic.cql +11 -0
- data/src/test/resources/org/embulk/output/cassandra/create_table_test_complex.cql +12 -0
- data/src/test/resources/org/embulk/output/cassandra/create_table_test_uuid.cql +8 -0
- data/src/test/resources/org/embulk/output/cassandra/test1.csv +4 -0
- data/src/test/resources/org/embulk/output/cassandra/test2.csv +2 -0
- data/src/test/resources/org/embulk/output/cassandra/test3.csv +2 -0
- data/src/test/resources/org/embulk/output/cassandra/test_basic.yaml +3 -0
- data/src/test/resources/org/embulk/output/cassandra/test_complex.yaml +3 -0
- data/src/test/resources/org/embulk/output/cassandra/test_uuid.yaml +3 -0
- metadata +141 -0
@@ -0,0 +1,41 @@
|
|
1
|
+
package org.embulk.output.cassandra.setter;
|
2
|
+
|
3
|
+
import com.datastax.driver.core.BoundStatement;
|
4
|
+
import com.datastax.driver.core.ColumnMetadata;
|
5
|
+
|
6
|
+
public class BigintColumnSetter extends CassandraColumnSetter
|
7
|
+
{
|
8
|
+
public BigintColumnSetter(ColumnMetadata cassandraColumn)
|
9
|
+
{
|
10
|
+
super(cassandraColumn);
|
11
|
+
}
|
12
|
+
|
13
|
+
@Override
|
14
|
+
public void setBooleanValue(Boolean value, BoundStatement statement)
|
15
|
+
{
|
16
|
+
if (value) {
|
17
|
+
statement.setLong(cassandraColumn.getName(), 1);
|
18
|
+
}
|
19
|
+
else {
|
20
|
+
statement.setLong(cassandraColumn.getName(), 0);
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
@Override
|
25
|
+
public void setLongValue(Long value, BoundStatement statement)
|
26
|
+
{
|
27
|
+
statement.setLong(cassandraColumn.getName(), value);
|
28
|
+
}
|
29
|
+
|
30
|
+
@Override
|
31
|
+
public void setDoubleValue(Double value, BoundStatement statement)
|
32
|
+
{
|
33
|
+
statement.setLong(cassandraColumn.getName(), value.longValue());
|
34
|
+
}
|
35
|
+
|
36
|
+
@Override
|
37
|
+
public void setStringValue(String value, BoundStatement statement)
|
38
|
+
{
|
39
|
+
statement.setLong(cassandraColumn.getName(), Long.parseLong(value));
|
40
|
+
}
|
41
|
+
}
|
@@ -0,0 +1,30 @@
|
|
1
|
+
package org.embulk.output.cassandra.setter;
|
2
|
+
|
3
|
+
import com.datastax.driver.core.BoundStatement;
|
4
|
+
import com.datastax.driver.core.ColumnMetadata;
|
5
|
+
|
6
|
+
public class BooleanColumnSetter extends CassandraColumnSetter
|
7
|
+
{
|
8
|
+
public BooleanColumnSetter(ColumnMetadata cassandraColumn)
|
9
|
+
{
|
10
|
+
super(cassandraColumn);
|
11
|
+
}
|
12
|
+
|
13
|
+
@Override
|
14
|
+
public void setBooleanValue(Boolean value, BoundStatement statement)
|
15
|
+
{
|
16
|
+
statement.setBool(cassandraColumn.getName(), value);
|
17
|
+
}
|
18
|
+
|
19
|
+
@Override
|
20
|
+
public void setLongValue(Long value, BoundStatement statement)
|
21
|
+
{
|
22
|
+
statement.setBool(cassandraColumn.getName(), value != 0);
|
23
|
+
}
|
24
|
+
|
25
|
+
@Override
|
26
|
+
public void setDoubleValue(Double value, BoundStatement statement)
|
27
|
+
{
|
28
|
+
statement.setBool(cassandraColumn.getName(), value != 0);
|
29
|
+
}
|
30
|
+
}
|
@@ -0,0 +1,51 @@
|
|
1
|
+
package org.embulk.output.cassandra.setter;
|
2
|
+
|
3
|
+
import com.datastax.driver.core.BoundStatement;
|
4
|
+
import com.datastax.driver.core.ColumnMetadata;
|
5
|
+
import org.embulk.spi.time.Timestamp;
|
6
|
+
import org.msgpack.value.Value;
|
7
|
+
|
8
|
+
public abstract class CassandraColumnSetter
|
9
|
+
{
|
10
|
+
protected ColumnMetadata cassandraColumn;
|
11
|
+
|
12
|
+
public CassandraColumnSetter(ColumnMetadata cassandraColumn)
|
13
|
+
{
|
14
|
+
this.cassandraColumn = cassandraColumn;
|
15
|
+
}
|
16
|
+
|
17
|
+
public void setBooleanValue(Boolean value, BoundStatement statement)
|
18
|
+
{
|
19
|
+
throw new RuntimeException("Unsupported type conversion: " + value.getClass().getName() + " -> " + cassandraColumn.getType().getName());
|
20
|
+
};
|
21
|
+
|
22
|
+
public void setLongValue(Long value, BoundStatement statement)
|
23
|
+
{
|
24
|
+
throw new RuntimeException("Unsupported type conversion: " + value.getClass().getName() + " -> " + cassandraColumn.getType().getName());
|
25
|
+
};
|
26
|
+
|
27
|
+
public void setDoubleValue(Double value, BoundStatement statement)
|
28
|
+
{
|
29
|
+
throw new RuntimeException("Unsupported type conversion: " + value.getClass().getName() + " -> " + cassandraColumn.getType().getName());
|
30
|
+
};
|
31
|
+
|
32
|
+
public void setStringValue(String value, BoundStatement statement)
|
33
|
+
{
|
34
|
+
throw new RuntimeException("Unsupported type conversion: " + value.getClass().getName() + " -> " + cassandraColumn.getType().getName());
|
35
|
+
};
|
36
|
+
|
37
|
+
public void setTimestampValue(Timestamp value, BoundStatement statement)
|
38
|
+
{
|
39
|
+
throw new RuntimeException("Unsupported type conversion: " + value.getClass().getName() + " -> " + cassandraColumn.getType().getName());
|
40
|
+
};
|
41
|
+
|
42
|
+
public void setJsonValue(Value value, BoundStatement statement)
|
43
|
+
{
|
44
|
+
throw new RuntimeException("Unsupported type conversion: " + value.getClass().getName() + " -> " + cassandraColumn.getType().getName());
|
45
|
+
};
|
46
|
+
|
47
|
+
public void setNullValue(BoundStatement statement)
|
48
|
+
{
|
49
|
+
statement.setToNull(cassandraColumn.getName());
|
50
|
+
}
|
51
|
+
}
|
@@ -0,0 +1,60 @@
|
|
1
|
+
package org.embulk.output.cassandra.setter;
|
2
|
+
|
3
|
+
import com.datastax.driver.core.Cluster;
|
4
|
+
import com.datastax.driver.core.ColumnMetadata;
|
5
|
+
|
6
|
+
public class CassandraColumnSetterFactory
|
7
|
+
{
|
8
|
+
private CassandraColumnSetterFactory()
|
9
|
+
{
|
10
|
+
}
|
11
|
+
|
12
|
+
public static CassandraColumnSetter createColumnSetter(ColumnMetadata cassandraColumn, Cluster cluster)
|
13
|
+
{
|
14
|
+
switch (cassandraColumn.getType().getName()) {
|
15
|
+
case TEXT:
|
16
|
+
case VARCHAR:
|
17
|
+
case ASCII:
|
18
|
+
return new TextColumnSetter(cassandraColumn);
|
19
|
+
case BOOLEAN:
|
20
|
+
return new BooleanColumnSetter(cassandraColumn);
|
21
|
+
case BIGINT:
|
22
|
+
return new BigintColumnSetter(cassandraColumn);
|
23
|
+
case INT:
|
24
|
+
return new IntColumnSetter(cassandraColumn);
|
25
|
+
case SMALLINT:
|
26
|
+
return new SmallintColumnSetter(cassandraColumn);
|
27
|
+
case TINYINT:
|
28
|
+
return new TinyintColumnSetter(cassandraColumn);
|
29
|
+
case VARINT:
|
30
|
+
return new VarintColumnSetter(cassandraColumn);
|
31
|
+
case DECIMAL:
|
32
|
+
return new DecimalColumnSetter(cassandraColumn);
|
33
|
+
case DOUBLE:
|
34
|
+
return new DoubleColumnSetter(cassandraColumn);
|
35
|
+
case FLOAT:
|
36
|
+
return new FloatColumnSetter(cassandraColumn);
|
37
|
+
case TIMESTAMP:
|
38
|
+
return new TimestampColumnSetter(cassandraColumn);
|
39
|
+
case DATE:
|
40
|
+
return new DateColumnSetter(cassandraColumn);
|
41
|
+
case TIME:
|
42
|
+
return new TimeColumnSetter(cassandraColumn);
|
43
|
+
case UUID:
|
44
|
+
return new UuidColumnSetter(cassandraColumn);
|
45
|
+
case TIMEUUID:
|
46
|
+
return new TimeuuidColumnSetter(cassandraColumn);
|
47
|
+
case LIST:
|
48
|
+
return new ListColumnSetter(cassandraColumn);
|
49
|
+
case MAP:
|
50
|
+
return new MapColumnSetter(cassandraColumn);
|
51
|
+
case SET:
|
52
|
+
return new SetColumnSetter(cassandraColumn);
|
53
|
+
case INET:
|
54
|
+
return new InetColumnSetter(cassandraColumn);
|
55
|
+
case TUPLE:
|
56
|
+
return new TupleColumnSetter(cassandraColumn, cluster);
|
57
|
+
}
|
58
|
+
throw new RuntimeException(cassandraColumn.getName() + ":" + cassandraColumn.getType().getName() + " is unsupported Type");
|
59
|
+
}
|
60
|
+
}
|
@@ -0,0 +1,96 @@
|
|
1
|
+
package org.embulk.output.cassandra.setter;
|
2
|
+
|
3
|
+
import com.datastax.driver.core.BoundStatement;
|
4
|
+
import org.embulk.spi.Column;
|
5
|
+
import org.embulk.spi.ColumnVisitor;
|
6
|
+
import org.embulk.spi.PageReader;
|
7
|
+
|
8
|
+
public class ColumnSetterVisitor implements ColumnVisitor
|
9
|
+
{
|
10
|
+
private final PageReader pageReader;
|
11
|
+
private final CassandraColumnSetter setter;
|
12
|
+
|
13
|
+
private BoundStatement statement;
|
14
|
+
|
15
|
+
public ColumnSetterVisitor(PageReader pageReader, CassandraColumnSetter setter)
|
16
|
+
{
|
17
|
+
this.pageReader = pageReader;
|
18
|
+
this.setter = setter;
|
19
|
+
}
|
20
|
+
|
21
|
+
public boolean hasSetter()
|
22
|
+
{
|
23
|
+
return this.setter != null;
|
24
|
+
}
|
25
|
+
|
26
|
+
public void setStatement(BoundStatement statement)
|
27
|
+
{
|
28
|
+
this.statement = statement;
|
29
|
+
}
|
30
|
+
|
31
|
+
@Override
|
32
|
+
public void booleanColumn(Column column)
|
33
|
+
{
|
34
|
+
if (pageReader.isNull(column)) {
|
35
|
+
setter.setNullValue(statement);
|
36
|
+
}
|
37
|
+
else {
|
38
|
+
setter.setBooleanValue(pageReader.getBoolean(column), statement);
|
39
|
+
}
|
40
|
+
}
|
41
|
+
|
42
|
+
@Override
|
43
|
+
public void longColumn(Column column)
|
44
|
+
{
|
45
|
+
if (pageReader.isNull(column)) {
|
46
|
+
setter.setNullValue(statement);
|
47
|
+
}
|
48
|
+
else {
|
49
|
+
setter.setLongValue(pageReader.getLong(column), statement);
|
50
|
+
}
|
51
|
+
}
|
52
|
+
|
53
|
+
@Override
|
54
|
+
public void doubleColumn(Column column)
|
55
|
+
{
|
56
|
+
if (pageReader.isNull(column)) {
|
57
|
+
setter.setNullValue(statement);
|
58
|
+
}
|
59
|
+
else {
|
60
|
+
setter.setDoubleValue(pageReader.getDouble(column), statement);
|
61
|
+
}
|
62
|
+
}
|
63
|
+
|
64
|
+
@Override
|
65
|
+
public void stringColumn(Column column)
|
66
|
+
{
|
67
|
+
if (pageReader.isNull(column)) {
|
68
|
+
setter.setNullValue(statement);
|
69
|
+
}
|
70
|
+
else {
|
71
|
+
setter.setStringValue(pageReader.getString(column), statement);
|
72
|
+
}
|
73
|
+
}
|
74
|
+
|
75
|
+
@Override
|
76
|
+
public void timestampColumn(Column column)
|
77
|
+
{
|
78
|
+
if (pageReader.isNull(column)) {
|
79
|
+
setter.setNullValue(statement);
|
80
|
+
}
|
81
|
+
else {
|
82
|
+
setter.setTimestampValue(pageReader.getTimestamp(column), statement);
|
83
|
+
}
|
84
|
+
}
|
85
|
+
|
86
|
+
@Override
|
87
|
+
public void jsonColumn(Column column)
|
88
|
+
{
|
89
|
+
if (pageReader.isNull(column)) {
|
90
|
+
setter.setNullValue(statement);
|
91
|
+
}
|
92
|
+
else {
|
93
|
+
setter.setJsonValue(pageReader.getJson(column), statement);
|
94
|
+
}
|
95
|
+
}
|
96
|
+
}
|
@@ -0,0 +1,29 @@
|
|
1
|
+
package org.embulk.output.cassandra.setter;
|
2
|
+
|
3
|
+
import com.datastax.driver.core.BoundStatement;
|
4
|
+
import com.datastax.driver.core.ColumnMetadata;
|
5
|
+
import org.embulk.spi.time.Timestamp;
|
6
|
+
|
7
|
+
import java.time.LocalDate;
|
8
|
+
|
9
|
+
public class DateColumnSetter extends CassandraColumnSetter
|
10
|
+
{
|
11
|
+
public DateColumnSetter(ColumnMetadata cassandraColumn)
|
12
|
+
{
|
13
|
+
super(cassandraColumn);
|
14
|
+
}
|
15
|
+
|
16
|
+
@Override
|
17
|
+
public void setStringValue(String value, BoundStatement statement)
|
18
|
+
{
|
19
|
+
LocalDate date = LocalDate.parse(value);
|
20
|
+
statement.setDate(cassandraColumn.getName(), com.datastax.driver.core.LocalDate.fromYearMonthDay(date.getYear(), date.getMonthValue(), date.getDayOfMonth()));
|
21
|
+
}
|
22
|
+
|
23
|
+
@Override
|
24
|
+
public void setTimestampValue(Timestamp value, BoundStatement statement)
|
25
|
+
{
|
26
|
+
com.datastax.driver.core.LocalDate date = com.datastax.driver.core.LocalDate.fromMillisSinceEpoch(value.toEpochMilli());
|
27
|
+
statement.setDate(cassandraColumn.getName(), date);
|
28
|
+
}
|
29
|
+
}
|
@@ -0,0 +1,43 @@
|
|
1
|
+
package org.embulk.output.cassandra.setter;
|
2
|
+
|
3
|
+
import com.datastax.driver.core.BoundStatement;
|
4
|
+
import com.datastax.driver.core.ColumnMetadata;
|
5
|
+
|
6
|
+
import java.math.BigDecimal;
|
7
|
+
|
8
|
+
public class DecimalColumnSetter extends CassandraColumnSetter
|
9
|
+
{
|
10
|
+
public DecimalColumnSetter(ColumnMetadata cassandraColumn)
|
11
|
+
{
|
12
|
+
super(cassandraColumn);
|
13
|
+
}
|
14
|
+
|
15
|
+
@Override
|
16
|
+
public void setBooleanValue(Boolean value, BoundStatement statement)
|
17
|
+
{
|
18
|
+
if (value) {
|
19
|
+
statement.setDecimal(cassandraColumn.getName(), BigDecimal.valueOf(1));
|
20
|
+
}
|
21
|
+
else {
|
22
|
+
statement.setDecimal(cassandraColumn.getName(), BigDecimal.valueOf(0));
|
23
|
+
}
|
24
|
+
}
|
25
|
+
|
26
|
+
@Override
|
27
|
+
public void setLongValue(Long value, BoundStatement statement)
|
28
|
+
{
|
29
|
+
statement.setDecimal(cassandraColumn.getName(), BigDecimal.valueOf(value));
|
30
|
+
}
|
31
|
+
|
32
|
+
@Override
|
33
|
+
public void setDoubleValue(Double value, BoundStatement statement)
|
34
|
+
{
|
35
|
+
statement.setDecimal(cassandraColumn.getName(), BigDecimal.valueOf(value));
|
36
|
+
}
|
37
|
+
|
38
|
+
@Override
|
39
|
+
public void setStringValue(String value, BoundStatement statement)
|
40
|
+
{
|
41
|
+
statement.setDecimal(cassandraColumn.getName(), new BigDecimal(value));
|
42
|
+
}
|
43
|
+
}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
package org.embulk.output.cassandra.setter;
|
2
|
+
|
3
|
+
import com.datastax.driver.core.BoundStatement;
|
4
|
+
import com.datastax.driver.core.ColumnMetadata;
|
5
|
+
|
6
|
+
public class DoubleColumnSetter extends CassandraColumnSetter
|
7
|
+
{
|
8
|
+
public DoubleColumnSetter(ColumnMetadata cassandraColumn)
|
9
|
+
{
|
10
|
+
super(cassandraColumn);
|
11
|
+
}
|
12
|
+
|
13
|
+
@Override
|
14
|
+
public void setBooleanValue(Boolean value, BoundStatement statement)
|
15
|
+
{
|
16
|
+
if (value) {
|
17
|
+
statement.setDouble(cassandraColumn.getName(), 1);
|
18
|
+
}
|
19
|
+
else {
|
20
|
+
statement.setDouble(cassandraColumn.getName(), 0);
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
@Override
|
25
|
+
public void setLongValue(Long value, BoundStatement statement)
|
26
|
+
{
|
27
|
+
statement.setDouble(cassandraColumn.getName(), value.doubleValue());
|
28
|
+
}
|
29
|
+
|
30
|
+
@Override
|
31
|
+
public void setDoubleValue(Double value, BoundStatement statement)
|
32
|
+
{
|
33
|
+
statement.setDouble(cassandraColumn.getName(), value);
|
34
|
+
}
|
35
|
+
|
36
|
+
@Override
|
37
|
+
public void setStringValue(String value, BoundStatement statement)
|
38
|
+
{
|
39
|
+
statement.setDouble(cassandraColumn.getName(), Double.parseDouble(value));
|
40
|
+
}
|
41
|
+
}
|
@@ -0,0 +1,41 @@
|
|
1
|
+
package org.embulk.output.cassandra.setter;
|
2
|
+
|
3
|
+
import com.datastax.driver.core.BoundStatement;
|
4
|
+
import com.datastax.driver.core.ColumnMetadata;
|
5
|
+
|
6
|
+
public class FloatColumnSetter extends CassandraColumnSetter
|
7
|
+
{
|
8
|
+
public FloatColumnSetter(ColumnMetadata cassandraColumn)
|
9
|
+
{
|
10
|
+
super(cassandraColumn);
|
11
|
+
}
|
12
|
+
|
13
|
+
@Override
|
14
|
+
public void setBooleanValue(Boolean value, BoundStatement statement)
|
15
|
+
{
|
16
|
+
if (value) {
|
17
|
+
statement.setFloat(cassandraColumn.getName(), 1);
|
18
|
+
}
|
19
|
+
else {
|
20
|
+
statement.setFloat(cassandraColumn.getName(), 0);
|
21
|
+
}
|
22
|
+
}
|
23
|
+
|
24
|
+
@Override
|
25
|
+
public void setLongValue(Long value, BoundStatement statement)
|
26
|
+
{
|
27
|
+
statement.setFloat(cassandraColumn.getName(), value.floatValue());
|
28
|
+
}
|
29
|
+
|
30
|
+
@Override
|
31
|
+
public void setDoubleValue(Double value, BoundStatement statement)
|
32
|
+
{
|
33
|
+
statement.setFloat(cassandraColumn.getName(), value.floatValue());
|
34
|
+
}
|
35
|
+
|
36
|
+
@Override
|
37
|
+
public void setStringValue(String value, BoundStatement statement)
|
38
|
+
{
|
39
|
+
statement.setFloat(cassandraColumn.getName(), Float.parseFloat(value));
|
40
|
+
}
|
41
|
+
}
|
@@ -0,0 +1,26 @@
|
|
1
|
+
package org.embulk.output.cassandra.setter;
|
2
|
+
|
3
|
+
import com.datastax.driver.core.BoundStatement;
|
4
|
+
import com.datastax.driver.core.ColumnMetadata;
|
5
|
+
|
6
|
+
import java.net.InetAddress;
|
7
|
+
import java.net.UnknownHostException;
|
8
|
+
|
9
|
+
public class InetColumnSetter extends CassandraColumnSetter
|
10
|
+
{
|
11
|
+
public InetColumnSetter(ColumnMetadata cassandraColumn)
|
12
|
+
{
|
13
|
+
super(cassandraColumn);
|
14
|
+
}
|
15
|
+
|
16
|
+
@Override
|
17
|
+
public void setStringValue(String value, BoundStatement statement)
|
18
|
+
{
|
19
|
+
try {
|
20
|
+
statement.setInet(cassandraColumn.getName(), InetAddress.getByName(value));
|
21
|
+
}
|
22
|
+
catch (UnknownHostException e) {
|
23
|
+
throw new RuntimeException(e);
|
24
|
+
}
|
25
|
+
}
|
26
|
+
}
|