@Override protected ListenerMetaData getMetaDataFromPropertyName(String propertyName) { return StepListenerMetaData.fromPropertyName(propertyName); }
@Override protected ListenerMetaData[] getMetaDataValues() { return StepListenerMetaData.values(); }
@Test(expected = IllegalArgumentException.class) public void testWrongSignatureNamedMethod() { AbstractTestComponent delegate = new AbstractTestComponent() { @SuppressWarnings("unused") public void aMethod(Integer item) { executed = true; } }; factoryBean.setDelegate(delegate); Map<String, String> metaDataMap = new HashMap<>(); metaDataMap.put(AFTER_WRITE.getPropertyName(), "aMethod"); factoryBean.setMetaDataMap(metaDataMap); factoryBean.getObject(); }
@Test public void testAnnotatingInterfaceResultsInOneCall() throws Exception { MultipleAfterStep delegate = new MultipleAfterStep(); factoryBean.setDelegate(delegate); Map<String, String> metaDataMap = new HashMap<>(); metaDataMap.put(AFTER_STEP.getPropertyName(), "afterStep"); factoryBean.setMetaDataMap(metaDataMap); StepListener listener = (StepListener) factoryBean.getObject(); ((StepExecutionListener) listener).afterStep(stepExecution); assertEquals(1, delegate.callcount); }
public StepListenerParser() { this(StepListenerMetaData.values()); }
@Override protected ListenerMetaData getMetaDataFromPropertyName(String propertyName) { ListenerMetaData metaData = StepListenerMetaData.fromPropertyName(propertyName); if(metaData == null) { metaData = JsrStepListenerMetaData.fromPropertyName(propertyName); } return metaData; }
@Test public void testAllThreeTypes() throws Exception { // Test to make sure if someone has annotated a method, implemented the // interface, and given a string // method name, that all three will be called ThreeStepExecutionListener delegate = new ThreeStepExecutionListener(); factoryBean.setDelegate(delegate); Map<String, String> metaDataMap = new HashMap<>(); metaDataMap.put(AFTER_STEP.getPropertyName(), "destroy"); factoryBean.setMetaDataMap(metaDataMap); StepListener listener = (StepListener) factoryBean.getObject(); ((StepExecutionListener) listener).afterStep(stepExecution); assertEquals(3, delegate.callcount); }
@Override protected ListenerMetaData[] getMetaDataValues() { List<ListenerMetaData> values = new ArrayList<>(); Collections.addAll(values, StepListenerMetaData.values()); Collections.addAll(values, JsrStepListenerMetaData.values()); return values.toArray(new ListenerMetaData[values.size()]); } }
@Override protected ListenerMetaData getMetaDataFromPropertyName(String propertyName) { return StepListenerMetaData.fromPropertyName(propertyName); }
@Test public void testEmptySignatureNamedMethod() { AbstractTestComponent delegate = new AbstractTestComponent() { @SuppressWarnings("unused") public void aMethod() { executed = true; } }; factoryBean.setDelegate(delegate); Map<String, String> metaDataMap = new HashMap<>(); metaDataMap.put(AFTER_WRITE.getPropertyName(), "aMethod"); factoryBean.setMetaDataMap(metaDataMap); @SuppressWarnings("unchecked") ItemWriteListener<String> listener = (ItemWriteListener<String>) factoryBean.getObject(); listener.afterWrite(Arrays.asList("foo", "bar")); assertTrue(delegate.isExecuted()); }
/** * Convenience method to check whether the given object is or can be made * into a {@link StepListener}. * * @param delegate the object to check * @return true if the delegate is an instance of any of the * {@link StepListener} interfaces, or contains the marker * annotations */ public static boolean isListener(Object delegate) { return AbstractListenerFactoryBean.isListener(delegate, StepListener.class, StepListenerMetaData.values()); } }
@Override protected ListenerMetaData getMetaDataFromPropertyName(String propertyName) { return StepListenerMetaData.fromPropertyName(propertyName); }
@Test public void testRightSignatureNamedMethod() { AbstractTestComponent delegate = new AbstractTestComponent() { @SuppressWarnings("unused") public void aMethod(List<String> items) { executed = true; assertEquals("foo", items.get(0)); assertEquals("bar", items.get(1)); } }; factoryBean.setDelegate(delegate); Map<String, String> metaDataMap = new HashMap<>(); metaDataMap.put(AFTER_WRITE.getPropertyName(), "aMethod"); factoryBean.setMetaDataMap(metaDataMap); @SuppressWarnings("unchecked") ItemWriteListener<String> listener = (ItemWriteListener<String>) factoryBean.getObject(); listener.afterWrite(Arrays.asList("foo", "bar")); assertTrue(delegate.isExecuted()); }
@Override protected ListenerMetaData[] getMetaDataValues() { return StepListenerMetaData.values(); }
@Override protected ListenerMetaData getMetaDataFromPropertyName(String propertyName) { return StepListenerMetaData.fromPropertyName(propertyName); }
@Override protected ListenerMetaData[] getMetaDataValues() { return StepListenerMetaData.values(); }
protected ListenerMetaData getMetaDataFromPropertyName(String propertyName) { return StepListenerMetaData.fromPropertyName(propertyName); }
protected ListenerMetaData[] getMetaDataValues() { return StepListenerMetaData.values(); }
@Override protected ListenerMetaData getMetaDataFromPropertyName(String propertyName) { ListenerMetaData metaData = StepListenerMetaData.fromPropertyName(propertyName); if(metaData == null) { metaData = JsrStepListenerMetaData.fromPropertyName(propertyName); } return metaData; }
@Override protected ListenerMetaData[] getMetaDataValues() { return StepListenerMetaData.values(); }