Package org.objectweb.speedo.pobjects.relations

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


    try {
      res.beginTest();
      int oid = txId * 3;
      beginTx(pm, task, threadId, txId);
      // Execute first transaction (makePersistent)
      A a1 = new A("a" + oid);
      A a2 = new A("a" + oid + 1);
      A a3 = new A("a" + oid + 2);
      B b1 = new B("b" + oid);
      B b2 = new B("b" + oid + 1);
      B b3 = new B("b" + oid + 2);
      pm.makePersistent(a1);
      pm.makePersistent(a2);
      pm.makePersistent(a3);
      pm.makePersistent(b1);
      pm.makePersistent(b2);
      pm.makePersistent(b3);
      Object oida1 = pm.getObjectId(a1);
      Object oida2 = pm.getObjectId(a2);
      Object oida3 = pm.getObjectId(a3);
      Object oidb1 = pm.getObjectId(b1);
      Object oidb2 = pm.getObjectId(b2);
      Object oidb3 = pm.getObjectId(b3);
      commitTx(pm, task, threadId, txId);
      closePM(pm, threadId, txId, task, res);

      pm = getPM(task, threadId, txId);
      a1.getBs().add(b1);
      assertTrue(b1.getAs().contains(a1));
      a1.getBs().add(b2);
      assertTrue(b2.getAs().contains(a1));

      a2.getBs().add(b1);
      assertTrue(b1.getAs().contains(a2));
      a2.getBs().add(b2);
      assertTrue(b2.getAs().contains(a2));
      a2.getBs().add(b3);
      assertTrue(b3.getAs().contains(a2));

      a3.getBs().add(b2);
      assertTrue(b2.getAs().contains(a3));
      a3.getBs().add(b3);
      assertTrue(b3.getAs().contains(a3));

      a1.getBs().add(b3);
      assertTrue(b3.getAs().contains(a1));

      a1.getBs().remove(b1);
      assertTrue(!b1.getAs().contains(a1));

      b2.getAs().remove(a2);
      assertTrue(!a2.getBs().contains(b2));

      a1.setBs(a2.getBs());
      // reload objects before testing effects of the above assignement
      closePM(pm, threadId, txId, task, res);

      pm = getPM(task, threadId, txId);
      assertTrue(a1.getBs().contains(b1));
      assertTrue(!a1.getBs().contains(b2));
      assertTrue(a1.getBs().contains(b3));

      assertTrue(a2.getBs().contains(b1));
      assertTrue(!a2.getBs().contains(b2));
      assertTrue(a2.getBs().contains(b3));

      assertTrue(!a3.getBs().contains(b1));
      assertTrue(a3.getBs().contains(b2));
      assertTrue(a3.getBs().contains(b3));

      assertTrue(b1.getAs().contains(a1));
      assertTrue(b1.getAs().contains(a2));
      assertTrue(!b1.getAs().contains(a3));

      assertTrue(!b2.getAs().contains(a1));
      assertTrue(!b2.getAs().contains(a2));
      assertTrue(b2.getAs().contains(a3));

      assertTrue(b3.getAs().contains(a1));
      assertTrue(b3.getAs().contains(a2));
      assertTrue(b3.getAs().contains(a3));
      closePM(pm, threadId, txId, task, res);
      pm = getPM(task, threadId, txId);
      beginTx(pm, task, threadId, txId);
      pm.deletePersistent(pm.getObjectById(oidb3, false));
      commitTx(pm, task, threadId, txId);
      closePM(pm, threadId, txId, task, res);
      pm = getPM(task, threadId, txId);

      assertTrue(a1.getBs().size() == 1);
      assertTrue(a1.getBs().contains(b1));
      assertTrue(a2.getBs().size() == 1);
      assertTrue(a2.getBs().contains(b1));
      assertTrue(a3.getBs().size() == 1);
      assertTrue(a3.getBs().contains(b2));

      assertTrue(b1.getAs().contains(a1));
      assertTrue(b1.getAs().contains(a2));
      assertTrue(!b1.getAs().contains(a3));
      assertTrue(!b2.getAs().contains(a1));
View Full Code Here


    try {
      res.beginTest();
      int oid = txId * 2;
      beginTx(pm, task, threadId, txId);
      // Execute first transaction (makePersistent)
      A a1 = new A("a" + oid);
      A a2 = new A("a" + oid + 1);
      B b1 = new B("b" + oid);
      B b2 = new B("b" + oid + 1);
      pm.makePersistent(a1);
      pm.makePersistent(a2);
      pm.makePersistent(b1);
      pm.makePersistent(b2);
      commitTx(pm, task, threadId, txId);

      a1.setB(b1);
      assertTrue(b1.getA() == a1);
      a2.setB(b2);
      assertTrue(b2.getA() == a2);
      a1.setB(b2);
      assertTrue(b1.getA() == null);
      assertTrue(b2.getA() == a1);
      assertTrue(a2.getB() == null);
      b1.setA(a2);
      assertTrue(a2.getB() == b1);
      b1.setA(a1);
      assertTrue(a1.getB() == b1);
      assertTrue(b2.getA() == null);
      assertTrue(a2.getB() == null);

      // Delete persistent (speedoproxy)
      beginTx(pm, task, threadId, txId);
      pm.deletePersistent(a1);
      pm.deletePersistent(a2);
View Full Code Here

      res.beginTest();
      int oid = txId * 4;
      beginTx(pm, task, threadId, txId);

      // Execute first transaction (makePersistent)
      A a1 = new A("a" + oid);
      A a2 = new A("a" + oid + 1);

      B b1 = new B("b" + oid);
      B b2 = new B("b" + oid + 1);
      B b3 = new B("b" + oid + 2);
      B b4 = new B("b" + oid + 3);

      pm.makePersistent(a1);
      pm.makePersistent(a2);
      pm.makePersistent(b1);
      pm.makePersistent(b2);
      pm.makePersistent(b3);
      pm.makePersistent(b4);
      Object oida1 = pm.getObjectId(a1);
      Object oida2 = pm.getObjectId(a2);
      Object oidb1 = pm.getObjectId(b1);
      Object oidb2 = pm.getObjectId(b2);
      Object oidb3 = pm.getObjectId(b3);
      Object oidb4 = pm.getObjectId(b4);

      // validate (make speedoproxy)
      commitTx(pm, task, threadId, txId);     

      a1.getNbs().add(b1);
      assertTrue(b1.getNa() == a1);
      a1.getNbs().add(b2);
      assertTrue(b2.getNa() == a1);

      a2.getNbs().add(b3);
      assertTrue(b3.getNa() == a2);
      a2.getNbs().add(b4);
      assertTrue(b4.getNa() == a2);

      a1.getNbs().add(b3);
      assertTrue(b3.getNa() == a1);
      assertTrue(!a2.getNbs().contains(b3));

      a1.getNbs().remove(b1);
      assertTrue(b1.getNa() == null);

      b3.setNa(a2);
      assertTrue(!a1.getNbs().contains(b3));
      assertTrue(a2.getNbs().contains(b3));

      a1.setNbs(a2.getNbs());

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

      assertTrue(!a1.getNbs().contains(b1));
      assertTrue(!a1.getNbs().contains(b2));
      assertTrue(a1.getNbs().contains(b3));
      assertTrue(a1.getNbs().contains(b4));
      assertTrue(a1.getNbs().size() == 2);

      assertTrue(!a2.getNbs().contains(b1));
      assertTrue(!a2.getNbs().contains(b2));
      assertTrue(!a2.getNbs().contains(b3));
      assertTrue(!a2.getNbs().contains(b4));

      assertTrue(b1.getNa() == null);
      assertTrue(b2.getNa() == null);
      assertTrue(b3.getNa() == a1);
      assertTrue(b4.getNa() == a1);
View Full Code Here

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

  public void testOneOne() {
        A a1 = new A("testOneOne_a1");
        A a2 = new A("testOneOne_a2");
        B b1 = new B("testOneOne_b1");
        B b2 = new B("testOneOne_b2");

        a1.setB(b1);
        assertTrue(b1.getA() == a1);

        a2.setB(b2);
        assertTrue(b2.getA() == a2);

        a1.setB(b2);
        assertTrue(b1.getA() == null);
        assertTrue(b2.getA() == a1);
        assertTrue(a2.getB() == null);

        b1.setA(a2);
        assertTrue(a2.getB() == b1);

        b1.setA(a1);
        assertTrue(a1.getB() == b1);
        assertTrue(b2.getA() == null);
        assertTrue(a2.getB() == null);
  }
View Full Code Here

        assertTrue(b2.getA() == null);
        assertTrue(a2.getB() == null);
  }

    public void testOneMany() { // tests on active persistent objects
        A a1 = new A("testOneMany_a1");
        A a2 = new A("testOneMany_a2");

        B b1 = new B("testOneMany_b1");
        B b2 = new B("testOneMany_b2");
        B b3 = new B("testOneMany_b3");
        B b4 = new B("testOneMany_b4");

        PersistenceManager pm = pmf.getPersistenceManager();
        pm.makePersistent(a1);
        pm.makePersistent(a2);
        pm.makePersistent(b1);
        pm.makePersistent(b2);
        pm.makePersistent(b3);
        pm.makePersistent(b4);
        pm.close();

        try {
            pm = pmf.getPersistenceManager();

            a1.getNbs().add(b1);
            assertTrue(b1.getNa() == a1);
            a1.getNbs().add(b2);
            assertTrue(b2.getNa() == a1);

            a2.getNbs().add(b3);
            assertTrue(b3.getNa() == a2);
            a2.getNbs().add(b4);
            assertTrue(b4.getNa() == a2);

            a1.getNbs().add(b3);
            assertTrue(b3.getNa() == a1);
            assertTrue(!a2.getNbs().contains(b3));

            a1.getNbs().remove(b1);
            assertTrue(b1.getNa() == null);

            b3.setNa(a2);
            assertTrue(!a1.getNbs().contains(b3));
            assertTrue(a2.getNbs().contains(b3));

            a1.setNbs(a2.getNbs());
            // reload objects before testing effects of the above assignement
            pm.close();
            pm = pmf.getPersistenceManager();

            assertTrue(!a1.getNbs().contains(b1));
            assertTrue(!a1.getNbs().contains(b2));
            assertTrue(a1.getNbs().contains(b3));
            assertTrue(a1.getNbs().contains(b4));
            assertTrue(a1.getNbs().size() == 2);

            assertTrue(!a2.getNbs().contains(b1));
            assertTrue(!a2.getNbs().contains(b2));
            assertTrue(!a2.getNbs().contains(b3));
            assertTrue(!a2.getNbs().contains(b4));

            assertTrue(b1.getNa() == null);
            assertTrue(b2.getNa() == null);
            assertTrue(b3.getNa() == a1);
            assertTrue(b4.getNa() == a1);
View Full Code Here

            pm.close();
        }
    }

    public void testOneMany2() { // tests on non persistent objects
        A a1 = new A("testOneMany2_a1");
        A a2 = new A("testOneMany2_a2");

        B b1 = new B("testOneMany2_b1");
        B b2 = new B("testOneMany2_b2");
        B b3 = new B("testOneMany2_b3");
        B b4 = new B("testOneMany2_b4");

        PersistenceManager pm = pmf.getPersistenceManager();

        b1.setNa(a1);
        // tests that a1.nbs, initially null, is created and contains b1
        assertTrue(a1.getNbs() != null);
        assertTrue(a1.getNbs().contains(b1));

        b2.setNa(a1);
        assertTrue(a1.getNbs().contains(b2));

        b3.setNa(a2);
        assertTrue(a2.getNbs() != null);
        assertTrue(a2.getNbs().contains(b3));

        b4.setNa(a2);
        assertTrue(a2.getNbs().contains(b4));

        pm.makePersistent(a1);
        pm.makePersistent(a2);

        pm.close();

        try {
            pm = pmf.getPersistenceManager();
            Collection c = new ArrayList();
            c.addAll(a2.getNbs());
            a1.setNbs(c);

            pm.close();

            pm = pmf.getPersistenceManager();
            assertTrue(!a1.getNbs().contains(b1));
            assertTrue(!a1.getNbs().contains(b2));
            assertTrue(a1.getNbs().contains(b3));
            assertTrue(a1.getNbs().contains(b4));

            assertTrue(a2.getNbs().size() == 0);

            assertTrue(b1.getNa() == null);
            assertTrue(b2.getNa() == null);
            assertTrue(b3.getNa() == a1);
            assertTrue(b4.getNa() == a1);
View Full Code Here

            pm.close();
        }
    }

    public void testOneMany3() { // tests with manually managed consistency
        A a1 = new A("testOneMany3_a1");

        B b1 = new B("testOneMany3_b1");
        B b2 = new B("testOneMany3_b2");

        PersistenceManager pm = pmf.getPersistenceManager();

        ArrayList l = new ArrayList();
        l.add(b1);
        l.add(b2);
        a1.setNbs(l);

        b1.setNa(a1);
        b2.setNa(a1);

        assertTrue(a1.getNbs().size() == 2);

        pm.makePersistent(a1);

        pm.close();

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

            pm.close();
        }
    }

    public void testOneManyDelete() {
        A a1 = new A("testOneManyDelete_a1");
        A a2 = new A("testOneManyDelete_a2");

        B b1 = new B("testOneManyDelete_b1");
        B b2 = new B("testOneManyDelete_b2");
        B b3 = new B("testOneManyDelete_b3");
        B b4 = new B("testOneManyDelete_b4");

        PersistenceManager pm = pmf.getPersistenceManager();
        pm.makePersistent(a1);
        pm.makePersistent(a2);
        pm.makePersistent(b1);
        pm.makePersistent(b2);
        pm.makePersistent(b3);
        pm.makePersistent(b4);
        pm.close();

        try {
            pm = pmf.getPersistenceManager();

            a1.getNbs().add(b1);
            assertTrue(b1.getNa() == a1);
            a1.getNbs().add(b2);
            assertTrue(b2.getNa() == a1);

            a2.getNbs().add(b3);
            assertTrue(b3.getNa() == a2);
            a2.getNbs().add(b4);
            assertTrue(b4.getNa() == a2);

            pm.close();

            pm = pmf.getPersistenceManager();
            pm.currentTransaction().begin();
            pm.deletePersistent(a1);
            pm.currentTransaction().commit();
      assertNull("reverse reference of a1.nbs (b1.na) must be null", b1.getNa());
      assertNull("reverse reference of a1.nbs (b2.na) must be null", b2.getNa());
      pm.currentTransaction().begin();
            pm.deletePersistent(b3);
            pm.currentTransaction().commit();
      assertTrue("reverse reference of b3.na (a2.nbs) must not contain b3",
          !a2.getNbs().contains(b3));
            pm.close();

            pm = pmf.getPersistenceManager();
      assertTrue("reverse reference of b3.na (a2.nbs) must not contain b3",
          !a2.getNbs().contains(b3));

            assertEquals("Bad a2.nbs size", 1, a2.getNbs().size());
      assertTrue("reverse reference of b3.na (a2.nbs) must not contain b3",
          !a2.getNbs().contains(b3));
            assertTrue(a2.getNbs().contains(b4));

      assertNull("reverse reference of a1.nbs (b1.na) must be null", b1.getNa());
      assertNull("reverse reference of a1.nbs (b2.na) must be null", b2.getNa());
            assertTrue(b4.getNa() == a2);
View Full Code Here

            pm.close();
        }
    }

    public void testManyMany() { // tests on active persistent objects
        A a1 = new A("testManyMany_a1");
        A a2 = new A("testManyMany_a2");
        A a3 = new A("testManyMany_a3");

        B b1 = new B("testManyMany_b1");
        B b2 = new B("testManyMany_b2");
        B b3 = new B("testManyMany_b3");

        PersistenceManager pm = pmf.getPersistenceManager();
        pm.makePersistent(a1);
        pm.makePersistent(a2);
        pm.makePersistent(a3);
        pm.makePersistent(b1);
        pm.makePersistent(b2);
        pm.makePersistent(b3);
        pm.close();

        try {
            pm = pmf.getPersistenceManager();

            a1.getBs().add(b1);
            assertTrue(b1.getAs().contains(a1));
            a1.getBs().add(b2);
            assertTrue(b2.getAs().contains(a1));

            a2.getBs().add(b1);
            assertTrue(b1.getAs().contains(a2));
            a2.getBs().add(b2);
            assertTrue(b2.getAs().contains(a2));
            a2.getBs().add(b3);
            assertTrue(b3.getAs().contains(a2));

            a3.getBs().add(b2);
            assertTrue(b2.getAs().contains(a3));
            a3.getBs().add(b3);
            assertTrue(b3.getAs().contains(a3));

            a1.getBs().add(b3);
            assertTrue(b3.getAs().contains(a1));

            a1.getBs().remove(b1);
            assertTrue(!b1.getAs().contains(a1));

            b2.getAs().remove(a2);
            assertTrue(!a2.getBs().contains(b2));

            a1.setBs(a2.getBs());
            // reload objects before testing effects of the above assignement
            pm.close();
            pm = pmf.getPersistenceManager();

            assertTrue(a1.getBs().contains(b1));
            assertTrue(!a1.getBs().contains(b2));
            assertTrue(a1.getBs().contains(b3));

            assertTrue(a2.getBs().contains(b1));
            assertTrue(!a2.getBs().contains(b2));
            assertTrue(a2.getBs().contains(b3));

            assertTrue(!a3.getBs().contains(b1));
            assertTrue(a3.getBs().contains(b2));
            assertTrue(a3.getBs().contains(b3));

            assertTrue(b1.getAs().contains(a1));
            assertTrue(b1.getAs().contains(a2));
            assertTrue(!b1.getAs().contains(a3));
View Full Code Here

            pm.close();
        }
    }

    public void testManyMany2() { // tests on non persistent objects
        A a1 = new A("testManyMany2_a1");
        A a2 = new A("testManyMany2_a2");
        A a3 = new A("testManyMany2_a3");

        B b1 = new B("testManyMany2_b1");
        B b2 = new B("testManyMany2_b2");
        B b3 = new B("testManyMany2_b3");

        PersistenceManager pm = pmf.getPersistenceManager();

        a1.getBs().add(b1);
        a1.getBs().add(b2);

        a2.getBs().add(b1);
        a2.getBs().add(b2);
        a2.getBs().add(b3);

        a3.getBs().add(b2);
        a3.getBs().add(b3);

        pm.makePersistent(a1);
        pm.makePersistent(a2);
        pm.makePersistent(a3);

        pm.close();

        try {
            pm = pmf.getPersistenceManager();

            assertTrue(b1.getAs().contains(a1));
            assertTrue(b2.getAs().contains(a1));

            assertTrue(b1.getAs().contains(a2));
            assertTrue(b2.getAs().contains(a2));
            assertTrue(b3.getAs().contains(a2));

            assertTrue(b2.getAs().contains(a3));
            assertTrue(b3.getAs().contains(a3));

            Collection c = new ArrayList();
            c.addAll(a2.getBs());
            a1.setBs(c);

            pm.close();

            pm = pmf.getPersistenceManager();

            assertTrue(a1.getBs().contains(b1));
            assertTrue(a1.getBs().contains(b2));
            assertTrue(a1.getBs().contains(b3));

            assertTrue(a2.getBs().contains(b1));
            assertTrue(a2.getBs().contains(b2));
            assertTrue(a2.getBs().contains(b3));

            assertTrue(!a3.getBs().contains(b1));
            assertTrue(a3.getBs().contains(b2));
            assertTrue(a3.getBs().contains(b3));

            assertTrue(b1.getAs().contains(a1));
            assertTrue(b1.getAs().contains(a2));
            assertTrue(!b1.getAs().contains(a3));
View Full Code Here

TOP

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

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.