/** * Convenience method to wrap any object and expose the appropriate * {@link JobExecutionListener} interfaces. * * @param delegate a delegate object * @return a JobListener instance constructed from the delegate */ public static JobExecutionListener getListener(Object delegate) { JobListenerFactoryBean factory = new JobListenerFactoryBean(); factory.setDelegate(delegate); return (JobExecutionListener) factory.getObject(); }
@Test(expected = IllegalArgumentException.class) public void testWrongSignatureAnnotation() { AbstractTestComponent delegate = new AbstractTestComponent() { @AfterJob public void aMethod(Integer item) { executed = true; } }; factoryBean.setDelegate(delegate); factoryBean.getObject(); }
@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_JOB.getPropertyName(), "aMethod"); factoryBean.setMetaDataMap(metaDataMap); factoryBean.getObject(); }
@Test public void testVanillaInterfaceWithProxy() throws Exception { JobListenerWithInterface delegate = new JobListenerWithInterface(); ProxyFactory factory = new ProxyFactory(delegate); factoryBean.setDelegate(factory.getProxy()); Object listener = factoryBean.getObject(); assertTrue(listener instanceof JobExecutionListener); }
@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_JOB.getPropertyName(), "aMethod"); factoryBean.setMetaDataMap(metaDataMap); JobExecutionListener listener = (JobExecutionListener) factoryBean.getObject(); listener.afterJob(new JobExecution(1L)); assertTrue(delegate.isExecuted()); }
@Test public void testRightSignatureNamedMethod() { AbstractTestComponent delegate = new AbstractTestComponent() { @SuppressWarnings("unused") public void aMethod(JobExecution jobExecution) { executed = true; assertEquals(new Long(25), jobExecution.getId()); } }; factoryBean.setDelegate(delegate); Map<String, String> metaDataMap = new HashMap<>(); metaDataMap.put(AFTER_JOB.getPropertyName(), "aMethod"); factoryBean.setMetaDataMap(metaDataMap); JobExecutionListener listener = (JobExecutionListener) factoryBean.getObject(); listener.afterJob(new JobExecution(25L)); assertTrue(delegate.isExecuted()); }
@Test public void testEmptySignatureAnnotation() { AbstractTestComponent delegate = new AbstractTestComponent() { @AfterJob public void aMethod() { executed = true; } }; factoryBean.setDelegate(delegate); JobExecutionListener listener = (JobExecutionListener) factoryBean.getObject(); listener.afterJob(new JobExecution(1L)); assertTrue(delegate.isExecuted()); }
@Test public void testRightSignatureAnnotation() { AbstractTestComponent delegate = new AbstractTestComponent() { @AfterJob public void aMethod(JobExecution jobExecution) { executed = true; assertEquals(new Long(25), jobExecution.getId()); } }; factoryBean.setDelegate(delegate); JobExecutionListener listener = (JobExecutionListener) factoryBean.getObject(); listener.afterJob(new JobExecution(25L)); assertTrue(delegate.isExecuted()); }
@Test public void testWithInterface() throws Exception { JobListenerWithInterface delegate = new JobListenerWithInterface(); factoryBean.setDelegate(delegate); JobExecutionListener listener = (JobExecutionListener) factoryBean.getObject(); JobExecution jobExecution = new JobExecution(11L); listener.beforeJob(jobExecution); listener.afterJob(jobExecution); assertTrue(delegate.beforeJobCalled); assertTrue(delegate.afterJobCalled); }
@Test public void testWithAnnotations() throws Exception { AnnotatedTestClass delegate = new AnnotatedTestClass(); factoryBean.setDelegate(delegate); JobExecutionListener listener = (JobExecutionListener) factoryBean.getObject(); JobExecution jobExecution = new JobExecution(11L); listener.beforeJob(jobExecution); listener.afterJob(jobExecution); assertTrue(delegate.beforeJobCalled); assertTrue(delegate.afterJobCalled); }
/** * Convenience method to wrap any object and expose the appropriate * {@link JobExecutionListener} interfaces. * * @param delegate a delegate object * @return a JobListener instance constructed from the delegate */ public static JobExecutionListener getListener(Object delegate) { JobListenerFactoryBean factory = new JobListenerFactoryBean(); factory.setDelegate(delegate); return (JobExecutionListener) factory.getObject(); }
/** * Convenience method to wrap any object and expose the appropriate * {@link JobExecutionListener} interfaces. * * @param delegate a delegate object * @return a JobListener instance constructed from the delegate */ public static JobExecutionListener getListener(Object delegate) { JobListenerFactoryBean factory = new JobListenerFactoryBean(); factory.setDelegate(delegate); return (JobExecutionListener) factory.getObject(); }
/** * Convenience method to wrap any object and expose the appropriate * {@link JobExecutionListener} interfaces. * * @param delegate a delegate object * @return a JobListener instance constructed from the delegate */ public static JobExecutionListener getListener(Object delegate) { JobListenerFactoryBean factory = new JobListenerFactoryBean(); factory.setDelegate(delegate); return (JobExecutionListener) factory.getObject(); }
/** * Convenience method to wrap any object and expose the appropriate * {@link JobExecutionListener} interfaces. * * @param delegate a delegate object * @return a JobListener instance constructed from the delegate */ public static JobExecutionListener getListener(Object delegate) { JobListenerFactoryBean factory = new JobListenerFactoryBean(); factory.setDelegate(delegate); return (JobExecutionListener) factory.getObject(); }