Skip to content

Commit 4479281

Browse files
[CsvIO]: update class for parsing date time. (#31996)
1 parent 8eb09bf commit 4479281

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

sdks/java/io/csv/src/main/java/org/apache/beam/sdk/io/csv/CsvIOParseHelpers.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@
2121
import static org.apache.beam.vendor.guava.v32_1_2_jre.com.google.common.base.Preconditions.checkArgument;
2222

2323
import java.math.BigDecimal;
24-
import java.time.Instant;
2524
import java.util.Arrays;
2625
import java.util.HashMap;
2726
import java.util.List;
2827
import java.util.Map;
2928
import org.apache.beam.sdk.schemas.Schema;
3029
import org.apache.beam.vendor.guava.v32_1_2_jre.com.google.common.base.Strings;
3130
import org.apache.commons.csv.CSVFormat;
31+
import org.joda.time.Instant;
3232

3333
/** A utility class containing shared methods for parsing CSV records. */
3434
final class CsvIOParseHelpers {

sdks/java/io/csv/src/test/java/org/apache/beam/sdk/io/csv/CsvIOParseHelpersTest.java

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,13 +21,12 @@
2121
import static org.junit.Assert.assertThrows;
2222

2323
import java.math.BigDecimal;
24-
import java.time.DateTimeException;
25-
import java.time.Instant;
2624
import java.util.Map;
2725
import org.apache.beam.sdk.schemas.Schema;
2826
import org.apache.beam.vendor.guava.v32_1_2_jre.com.google.common.collect.ImmutableMap;
2927
import org.apache.commons.collections.keyvalue.DefaultMapEntry;
3028
import org.apache.commons.csv.CSVFormat;
29+
import org.joda.time.Instant;
3130
import org.junit.Test;
3231
import org.junit.runner.RunWith;
3332
import org.junit.runners.JUnit4;
@@ -382,20 +381,20 @@ public void givenFloatWithSurroundingSpaces_parses() {
382381
}
383382

384383
@Test
385-
public void givenDatetimeWithSurroundingSpaces() throws DateTimeException {
384+
public void givenDatetimeWithSurroundingSpaces() {
386385
Instant datetime = Instant.parse("1234-01-23T10:00:05.000Z");
387386
DefaultMapEntry cellToExpectedValue =
388387
new DefaultMapEntry(" 1234-01-23T10:00:05.000Z ", datetime);
389388
Schema schema =
390389
Schema.builder().addDateTimeField("a_datetime").addStringField("a_string").build();
391-
DateTimeException e =
390+
IllegalArgumentException e =
392391
assertThrows(
393-
DateTimeException.class,
392+
IllegalArgumentException.class,
394393
() ->
395394
CsvIOParseHelpers.parseCell(
396395
cellToExpectedValue.getKey().toString(), schema.getField("a_datetime")));
397396
assertEquals(
398-
"Text " + "' 1234-01-23T10:00:05.000Z '" + " could not be parsed at index 0",
397+
"Invalid format: \" 1234-01-23T10:00:05.000Z \" field a_datetime was received -- type mismatch",
399398
e.getMessage());
400399
}
401400

0 commit comments

Comments
 (0)