Package org.gephi.graph.dhns.node

Examples of org.gephi.graph.dhns.node.AbstractNode


    @Test
    public void testMoveDurableTreeList() {

        TreeStructure treeStructure = new TreeStructure(null);

        AbstractNode p0 = treeStructure.getRoot();
        AbstractNode p1 = new AbstractNode(1, 0, 0, 0, 0, null);
        AbstractNode p2 = new AbstractNode(2, 0, 0, 0, 0, null);
        AbstractNode p3 = new AbstractNode(3, 0, 0, 0, 0, null);
        AbstractNode p4 = new AbstractNode(4, 0, 0, 0, 0, null);
        AbstractNode p5 = new AbstractNode(5, 0, 0, 0, 0, null);
        AbstractNode p6 = new AbstractNode(6, 0, 0, 0, 0, null);
        AbstractNode p7 = new AbstractNode(7, 0, 0, 0, 0, null);

        treeStructure.insertAsChild(p1, p0);
        treeStructure.insertAsChild(p2, p1);
        treeStructure.insertAsChild(p4, p0);
        treeStructure.insertAsChild(p5, p4);
        treeStructure.insertAsChild(p6, p4);
        treeStructure.insertAsChild(p3, p1);
        treeStructure.insertAsChild(p7, p0);

        //Test if ID = pre
        for (Iterator<AbstractNode> itr = treeStructure.getTree().iterator(1); itr.hasNext();) {
            AbstractNode n = itr.next();
            assertEquals(n.getId(), n.getPre());
        }

        //Move p1 -> p4
        treeStructure.move(p1, p4);

        //Write expected array
        int[] expected = new int[treeStructure.getTreeSize() - 1];
        int index = 0;
        for (Iterator<AbstractNode> itr = treeStructure.getTree().iterator(1); itr.hasNext();) {
            AbstractNode n = itr.next();
            expected[index] = n.getId();
        }

        treeStructure.move(p1, p0);
        treeStructure.move(p1, p4);

        int[] actual = new int[treeStructure.getTreeSize() - 1];
        for (Iterator<AbstractNode> itr = treeStructure.getTree().iterator(1); itr.hasNext();) {
            AbstractNode n = itr.next();
            actual[index] = n.getId();
        }
        assertArrayEquals(expected, actual);

        treeStructure.move(p3, p4);
        treeStructure.move(p3, p5);
View Full Code Here


        return dhns.newEdgeIterable(new EdgeAndMetaEdgeIterator(structure, new TreeIterator(structure, true, Tautology.instance), false, enabledNodePredicate, Tautology.instance));
    }

    public EdgeIterable getMetaEdges(Node node) {
        readLock();
        AbstractNode absNode = checkNode(node);
        return dhns.newEdgeIterable(new MetaEdgeNodeIterator(absNode.getMetaEdgesOutTree(), absNode.getMetaEdgesInTree(), MetaEdgeNodeIterator.EdgeNodeIteratorMode.BOTH, false));
    }
View Full Code Here

        return dhns.newEdgeIterable(new MetaEdgeNodeIterator(absNode.getMetaEdgesOutTree(), absNode.getMetaEdgesInTree(), MetaEdgeNodeIterator.EdgeNodeIteratorMode.BOTH, false));
    }

    public EdgeIterable getEdgesAndMetaEdges(Node node) {
        readLock();
        AbstractNode absNode = checkNode(node);
        EdgeNodeIterator std = new EdgeNodeIterator(absNode, EdgeNodeIterator.EdgeNodeIteratorMode.BOTH, false, enabledNodePredicate, Tautology.instance);
        MetaEdgeNodeIterator meta = new MetaEdgeNodeIterator(absNode.getMetaEdgesOutTree(), absNode.getMetaEdgesInTree(), MetaEdgeNodeIterator.EdgeNodeIteratorMode.BOTH, false);
        return dhns.newEdgeIterable(new BiEdgeIterator(std, meta));
    }
View Full Code Here

    @Test
    public void testMoveToGroup() {

        TreeStructure treeStructure = dhnsGlobal.getGraphStructure().getMainView().getStructure();

        AbstractNode target = (AbstractNode) nodeMap.get("Node 10");
        for (int i = 1; i < 5; i++) {
            AbstractNode ch = (AbstractNode) nodeMap.get("Node " + i);
            int oldSize = target.size;

            graphGlobal.moveToGroup(ch, target);

            assertEquals(oldSize + 1, target.size);
            assertEquals(ch.parent, target);
            assertEquals(target.getPre() + target.size, ch.getPre());
        }

        for (int i = 1; i < 5; i++) {
            AbstractNode ch = (AbstractNode) nodeMap.get("Node " + i);
            int oldSize = target.size;
            graphGlobal.removeFromGroup(ch);

            assertEquals(oldSize - 1, target.size);
            assertEquals(ch.parent, target.parent);
View Full Code Here

    public MetaEdge getMetaEdge(Node node1, Node node2) {
        if (node1 == null || node2 == null) {
            return null;
        }
        readLock();
        AbstractNode sourceNode = checkNode(node1);
        AbstractNode targetNode = checkNode(node2);
        AbstractEdge res = sourceNode.getMetaEdgesOutTree().getItem(targetNode.getNumber());
        if (res == null) {
            res = sourceNode.getMetaEdgesInTree().getItem(targetNode.getNumber());
        }
        readUnlock();
        return (MetaEdge) res;
    }
View Full Code Here

        Node[] groupArray = new Node[5];
        for (int i = 1; i < 6; i++) {
            groupArray[i - 1] = nodeMap.get("Node " + i);
        }

        AbstractNode group = (AbstractNode) graphGlobal.groupNodes(groupArray);

        assertEquals(oldSize + 1 - groupArray.length, graphGlobal.getNodeCount());
        assertEquals(groupArray.length, group.size);
        assertEquals(graphGlobal.getHeight(), 1);

        int i = 0;
        for (TreeListIterator itr = new TreeListIterator(treeStructure.getTree(), group.getPre()); itr.hasNext();) {
            AbstractNode node = itr.next();
            assertEquals(group.pre + i, node.getPre());
            i++;
        }
        try {
            checkHierarchy(treeStructure);
        } catch (Exception ex) {
View Full Code Here

        readUnlock();
        return (MetaEdge) res;
    }

    public int getMetaDegree(Node node) {
        AbstractNode absNode = checkNode(node);
        int count = absNode.getMetaEdgesInTree().getCount() + absNode.getMetaEdgesOutTree().getCount();
        return count;
    }
View Full Code Here

        Node[] groupArray = new Node[5];
        for (int i = 1; i < 6; i++) {
            groupArray[i - 1] = nodeMap.get("Node " + i);
        }

        AbstractNode group = (AbstractNode) graphGlobal.groupNodes(groupArray);

        graphGlobal.ungroupNodes(group);

        assertEquals(0, group.size);
        for (Node n : groupArray) {
            AbstractNode pn = (AbstractNode) n;
            assertEquals(1, pn.level);
            assertSame(treeStructure.getRoot(), pn.parent);
        }
        //treeStructure.showTreeAsTable();
        assertEquals(oldSize, graphGlobal.getNodeCount());
View Full Code Here

        graphGlobal2Directed.resetViewToLeaves();
        assertEquals(2, view.getMutualEdgesEnabled());
        assertEquals(10, view.getEdgesCountEnabled());
        LevelIterator lvlIterator = new LevelIterator(view.getStructure(), 2, Tautology.instance);
        for (; lvlIterator.hasNext();) {
            AbstractNode node = lvlIterator.next();
            assertEquals(node.getEdgesInTree().getCount(), node.getEnabledInDegree());
            assertEquals(node.getEdgesOutTree().getCount(), node.getEnabledOutDegree());
            int expectedMutual = 0;
            ParamAVLIterator<AbstractEdge> edgeIterator = new ParamAVLIterator<AbstractEdge>();
            for (edgeIterator.setNode(node.getEdgesOutTree()); edgeIterator.hasNext();) {
                AbstractEdge edge = edgeIterator.next();
                AbstractNode target = edge.getTarget(view.getViewId());
                if (node != target && target.getEdgesOutTree().hasNeighbour(node)) {
                    expectedMutual++;
                }
            }
            assertEquals(expectedMutual, node.getEnabledMutualDegree());
        }
        graphGlobal2Directed.resetViewToTopNodes();
        assertEquals(0, view.getMutualEdgesEnabled());
        assertEquals(0, view.getEdgesCountEnabled());
        graphGlobal2Directed.resetViewToLevel(1);
        assertEquals(2, view.getMutualEdgesEnabled());
        assertEquals(10, view.getEdgesCountEnabled());
        LevelIterator lvlIterator2 = new LevelIterator(view.getStructure(), 2, Tautology.instance);
        for (; lvlIterator2.hasNext();) {
            AbstractNode node = lvlIterator2.next();
            assertEquals(node.getEdgesInTree().getCount(), node.getEnabledInDegree());
            assertEquals(node.getEdgesOutTree().getCount(), node.getEnabledOutDegree());
            int expectedMutual = 0;
            ParamAVLIterator<AbstractEdge> edgeIterator = new ParamAVLIterator<AbstractEdge>();
            for (edgeIterator.setNode(node.getEdgesOutTree()); edgeIterator.hasNext();) {
                AbstractEdge edge = edgeIterator.next();
                AbstractNode target = edge.getTarget(view.getViewId());
                if (node != target && target.getEdgesOutTree().hasNeighbour(node)) {
                    expectedMutual++;
                }
            }
            assertEquals(expectedMutual, node.getEnabledMutualDegree());
        }
View Full Code Here

        int count = absNode.getMetaEdgesInTree().getCount() + absNode.getMetaEdgesOutTree().getCount();
        return count;
    }

    public int getTotalDegree(Node node) {
        AbstractNode absNode = checkNode(node);
        int count = absNode.getEdgesInTree().getCount()
                + absNode.getEdgesOutTree().getCount()
                + absNode.getMetaEdgesInTree().getCount()
                + absNode.getMetaEdgesOutTree().getCount();
        return count;
    }
View Full Code Here

TOP

Related Classes of org.gephi.graph.dhns.node.AbstractNode

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.