diff --git a/spring-batch-bigquery/src/main/java/org/springframework/batch/extensions/bigquery/reader/BigQueryInteractiveQueryItemReader.java b/spring-batch-bigquery/src/main/java/org/springframework/batch/extensions/bigquery/reader/BigQueryQueryItemReader.java similarity index 95% rename from spring-batch-bigquery/src/main/java/org/springframework/batch/extensions/bigquery/reader/BigQueryInteractiveQueryItemReader.java rename to spring-batch-bigquery/src/main/java/org/springframework/batch/extensions/bigquery/reader/BigQueryQueryItemReader.java index de677fd..fb30e14 100644 --- a/spring-batch-bigquery/src/main/java/org/springframework/batch/extensions/bigquery/reader/BigQueryInteractiveQueryItemReader.java +++ b/spring-batch-bigquery/src/main/java/org/springframework/batch/extensions/bigquery/reader/BigQueryQueryItemReader.java @@ -43,9 +43,10 @@ import java.util.Objects; * @author Volodymyr Perebykivskyi * @since 0.2.0 * @see Interactive queries + * @see Batch queries * @see Concurrency limits */ -public class BigQueryInteractiveQueryItemReader implements ItemReader, InitializingBean { +public class BigQueryQueryItemReader implements ItemReader, InitializingBean { private final Log logger = LogFactory.getLog(getClass()); diff --git a/spring-batch-bigquery/src/main/java/org/springframework/batch/extensions/bigquery/reader/builder/BigQueryInteractiveQueryItemReaderBuilder.java b/spring-batch-bigquery/src/main/java/org/springframework/batch/extensions/bigquery/reader/builder/BigQueryQueryItemReaderBuilder.java similarity index 67% rename from spring-batch-bigquery/src/main/java/org/springframework/batch/extensions/bigquery/reader/builder/BigQueryInteractiveQueryItemReaderBuilder.java rename to spring-batch-bigquery/src/main/java/org/springframework/batch/extensions/bigquery/reader/builder/BigQueryQueryItemReaderBuilder.java index 556a347..811ea3c 100644 --- a/spring-batch-bigquery/src/main/java/org/springframework/batch/extensions/bigquery/reader/builder/BigQueryInteractiveQueryItemReaderBuilder.java +++ b/spring-batch-bigquery/src/main/java/org/springframework/batch/extensions/bigquery/reader/builder/BigQueryQueryItemReaderBuilder.java @@ -20,21 +20,22 @@ import com.google.cloud.bigquery.BigQuery; import com.google.cloud.bigquery.FieldValueList; import com.google.cloud.bigquery.QueryJobConfiguration; import org.apache.commons.lang3.StringUtils; -import org.springframework.batch.extensions.bigquery.reader.BigQueryInteractiveQueryItemReader; +import org.springframework.batch.extensions.bigquery.reader.BigQueryQueryItemReader; import org.springframework.core.convert.converter.Converter; import org.springframework.util.Assert; import java.util.Objects; /** - * A builder for {@link BigQueryInteractiveQueryItemReader}. + * A builder for {@link BigQueryQueryItemReader}. * * @param your DTO type * @author Volodymyr Perebykivskyi * @since 0.2.0 * @see Examples + * @see Examples */ -public class BigQueryInteractiveQueryItemReaderBuilder { +public class BigQueryQueryItemReaderBuilder { private BigQuery bigQuery; private String query; @@ -45,10 +46,10 @@ public class BigQueryInteractiveQueryItemReaderBuilder { * BigQuery service, responsible for API calls. * * @param bigQuery BigQuery service - * @return {@link BigQueryInteractiveQueryItemReaderBuilder} - * @see BigQueryInteractiveQueryItemReader#setBigQuery(BigQuery) + * @return {@link BigQueryQueryItemReaderBuilder} + * @see BigQueryQueryItemReader#setBigQuery(BigQuery) */ - public BigQueryInteractiveQueryItemReaderBuilder bigQuery(BigQuery bigQuery) { + public BigQueryQueryItemReaderBuilder bigQuery(BigQuery bigQuery) { this.bigQuery = bigQuery; return this; } @@ -60,10 +61,10 @@ public class BigQueryInteractiveQueryItemReaderBuilder { * because BigQuery charges you for the amount of data that is being processed. * * @param query your query to run - * @return {@link BigQueryInteractiveQueryItemReaderBuilder} - * @see BigQueryInteractiveQueryItemReader#setJobConfiguration(QueryJobConfiguration) + * @return {@link BigQueryQueryItemReaderBuilder} + * @see BigQueryQueryItemReader#setJobConfiguration(QueryJobConfiguration) */ - public BigQueryInteractiveQueryItemReaderBuilder query(String query) { + public BigQueryQueryItemReaderBuilder query(String query) { this.query = query; return this; } @@ -72,10 +73,10 @@ public class BigQueryInteractiveQueryItemReaderBuilder { * Row mapper which transforms single BigQuery row into desired type. * * @param rowMapper your row mapper - * @return {@link BigQueryInteractiveQueryItemReaderBuilder} - * @see BigQueryInteractiveQueryItemReader#setRowMapper(Converter) + * @return {@link BigQueryQueryItemReaderBuilder} + * @see BigQueryQueryItemReader#setRowMapper(Converter) */ - public BigQueryInteractiveQueryItemReaderBuilder rowMapper(Converter rowMapper) { + public BigQueryQueryItemReaderBuilder rowMapper(Converter rowMapper) { this.rowMapper = rowMapper; return this; } @@ -84,21 +85,21 @@ public class BigQueryInteractiveQueryItemReaderBuilder { * Specifies query to run, destination table, etc. * * @param jobConfiguration BigQuery job configuration - * @return {@link BigQueryInteractiveQueryItemReaderBuilder} - * @see BigQueryInteractiveQueryItemReader#setJobConfiguration(QueryJobConfiguration) + * @return {@link BigQueryQueryItemReaderBuilder} + * @see BigQueryQueryItemReader#setJobConfiguration(QueryJobConfiguration) */ - public BigQueryInteractiveQueryItemReaderBuilder jobConfiguration(QueryJobConfiguration jobConfiguration) { + public BigQueryQueryItemReaderBuilder jobConfiguration(QueryJobConfiguration jobConfiguration) { this.jobConfiguration = jobConfiguration; return this; } /** - * Please do not forget about {@link BigQueryInteractiveQueryItemReader#afterPropertiesSet()}. + * Please do not forget about {@link BigQueryQueryItemReader#afterPropertiesSet()}. * - * @return {@link BigQueryInteractiveQueryItemReader} + * @return {@link BigQueryQueryItemReader} */ - public BigQueryInteractiveQueryItemReader build() { - BigQueryInteractiveQueryItemReader reader = new BigQueryInteractiveQueryItemReader<>(); + public BigQueryQueryItemReader build() { + BigQueryQueryItemReader reader = new BigQueryQueryItemReader<>(); reader.setBigQuery(this.bigQuery); reader.setRowMapper(this.rowMapper); diff --git a/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/batch/BigQueryBatchQueryCsvItemReaderTest.java b/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/batch/BigQueryBatchQueryCsvItemReaderTest.java new file mode 100644 index 0000000..8d39e58 --- /dev/null +++ b/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/batch/BigQueryBatchQueryCsvItemReaderTest.java @@ -0,0 +1,76 @@ +/* + * Copyright 2002-2023 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.batch.extensions.bigquery.integration.reader.batch; + +import com.google.cloud.bigquery.QueryJobConfiguration; +import com.google.cloud.bigquery.TableId; +import org.apache.commons.lang3.math.NumberUtils; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInfo; +import org.springframework.batch.extensions.bigquery.common.BigQueryDataLoader; +import org.springframework.batch.extensions.bigquery.common.PersonDto; +import org.springframework.batch.extensions.bigquery.common.TestConstants; +import org.springframework.batch.extensions.bigquery.integration.reader.base.BaseCsvJsonInteractiveQueryItemReaderTest; +import org.springframework.batch.extensions.bigquery.reader.BigQueryQueryItemReader; +import org.springframework.batch.extensions.bigquery.reader.builder.BigQueryQueryItemReaderBuilder; +import org.springframework.batch.item.Chunk; + +@Tag("csv") +public class BigQueryBatchQueryCsvItemReaderTest extends BaseCsvJsonInteractiveQueryItemReaderTest { + + @Test + void batchQueryTest1(TestInfo testInfo) throws Exception { + String tableName = getTableName(testInfo); + new BigQueryDataLoader(bigQuery).loadCsvSample(tableName); + Chunk chunk = BigQueryDataLoader.CHUNK; + + QueryJobConfiguration jobConfiguration = QueryJobConfiguration + .newBuilder("SELECT p.name, p.age FROM spring_batch_extensions.%s p ORDER BY p.name LIMIT 2") + .setDestinationTable(TableId.of(TestConstants.DATASET, tableName)) + .setPriority(QueryJobConfiguration.Priority.BATCH) + .build(); + + BigQueryQueryItemReader reader = new BigQueryQueryItemReaderBuilder() + .bigQuery(bigQuery) + .rowMapper(TestConstants.PERSON_MAPPER) + .jobConfiguration(jobConfiguration) + .build(); + + reader.afterPropertiesSet(); + + PersonDto actualFirstPerson = reader.read(); + PersonDto expectedFirstPerson = chunk.getItems().get(0); + + PersonDto actualSecondPerson = reader.read(); + PersonDto expectedSecondPerson = chunk.getItems().get(1); + + PersonDto actualThirdPerson = reader.read(); + + Assertions.assertNotNull(actualFirstPerson); + Assertions.assertEquals(expectedFirstPerson.name(), actualFirstPerson.name()); + Assertions.assertEquals(expectedFirstPerson.age().compareTo(actualFirstPerson.age()), NumberUtils.INTEGER_ZERO); + + Assertions.assertNotNull(actualSecondPerson); + Assertions.assertEquals(expectedSecondPerson.name(), actualSecondPerson.name()); + Assertions.assertEquals(expectedSecondPerson.age().compareTo(actualSecondPerson.age()), NumberUtils.INTEGER_ZERO); + + Assertions.assertNull(actualThirdPerson); + } + +} diff --git a/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/batch/BigQueryBatchQueryJsonItemReaderTest.java b/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/batch/BigQueryBatchQueryJsonItemReaderTest.java new file mode 100644 index 0000000..5c26903 --- /dev/null +++ b/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/batch/BigQueryBatchQueryJsonItemReaderTest.java @@ -0,0 +1,76 @@ +/* + * Copyright 2002-2023 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.batch.extensions.bigquery.integration.reader.batch; + +import com.google.cloud.bigquery.QueryJobConfiguration; +import com.google.cloud.bigquery.TableId; +import org.apache.commons.lang3.math.NumberUtils; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Tag; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.TestInfo; +import org.springframework.batch.extensions.bigquery.common.BigQueryDataLoader; +import org.springframework.batch.extensions.bigquery.common.PersonDto; +import org.springframework.batch.extensions.bigquery.common.TestConstants; +import org.springframework.batch.extensions.bigquery.integration.reader.base.BaseCsvJsonInteractiveQueryItemReaderTest; +import org.springframework.batch.extensions.bigquery.reader.BigQueryQueryItemReader; +import org.springframework.batch.extensions.bigquery.reader.builder.BigQueryQueryItemReaderBuilder; +import org.springframework.batch.item.Chunk; + +@Tag("json") +public class BigQueryBatchQueryJsonItemReaderTest extends BaseCsvJsonInteractiveQueryItemReaderTest { + + @Test + void batchQueryTest1(TestInfo testInfo) throws Exception { + String tableName = getTableName(testInfo); + new BigQueryDataLoader(bigQuery).loadJsonSample(tableName); + Chunk chunk = BigQueryDataLoader.CHUNK; + + QueryJobConfiguration jobConfiguration = QueryJobConfiguration + .newBuilder("SELECT p.name, p.age FROM spring_batch_extensions.%s p ORDER BY p.name LIMIT 2") + .setDestinationTable(TableId.of(TestConstants.DATASET, tableName)) + .setPriority(QueryJobConfiguration.Priority.BATCH) + .build(); + + BigQueryQueryItemReader reader = new BigQueryQueryItemReaderBuilder() + .bigQuery(bigQuery) + .rowMapper(TestConstants.PERSON_MAPPER) + .jobConfiguration(jobConfiguration) + .build(); + + reader.afterPropertiesSet(); + + PersonDto actualFirstPerson = reader.read(); + PersonDto expectedFirstPerson = chunk.getItems().get(0); + + PersonDto actualSecondPerson = reader.read(); + PersonDto expectedSecondPerson = chunk.getItems().get(1); + + PersonDto actualThirdPerson = reader.read(); + + Assertions.assertNotNull(actualFirstPerson); + Assertions.assertEquals(expectedFirstPerson.name(), actualFirstPerson.name()); + Assertions.assertEquals(expectedFirstPerson.age().compareTo(actualFirstPerson.age()), NumberUtils.INTEGER_ZERO); + + Assertions.assertNotNull(actualSecondPerson); + Assertions.assertEquals(expectedSecondPerson.name(), actualSecondPerson.name()); + Assertions.assertEquals(expectedSecondPerson.age().compareTo(actualSecondPerson.age()), NumberUtils.INTEGER_ZERO); + + Assertions.assertNull(actualThirdPerson); + } + +} diff --git a/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/BigQueryInteractiveQueryCsvItemReaderTest.java b/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/interactive/BigQueryInteractiveQueryCsvItemReaderTest.java similarity index 93% rename from spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/BigQueryInteractiveQueryCsvItemReaderTest.java rename to spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/interactive/BigQueryInteractiveQueryCsvItemReaderTest.java index 3ba89cc..ef9c3fe 100644 --- a/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/BigQueryInteractiveQueryCsvItemReaderTest.java +++ b/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/interactive/BigQueryInteractiveQueryCsvItemReaderTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.batch.extensions.bigquery.integration.reader; +package org.springframework.batch.extensions.bigquery.integration.reader.interactive; import org.apache.commons.lang3.math.NumberUtils; import org.junit.jupiter.api.Assertions; @@ -25,8 +25,8 @@ import org.springframework.batch.extensions.bigquery.common.BigQueryDataLoader; import org.springframework.batch.extensions.bigquery.common.PersonDto; import org.springframework.batch.extensions.bigquery.common.TestConstants; import org.springframework.batch.extensions.bigquery.integration.reader.base.BaseCsvJsonInteractiveQueryItemReaderTest; -import org.springframework.batch.extensions.bigquery.reader.BigQueryInteractiveQueryItemReader; -import org.springframework.batch.extensions.bigquery.reader.builder.BigQueryInteractiveQueryItemReaderBuilder; +import org.springframework.batch.extensions.bigquery.reader.BigQueryQueryItemReader; +import org.springframework.batch.extensions.bigquery.reader.builder.BigQueryQueryItemReaderBuilder; import org.springframework.batch.item.Chunk; @Tag("csv") @@ -38,7 +38,7 @@ public class BigQueryInteractiveQueryCsvItemReaderTest extends BaseCsvJsonIntera new BigQueryDataLoader(bigQuery).loadCsvSample(tableName); Chunk chunk = BigQueryDataLoader.CHUNK; - BigQueryInteractiveQueryItemReader reader = new BigQueryInteractiveQueryItemReaderBuilder() + BigQueryQueryItemReader reader = new BigQueryQueryItemReaderBuilder() .bigQuery(bigQuery) .query(String.format("SELECT p.name, p.age FROM spring_batch_extensions.%s p ORDER BY p.name LIMIT 2", tableName)) .rowMapper(TestConstants.PERSON_MAPPER) diff --git a/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/BigQueryInteractiveQueryJsonItemReaderTest.java b/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/interactive/BigQueryInteractiveQueryJsonItemReaderTest.java similarity index 93% rename from spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/BigQueryInteractiveQueryJsonItemReaderTest.java rename to spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/interactive/BigQueryInteractiveQueryJsonItemReaderTest.java index 98f6cf5..ba5f614 100644 --- a/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/BigQueryInteractiveQueryJsonItemReaderTest.java +++ b/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/integration/reader/interactive/BigQueryInteractiveQueryJsonItemReaderTest.java @@ -14,7 +14,7 @@ * limitations under the License. */ -package org.springframework.batch.extensions.bigquery.integration.reader; +package org.springframework.batch.extensions.bigquery.integration.reader.interactive; import org.apache.commons.lang3.math.NumberUtils; import org.junit.jupiter.api.Assertions; @@ -25,8 +25,8 @@ import org.springframework.batch.extensions.bigquery.common.BigQueryDataLoader; import org.springframework.batch.extensions.bigquery.common.PersonDto; import org.springframework.batch.extensions.bigquery.common.TestConstants; import org.springframework.batch.extensions.bigquery.integration.reader.base.BaseCsvJsonInteractiveQueryItemReaderTest; -import org.springframework.batch.extensions.bigquery.reader.BigQueryInteractiveQueryItemReader; -import org.springframework.batch.extensions.bigquery.reader.builder.BigQueryInteractiveQueryItemReaderBuilder; +import org.springframework.batch.extensions.bigquery.reader.BigQueryQueryItemReader; +import org.springframework.batch.extensions.bigquery.reader.builder.BigQueryQueryItemReaderBuilder; import org.springframework.batch.item.Chunk; @Tag("json") @@ -38,7 +38,7 @@ public class BigQueryInteractiveQueryJsonItemReaderTest extends BaseCsvJsonInter new BigQueryDataLoader(bigQuery).loadJsonSample(tableName); Chunk chunk = BigQueryDataLoader.CHUNK; - BigQueryInteractiveQueryItemReader reader = new BigQueryInteractiveQueryItemReaderBuilder() + BigQueryQueryItemReader reader = new BigQueryQueryItemReaderBuilder() .bigQuery(bigQuery) .query(String.format("SELECT p.name, p.age FROM spring_batch_extensions.%s p ORDER BY p.name LIMIT 2", tableName)) .rowMapper(TestConstants.PERSON_MAPPER) diff --git a/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/unit/reader/builder/BigQueryBatchQueryItemReaderBuilderTests.java b/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/unit/reader/builder/BigQueryBatchQueryItemReaderBuilderTests.java new file mode 100644 index 0000000..b8a6a35 --- /dev/null +++ b/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/unit/reader/builder/BigQueryBatchQueryItemReaderBuilderTests.java @@ -0,0 +1,53 @@ +/* + * Copyright 2002-2023 the original author or authors. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package org.springframework.batch.extensions.bigquery.unit.reader.builder; + +import com.google.cloud.bigquery.BigQuery; +import com.google.cloud.bigquery.QueryJobConfiguration; +import com.google.cloud.bigquery.TableId; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; +import org.springframework.batch.extensions.bigquery.common.PersonDto; +import org.springframework.batch.extensions.bigquery.common.TestConstants; +import org.springframework.batch.extensions.bigquery.reader.BigQueryQueryItemReader; +import org.springframework.batch.extensions.bigquery.reader.builder.BigQueryQueryItemReaderBuilder; +import org.springframework.batch.extensions.bigquery.unit.base.AbstractBigQueryTest; + +class BigQueryBatchQueryItemReaderBuilderTests extends AbstractBigQueryTest { + + @Test + void testCustomQueryItemReader() { + BigQuery mockedBigQuery = prepareMockedBigQuery(); + + QueryJobConfiguration jobConfiguration = QueryJobConfiguration + .newBuilder("SELECT p.name, p.age FROM spring_batch_extensions.persons p LIMIT 2") + .setDestinationTable(TableId.of(TestConstants.DATASET, "persons_duplicate")) + .setPriority(QueryJobConfiguration.Priority.BATCH) + .build(); + + BigQueryQueryItemReader reader = new BigQueryQueryItemReaderBuilder() + .bigQuery(mockedBigQuery) + .jobConfiguration(jobConfiguration) + .rowMapper(TestConstants.PERSON_MAPPER) + .build(); + + reader.afterPropertiesSet(); + + Assertions.assertNotNull(reader); + } + +} diff --git a/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/unit/reader/builder/BigQueryInteractiveQueryItemReaderBuilderTests.java b/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/unit/reader/builder/BigQueryInteractiveQueryItemReaderBuilderTests.java index dc9b4fe..a003c5e 100644 --- a/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/unit/reader/builder/BigQueryInteractiveQueryItemReaderBuilderTests.java +++ b/spring-batch-bigquery/src/test/java/org/springframework/batch/extensions/bigquery/unit/reader/builder/BigQueryInteractiveQueryItemReaderBuilderTests.java @@ -24,8 +24,8 @@ import org.junit.jupiter.api.Test; import org.springframework.batch.extensions.bigquery.common.PersonDto; import org.springframework.batch.extensions.bigquery.common.TestConstants; import org.springframework.batch.extensions.bigquery.unit.base.AbstractBigQueryTest; -import org.springframework.batch.extensions.bigquery.reader.BigQueryInteractiveQueryItemReader; -import org.springframework.batch.extensions.bigquery.reader.builder.BigQueryInteractiveQueryItemReaderBuilder; +import org.springframework.batch.extensions.bigquery.reader.BigQueryQueryItemReader; +import org.springframework.batch.extensions.bigquery.reader.builder.BigQueryQueryItemReaderBuilder; class BigQueryInteractiveQueryItemReaderBuilderTests extends AbstractBigQueryTest { @@ -33,7 +33,7 @@ class BigQueryInteractiveQueryItemReaderBuilderTests extends AbstractBigQueryTes void testSimpleQueryItemReader() { BigQuery mockedBigQuery = prepareMockedBigQuery(); - BigQueryInteractiveQueryItemReader reader = new BigQueryInteractiveQueryItemReaderBuilder() + BigQueryQueryItemReader reader = new BigQueryQueryItemReaderBuilder() .bigQuery(mockedBigQuery) .query("SELECT p.name, p.age FROM spring_batch_extensions.persons p LIMIT 1") .rowMapper(TestConstants.PERSON_MAPPER) @@ -53,7 +53,7 @@ class BigQueryInteractiveQueryItemReaderBuilderTests extends AbstractBigQueryTes .setDestinationTable(TableId.of(TestConstants.DATASET, "persons_duplicate")) .build(); - BigQueryInteractiveQueryItemReader reader = new BigQueryInteractiveQueryItemReaderBuilder() + BigQueryQueryItemReader reader = new BigQueryQueryItemReaderBuilder() .bigQuery(mockedBigQuery) .jobConfiguration(jobConfiguration) .rowMapper(TestConstants.PERSON_MAPPER)