Example usage for org.springframework.batch.core.jsr.configuration.xml JsrXmlApplicationContext getBeanDefinition

List of usage examples for org.springframework.batch.core.jsr.configuration.xml JsrXmlApplicationContext getBeanDefinition

Introduction

In this page you can find the example usage for org.springframework.batch.core.jsr.configuration.xml JsrXmlApplicationContext getBeanDefinition.

Prototype

@Override
    public BeanDefinition getBeanDefinition(String beanName) throws NoSuchBeanDefinitionException 

Source Link

Usage

From source file:org.springframework.batch.core.jsr.configuration.xml.JsrBeanDefinitionDocumentReaderTests.java

@Test
@SuppressWarnings("resource")
public void testGetJobParameters() {
    Properties jobParameters = new Properties();
    jobParameters.setProperty("jobParameter1", "jobParameter1Value");
    jobParameters.setProperty("jobParameter2", "jobParameter2Value");

    JsrXmlApplicationContext applicationContext = new JsrXmlApplicationContext(jobParameters);
    applicationContext.setValidating(false);
    applicationContext.load(new ClassPathResource("jsrBaseContext.xml"),
            new ClassPathResource("/META-INF/batch.xml"),
            new ClassPathResource("/META-INF/batch-jobs/jsrPropertyPreparseTestJob.xml"));
    applicationContext.refresh();// w  w w . j a  v a 2  s  .c  o m

    BeanDefinition beanDefinition = applicationContext.getBeanDefinition(JOB_PARAMETERS_BEAN_DEFINITION_NAME);

    Properties processedJobParameters = (Properties) beanDefinition.getConstructorArgumentValues()
            .getGenericArgumentValue(Properties.class).getValue();
    assertNotNull(processedJobParameters);
    assertTrue("Wrong number of job parameters", processedJobParameters.size() == 2);
    assertEquals("jobParameter1Value", processedJobParameters.getProperty("jobParameter1"));
    assertEquals("jobParameter2Value", processedJobParameters.getProperty("jobParameter2"));
}

From source file:org.springframework.batch.core.jsr.configuration.xml.JsrBeanDefinitionDocumentReaderTests.java

@Test
@SuppressWarnings("resource")
public void testGenerationOfSpringBeanDefinitionsForMultipleReferences() {
    JsrXmlApplicationContext applicationContext = new JsrXmlApplicationContext(new Properties());
    applicationContext.setValidating(false);
    applicationContext.load(new ClassPathResource("jsrBaseContext.xml"),
            new ClassPathResource("/META-INF/batch-jobs/jsrSpringInstanceTests.xml"));

    applicationContext.refresh();/*  w  w w.j  a  va 2 s .com*/

    assertTrue("exitStatusSettingStepListener bean definition not found",
            applicationContext.containsBeanDefinition("exitStatusSettingStepListener"));
    assertTrue("scopedTarget.exitStatusSettingStepListener bean definition not found",
            applicationContext.containsBeanDefinition("scopedTarget.exitStatusSettingStepListener"));

    BeanDefinition exitStatusSettingStepListenerBeanDefinition = applicationContext
            .getBeanDefinition("scopedTarget.exitStatusSettingStepListener");
    assertTrue("step".equals(exitStatusSettingStepListenerBeanDefinition.getScope()));

    assertTrue("Should not contain bean definition for exitStatusSettingStepListener1",
            !applicationContext.containsBeanDefinition("exitStatusSettingStepListener1"));
    assertTrue("Should not contain bean definition for exitStatusSettingStepListener2",
            !applicationContext.containsBeanDefinition("exitStatusSettingStepListener2"));
    assertTrue("Should not contain bean definition for exitStatusSettingStepListener3",
            !applicationContext.containsBeanDefinition("exitStatusSettingStepListener3"));

    assertTrue("Should not contain bean definition for testBatchlet1",
            !applicationContext.containsBeanDefinition("testBatchlet1"));
    assertTrue("Should not contain bean definition for testBatchlet2",
            !applicationContext.containsBeanDefinition("testBatchlet2"));

    assertTrue("testBatchlet bean definition not found",
            applicationContext.containsBeanDefinition("testBatchlet"));

    BeanDefinition testBatchletBeanDefinition = applicationContext.getBeanDefinition("testBatchlet");
    assertTrue("singleton".equals(testBatchletBeanDefinition.getScope()));
}