OPEN - issue BATCH-378: RepeatListener is confusing and too generic to use for 'intercepting' a step
http://jira.springframework.org/browse/BATCH-378 Add JobListener to SimpleJob. Change StepListener method names.
This commit is contained in:
@@ -0,0 +1,84 @@
|
||||
/*
|
||||
* Copyright 2006-2007 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
|
||||
*
|
||||
* http://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.core.interceptor;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
import junit.framework.TestCase;
|
||||
|
||||
import org.springframework.batch.core.domain.JobExecution;
|
||||
import org.springframework.batch.core.domain.JobInstance;
|
||||
import org.springframework.batch.core.domain.JobListener;
|
||||
import org.springframework.batch.core.domain.JobSupport;
|
||||
|
||||
/**
|
||||
* @author Dave Syer
|
||||
*
|
||||
*/
|
||||
public class CompositeJobListenerTests extends TestCase {
|
||||
|
||||
private CompositeJobListener listener = new CompositeJobListener();
|
||||
|
||||
private List list = new ArrayList();
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link org.springframework.batch.core.interceptor.CompositeJobListener#setListeners(org.springframework.batch.core.domain.JobListener[])}.
|
||||
*/
|
||||
public void testSetListeners() {
|
||||
listener.setListeners(new JobListener[] { new JobListenerSupport() {
|
||||
public void afterJob() {
|
||||
list.add("fail");
|
||||
}
|
||||
}, new JobListenerSupport() {
|
||||
public void afterJob() {
|
||||
list.add("continue");
|
||||
}
|
||||
} });
|
||||
listener.afterJob();
|
||||
assertEquals(2, list.size());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link org.springframework.batch.core.interceptor.CompositeJobListener#setListener(org.springframework.batch.core.domain.JobListener)}.
|
||||
*/
|
||||
public void testSetListener() {
|
||||
listener.setListener(new JobListenerSupport() {
|
||||
public void afterJob() {
|
||||
list.add("fail");
|
||||
}
|
||||
});
|
||||
listener.afterJob();
|
||||
assertEquals(1, list.size());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link org.springframework.batch.core.interceptor.CompositeJobListener#beforeJob(JobExecution)}.
|
||||
*/
|
||||
public void testOpen() {
|
||||
listener.setListener(new JobListenerSupport() {
|
||||
public void beforeJob(JobExecution stepExecution) {
|
||||
list.add("foo");
|
||||
}
|
||||
});
|
||||
listener.beforeJob(new JobExecution(new JobInstance(new Long(11L), null, new JobSupport())));
|
||||
assertEquals(1, list.size());
|
||||
}
|
||||
|
||||
}
|
||||
@@ -41,17 +41,17 @@ public class CompositeStepListenerTests extends TestCase {
|
||||
*/
|
||||
public void testSetListeners() {
|
||||
listener.setListeners(new StepListener[] { new StepListenerSupport() {
|
||||
public ExitStatus close() {
|
||||
public ExitStatus afterStep() {
|
||||
list.add("fail");
|
||||
return ExitStatus.FAILED;
|
||||
}
|
||||
}, new StepListenerSupport() {
|
||||
public ExitStatus close() {
|
||||
public ExitStatus afterStep() {
|
||||
list.add("continue");
|
||||
return ExitStatus.CONTINUABLE;
|
||||
}
|
||||
} });
|
||||
assertFalse(listener.close().isContinuable());
|
||||
assertFalse(listener.afterStep().isContinuable());
|
||||
assertEquals(2, list.size());
|
||||
}
|
||||
|
||||
@@ -61,41 +61,41 @@ public class CompositeStepListenerTests extends TestCase {
|
||||
*/
|
||||
public void testSetListener() {
|
||||
listener.setListener(new StepListenerSupport() {
|
||||
public ExitStatus close() {
|
||||
public ExitStatus afterStep() {
|
||||
list.add("fail");
|
||||
return ExitStatus.FAILED;
|
||||
}
|
||||
});
|
||||
assertFalse(listener.close().isContinuable());
|
||||
assertFalse(listener.afterStep().isContinuable());
|
||||
assertEquals(1, list.size());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link org.springframework.batch.core.interceptor.CompositeStepListener#open(StepExecution)}.
|
||||
* {@link org.springframework.batch.core.interceptor.CompositeStepListener#beforeStep(StepExecution)}.
|
||||
*/
|
||||
public void testOpen() {
|
||||
listener.setListener(new StepListenerSupport() {
|
||||
public void open(StepExecution stepExecution) {
|
||||
public void beforeStep(StepExecution stepExecution) {
|
||||
list.add("foo");
|
||||
}
|
||||
});
|
||||
listener.open(new StepExecution(new StepSupport("foo"), null));
|
||||
listener.beforeStep(new StepExecution(new StepSupport("foo"), null));
|
||||
assertEquals(1, list.size());
|
||||
}
|
||||
|
||||
/**
|
||||
* Test method for
|
||||
* {@link org.springframework.batch.core.interceptor.CompositeStepListener#open(StepExecution)}.
|
||||
* {@link org.springframework.batch.core.interceptor.CompositeStepListener#beforeStep(StepExecution)}.
|
||||
*/
|
||||
public void testOnError() {
|
||||
listener.setListener(new StepListenerSupport() {
|
||||
public ExitStatus onError(Throwable e) {
|
||||
public ExitStatus onErrorInStep(Throwable e) {
|
||||
list.add("foo");
|
||||
return null;
|
||||
}
|
||||
});
|
||||
listener.onError(new RuntimeException());
|
||||
listener.onErrorInStep(new RuntimeException());
|
||||
assertEquals(1, list.size());
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user