Package com.orientechnologies.orient.core.db.record.ridbag

Examples of com.orientechnologies.orient.core.db.record.ridbag.ORidBag


    database.begin();

    ODocument rootDoc = new ODocument();

    ORidBag ridBag = new ORidBag();
    rootDoc.field("ridBag", ridBag);

    ODocument docOne = new ODocument();
    docOne.save();
    ODocument docTwo = new ODocument();
    docTwo.save();

    ridBag.add(docOne);
    ridBag.add(docTwo);

    rootDoc.save();

    database.rollback();
View Full Code Here


  public void testAddTwoAdditionalSavedDocuments() {
    database.begin();

    ODocument rootDoc = new ODocument();

    ORidBag ridBag = new ORidBag();
    rootDoc.field("ridBag", ridBag);

    ODocument docOne = new ODocument();
    ODocument docTwo = new ODocument();

    ridBag.add(docOne);
    ridBag.add(docTwo);

    rootDoc.save();

    database.commit();

    long recordsCount = database.countClusterElements(database.getDefaultClusterId());

    rootDoc = database.load(rootDoc.getIdentity());
    ridBag = rootDoc.field("ridBag");

    database.begin();

    ODocument docThree = new ODocument();
    docThree.save();
    ODocument docFour = new ODocument();
    docFour.save();

    ridBag.add(docThree);
    ridBag.add(docFour);

    rootDoc.save();

    database.rollback();

    Assert.assertEquals(database.countClusterElements(database.getDefaultClusterId()), recordsCount);

    rootDoc = database.load(rootDoc.getIdentity());
    ridBag = rootDoc.field("ridBag");

    Assert.assertEquals(ridBag.size(), 2);

    List<OIdentifiable> addedDocs = new ArrayList<OIdentifiable>(Arrays.asList(docOne, docTwo));

    Iterator<OIdentifiable> iterator = ridBag.iterator();
    Assert.assertTrue(addedDocs.remove(iterator.next()));
    Assert.assertTrue(addedDocs.remove(iterator.next()));
  }
View Full Code Here

    database.begin();

    ODocument rootDoc = new ODocument();

    ORidBag ridBag = new ORidBag();
    rootDoc.field("ridBag", ridBag);

    ODocument docOne = new ODocument();
    ODocument docTwo = new ODocument();

    ridBag.add(docOne);
    ridBag.add(docTwo);

    rootDoc.save();

    database.commit();

    long recordsCount = database.countClusterElements(database.getDefaultClusterId());

    rootDoc = database.load(rootDoc.getIdentity());
    ridBag = rootDoc.field("ridBag");

    ODocument staleCMEDoc = database.load(cmeDoc.getIdentity());
    Assert.assertNotSame(staleCMEDoc, cmeDoc);
    cmeDoc.field("v", "v");
    cmeDoc.save();

    database.begin();

    ODocument docThree = new ODocument();
    docThree.save();
    ODocument docFour = new ODocument();
    docFour.save();

    ridBag.add(docThree);
    ridBag.add(docFour);

    rootDoc.save();

    staleCMEDoc.field("v", "vn");
    staleCMEDoc.save();

    try {
      database.commit();
      Assert.fail();
    } catch (OConcurrentModificationException e) {
    }

    Assert.assertEquals(database.countClusterElements(database.getDefaultClusterId()), recordsCount);

    rootDoc = database.load(rootDoc.getIdentity());
    ridBag = rootDoc.field("ridBag");

    Assert.assertEquals(ridBag.size(), 2);

    List<OIdentifiable> addedDocs = new ArrayList<OIdentifiable>(Arrays.asList(docOne, docTwo));

    Iterator<OIdentifiable> iterator = ridBag.iterator();
    Assert.assertTrue(addedDocs.remove(iterator.next()));
    Assert.assertTrue(addedDocs.remove(iterator.next()));
  }
View Full Code Here

  public void testAddInternalDocumentsAndSubDocuments() {
    database.begin();

    ODocument rootDoc = new ODocument();

    ORidBag ridBag = new ORidBag();
    rootDoc.field("ridBag", ridBag);

    ODocument docOne = new ODocument();
    docOne.save();

    ODocument docTwo = new ODocument();
    docTwo.save();

    ridBag.add(docOne);
    ridBag.add(docTwo);

    rootDoc.save();

    database.commit();

    long recordsCount = database.countClusterElements(database.getDefaultClusterId());
    rootDoc = database.load(rootDoc.getIdentity());
    ridBag = rootDoc.field("ridBag");

    database.begin();

    ODocument docThree = new ODocument();
    docThree.save();

    ODocument docFour = new ODocument();
    docFour.save();

    ridBag.add(docThree);
    ridBag.add(docFour);

    rootDoc.save();

    ODocument docThreeOne = new ODocument();
    docThreeOne.save();

    ODocument docThreeTwo = new ODocument();
    docThreeTwo.save();

    ORidBag ridBagThree = new ORidBag();
    ridBagThree.add(docThreeOne);
    ridBagThree.add(docThreeTwo);
    docThree.field("ridBag", ridBagThree);

    docThree.save();

    ODocument docFourOne = new ODocument();
    docFourOne.save();

    ODocument docFourTwo = new ODocument();
    docFourTwo.save();

    ORidBag ridBagFour = new ORidBag();
    ridBagFour.add(docFourOne);
    ridBagFour.add(docFourTwo);

    docFour.field("ridBag", ridBagFour);

    docFour.save();
View Full Code Here

    database.begin();

    ODocument rootDoc = new ODocument();

    ORidBag ridBag = new ORidBag();
    rootDoc.field("ridBag", ridBag);

    ODocument docOne = new ODocument();
    docOne.save();

    ODocument docTwo = new ODocument();
    docTwo.save();

    ridBag.add(docOne);
    ridBag.add(docTwo);

    rootDoc.save();

    database.commit();

    long recordsCount = database.countClusterElements(database.getDefaultClusterId());
    rootDoc = database.load(rootDoc.getIdentity());
    ridBag = rootDoc.field("ridBag");

    ODocument staleCMEDoc = database.load(cmeDoc.getIdentity());
    Assert.assertNotSame(staleCMEDoc, cmeDoc);
    cmeDoc.field("v", "v");
    cmeDoc.save();

    database.begin();

    ODocument docThree = new ODocument();
    docThree.save();

    ODocument docFour = new ODocument();
    docFour.save();

    ridBag.add(docThree);
    ridBag.add(docFour);

    rootDoc.save();

    ODocument docThreeOne = new ODocument();
    docThreeOne.save();

    ODocument docThreeTwo = new ODocument();
    docThreeTwo.save();

    ORidBag ridBagThree = new ORidBag();
    ridBagThree.add(docThreeOne);
    ridBagThree.add(docThreeTwo);
    docThree.field("ridBag", ridBagThree);

    docThree.save();

    ODocument docFourOne = new ODocument();
    docFourOne.save();

    ODocument docFourTwo = new ODocument();
    docFourTwo.save();

    ORidBag ridBagFour = new ORidBag();
    ridBagFour.add(docFourOne);
    ridBagFour.add(docFourTwo);

    docFour.field("ridBag", ridBagFour);

    docFour.save();
View Full Code Here

    ODocument docOne = new ODocument();
    ODocument docTwo = new ODocument();

    ODocument rootDoc = new ODocument();

    ORidBag ridBag = new ORidBag();
    rootDoc.field("ridBag", ridBag);

    rootDoc.save();

    ODocument staleRooDoc = database.load(rootDoc.getIdentity());
    ORidBag staleRidBag = staleRooDoc.field("ridBag");

    staleRidBag.add(docOne);
    staleRidBag.add(docTwo);

    rootDoc.setDirty();
    rootDoc.save();
    try {
      staleRooDoc.save();
View Full Code Here

    ODocument docThree = new ODocument();
    docThree.save();

    ODocument rootDoc = new ODocument();

    ORidBag ridBag = new ORidBag();
    rootDoc.field("ridBag", ridBag);

    ridBag.add(docOne);
    ridBag.add(docTwo);

    rootDoc.save();

    ODocument staleRooDoc = database.load(rootDoc.getIdentity());
    ORidBag staleRidBag = staleRooDoc.field("ridBag");

    Iterator<OIdentifiable> iterator = staleRidBag.iterator();
    iterator.next();
    iterator.remove();

    staleRidBag.add(docThree);

    rootDoc.setDirty();
    rootDoc.save();
    try {
      staleRooDoc.save();
View Full Code Here

      final int amountOfDeletedDocs = rnd.nextInt(5) + 5;

      List<OIdentifiable> addedDocuments = new ArrayList<OIdentifiable>();

      ODocument document = new ODocument();
      ORidBag ridBag = new ORidBag();
      document.field("ridBag", ridBag);

      for (int i = 0; i < amountOfAddedDocs; i++) {
        final ODocument docToAdd = new ODocument();
        docToAdd.save();
        addedDocuments.add(docToAdd.getIdentity());
        ridBag.add(docToAdd);
      }

      document.save();

      ODocument staleDocument = database.load(document.getIdentity());
      ORidBag staleRidBag = staleDocument.field("ridBag");

      Assert.assertNotSame(document, staleDocument);
      Assert.assertNotSame(ridBag, staleRidBag);

      int k = 0;
      Iterator<OIdentifiable> iterator = staleRidBag.iterator();
      while (k < amountOfDeletedDocs && iterator.hasNext()) {
        iterator.next();
        if (rnd.nextBoolean()) {
          iterator.remove();
          k++;
        }

        if (!iterator.hasNext())
          iterator = staleRidBag.iterator();
      }

      for (k = 0; k < amountOfAddedDocsAfterSave; k++) {
        ODocument docToAdd = new ODocument();
        docToAdd.save();

        staleRidBag.add(docToAdd);
        addedDocuments.add(docToAdd);
      }

      Assert.assertEquals(staleRidBag.size(), addedDocuments.size() - amountOfDeletedDocs);

      document.setDirty();
      document.save();
      staleDocument.save();
View Full Code Here

    }
  }

  public void testVisibility() {
    ODocument document = new ODocument();
    ORidBag ridBag = new ORidBag();

    document.field("ridBag", ridBag);
    ODocument docOne = new ODocument();
    docOne.save();

    ODocument docTwo = new ODocument();
    docTwo.save();

    ridBag.add(docOne);
    ridBag.add(docTwo);

    document.save();

    ODocument copyOne = database.load(document.getIdentity());
    ODocument copyTwo = database.load(document.getIdentity());

    Assert.assertNotSame(copyOne, copyTwo);

    ORidBag ridBagOne = copyOne.field("ridBag");
    ORidBag ridBagTwo = copyTwo.field("ridBag");

    ODocument docTree = new ODocument();
    docTree.save();

    ODocument docFour = new ODocument();
    docFour.save();

    ridBagOne.remove(docOne);

    ridBagOne.add(docTree);
    ridBagTwo.add(docFour);

    Assert.assertEquals(ridBagOne.size(), 2);
    Assert.assertEquals(ridBagTwo.size(), 3);
  }
View Full Code Here

    List<OIdentifiable> docsToAdd = new ArrayList<OIdentifiable>();

    ODocument document = new ODocument();

    ORidBag ridBag = new ORidBag();
    document.field("ridBag", ridBag);
    document.save();

    database.begin();

    for (int i = 0; i < 3; i++) {
      ODocument docToAdd = new ODocument();
      docToAdd.save();
      ridBag.add(docToAdd);
      docsToAdd.add(docToAdd);
    }

    document.save();

    database.commit();

    Assert.assertEquals(docsToAdd.size(), 3);
    Assert.assertTrue(ridBag.isEmbedded());

    document = database.load(document.getIdentity());
    ridBag = document.field("ridBag");

    database.begin();
    for (int i = 0; i < 3; i++) {
      ODocument docToAdd = new ODocument();
      docToAdd.save();
      ridBag.add(docToAdd);
    }

    Assert.assertTrue(document.isDirty());

    document.save();
    database.rollback();

    document = database.load(document.getIdentity());
    ridBag = document.field("ridBag");

    Assert.assertTrue(ridBag.isEmbedded());
    for (OIdentifiable identifiable : ridBag)
      Assert.assertTrue(docsToAdd.remove(identifiable));

    Assert.assertTrue(docsToAdd.isEmpty());
  }
View Full Code Here

TOP

Related Classes of com.orientechnologies.orient.core.db.record.ridbag.ORidBag

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.