Skip to content

Commit 29ee0c2

Browse files
committed
Replace Guava Optional to java.util.Optional
Along with it, it upgrades embulk-util-aws-credentials for embulk-output-redshift so that it uses java.util.Optional.
1 parent b5dfaee commit 29ee0c2

File tree

29 files changed

+64
-69
lines changed

29 files changed

+64
-69
lines changed

embulk-output-db2/src/main/java/org/embulk/output/DB2OutputPlugin.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.io.IOException;
44
import java.sql.SQLException;
55
import java.util.Properties;
6+
import java.util.Optional;
67

78
import org.embulk.config.Config;
89
import org.embulk.config.ConfigDefault;
@@ -13,7 +14,6 @@
1314
import org.embulk.output.jdbc.BatchInsert;
1415
import org.embulk.output.jdbc.MergeConfig;
1516

16-
import com.google.common.base.Optional;
1717
import com.google.common.collect.ImmutableSet;
1818
import static java.util.Locale.ENGLISH;
1919

embulk-output-db2/src/main/java/org/embulk/output/db2/DB2BatchInsert.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,12 @@
22

33
import java.io.IOException;
44
import java.sql.SQLException;
5+
import java.util.Optional;
56

67
import org.embulk.output.jdbc.JdbcOutputConnector;
78
import org.embulk.output.jdbc.MergeConfig;
89
import org.embulk.output.jdbc.StandardBatchInsert;
910

10-
import com.google.common.base.Optional;
11-
1211
public class DB2BatchInsert
1312
extends StandardBatchInsert
1413
{

embulk-output-db2/src/main/java/org/embulk/output/db2/DB2OutputConnector.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,14 +3,13 @@
33
import java.sql.Connection;
44
import java.sql.DriverManager;
55
import java.sql.SQLException;
6+
import java.util.Optional;
67
import java.util.Properties;
78

89
import org.embulk.output.jdbc.JdbcOutputConnection;
910
import org.embulk.output.jdbc.AbstractJdbcOutputConnector;
1011
import org.embulk.output.jdbc.TransactionIsolation;
1112

12-
import com.google.common.base.Optional;
13-
1413
public class DB2OutputConnector
1514
extends AbstractJdbcOutputConnector
1615
{

embulk-output-jdbc/src/main/java/org/embulk/output/JdbcOutputPlugin.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -5,8 +5,8 @@
55
import java.io.IOException;
66
import java.sql.Connection;
77
import java.sql.SQLException;
8+
import java.util.Optional;
89

9-
import com.google.common.base.Optional;
1010
import com.google.common.base.Throwables;
1111
import com.google.common.collect.ImmutableSet;
1212

@@ -83,7 +83,7 @@ protected GenericOutputConnector getConnector(PluginTask task, boolean retryable
8383
logConnectionProperties(t.getUrl(), props);
8484

8585
return new GenericOutputConnector(t.getUrl(), props, t.getDriverClass(),
86-
t.getSchema().orNull());
86+
t.getSchema().orElse(null));
8787
}
8888

8989
private static class GenericOutputConnector

embulk-output-jdbc/src/main/java/org/embulk/output/jdbc/AbstractJdbcOutputConnector.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package org.embulk.output.jdbc;
22

33
import java.sql.SQLException;
4-
5-
import com.google.common.base.Optional;
4+
import java.util.Optional;
65

76
public abstract class AbstractJdbcOutputConnector implements JdbcOutputConnector
87
{

embulk-output-jdbc/src/main/java/org/embulk/output/jdbc/AbstractJdbcOutputPlugin.java

+13-13
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,8 @@
2121
import java.sql.ResultSet;
2222
import java.sql.DatabaseMetaData;
2323
import java.sql.SQLException;
24+
import java.util.Optional;
25+
import java.util.function.Supplier;
2426

2527
import org.embulk.spi.util.RetryExecutor;
2628
import org.embulk.spi.util.RetryExecutor.RetryGiveupException;
@@ -31,9 +33,7 @@
3133
import com.fasterxml.jackson.annotation.JsonCreator;
3234
import com.fasterxml.jackson.annotation.JsonValue;
3335
import com.fasterxml.jackson.annotation.JsonProperty;
34-
import com.google.common.base.Optional;
3536
import com.google.common.base.Function;
36-
import com.google.common.base.Supplier;
3737
import com.google.common.base.Throwables;
3838
import com.google.common.collect.Lists;
3939
import com.google.common.collect.ImmutableList;
@@ -549,12 +549,12 @@ protected void doBegin(JdbcOutputConnection con,
549549

550550
Optional<JdbcSchema> initialTargetTableSchema =
551551
mode.ignoreTargetTableSchema() ?
552-
Optional.<JdbcSchema>absent() :
552+
Optional.<JdbcSchema>empty() :
553553
newJdbcSchemaFromTableIfExists(con, task.getActualTable());
554554

555555
// TODO get CREATE TABLE statement from task if set
556556
JdbcSchema newTableSchema = applyColumnOptionsToNewTableSchema(
557-
initialTargetTableSchema.or(new Supplier<JdbcSchema>() {
557+
initialTargetTableSchema.orElseGet(new Supplier<JdbcSchema>() {
558558
public JdbcSchema get()
559559
{
560560
return newJdbcSchemaForNewTable(schema);
@@ -568,7 +568,7 @@ public JdbcSchema get()
568568
task.setIntermediateTables(Optional.<List<TableIdentifier>>of(createIntermediateTables(con, task, taskCount, newTableSchema)));
569569
} else {
570570
// direct modify mode doesn't need intermediate tables.
571-
task.setIntermediateTables(Optional.<List<TableIdentifier>>absent());
571+
task.setIntermediateTables(Optional.<List<TableIdentifier>>empty());
572572
if (task.getBeforeLoad().isPresent()) {
573573
con.executeSql(task.getBeforeLoad().get());
574574
}
@@ -578,7 +578,7 @@ public JdbcSchema get()
578578
JdbcSchema targetTableSchema;
579579
if (initialTargetTableSchema.isPresent()) {
580580
targetTableSchema = initialTargetTableSchema.get();
581-
task.setNewTableSchema(Optional.<JdbcSchema>absent());
581+
task.setNewTableSchema(Optional.<JdbcSchema>empty());
582582
} else if (task.getIntermediateTables().isPresent() && !task.getIntermediateTables().get().isEmpty()) {
583583
TableIdentifier firstItermTable = task.getIntermediateTables().get().get(0);
584584
targetTableSchema = newJdbcSchemaFromTableIfExists(con, firstItermTable).get();
@@ -588,7 +588,7 @@ public JdbcSchema get()
588588
// CREATE TABLE IF NOT EXISTS xyz
589589
con.createTableIfNotExists(task.getActualTable(), newTableSchema, task.getCreateTableConstraint(), task.getCreateTableOption());
590590
targetTableSchema = newJdbcSchemaFromTableIfExists(con, task.getActualTable()).get();
591-
task.setNewTableSchema(Optional.<JdbcSchema>absent());
591+
task.setNewTableSchema(Optional.<JdbcSchema>empty());
592592
}
593593
task.setTargetTableSchema(matchSchemaByColumnNames(schema, targetTableSchema));
594594

@@ -629,7 +629,7 @@ public JdbcSchema get()
629629
}
630630
logger.info("Using merge keys: {}", task.getMergeKeys().get());
631631
} else {
632-
task.setMergeKeys(Optional.<List<String>>absent());
632+
task.setMergeKeys(Optional.<List<String>>empty());
633633
}
634634
}
635635

@@ -793,7 +793,7 @@ protected static List<ColumnSetter> newColumnSetters(ColumnSetterFactory factory
793793

794794
private static JdbcColumnOption columnOptionOf(Map<String, JdbcColumnOption> columnOptions, String columnName)
795795
{
796-
return Optional.fromNullable(columnOptions.get(columnName)).or(
796+
return Optional.ofNullable(columnOptions.get(columnName)).orElseGet(
797797
// default column option
798798
new Supplier<JdbcColumnOption>()
799799
{
@@ -927,7 +927,7 @@ public Optional<JdbcSchema> newJdbcSchemaFromTableIfExists(JdbcOutputConnection
927927
{
928928
if (!connection.tableExists(table)) {
929929
// DatabaseMetaData.getPrimaryKeys fails if table does not exist
930-
return Optional.absent();
930+
return Optional.empty();
931931
}
932932

933933
DatabaseMetaData dbm = connection.getMetaData();
@@ -974,7 +974,7 @@ public Optional<JdbcSchema> newJdbcSchemaFromTableIfExists(JdbcOutputConnection
974974
}
975975
List<JdbcColumn> columns = builder.build();
976976
if (columns.isEmpty()) {
977-
return Optional.absent();
977+
return Optional.empty();
978978
} else {
979979
return Optional.of(new JdbcSchema(columns));
980980
}
@@ -986,7 +986,7 @@ private JdbcSchema matchSchemaByColumnNames(Schema inputSchema, JdbcSchema targe
986986

987987
for (Column column : inputSchema.getColumns()) {
988988
Optional<JdbcColumn> c = targetTableSchema.findColumn(column.getName());
989-
jdbcColumns.add(c.or(JdbcColumn.skipColumn()));
989+
jdbcColumns.add(c.orElse(JdbcColumn.skipColumn()));
990990
}
991991

992992
return new JdbcSchema(jdbcColumns.build());
@@ -1000,7 +1000,7 @@ public TransactionalPageOutput open(TaskSource taskSource, Schema schema, final
10001000
// instantiate BatchInsert without table name
10011001
BatchInsert batch = null;
10021002
try {
1003-
Optional<MergeConfig> config = Optional.absent();
1003+
Optional<MergeConfig> config = Optional.empty();
10041004
if (task.getMode() == Mode.MERGE_DIRECT) {
10051005
config = Optional.of(new MergeConfig(task.getMergeKeys().get(), task.getMergeRule()));
10061006
}

embulk-output-jdbc/src/main/java/org/embulk/output/jdbc/JdbcColumn.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
package org.embulk.output.jdbc;
22

3-
import com.google.common.base.Optional;
43
import com.fasterxml.jackson.annotation.JsonCreator;
54
import com.fasterxml.jackson.annotation.JsonProperty;
65
import com.fasterxml.jackson.annotation.JsonIgnore;
6+
import java.util.Optional;
77

88
public class JdbcColumn
99
{
@@ -46,7 +46,7 @@ public static JdbcColumn newGenericTypeColumn(String name, int sqlType,
4646
{
4747
return new JdbcColumn(name, sqlType,
4848
simpleTypeName, sizeTypeParameter, scaleTypeParameter, dataLength,
49-
Optional.<String>absent(), isNotNull, isUniqueKey);
49+
Optional.<String>empty(), isNotNull, isUniqueKey);
5050
}
5151

5252
public static JdbcColumn newGenericTypeColumn(String name, int sqlType,
@@ -55,7 +55,7 @@ public static JdbcColumn newGenericTypeColumn(String name, int sqlType,
5555
{
5656
return new JdbcColumn(name, sqlType,
5757
simpleTypeName, sizeTypeParameter, scaleTypeParameter, sizeTypeParameter,
58-
Optional.<String>absent(), isNotNull, isUniqueKey);
58+
Optional.<String>empty(), isNotNull, isUniqueKey);
5959
}
6060

6161
public static JdbcColumn newTypeDeclaredColumn(String name, int sqlType,
@@ -69,7 +69,7 @@ public static JdbcColumn newTypeDeclaredColumn(String name, int sqlType,
6969
@JsonIgnore
7070
public static JdbcColumn skipColumn()
7171
{
72-
return new JdbcColumn(null, 0, null, 0, 0, 0, Optional.<String>absent(), false, false);
72+
return new JdbcColumn(null, 0, null, 0, 0, 0, Optional.<String>empty(), false, false);
7373
}
7474

7575
@JsonIgnore

embulk-output-jdbc/src/main/java/org/embulk/output/jdbc/JdbcColumnOption.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
package org.embulk.output.jdbc;
22

3-
import com.google.common.base.Optional;
3+
import java.util.Optional;
44
import org.joda.time.DateTimeZone;
55
import org.embulk.config.Task;
66
import org.embulk.config.Config;

embulk-output-jdbc/src/main/java/org/embulk/output/jdbc/JdbcOutputConnection.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,11 @@
1010
import java.sql.SQLException;
1111
import java.sql.Statement;
1212
import java.util.Locale;
13+
import java.util.Optional;
1314

1415
import org.slf4j.Logger;
1516
import org.slf4j.LoggerFactory;
1617

17-
import com.google.common.base.Optional;
18-
1918
public class JdbcOutputConnection
2019
implements AutoCloseable
2120
{

embulk-output-jdbc/src/main/java/org/embulk/output/jdbc/JdbcSchema.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package org.embulk.output.jdbc;
22

33
import java.util.List;
4+
import java.util.Optional;
45

56
import org.embulk.config.ConfigException;
67

7-
import com.google.common.base.Optional;
88
import com.google.common.collect.ImmutableList;
99
import com.fasterxml.jackson.annotation.JsonCreator;
1010
import com.fasterxml.jackson.annotation.JsonValue;
@@ -48,7 +48,7 @@ public Optional<JdbcColumn> findColumn(String name)
4848
if (foundColumn != null) {
4949
return Optional.of(foundColumn);
5050
}
51-
return Optional.absent();
51+
return Optional.empty();
5252
}
5353

5454
public int getCount()

embulk-output-jdbc/src/main/java/org/embulk/output/jdbc/MergeConfig.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
package org.embulk.output.jdbc;
22

3-
import com.google.common.base.Optional;
4-
53
import java.util.List;
4+
import java.util.Optional;
65

76
public class MergeConfig {
87
private final List<String> mergeKeys;

embulk-output-jdbc/src/main/java/org/embulk/output/jdbc/StandardBatchInsert.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
import java.sql.SQLException;
99
import java.sql.Date;
1010
import java.sql.Time;
11-
import com.google.common.base.Optional;
11+
import java.util.Optional;
1212
import org.slf4j.Logger;
1313
import org.slf4j.LoggerFactory;
1414
import org.embulk.spi.time.Timestamp;

embulk-output-jdbc/src/main/java/org/embulk/output/jdbc/ToString.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
package org.embulk.output.jdbc;
22

3-
import com.google.common.base.Optional;
43
import com.fasterxml.jackson.databind.JsonNode;
54
import com.fasterxml.jackson.databind.JsonMappingException;
65
import com.fasterxml.jackson.databind.node.NullNode;
76
import com.fasterxml.jackson.annotation.JsonCreator;
87
import com.fasterxml.jackson.annotation.JsonValue;
8+
import java.util.Optional;
99

1010
public class ToString
1111
{
@@ -19,7 +19,7 @@ public ToString(String string)
1919
@JsonCreator
2020
ToString(Optional<JsonNode> option) throws JsonMappingException
2121
{
22-
JsonNode node = option.or(NullNode.getInstance());
22+
JsonNode node = option.orElse(NullNode.getInstance());
2323
if (node.isTextual()) {
2424
this.string = node.textValue();
2525
} else if (node.isValueNode()) {

embulk-output-jdbc/src/main/java/org/embulk/output/jdbc/setter/ColumnSetterFactory.java

+15-6
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
package org.embulk.output.jdbc.setter;
22

3-
import com.google.common.base.Optional;
43
import java.util.Calendar;
54
import java.util.Locale;
5+
import java.util.Optional;
66
import java.sql.Types;
77
import org.joda.time.DateTimeZone;
88
import org.embulk.config.ConfigSource;
@@ -87,9 +87,18 @@ protected TimestampFormatter newTimestampFormatter(JdbcColumnOption option)
8787
final ConfigSource configSource = Exec.newConfigSource();
8888
configSource.set("format", option.getTimestampFormat().getFormat());
8989
configSource.set("timezone", getTimeZone(option));
90-
return new TimestampFormatter(
91-
Exec.newConfigSource().loadConfig(FormatterIntlTask.class),
92-
Optional.fromNullable(configSource.loadConfig(FormatterIntlColumnOption.class)));
90+
91+
final FormatterIntlTask task = Exec.newConfigSource().loadConfig(FormatterIntlTask.class);
92+
final Optional<? extends TimestampFormatter.TimestampColumnOption> columnOption =
93+
Optional.ofNullable(configSource.loadConfig(FormatterIntlColumnOption.class));
94+
95+
return TimestampFormatter.of(
96+
columnOption.isPresent()
97+
? columnOption.get().getFormat().or(task.getDefaultTimestampFormat())
98+
: task.getDefaultTimestampFormat(),
99+
columnOption.isPresent()
100+
? columnOption.get().getTimeZoneId().or(task.getDefaultTimeZoneId())
101+
: task.getDefaultTimeZoneId());
93102
}
94103

95104
protected Calendar newCalendar(JdbcColumnOption option)
@@ -99,7 +108,7 @@ protected Calendar newCalendar(JdbcColumnOption option)
99108

100109
protected DateTimeZone getTimeZone(JdbcColumnOption option)
101110
{
102-
return option.getTimeZone().or(defaultTimeZone);
111+
return option.getTimeZone().orElse(defaultTimeZone);
103112
}
104113

105114
public ColumnSetter newCoalesceColumnSetter(JdbcColumn column, JdbcColumnOption option)
@@ -204,7 +213,7 @@ private static UnsupportedOperationException unsupportedOperationException(JdbcC
204213
{
205214
throw new UnsupportedOperationException(
206215
String.format("Unsupported type %s (sqlType=%d, size=%d, scale=%d)",
207-
column.getDeclaredType().or(column.getSimpleTypeName()),
216+
column.getDeclaredType().orElse(column.getSimpleTypeName()),
208217
column.getSqlType(), column.getSizeTypeParameter(), column.getScaleTypeParameter()));
209218
}
210219
}

embulk-output-mysql/src/main/java/org/embulk/output/MySQLOutputPlugin.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
import java.util.Properties;
44
import java.io.IOException;
55
import java.sql.SQLException;
6-
7-
import com.google.common.base.Optional;
6+
import java.util.Optional;
87

98
import org.embulk.config.Config;
109
import org.embulk.config.ConfigDefault;

embulk-output-mysql/src/main/java/org/embulk/output/mysql/MySQLBatchInsert.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
import java.io.IOException;
44
import java.sql.Types;
55
import java.sql.SQLException;
6-
import com.google.common.base.Optional;
6+
import java.util.Optional;
77
import org.embulk.output.jdbc.JdbcOutputConnector;
88
import org.embulk.output.jdbc.MergeConfig;
99
import org.embulk.output.jdbc.StandardBatchInsert;

embulk-output-mysql/src/main/java/org/embulk/output/mysql/MySQLOutputConnector.java

+1-2
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,12 @@
44
import java.sql.Connection;
55
import java.sql.DriverManager;
66
import java.sql.SQLException;
7+
import java.util.Optional;
78

89
import org.embulk.output.jdbc.JdbcOutputConnection;
910
import org.embulk.output.jdbc.AbstractJdbcOutputConnector;
1011
import org.embulk.output.jdbc.TransactionIsolation;
1112

12-
import com.google.common.base.Optional;
13-
1413
public class MySQLOutputConnector
1514
extends AbstractJdbcOutputConnector
1615
{

0 commit comments

Comments
 (0)