Exemplo n.º 1
0
  public void testVerifierCallback() throws Exception {
    List<Object> list2 = new ArrayList<Object>();
    list2.add(new VerifierCallbackListener());
    DIContainer real = DIContainerFactory.getDIContainer();
    Map<Object, Object> map = new HashMap<Object, Object>();
    map.put(BasicService.PERSISTENCE_EVENT_LISTENERS, list2);
    MapDIContainer wrapper = new MapDIContainer(map);
    DIContainerFactory.setDIContainer(
        new CompositeDIContainer(Arrays.asList(new DIContainer[] {wrapper, real})));
    System.out.println(DIContainerFactory.getDIContainer().getClass().getName());
    try {
      SortedSet<CallbackEventListener> listeners =
          BasicService.getService().getEventListener(Unit.class, CallbackEventType.VERIFIER);
      assertEquals("返却数が誤っています。", 5, listeners.size());

      Unit u = BasicService.getService().findByPK(Unit.class, 1L);
      Messages msgs = u.validateObject();
      assertFalse("エラーが発生しています。", msgs.hasError());

      u.setName("verify");
      msgs = u.validateObject();
      System.out.println(msgs);
      assertFalse("エラーが発生しています。", msgs.hasError());

      u.setName("verify1");
      msgs = u.validateObject();
      System.out.println(msgs);
      assertTrue("エラーが発生していません。", msgs.hasError());

      u.setName("verify2");
      msgs = u.validateObject();
      System.out.println(msgs);
      assertTrue("エラーが発生していません。", msgs.hasError());

      u.setName("verify3");
      msgs = u.validateObject();
      System.out.println(msgs);
      assertTrue("エラーが発生していません。", msgs.hasError());

      u.setName("verify4");
      msgs = u.validateObject();
      System.out.println(msgs);
      assertFalse("エラーが発生しています。", msgs.hasError());

      msgs = BasicService.getService().validate(u, WhenVerifier.INSERT);
      System.out.println(msgs);
      assertTrue("エラーが発生していません。", msgs.hasError());

      u.setName("verify5");
      msgs = u.validateObject();
      System.out.println(msgs);
      assertFalse("エラーが発生していませす。", msgs.hasError());
    } finally {
      DIContainerFactory.setDIContainer(real);
    }
  }
Exemplo n.º 2
0
 public void testEventCallback() throws Exception {
   List<Object> list2 = new ArrayList<Object>();
   list2.add(new CallbackListener());
   DIContainer real = DIContainerFactory.getDIContainer();
   Map<Object, Object> map = new HashMap<Object, Object>();
   map.put(BasicService.PERSISTENCE_EVENT_LISTENERS, list2);
   MapDIContainer wrapper = new MapDIContainer(map);
   DIContainerFactory.setDIContainer(
       new CompositeDIContainer(Arrays.asList(new DIContainer[] {wrapper, real})));
   System.out.println(DIContainerFactory.getDIContainer().getClass().getName());
   try {
     Extractor e = new Extractor(Unit.class);
     e.addExtractValue(new ExtractValue("id", new Property(Unit.ID)));
     e.add(Condition.eq(new Property(Unit.ID), 1));
     e.setReturnType(CallbackTestType.class);
     System.out.println(DIContainerFactory.getDIContainer().getClass().getName());
     List<CallbackTestType> list = BasicService.getService().findByExtractor(e);
     System.out.println(DIContainerFactory.getDIContainer().getClass().getName());
     assertEquals("返却値が数が誤っています。", 1, list.size());
     assertEquals("コールバックメソッド呼び出し回数が誤っています。", 6, list.get(0).list.size());
     int index = 0;
     assertEquals(
         "コールバックメソッド呼び出し順序が誤っています.", "CallbackListener#postLoad5", list.get(0).list.get(index++));
     assertEquals("コールバックメソッド呼び出し順序が誤っています.", "postLoad3", list.get(0).list.get(index++));
     assertEquals(
         "コールバックメソッド呼び出し順序が誤っています.", "CallbackListener#apostLoad3", list.get(0).list.get(index++));
     assertEquals(
         "コールバックメソッド呼び出し順序が誤っています.", "CallbackListener#postLoad3", list.get(0).list.get(index++));
     assertEquals("コールバックメソッド呼び出し順序が誤っています.", "postLoad1", list.get(0).list.get(index++));
     assertEquals(
         "コールバックメソッド呼び出し順序が誤っています.", "CallbackListener#postLoad1", list.get(0).list.get(index++));
   } finally {
     DIContainerFactory.setDIContainer(real);
   }
 }