From 241e37e6726c53423b3343c441673f56b953290b Mon Sep 17 00:00:00 2001 From: Mahmoud Ben Hassine Date: Tue, 4 Jul 2023 21:20:03 +0200 Subject: [PATCH] Remove concatenation with empty string --- .../batch/core/step/item/ChunkMonitorTests.java | 7 ++++--- .../FaultTolerantStepFactoryBeanRetryTests.java | 2 +- .../support/SqlWindowingPagingQueryProvider.java | 4 ++-- .../item/file/transform/DefaultFieldSet.java | 4 ++-- .../file/transform/DelimitedLineTokenizer.java | 7 ++++--- ...kExecutorRepeatTemplateAsynchronousTests.java | 2 +- ...cutorRepeatTemplateBulkAsynchronousTests.java | 16 ++++++++-------- .../partition/JmsIntegrationTests.java | 5 +++-- .../internal/FlatFileCustomerCreditDao.java | 4 ++-- 9 files changed, 27 insertions(+), 24 deletions(-) diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/ChunkMonitorTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/ChunkMonitorTests.java index f8c283d95..9dcf12e67 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/ChunkMonitorTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/ChunkMonitorTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2022 the original author or authors. + * Copyright 2006-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. @@ -31,6 +31,7 @@ import org.springframework.lang.Nullable; /** * @author Dave Syer + * @author Mahmoud Ben Hassine * */ class ChunkMonitorTests { @@ -49,7 +50,7 @@ class ChunkMonitorTests { @Nullable @Override public String read() throws Exception, UnexpectedInputException, ParseException { - return "" + (count++); + return String.valueOf(count++); } }); monitor.registerItemStream(new ItemStreamSupport() { @@ -150,7 +151,7 @@ class ChunkMonitorTests { @Nullable @Override public String read() throws Exception, UnexpectedInputException, ParseException { - return "" + (count++); + return String.valueOf(count++); } }); monitor.setChunkSize(CHUNK_SIZE); diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanRetryTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanRetryTests.java index 10e0caf14..9cfce880b 100644 --- a/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanRetryTests.java +++ b/spring-batch-core/src/test/java/org/springframework/batch/core/step/item/FaultTolerantStepFactoryBeanRetryTests.java @@ -664,7 +664,7 @@ class FaultTolerantStepFactoryBeanRetryTests { @Nullable @Override public String read() { - String item = "" + count; + String item = String.valueOf(count); provided.add(item); count++; if (count >= 10) { diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/SqlWindowingPagingQueryProvider.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/SqlWindowingPagingQueryProvider.java index a3710d892..dd2dd14a1 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/SqlWindowingPagingQueryProvider.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/SqlWindowingPagingQueryProvider.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2022 the original author or authors. + * Copyright 2006-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. @@ -63,7 +63,7 @@ public class SqlWindowingPagingQueryProvider extends AbstractSqlPagingQueryProvi } protected Object extractTableAlias() { - String alias = "" + getSubQueryAlias(); + String alias = String.valueOf(getSubQueryAlias()); if (StringUtils.hasText(alias) && alias.toUpperCase().startsWith("AS")) { alias = alias.substring(3).trim() + "."; } diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DefaultFieldSet.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DefaultFieldSet.java index c91d2a63e..c2e7baf01 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DefaultFieldSet.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DefaultFieldSet.java @@ -71,8 +71,8 @@ public class DefaultFieldSet implements FieldSet { public final void setNumberFormat(NumberFormat numberFormat) { this.numberFormat = numberFormat; if (numberFormat instanceof DecimalFormat) { - grouping = "" + ((DecimalFormat) numberFormat).getDecimalFormatSymbols().getGroupingSeparator(); - decimal = "" + ((DecimalFormat) numberFormat).getDecimalFormatSymbols().getDecimalSeparator(); + grouping = String.valueOf(((DecimalFormat) numberFormat).getDecimalFormatSymbols().getGroupingSeparator()); + decimal = String.valueOf(((DecimalFormat) numberFormat).getDecimalFormatSymbols().getDecimalSeparator()); } } diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DelimitedLineTokenizer.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DelimitedLineTokenizer.java index 717ec49d6..7fdf1fe7e 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DelimitedLineTokenizer.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/file/transform/DelimitedLineTokenizer.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2022 the original author or authors. + * Copyright 2006-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. @@ -34,6 +34,7 @@ import org.springframework.util.StringUtils; * @author Dave Syer * @author Michael Minella * @author Olivier Bourgain + * @author Mahmoud Ben Hassine */ public class DelimitedLineTokenizer extends AbstractLineTokenizer implements InitializingBean { @@ -121,8 +122,8 @@ public class DelimitedLineTokenizer extends AbstractLineTokenizer implements Ini */ public void setQuoteCharacter(char quoteCharacter) { this.quoteCharacter = quoteCharacter; - this.quoteString = "" + quoteCharacter; - this.escapedQuoteString = "" + quoteCharacter + quoteCharacter; + this.quoteString = String.valueOf(quoteCharacter); + this.escapedQuoteString = String.valueOf(quoteCharacter) + quoteCharacter; } /** diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/support/TaskExecutorRepeatTemplateAsynchronousTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/support/TaskExecutorRepeatTemplateAsynchronousTests.java index 1f411e09a..5d6dd5292 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/support/TaskExecutorRepeatTemplateAsynchronousTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/support/TaskExecutorRepeatTemplateAsynchronousTests.java @@ -169,7 +169,7 @@ class TaskExecutorRepeatTemplateAsynchronousTests extends AbstractTradeBatchTest assertNotSame(threadName, Thread.currentThread().getName()); Trade item = provider.read(); threadNames.add(Thread.currentThread().getName() + " : " + item); - items.add("" + item); + items.add(String.valueOf(item)); if (item != null) { processor.write(Chunk.of(item)); // Do some more I/O diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/support/TaskExecutorRepeatTemplateBulkAsynchronousTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/support/TaskExecutorRepeatTemplateBulkAsynchronousTests.java index e0bc67e39..b8cf576b1 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/support/TaskExecutorRepeatTemplateBulkAsynchronousTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/support/TaskExecutorRepeatTemplateBulkAsynchronousTests.java @@ -88,8 +88,8 @@ class TaskExecutorRepeatTemplateBulkAsynchronousTests { @Override public RepeatStatus doInIteration(RepeatContext context) throws Exception { int position = count.incrementAndGet(); - String item = position <= total ? "" + position : null; - items.add("" + item); + String item = position <= total ? String.valueOf(position) : null; + items.add(item); if (item != null) { beBusy(); } @@ -121,7 +121,7 @@ class TaskExecutorRepeatTemplateBulkAsynchronousTests { void testThrottleLimit() { template.iterate(callback); - int frequency = Collections.frequency(items, "null"); + int frequency = Collections.frequency(items, null); assertEquals(total, items.size() - frequency); assertTrue(frequency > 1); assertTrue(frequency <= throttleLimit + 1); @@ -134,7 +134,7 @@ class TaskExecutorRepeatTemplateBulkAsynchronousTests { early = 2; template.iterate(callback); - int frequency = Collections.frequency(items, "null"); + int frequency = Collections.frequency(items, null); assertEquals(total, items.size() - frequency); assertTrue(frequency > 1); assertTrue(frequency <= throttleLimit + 1); @@ -158,7 +158,7 @@ class TaskExecutorRepeatTemplateBulkAsynchronousTests { template.setTaskExecutor(taskExecutor); template.iterate(callback); - int frequency = Collections.frequency(items, "null"); + int frequency = Collections.frequency(items, null); // Extra tasks will be submitted before the termination is detected assertEquals(total, items.size() - frequency); assertTrue(frequency <= throttleLimit + 1); @@ -182,7 +182,7 @@ class TaskExecutorRepeatTemplateBulkAsynchronousTests { template.setTaskExecutor(taskExecutor); template.iterate(callback); - int frequency = Collections.frequency(items, "null"); + int frequency = Collections.frequency(items, null); assertEquals(total, items.size() - frequency); assertTrue(frequency <= throttleLimit + 1); @@ -195,7 +195,7 @@ class TaskExecutorRepeatTemplateBulkAsynchronousTests { template.setCompletionPolicy(new SimpleCompletionPolicy(10)); template.iterate(callback); - int frequency = Collections.frequency(items, "null"); + int frequency = Collections.frequency(items, null); assertEquals(10, items.size() - frequency); assertEquals(0, frequency); @@ -208,7 +208,7 @@ class TaskExecutorRepeatTemplateBulkAsynchronousTests { Exception exception = assertThrows(Exception.class, () -> template.iterate(callback)); assertEquals("Planned", exception.getMessage()); - int frequency = Collections.frequency(items, "null"); + int frequency = Collections.frequency(items, null); assertEquals(0, frequency); } diff --git a/spring-batch-integration/src/test/java/org/springframework/batch/integration/partition/JmsIntegrationTests.java b/spring-batch-integration/src/test/java/org/springframework/batch/integration/partition/JmsIntegrationTests.java index 368636e00..14d72f844 100755 --- a/spring-batch-integration/src/test/java/org/springframework/batch/integration/partition/JmsIntegrationTests.java +++ b/spring-batch-integration/src/test/java/org/springframework/batch/integration/partition/JmsIntegrationTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2022 the original author or authors. + * Copyright 2006-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 @@ -35,6 +35,7 @@ import static org.junit.jupiter.api.Assertions.assertNotNull; /** * @author Dave Syer + * @author Mahmoud Ben Hassine * */ @SpringJUnitConfig @@ -73,7 +74,7 @@ class JmsIntegrationTests { // execution are old and we need to // pull them back out of the repository... stepExecution = jobExplorer.getStepExecution(jobExecution.getId(), stepExecution.getId()); - logger.debug("" + stepExecution); + logger.debug(String.valueOf(stepExecution)); assertEquals(BatchStatus.COMPLETED, stepExecution.getStatus()); } } diff --git a/spring-batch-samples/src/main/java/org/springframework/batch/sample/domain/trade/internal/FlatFileCustomerCreditDao.java b/spring-batch-samples/src/main/java/org/springframework/batch/sample/domain/trade/internal/FlatFileCustomerCreditDao.java index 0d8fed748..9d98f175a 100644 --- a/spring-batch-samples/src/main/java/org/springframework/batch/sample/domain/trade/internal/FlatFileCustomerCreditDao.java +++ b/spring-batch-samples/src/main/java/org/springframework/batch/sample/domain/trade/internal/FlatFileCustomerCreditDao.java @@ -1,5 +1,5 @@ /* - * Copyright 2006-2022 the original author or authors. + * Copyright 2006-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. @@ -46,7 +46,7 @@ public class FlatFileCustomerCreditDao implements CustomerCreditDao, DisposableB open(new ExecutionContext()); } - String line = "" + customerCredit.getName() + separator + customerCredit.getCredit(); + String line = customerCredit.getName() + separator + customerCredit.getCredit(); itemWriter.write(Chunk.of(line)); }