Package net.sf.joafip.store.service.objectfortest

Examples of net.sf.joafip.store.service.objectfortest.Node


      StoreTooBigForSerializationException {

    /*
     * create a linked list and save it
     */
    final Node node0 = new Node();
    node0.setValue(0);
    final Node node1 = new Node();
    node0.setNext(node1);
    node1.setPrevious(node0);
    node1.setValue(1);
    final Node node2 = new Node();
    node1.setNext(node2);
    node2.setPrevious(node1);
    node2.setValue(2);
    final Node node3 = new Node();
    node2.setNext(node3);
    node3.setPrevious(node2);
    node3.setValue(3);

    RefToNode refToNode = new RefToNode();
    refToNode.setRoot(node0);
    refToNode.setCurrent(node2);

    store.setRoot(refToNode);
    store.save(true, false);

    /*
     * unreference element in list and suppress it from the list, then save
     */
    logger.info("get root");
    refToNode = (RefToNode) store.readAndGetRoot();

    Node current = refToNode.getCurrent();// it is node 2
    Node previous = current.getPrevious(); // it is node 1
    Node next = current.getNext();// it is node 3
    /* node 2 no more referenced */
    refToNode.setCurrent(null);// unreference
    previous.setNext(next);
    next.setPrevious(previous);
    /* add a new object referenced by object modified and detached from root */
    next.setObject(new Object()); // node 3 reference a new object

    store.save(true, false);

    /*
     * check
     */
    logger.info("check if modification saved");

    logger.info("get root");
    refToNode = (RefToNode) store.readAndGetRoot();

    logger.info("root as current");
    current = refToNode.getRoot();// it is node 0
    final DataRecordIdentifier currentIdentifier = getIdentifier(current);
    assertEquals(BAD_VALUE, 0, current.getValue());
    logger.info("get next of current");
    next = current.getNext();// it is node 1
    logger.info("get previous of next");
    previous = next.getPrevious();// it is node 0
    final DataRecordIdentifier previousIdentifier = getIdentifier(current);
    assertEquals("must be same identifier", currentIdentifier,
        previousIdentifier);
    logger.info("current id=" + currentIdentifier);
    assertSame("bad link", current, previous);
    current = next;// it is node 1

    assertEquals(BAD_VALUE, 1, current.getValue());
    next = current.getNext(); // it is node 3
    final Node previousOfNext = next.getPrevious(); // it is node 1
    assertSame("bad link", current, previousOfNext);
    current = next;// it is node 3

    assertEquals(BAD_VALUE, 3, current.getValue());
    next = current.getNext();
View Full Code Here

TOP

Related Classes of net.sf.joafip.store.service.objectfortest.Node

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.