RESOLVED - BATCH-589: StepExecutionResourceProxy's toString() leads to NPE

toString returns filePattern if delegate is null
This commit is contained in:
robokaso
2008-04-16 13:14:00 +00:00
parent eb67e73ab0
commit f9d97f5a3b
2 changed files with 12 additions and 4 deletions

View File

@@ -288,12 +288,10 @@ public class StepExecutionResourceProxy extends StepExecutionListenerSupport imp
}
/**
* Delegates to the proxied Resource.
* Delegates to the proxied Resource if set, otherwise returns the {@link #filePattern}.
*/
public String toString() {
Assert.state(delegate != null, "The delegate resource has not been initialised. "
+ "Remember to register this object as a StepListener.");
return delegate.toString();
return (delegate == null) ? filePattern : delegate.toString();
}
}

View File

@@ -133,6 +133,16 @@ public class StepExecutionResourceProxyTests extends TestCase {
resource.beforeStep(stepExecution);
assertEquals("to-string-test-resource", resource.toString());
}
/**
* If delegate is not set toString returns the filePattern.
*/
public void testToStringWithNullDelegate() {
resource = new StepExecutionResourceProxy();
String filePattern = "arbitrary pattern";
resource.setFilePattern("arbitrary pattern");
assertEquals(filePattern, resource.toString());
}
private void doTestPathName(String filename, String path) throws Exception, IOException {
String returnedPath = resource.getFile().getAbsolutePath();