Package org.objectweb.speedo.pobjects.inheritance.filtered.datastorelid

Examples of org.objectweb.speedo.pobjects.inheritance.filtered.datastorelid.RootClass


  public void testA() {
    PersistenceManager pm = pmf.getPersistenceManager();
    pm.currentTransaction().begin();
    ArrayList rcs = new ArrayList();
    rcs.add(new RootClass("rf1"));
    rcs.add(new RootClass("rf2"));
    rcs.add(new Subclass1("rf3", "f1_3"));
    rcs.add(new Subclass12("rf4", "f1_4", "f12_4"));
    rcs.add(new Subclass2("rf5", "f2_5"));
    pm.makePersistentAll(rcs);
    pm.currentTransaction().commit();

    pm.currentTransaction().begin();
    checkNumberOfInstanceWithExtent(RootClass.class, false, 2, pm);
    checkNumberOfInstanceWithExtent(RootClass.class, true, 5, pm);

    checkNumberOfInstanceWithExtent(Subclass1.class, false, 1, pm);
    checkNumberOfInstanceWithExtent(Subclass1.class, true, 2, pm);

    checkNumberOfInstanceWithExtent(Subclass12.class, true, 1, pm);
    checkNumberOfInstanceWithExtent(Subclass12.class, false, 1, pm);

    checkNumberOfInstanceWithExtent(Subclass2.class, false, 1, pm);
    checkNumberOfInstanceWithExtent(Subclass2.class, true, 1, pm);
    pm.currentTransaction().commit();

    pm.currentTransaction().begin();
    for(int i=0; i<rcs.size(); i++) {
      rcs.set(i, pm.getObjectId(rcs.get(i)));
    }
    pm.currentTransaction().commit();
    pm.evictAll();

    pm.currentTransaction().begin();
    for(int i=0; i<rcs.size(); i++) {
      pm.getObjectById(rcs.get(i), false);
    }
    pm.currentTransaction().commit();

    pm.evictAll();

    pm.currentTransaction().begin();
    Query query = pm.newQuery(RootClass.class);
    Collection col = (Collection) query.execute();
    Iterator it = col.iterator();
    int size = 0;
    while(it.hasNext()) {
      RootClass rc = (RootClass) it.next();
      size ++;
      logger.log(BasicLevel.DEBUG, "rc.rootField=" + rc.getRootField());
      if ("rf1".equals(rc.getRootField())) {
      } else if ("rf2".equals(rc.getRootField())) {
      } else if ("rf3".equals(rc.getRootField())) {
        assertTrue("Bad class instance" + rc.getClass().getName(), rc instanceof Subclass1);
        assertEquals("Bad f1 value", "f1_3", ((Subclass1) rc).getF1());
      } else if ("rf4".equals(rc.getRootField())) {
        assertTrue("Bad class instance" + rc.getClass().getName(), rc instanceof Subclass12);
        assertEquals("Bad f1 value", "f1_4", ((Subclass12) rc).getF1());
        assertEquals("Bad f1 value", "f12_4", ((Subclass12) rc).getF12());
      } else if ("rf5".equals(rc.getRootField())) {
        assertTrue("Bad class instance" + rc.getClass().getName(), rc instanceof Subclass2);
        assertEquals("Bad f1 value", "f2_5", ((Subclass2) rc).getF2());
      } else {
        fail("Unmanaged rootField value: " + rc.getRootField());
      }
    }
    query.closeAll();
    assertEquals("bad query result size", 5, size);
    pm.currentTransaction().commit();
View Full Code Here

TOP

Related Classes of org.objectweb.speedo.pobjects.inheritance.filtered.datastorelid.RootClass

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.