Package org.objectweb.speedo.pobjects.relations

Examples of org.objectweb.speedo.pobjects.relations.C


      res.beginTest();
      beginTx(pm, task, threadId, txId);
      if (plus > 0) {
        //The first transaction creates the additional object
        for (int oid = 0; txId == 0 && oid < plus; oid++) {
          C c = new C("c" + oid);
          D d = new D("d" + oid);
          pm.makePersistent(c);
          pm.makePersistent(d);
          if (pctx.keepOid) {
            pctx.oidsC[oid] = pm.getObjectId(c);
            pctx.oidsD[oid] = pm.getObjectId(d);
          }
        }
      }
      // The other transactions create 'nbCreation' objects
      for (int no = 0; no < NB_CREATION; no++) {
        int oid = (txId * NB_CREATION) + no + plus;
        if (oid < pctx.dbSize) {
          C c = new C("c" + oid);
          D d = new D("d" + oid);
          pm.makePersistent(c);
          pm.makePersistent(d);
          if (pctx.keepOid) {
            pctx.oidsC[oid] = pm.getObjectId(c);
View Full Code Here


      res.beginTest();
      beginTx(pm, task, threadId, txId);

      int oid = getOid(cdctx, (task.txToExecute.length==0), getNbSucc());     
     
      C c1 = (C) pm.getObjectById(cdctx.oidsC[oid], false);
      C c2 = (C) pm.getObjectById(cdctx.oidsC[oid+1], false);
      D d1 = (D) pm.getObjectById(cdctx.oidsD[oid], false);
      D d2 = (D) pm.getObjectById(cdctx.oidsD[oid+1], false);
      D d3 = (D) pm.getObjectById(cdctx.oidsD[oid+2], false);
      D d4 = (D) pm.getObjectById(cdctx.oidsD[oid+3], false);
     
      c1.getNds().add(d1);
      assertTrue(d1.getNc() == c1);
      c1.getNds().add(d2);
      assertTrue(d2.getNc() == c1);

      c2.getNds().add(d3);
      assertTrue(d3.getNc() == c2);
      c2.getNds().add(d4);
      assertTrue(d4.getNc() == c2);

      c1.getNds().add(d3);
      assertTrue(d3.getNc() == c1);
      assertTrue(!c2.getNds().contains(d3));

      c1.getNds().remove(d1);
      assertTrue(d1.getNc() == null);

      d3.setNc(c2);
      assertTrue(!c1.getNds().contains(d3));
      assertTrue(c2.getNds().contains(d3));

      c1.setNds(c2.getNds());
     
      commitTx(pm, task, threadId, txId);
     
      assertTrue(!c1.getNds().contains(d1));
      assertTrue(!c1.getNds().contains(d2));
      assertTrue(c1.getNds().contains(d3));
      assertTrue(c1.getNds().contains(d4));
      assertTrue(c1.getNds().size() == 2);

      assertTrue(!c2.getNds().contains(d1));
      assertTrue(!c2.getNds().contains(d2));
      assertTrue(!c2.getNds().contains(d3));
      assertTrue(!c2.getNds().contains(d4));

      assertTrue(d1.getNc() == null);
      assertTrue(d2.getNc() == null);
      assertTrue(d3.getNc() == c1);
      assertTrue(d4.getNc() == c1);
View Full Code Here

      res.beginTest();     
      beginTx(pm, task, threadId, txId);

      int oid = getOid(cdctx, (task.txToExecute.length==0), getNbSucc());
     
      C c1 = (C) pm.getObjectById(cdctx.oidsC[oid], false);
      C c2 = (C) pm.getObjectById(cdctx.oidsC[oid+1], false);
      C c3 = (C) pm.getObjectById(cdctx.oidsC[oid+2], false);             
      D d1 = (D) pm.getObjectById(cdctx.oidsD[oid], false);
      D d2 = (D) pm.getObjectById(cdctx.oidsD[oid+1], false);
      D d3 = (D) pm.getObjectById(cdctx.oidsD[oid+2], false);   

      c1.getDs().add(d1);
      assertTrue(d1.getCs().contains(c1));
      c1.getDs().add(d2);
      assertTrue(d2.getCs().contains(c1));

      c2.getDs().add(d1);
      assertTrue(d1.getCs().contains(c2));
      c2.getDs().add(d2);
      assertTrue(d2.getCs().contains(c2));
      c2.getDs().add(d3);
      assertTrue(d3.getCs().contains(c2));

      c3.getDs().add(d2);
      assertTrue(d2.getCs().contains(c3));
      c3.getDs().add(d3);
      assertTrue(d3.getCs().contains(c3));

      c1.getDs().add(d3);
      assertTrue(d3.getCs().contains(c1));

      c1.getDs().remove(d1);
      assertTrue(!d1.getCs().contains(c1));

      d2.getCs().remove(c2);
      assertTrue(!c2.getDs().contains(d2));

      c1.setDs(c2.getDs());
     
      commitTx(pm, task, threadId, txId);
     
      assertTrue(c1.getDs().contains(d1));
      assertTrue(!c1.getDs().contains(d2));
      assertTrue(c1.getDs().contains(d3));

      assertTrue(c2.getDs().contains(d1));
      assertTrue(!c2.getDs().contains(d2));
      assertTrue(c2.getDs().contains(d3));

      assertTrue(!c3.getDs().contains(d1));
      assertTrue(c3.getDs().contains(d2));
      assertTrue(c3.getDs().contains(d3));

      assertTrue(d1.getCs().contains(c1));
      assertTrue(d1.getCs().contains(c2));
      assertTrue(!d1.getCs().contains(c3));
View Full Code Here

      res.beginTest();     
      beginTx(pm, task, threadId, txId);
     
      int oid = getOid(cdctx, true, getNbSucc());

      C c1 = (C) pm.getObjectById(cdctx.oidsC[oid], false);
      C c2 = (C) pm.getObjectById(cdctx.oidsC[oid+1], false);
      D d1 = (D) pm.getObjectById(cdctx.oidsD[oid], false);
      D d2 = (D) pm.getObjectById(cdctx.oidsD[oid+1], false);

      c1.setD(d1);
      assertTrue(d1.getC() == c1);
      c2.setD(d2);
      assertTrue(d2.getC() == c2);
      c1.setD(d2);
      assertTrue(d1.getC() == null);
      assertTrue(d2.getC() == c1);
      assertTrue(c2.getD() == null);
      d1.setC(c2);
      assertTrue(c2.getD() == d1);
      d1.setC(c1);
      assertTrue(c1.getD() == d1);
      assertTrue(d2.getC() == null);
      assertTrue(c2.getD() == null);

      commitTx(pm, task, threadId, txId);

      res.endTest();
    } catch (JDOFatalException e) {
View Full Code Here

  protected String getLoggerName() {
    return LOG_NAME + "rt.relations.Relations";
  }

  public void testOneOne() {
        C c1 = new C("testOneOne_c1");
        C c2 = new C("testOneOne_c2");
        D d1 = new D("testOneOne_d1");
        D d2 = new D("testOneOne_d2");

        c1.setD(d1);
        assertTrue(d1.getC() == c1);

        c2.setD(d2);
        assertTrue(d2.getC() == c2);

        c1.setD(d2);
        assertTrue(d1.getC() == null);
        assertTrue(d2.getC() == c1);
        assertTrue(c2.getD() == null);

        d1.setC(c2);
        assertTrue(c2.getD() == d1);

        d1.setC(c1);
        assertTrue(c1.getD() == d1);
        assertTrue(d2.getC() == null);
        assertTrue(c2.getD() == null);
  }
View Full Code Here

        assertTrue(d2.getC() == null);
        assertTrue(c2.getD() == null);
  }

  public void testOneOne2() {
        C c1 = new C("testOneOne_c1");
    PersistenceManager pm = pmf.getPersistenceManager();

    pm.currentTransaction().begin();
    pm.makePersistent(c1);
    Object c1oid = pm.getObjectId(c1);
View Full Code Here

    pm.close();
  }

    public void testOneMany() { // tests on active persistent objects
        C c1 = new C("testOneMany_c1");
        C c2 = new C("testOneMany_c2");

        D d1 = new D("testOneMany_d1");
        D d2 = new D("testOneMany_d2");
        D d3 = new D("testOneMany_d3");
        D d4 = new D("testOneMany_d4");

        PersistenceManager pm = pmf.getPersistenceManager();
        pm.makePersistent(c1);
        pm.makePersistent(c2);
        pm.makePersistent(d1);
        pm.makePersistent(d2);
        pm.makePersistent(d3);
        pm.makePersistent(d4);
        pm.close();

        try {
            pm = pmf.getPersistenceManager();

            c1.getNds().add(d1);
            assertTrue(d1.getNc() == c1);
            c1.getNds().add(d2);
            assertTrue(d2.getNc() == c1);

            c2.getNds().add(d3);
            assertTrue(d3.getNc() == c2);
            c2.getNds().add(d4);
            assertTrue(d4.getNc() == c2);

            c1.getNds().add(d3);
            assertTrue(d3.getNc() == c1);
            assertTrue(!c2.getNds().contains(d3));

            c1.getNds().remove(d1);
            assertTrue(d1.getNc() == null);

            d3.setNc(c2);
            assertTrue(!c1.getNds().contains(d3));
            assertTrue(c2.getNds().contains(d3));

            c1.setNds(c2.getNds());
            // reload objects before testing effects of the above assignement
            pm.close();
            pm = pmf.getPersistenceManager();

            assertTrue(!c1.getNds().contains(d1));
            assertTrue(!c1.getNds().contains(d2));
            assertTrue(c1.getNds().contains(d3));
            assertTrue(c1.getNds().contains(d4));

            assertTrue(!c2.getNds().contains(d1));
            assertTrue(!c2.getNds().contains(d2));
            assertTrue(!c2.getNds().contains(d3));
            assertTrue(!c2.getNds().contains(d4));

            assertTrue(d1.getNc() == null);
            assertTrue(d2.getNc() == null);
            assertTrue(d3.getNc() == c1);
            assertTrue(d4.getNc() == c1);
View Full Code Here

            pm.close();
        }
    }

    public void testOneMany2() { // tests on non persistent objects
        C c1 = new C("testOneMany2_c1");
        C c2 = new C("testOneMany2_c2");

        D d1 = new D("testOneMany2_d1");
        D d2 = new D("testOneMany2_d2");
        D d3 = new D("testOneMany2_d3");
        D d4 = new D("testOneMany2_d4");

        PersistenceManager pm = pmf.getPersistenceManager();

        d1.setNc(c1);
        // tests that c1.nds, initially null, is created and contains d1
        assertTrue(c1.getNds() != null);
        assertTrue(c1.getNds().contains(d1));

        d2.setNc(c1);
        assertTrue(c1.getNds().contains(d2));

        d3.setNc(c2);
        assertTrue(c2.getNds() != null);
        assertTrue(c2.getNds().contains(d3));

        d4.setNc(c2);
        assertTrue(c2.getNds().contains(d4));

        pm.makePersistent(c1);
        pm.makePersistent(c2);

        pm.close();

        try {
            pm = pmf.getPersistenceManager();

            Collection c = new ArrayList();
            c.addAll(c2.getNds());
            c1.setNds(c);

            pm.close();

            pm = pmf.getPersistenceManager();

            assertTrue(!c1.getNds().contains(d1));
            assertTrue(!c1.getNds().contains(d2));
            assertTrue(c1.getNds().contains(d3));
            assertTrue(c1.getNds().contains(d4));

            assertTrue(c2.getNds().size() == 0);

            assertTrue(d1.getNc() == null);
            assertTrue(d2.getNc() == null);
            assertTrue(d3.getNc() == c1);
            assertTrue(d4.getNc() == c1);
View Full Code Here

            pm.close();
        }
    }

    public void testOneMany3() { // tests with manually managed consistency
        C c1 = new C("testOneMany3_c1");

        D d1 = new D("testOneMany3_d1");
        D d2 = new D("testOneMany3_d2");

        PersistenceManager pm = pmf.getPersistenceManager();

        ArrayList l = new ArrayList();
        l.add(d1);
        l.add(d2);
        c1.setNds(l);

        d1.setNc(c1);
        d2.setNc(c1);

        assertTrue(c1.getNds().size() == 2);

        pm.makePersistent(c1);
        pm.close();

        try {
            pm = pmf.getPersistenceManager();
            assertTrue(c1.getNds().size() == 2);
            pm.close();
        } finally {
            pm = pmf.getPersistenceManager();
          pm.currentTransaction().begin();
            pm.deletePersistent(c1);
View Full Code Here

        }
    }

    public void testOneMany4() { // tests with manually managed consistency
    PersistenceManager pm = pmf.getPersistenceManager();
        C c1 = new C("testOneMany4_c1");
        D d1 = new D("testOneMany4_d1");
        ArrayList l = new ArrayList();
        l.add(d1);
        c1.setNds(l);
        d1.setNc(c1);
        assertTrue(c1.getNds().size() == 1);

    pm.currentTransaction().begin();
        pm.makePersistent(c1);
        pm.currentTransaction().commit();
    try {
View Full Code Here

TOP

Related Classes of org.objectweb.speedo.pobjects.relations.C

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.