Package org.springframework.scripting

Examples of org.springframework.scripting.Messenger


  public void testStaticScriptImplementingInterface() throws Exception {
    ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("bshContext.xml", getClass());
    assertTrue(Arrays.asList(ctx.getBeanNamesForType(Messenger.class)).contains("messengerImpl"));

    Messenger messenger = (Messenger) ctx.getBean("messengerImpl");
    String desiredMessage = "Hello World!";
    assertEquals("Message is incorrect", desiredMessage, messenger.getMessage());
    assertTrue(ctx.getBeansOfType(Messenger.class).values().contains(messenger));

    ctx.close();
    assertNull(messenger.getMessage());
  }
View Full Code Here


    assertEquals("Byebye World!", messenger2.getMessage());
  }

  public void testNonStaticScript() throws Exception {
    ApplicationContext ctx = new ClassPathXmlApplicationContext("bshRefreshableContext.xml", getClass());
    Messenger messenger = (Messenger) ctx.getBean("messenger");

    assertTrue("Should be a proxy for refreshable scripts", AopUtils.isAopProxy(messenger));
    assertTrue("Should be an instance of Refreshable", messenger instanceof Refreshable);

    String desiredMessage = "Hello World!";
    assertEquals("Message is incorrect", desiredMessage, messenger.getMessage());

    Refreshable refreshable = (Refreshable) messenger;
    refreshable.refresh();

    assertEquals("Message is incorrect after refresh", desiredMessage, messenger.getMessage());
    assertEquals("Incorrect refresh count", 2, refreshable.getRefreshCount());
  }
View Full Code Here

    given(script.getScriptAsString()).willReturn(badScript);
    given(script.isModified()).willReturn(true);
    BshScriptFactory factory = new BshScriptFactory(
        ScriptFactoryPostProcessor.INLINE_SCRIPT_PREFIX + badScript, Messenger.class);
    try {
      Messenger messenger = (Messenger) factory.getScriptedObject(script, Messenger.class);
      messenger.getMessage();
      fail("Must have thrown a BshScriptUtils.BshExecutionException.");
    }
    catch (BshScriptUtils.BshExecutionException expected) {
    }
  }
View Full Code Here

    Collection<String> beanNames = Arrays.asList(ctx.getBeanNamesForType(Messenger.class));
    assertTrue(beanNames.contains("messenger"));
    assertTrue(beanNames.contains("messengerImpl"));
    assertTrue(beanNames.contains("messengerInstance"));

    Messenger messenger = (Messenger) ctx.getBean("messenger");
    assertEquals("Hello World!", messenger.getMessage());
    assertFalse(messenger instanceof Refreshable);

    Messenger messengerImpl = (Messenger) ctx.getBean("messengerImpl");
    assertEquals("Hello World!", messengerImpl.getMessage());

    Messenger messengerInstance = (Messenger) ctx.getBean("messengerInstance");
    assertEquals("Hello World!", messengerInstance.getMessage());

    TestBeanAwareMessenger messengerByType = (TestBeanAwareMessenger) ctx.getBean("messengerByType");
    assertEquals(testBean, messengerByType.getTestBean());

    TestBeanAwareMessenger messengerByName = (TestBeanAwareMessenger) ctx.getBean("messengerByName");
    assertEquals(testBean, messengerByName.getTestBean());

    Collection<Messenger> beans = ctx.getBeansOfType(Messenger.class).values();
    assertTrue(beans.contains(messenger));
    assertTrue(beans.contains(messengerImpl));
    assertTrue(beans.contains(messengerInstance));
    assertTrue(beans.contains(messengerByType));
    assertTrue(beans.contains(messengerByName));

    ctx.close();
    assertNull(messenger.getMessage());
    assertNull(messengerImpl.getMessage());
    assertNull(messengerInstance.getMessage());
  }
View Full Code Here

    assertFalse(calculator instanceof Refreshable);
  }

  public void testRefreshableFromTag() throws Exception {
    ApplicationContext ctx = new ClassPathXmlApplicationContext("bsh-with-xsd.xml", getClass());
    Messenger messenger = (Messenger) ctx.getBean("refreshableMessenger");
    assertEquals("Hello World!", messenger.getMessage());
    assertTrue("Messenger should be Refreshable", messenger instanceof Refreshable);
  }
View Full Code Here

    assertTrue("Messenger should be Refreshable", messenger instanceof Refreshable);
  }

  public void testApplicationEventListener() throws Exception {
    ApplicationContext ctx = new ClassPathXmlApplicationContext("bsh-with-xsd.xml", getClass());
    Messenger eventListener = (Messenger) ctx.getBean("eventListener");
    ctx.publishEvent(new MyEvent(ctx));
    assertEquals("count=2", eventListener.getMessage());
  }
View Full Code Here

  @Test
  public void testAdviseWithProxyFactoryBean() {
    ClassPathXmlApplicationContext ctx =
      new ClassPathXmlApplicationContext(FACTORYBEAN_CONTEXT, CLASS);
    try {
      Messenger bean = (Messenger) ctx.getBean("messenger");
      assertTrue("Bean is not a proxy", AopUtils.isAopProxy(bean));
      assertTrue("Bean is not an Advised object", bean instanceof Advised);

      CountingBeforeAdvice advice = (CountingBeforeAdvice) ctx.getBean("advice");
      assertEquals(0, advice.getCalls());
      bean.getMessage();
      assertEquals(1, advice.getCalls());
    } finally {
      ctx.close();
    }
  }
View Full Code Here

  @Test
  public void testAdviseWithBeanNameAutoProxyCreator() {
    ClassPathXmlApplicationContext ctx =
      new ClassPathXmlApplicationContext(APC_CONTEXT, CLASS);
    try {
      Messenger bean = (Messenger) ctx.getBean("messenger");
      assertTrue("Bean is not a proxy", AopUtils.isAopProxy(bean));
      assertTrue("Bean is not an Advised object", bean instanceof Advised);

      CountingBeforeAdvice advice = (CountingBeforeAdvice) ctx.getBean("advice");
      assertEquals(0, advice.getCalls());
      bean.getMessage();
      assertEquals(1, advice.getCalls());
    } finally {
      ctx.close();
    }
  }
View Full Code Here

    assertTrue(Arrays.asList(ctx.getBeanNamesForType(Calculator.class)).contains("calculator"));
    assertTrue(Arrays.asList(ctx.getBeanNamesForType(Messenger.class)).contains("messenger"));

    Calculator calc = (Calculator) ctx.getBean("calculator");
    Messenger messenger = (Messenger) ctx.getBean("messenger");

    assertFalse("Shouldn't get proxy when refresh is disabled", AopUtils.isAopProxy(calc));
    assertFalse("Shouldn't get proxy when refresh is disabled", AopUtils.isAopProxy(messenger));

    assertFalse("Scripted object should not be instance of Refreshable", calc instanceof Refreshable);
    assertFalse("Scripted object should not be instance of Refreshable", messenger instanceof Refreshable);

    assertEquals(calc, calc);
    assertEquals(messenger, messenger);
    assertTrue(!messenger.equals(calc));
    assertTrue(messenger.hashCode() != calc.hashCode());
    assertTrue(!messenger.toString().equals(calc.toString()));

    String desiredMessage = "Hello World!";
    assertEquals("Message is incorrect", desiredMessage, messenger.getMessage());

    assertTrue(ctx.getBeansOfType(Calculator.class).values().contains(calc));
    assertTrue(ctx.getBeansOfType(Messenger.class).values().contains(messenger));
  }
View Full Code Here

  @Test
  public void testStaticScriptWithInstance() throws Exception {
    ApplicationContext ctx = new ClassPathXmlApplicationContext("groovyContext.xml", getClass());
    assertTrue(Arrays.asList(ctx.getBeanNamesForType(Messenger.class)).contains("messengerInstance"));
    Messenger messenger = (Messenger) ctx.getBean("messengerInstance");

    assertFalse("Shouldn't get proxy when refresh is disabled", AopUtils.isAopProxy(messenger));
    assertFalse("Scripted object should not be instance of Refreshable", messenger instanceof Refreshable);

    String desiredMessage = "Hello World!";
    assertEquals("Message is incorrect", desiredMessage, messenger.getMessage());
    assertTrue(ctx.getBeansOfType(Messenger.class).values().contains(messenger));
  }
View Full Code Here

TOP

Related Classes of org.springframework.scripting.Messenger

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.