From 55dd2d5b6914de8b7c85f66a6a5723c7565c6c07 Mon Sep 17 00:00:00 2001 From: robokaso Date: Mon, 24 Nov 2008 10:10:11 +0000 Subject: [PATCH] findbugs fixes --- .../SimpleDelegatingPagingQueryProvider.java | 4 +- .../RethrowOnThresholdExceptionHandler.java | 21 +++++++---- .../ExceptionClassifierRetryPolicy.java | 2 +- .../batch/support/SubclassClassifier.java | 3 +- .../java/MultiResourceItemWriterXmlTests.java | 4 +- .../item/adapter/AbstractDelegatorTests.java | 2 +- ...lumnMapExecutionContextRowMapperTests.java | 8 ++-- ...olumnJdbcKeyGeneratorIntegrationTests.java | 6 +-- .../AbstractMultiResourceItemWriterTests.java | 37 +++++++++++-------- .../item/file/FlatFileItemReaderTests.java | 10 ++--- .../item/validator/SpringValidatorTests.java | 2 +- .../item/xml/StaxEventItemReaderTests.java | 2 +- .../RepeatOperationsInterceptorTests.java | 2 +- .../batch/retry/backoff/DummySleeper.java | 2 +- .../policy/StatefulRetryIntegrationTests.java | 2 +- .../support/StatefulRecoveryRetryTests.java | 3 ++ 16 files changed, 63 insertions(+), 47 deletions(-) diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/SimpleDelegatingPagingQueryProvider.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/SimpleDelegatingPagingQueryProvider.java index e6b6ba853..2eec1be33 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/SimpleDelegatingPagingQueryProvider.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/item/database/support/SimpleDelegatingPagingQueryProvider.java @@ -17,6 +17,8 @@ package org.springframework.batch.item.database.support; import static org.springframework.batch.support.DatabaseType.*; +import java.util.Arrays; + import org.springframework.batch.support.DatabaseType; import org.springframework.dao.InvalidDataAccessResourceUsageException; @@ -65,7 +67,7 @@ public class SimpleDelegatingPagingQueryProvider extends AbstractSqlPagingQueryP else { throw new InvalidDataAccessResourceUsageException(type.name() + " is not a supported database. The supported databases are " + - DatabaseType.values().toString()); + Arrays.toString(DatabaseType.values())); } delegate.setSelectClause(this.getSelectClause()); delegate.setFromClause(this.getFromClause()); diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/repeat/exception/RethrowOnThresholdExceptionHandler.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/repeat/exception/RethrowOnThresholdExceptionHandler.java index a8dc91f70..06c39aa32 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/repeat/exception/RethrowOnThresholdExceptionHandler.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/repeat/exception/RethrowOnThresholdExceptionHandler.java @@ -18,6 +18,7 @@ package org.springframework.batch.repeat.exception; import java.util.HashMap; import java.util.Map; +import java.util.Map.Entry; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; @@ -43,7 +44,9 @@ public class RethrowOnThresholdExceptionHandler implements ExceptionHandler { protected final Log logger = LogFactory.getLog(RethrowOnThresholdExceptionHandler.class); private Classifier exceptionClassifier = new Classifier() { - public RethrowOnThresholdExceptionHandler.IntegerHolder classify(Throwable classifiable) { return ZERO;} + public RethrowOnThresholdExceptionHandler.IntegerHolder classify(Throwable classifiable) { + return ZERO; + } }; private boolean useParent = false; @@ -75,8 +78,8 @@ public class RethrowOnThresholdExceptionHandler implements ExceptionHandler { */ public void setThresholds(Map, Integer> thresholds) { Map, IntegerHolder> typeMap = new HashMap, IntegerHolder>(); - for (Class type : thresholds.keySet()) { - typeMap.put(type, new IntegerHolder(thresholds.get(type))); + for (Entry, Integer> entry : thresholds.entrySet()) { + typeMap.put(entry.getKey(), new IntegerHolder(entry.getValue())); } exceptionClassifier = new SubclassClassifier(typeMap, ZERO); } @@ -92,7 +95,7 @@ public class RethrowOnThresholdExceptionHandler implements ExceptionHandler { public void handleException(RepeatContext context, Throwable throwable) throws Throwable { IntegerHolder key = exceptionClassifier.classify(throwable); - + RepeatContextCounter counter = getCounter(context, key); counter.increment(); int count = counter.getCount(); @@ -123,7 +126,7 @@ public class RethrowOnThresholdExceptionHandler implements ExceptionHandler { public IntegerHolder(int value) { this.value = value; } - + /** * Public getter for the value. * @return the value @@ -131,13 +134,15 @@ public class RethrowOnThresholdExceptionHandler implements ExceptionHandler { public int getValue() { return value; } - - /* (non-Javadoc) + + /* + * (non-Javadoc) + * * @see java.lang.Object#toString() */ @Override public String toString() { - return ObjectUtils.getIdentityHexString(this)+"."+value; + return ObjectUtils.getIdentityHexString(this) + "." + value; } } diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/retry/policy/ExceptionClassifierRetryPolicy.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/retry/policy/ExceptionClassifierRetryPolicy.java index 9fc9c3daa..d54c15aae 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/retry/policy/ExceptionClassifierRetryPolicy.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/retry/policy/ExceptionClassifierRetryPolicy.java @@ -107,7 +107,7 @@ public class ExceptionClassifierRetryPolicy implements RetryPolicy { ((RetryContextSupport) context).registerThrowable(throwable); } - private class ExceptionClassifierRetryContext extends RetryContextSupport implements RetryPolicy { + private static class ExceptionClassifierRetryContext extends RetryContextSupport implements RetryPolicy { final private Classifier exceptionClassifier; diff --git a/spring-batch-infrastructure/src/main/java/org/springframework/batch/support/SubclassClassifier.java b/spring-batch-infrastructure/src/main/java/org/springframework/batch/support/SubclassClassifier.java index 66d757bca..c35446c75 100644 --- a/spring-batch-infrastructure/src/main/java/org/springframework/batch/support/SubclassClassifier.java +++ b/spring-batch-infrastructure/src/main/java/org/springframework/batch/support/SubclassClassifier.java @@ -15,6 +15,7 @@ */ package org.springframework.batch.support; +import java.io.Serializable; import java.util.Comparator; import java.util.HashMap; import java.util.Map; @@ -131,7 +132,7 @@ public class SubclassClassifier implements Classifier { * @author Dave Syer * */ - private static class ClassComparator implements Comparator> { + private static class ClassComparator implements Comparator>, Serializable { /** * @return 1 if arg0 is assignable from arg1, -1 otherwise * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) diff --git a/spring-batch-infrastructure/src/test/java/MultiResourceItemWriterXmlTests.java b/spring-batch-infrastructure/src/test/java/MultiResourceItemWriterXmlTests.java index 4578fed6d..fe243c6d9 100644 --- a/spring-batch-infrastructure/src/test/java/MultiResourceItemWriterXmlTests.java +++ b/spring-batch-infrastructure/src/test/java/MultiResourceItemWriterXmlTests.java @@ -24,9 +24,9 @@ import org.springframework.xml.transform.StaxResult; */ public class MultiResourceItemWriterXmlTests extends AbstractMultiResourceItemWriterTests { - final private String xmlDocStart = ""; + final static private String xmlDocStart = ""; - final private String xmlDocEnd = ""; + final static private String xmlDocEnd = ""; @Override @Before diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/adapter/AbstractDelegatorTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/adapter/AbstractDelegatorTests.java index 7823e65d1..b0c08efa5 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/adapter/AbstractDelegatorTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/adapter/AbstractDelegatorTests.java @@ -72,7 +72,7 @@ public class AbstractDelegatorTests extends TestCase { final String FOO_NAME = "fooName"; final int FOO_VALUE = 12345; - delegator.invokeDelegateMethodWithArguments(new Object[]{FOO_NAME, new Integer(FOO_VALUE)}); + delegator.invokeDelegateMethodWithArguments(new Object[]{FOO_NAME, Integer.valueOf(FOO_VALUE)}); Foo foo = (Foo) fooService.getProcessedFooNameValuePairs().get(0); assertEquals(FOO_NAME, foo.getName()); assertEquals(FOO_VALUE, foo.getValue()); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/ColumnMapExecutionContextRowMapperTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/ColumnMapExecutionContextRowMapperTests.java index 7939704d2..75de07fcc 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/ColumnMapExecutionContextRowMapperTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/ColumnMapExecutionContextRowMapperTests.java @@ -30,8 +30,8 @@ public class ColumnMapExecutionContextRowMapperTests extends TestCase { mapper = new ColumnMapItemPreparedStatementSetter(); key = new LinkedHashMap(2); - key.put("1", new Integer(1)); - key.put("2", new Integer(2)); + key.put("1", Integer.valueOf(1)); + key.put("2", Integer.valueOf(2)); } public void testCreateExecutionContextFromEmptyKeys() throws Exception { @@ -43,8 +43,8 @@ public class ColumnMapExecutionContextRowMapperTests extends TestCase { public void testCreateSetter() throws Exception { - ps.setObject(1, new Integer(1)); - ps.setObject(2, new Integer(2)); + ps.setObject(1, Integer.valueOf(1)); + ps.setObject(2, Integer.valueOf(2)); replay(ps); mapper.setValues(key, ps); verify(ps); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/SingleColumnJdbcKeyGeneratorIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/SingleColumnJdbcKeyGeneratorIntegrationTests.java index 67c2f1598..fbaa86013 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/SingleColumnJdbcKeyGeneratorIntegrationTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/SingleColumnJdbcKeyGeneratorIntegrationTests.java @@ -56,7 +56,7 @@ public class SingleColumnJdbcKeyGeneratorIntegrationTests { for (int i = 0; i < keys.size(); i++) { Long id = keys.get(i); - assertEquals(new Long(i + 1), id); + assertEquals(Long.valueOf(i + 1), id); } for (Long key : keys) { System.out.println(key); @@ -72,8 +72,8 @@ public class SingleColumnJdbcKeyGeneratorIntegrationTests { List keys = keyStrategy.retrieveKeys(executionContext); assertEquals(2, keys.size()); - assertEquals(new Long(4), keys.get(0)); - assertEquals(new Long(5), keys.get(1)); + assertEquals(Long.valueOf(4), keys.get(0)); + assertEquals(Long.valueOf(5), keys.get(1)); for (Long key : keys) { System.out.println(key); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/AbstractMultiResourceItemWriterTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/AbstractMultiResourceItemWriterTests.java index dbd7903ba..0591f3146 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/AbstractMultiResourceItemWriterTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/AbstractMultiResourceItemWriterTests.java @@ -22,30 +22,35 @@ public class AbstractMultiResourceItemWriterTests { protected ResourceSuffixCreator suffixCreator = new SimpleResourceSuffixCreator(); - protected ResourceAwareItemWriterItemStream delegate; + protected ResourceAwareItemWriterItemStream delegate; - protected ExecutionContext executionContext = new ExecutionContext(); + protected ExecutionContext executionContext = new ExecutionContext(); - @Before - public void setUp() throws Exception { - file = File.createTempFile(MultiResourceItemWriterFlatFileTests.class.getSimpleName(), null); - tested.setResource(new FileSystemResource(file)); - tested.setDelegate(delegate); - tested.setResourceSuffixCreator(suffixCreator); - tested.setItemCountLimitPerResource(2); - tested.setSaveState(true); - tested.open(executionContext); + @Before + public void setUp() throws Exception { + file = File.createTempFile(MultiResourceItemWriterFlatFileTests.class.getSimpleName(), null); + tested.setResource(new FileSystemResource(file)); + tested.setDelegate(delegate); + tested.setResourceSuffixCreator(suffixCreator); + tested.setItemCountLimitPerResource(2); + tested.setSaveState(true); + tested.open(executionContext); } protected String readFile(File f) throws Exception { BufferedReader reader = new BufferedReader(new FileReader(f)); StringBuilder result = new StringBuilder(); - while (true) { - String line = reader.readLine(); - if (line == null) { - break; + try { + while (true) { + String line = reader.readLine(); + if (line == null) { + break; + } + result.append(line); } - result.append(line); + } + finally { + reader.close(); } return result.toString(); } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/FlatFileItemReaderTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/FlatFileItemReaderTests.java index 97121c809..7bfbb4a11 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/FlatFileItemReaderTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/file/FlatFileItemReaderTests.java @@ -57,8 +57,8 @@ public class FlatFileItemReaderTests { reader.open(executionContext); - assertEquals("testLine1testLine2", reader.read().toString()); - assertEquals("testLine3testLine4", reader.read().toString()); + assertEquals("testLine1testLine2", reader.read()); + assertEquals("testLine3testLine4", reader.read()); reader.update(executionContext); @@ -66,7 +66,7 @@ public class FlatFileItemReaderTests { reader.open(executionContext); - assertEquals("testLine5testLine6", reader.read().toString()); + assertEquals("testLine5testLine6", reader.read()); } @Test @@ -95,8 +95,8 @@ public class FlatFileItemReaderTests { reader.open(executionContext); // read remaining records - assertEquals("testLine3", reader.read().toString()); - assertEquals("testLine4", reader.read().toString()); + assertEquals("testLine3", reader.read()); + assertEquals("testLine4", reader.read()); reader.update(executionContext); assertEquals(4, executionContext.getInt(ClassUtils.getShortName(FlatFileItemReader.class) + ".read.count")); diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/validator/SpringValidatorTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/validator/SpringValidatorTests.java index 62309a87c..0d881ef94 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/validator/SpringValidatorTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/validator/SpringValidatorTests.java @@ -56,7 +56,7 @@ public class SpringValidatorTests extends TestCase { */ public void testValidateUnsupportedType() { try { - validator.validate(new Integer(1)); // only strings are supported + validator.validate(Integer.valueOf(1)); // only strings are supported fail("must not validate unsupported classes"); } catch (ValidationException expected) { diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/xml/StaxEventItemReaderTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/xml/StaxEventItemReaderTests.java index 80f4af94c..1a30ebd6e 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/xml/StaxEventItemReaderTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/xml/StaxEventItemReaderTests.java @@ -351,7 +351,7 @@ public class StaxEventItemReaderTests { } } - private class NonExistentResource extends AbstractResource { + private static class NonExistentResource extends AbstractResource { public NonExistentResource() { } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/interceptor/RepeatOperationsInterceptorTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/interceptor/RepeatOperationsInterceptorTests.java index 9d45a7176..5f0649df6 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/interceptor/RepeatOperationsInterceptorTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/repeat/interceptor/RepeatOperationsInterceptorTests.java @@ -238,7 +238,7 @@ public class RepeatOperationsInterceptorTests extends TestCase { public Object service() throws Exception { count++; if (count <= maxService) { - return new Integer(count); + return Integer.valueOf(count); } else { return null; diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/retry/backoff/DummySleeper.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/retry/backoff/DummySleeper.java index 7cc3cba64..277bba9eb 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/retry/backoff/DummySleeper.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/retry/backoff/DummySleeper.java @@ -52,7 +52,7 @@ public class DummySleeper implements Sleeper { * @see org.springframework.batch.retry.backoff.Sleeper#sleep(long) */ public void sleep(long backOffPeriod) throws InterruptedException { - this.backOffs.add(new Long(backOffPeriod)); + this.backOffs.add(Long.valueOf(backOffPeriod)); } } diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/retry/policy/StatefulRetryIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/retry/policy/StatefulRetryIntegrationTests.java index 30ab5955e..435811d8c 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/retry/policy/StatefulRetryIntegrationTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/retry/policy/StatefulRetryIntegrationTests.java @@ -114,7 +114,7 @@ public class StatefulRetryIntegrationTests { * @author Dave Syer * */ - private final class MockRetryCallback implements RetryCallback { + private static final class MockRetryCallback implements RetryCallback { int attempts = 0; public String doWithRetry(RetryContext context) throws Exception { diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/retry/support/StatefulRecoveryRetryTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/retry/support/StatefulRecoveryRetryTests.java index dd3082b80..376c5ecc4 100644 --- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/retry/support/StatefulRecoveryRetryTests.java +++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/retry/support/StatefulRecoveryRetryTests.java @@ -308,6 +308,9 @@ public class StatefulRecoveryRetryTests { } public boolean equals(Object obj) { + if (obj == null || !(obj instanceof StringHolder)) { + return false; + } return string.equals(((StringHolder) obj).string); }