From df5423fa71328d5a2f4c30fe7f3366533c48236f Mon Sep 17 00:00:00 2001 From: dark0dave Date: Thu, 22 Dec 2022 03:18:56 +0000 Subject: [PATCH 1/2] feat(datestrings): Allow string dates, closes #1765 Signed-off-by: dark0dave --- .../bigquery/storage/v1/JsonToProtoMessage.java | 12 ++++++++++++ .../bigquery/storage/v1/JsonToProtoMessageTest.java | 9 ++++++++- .../src/test/proto/jsonTest.proto | 1 + 3 files changed, 21 insertions(+), 1 deletion(-) diff --git a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/JsonToProtoMessage.java b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/JsonToProtoMessage.java index eebe7538aa..b5fcb6c8df 100644 --- a/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/JsonToProtoMessage.java +++ b/google-cloud-bigquerystorage/src/main/java/com/google/cloud/bigquery/storage/v1/JsonToProtoMessage.java @@ -452,6 +452,12 @@ private static void fillField( } break; case STRING: + if (fieldSchema != null && fieldSchema.getType() == TableFieldSchema.Type.DATE) { + if (val instanceof String) { + protoMsg.setField(fieldDescriptor, (String) val); + return; + } + } if (val instanceof String) { protoMsg.setField(fieldDescriptor, (String) val); return; @@ -710,6 +716,12 @@ private static void fillRepeatedField( } break; case STRING: + if (fieldSchema != null && fieldSchema.getType() == TableFieldSchema.Type.DATE) { + if (val instanceof String) { + protoMsg.setField(fieldDescriptor, (String) val); + return; + } + } if (val instanceof String) { protoMsg.addRepeatedField(fieldDescriptor, (String) val); } else { diff --git a/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/JsonToProtoMessageTest.java b/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/JsonToProtoMessageTest.java index 463208302d..840f3130d3 100644 --- a/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/JsonToProtoMessageTest.java +++ b/google-cloud-bigquerystorage/src/test/java/com/google/cloud/bigquery/storage/v1/JsonToProtoMessageTest.java @@ -731,11 +731,18 @@ public void testDate() throws Exception { TableSchema.newBuilder() .addFields(TableFieldSchema.newBuilder(TEST_DATE).setName("test_string").build()) .addFields(TableFieldSchema.newBuilder(TEST_DATE).setName("test_long").build()) + .addFields(TableFieldSchema.newBuilder(TEST_DATE).setName("test_iso_string").build()) + .build(); + TestDate expectedProto = + TestDate.newBuilder() + .setTestString(18935) + .setTestLong(18935) + .setTestIsoString("1999-01-01") .build(); - TestDate expectedProto = TestDate.newBuilder().setTestString(18935).setTestLong(18935).build(); JSONObject json = new JSONObject(); json.put("test_string", "2021-11-04"); json.put("test_long", 18935L); + json.put("test_iso_string", "1999-01-01"); DynamicMessage protoMsg = JsonToProtoMessage.convertJsonToProtoMessage(TestDate.getDescriptor(), tableSchema, json); assertEquals(expectedProto, protoMsg); diff --git a/google-cloud-bigquerystorage/src/test/proto/jsonTest.proto b/google-cloud-bigquerystorage/src/test/proto/jsonTest.proto index 03209d9c81..47051e4d4b 100644 --- a/google-cloud-bigquerystorage/src/test/proto/jsonTest.proto +++ b/google-cloud-bigquerystorage/src/test/proto/jsonTest.proto @@ -159,6 +159,7 @@ message TestTimestamp { message TestDate { optional int32 test_string = 1; optional int32 test_long = 2; + optional string test_iso_string = 3; } message NestedRepeated { From a3c03e46e09bfb6ff49ce8a9bb2f47da2364b5c6 Mon Sep 17 00:00:00 2001 From: Owl Bot Date: Wed, 4 Jan 2023 16:23:03 +0000 Subject: [PATCH 2/2] =?UTF-8?q?=F0=9F=A6=89=20Updates=20from=20OwlBot=20po?= =?UTF-8?q?st-processor?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 6774ebb0b5..2f16a17393 100644 --- a/README.md +++ b/README.md @@ -49,7 +49,7 @@ If you are using Maven without BOM, add this to your dependencies: If you are using Gradle 5.x or later, add this to your dependencies: ```Groovy -implementation platform('com.google.cloud:libraries-bom:26.1.5') +implementation platform('com.google.cloud:libraries-bom:26.2.0') implementation 'com.google.cloud:google-cloud-bigquerystorage' ```