Example usage for javax.swing.tree DefaultMutableTreeNode getChildCount

List of usage examples for javax.swing.tree DefaultMutableTreeNode getChildCount

Introduction

In this page you can find the example usage for javax.swing.tree DefaultMutableTreeNode getChildCount.

Prototype

public int getChildCount() 

Source Link

Document

Returns the number of children of this node.

Usage

From source file:org.apache.cayenne.modeler.ProjectTreeView.java

public void dataNodeChanged(DataNodeEvent e) {

    DefaultMutableTreeNode node = getProjectModel().getNodeForObjectPath(new Object[] {
            e.getDomain() != null ? e.getDomain() : (DataChannelDescriptor) mediator.getProject().getRootNode(),
            e.getDataNode() });/*  w  ww  .jav  a2 s . c om*/

    if (node != null) {

        if (e.isNameChange()) {
            positionNode((DefaultMutableTreeNode) node.getParent(), node,
                    Comparators.getDataDomainChildrenComparator());
            showNode(node);
        } else {

            getProjectModel().nodeChanged(node);

            DataChannelDescriptor domain = (DataChannelDescriptor) mediator.getProject().getRootNode();

            // check for DataMap additions/removals...
            Object[] mapsName = e.getDataNode().getDataMapNames().toArray();
            int mapCount = mapsName.length;

            // DataMap was linked
            if (mapCount > node.getChildCount()) {

                for (int i = 0; i < mapCount; i++) {
                    boolean found = false;
                    for (int j = 0; j < node.getChildCount(); j++) {
                        DefaultMutableTreeNode child = (DefaultMutableTreeNode) node.getChildAt(j);
                        if (domain.getDataMap(mapsName[i].toString()) == child.getUserObject()) {
                            found = true;
                            break;
                        }
                    }

                    if (!found) {
                        DefaultMutableTreeNode newMapNode = new DefaultMutableTreeNode(
                                domain.getDataMap(mapsName[i].toString()), false);
                        positionNode(node, newMapNode, Comparators.getNamedObjectComparator());
                        break;
                    }
                }
            }
            // DataMap was unlinked
            else if (mapCount < node.getChildCount()) {
                int j = 0;
                while (j < node.getChildCount()) {
                    boolean found = false;
                    DefaultMutableTreeNode child;
                    child = (DefaultMutableTreeNode) node.getChildAt(j);
                    Object obj = child.getUserObject();
                    for (int i = 0; i < mapCount; i++) {
                        if (domain.getDataMap(mapsName[i].toString()) == obj) {
                            found = true;
                            j++;
                        }
                    }
                    if (!found) {
                        removeNode(child);
                    }
                }
            }
        }
    }
}

From source file:org.apache.jackrabbit.oak.explorer.NodeStoreTree.java

private void addChildren(DefaultMutableTreeNode parent) {
    NamePathModel model = (NamePathModel) parent.getUserObject();
    if (model.isLoaded()) {
        return;//  w  w w  .j  av a 2  s. c  o m
    }

    List<NamePathModel> kids = newArrayList();
    for (ChildNodeEntry ce : model.getState().getChildNodeEntries()) {
        NamePathModel c = new NamePathModel(ce.getName(), concat(model.getPath(), ce.getName()),
                ce.getNodeState(), sizeCache, skipSizeCheck, backend);
        kids.add(c);
    }
    sort(kids);
    for (NamePathModel c : kids) {
        DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(c, true);
        treeModel.insertNodeInto(childNode, parent, parent.getChildCount());
    }
    model.loaded();
}

From source file:org.apache.jmeter.visualizers.ViewResultsFullVisualizer.java

/**
 * Update the visualizer with new data./*from   w  w  w  .  j  a  v a2s. co m*/
 */
private synchronized void updateGui(SampleResult res) {
    // Add sample
    DefaultMutableTreeNode currNode = new SearchableTreeNode(res, treeModel);
    treeModel.insertNodeInto(currNode, root, root.getChildCount());
    addSubResults(currNode, res);
    // Add any assertion that failed as children of the sample node
    AssertionResult[] assertionResults = res.getAssertionResults();
    int assertionIndex = currNode.getChildCount();
    for (AssertionResult assertionResult : assertionResults) {
        if (assertionResult.isFailure() || assertionResult.isError()) {
            DefaultMutableTreeNode assertionNode = new SearchableTreeNode(assertionResult, treeModel);
            treeModel.insertNodeInto(assertionNode, currNode, assertionIndex++);
        }
    }

    if (root.getChildCount() == 1) {
        jTree.expandPath(new TreePath(root));
    }
    if (autoScrollCB.isSelected() && root.getChildCount() > 1) {
        jTree.scrollPathToVisible(
                new TreePath(new Object[] { root, treeModel.getChild(root, root.getChildCount() - 1) }));
    }
}

From source file:org.apache.jmeter.visualizers.ViewResultsFullVisualizer.java

private void addSubResults(DefaultMutableTreeNode currNode, SampleResult res) {
    SampleResult[] subResults = res.getSubResults();

    int leafIndex = 0;

    for (SampleResult child : subResults) {
        if (log.isDebugEnabled()) {
            log.debug("updateGui1 : child sample result - " + child);
        }//from   w ww . j  a  va  2 s.  co m
        DefaultMutableTreeNode leafNode = new SearchableTreeNode(child, treeModel);

        treeModel.insertNodeInto(leafNode, currNode, leafIndex++);
        addSubResults(leafNode, child);
        // Add any assertion that failed as children of the sample node
        AssertionResult[] assertionResults = child.getAssertionResults();
        int assertionIndex = leafNode.getChildCount();
        for (AssertionResult item : assertionResults) {
            if (item.isFailure() || item.isError()) {
                DefaultMutableTreeNode assertionNode = new SearchableTreeNode(item, treeModel);
                treeModel.insertNodeInto(assertionNode, leafNode, assertionIndex++);
            }
        }
    }
}

From source file:org.apache.oodt.cas.workflow.gui.perspective.view.impl.DefaultTreeView.java

public TreePath getTreePath(DefaultMutableTreeNode node, ModelGraph graph) {
    if (node.getUserObject().equals(graph)) {
        return new TreePath(node.getPath());
    } else {// w  w w . j a va2 s  .c om
        for (int i = 0; i < node.getChildCount(); i++) {
            // System.out.println("i: " + ((DefaultMutableTreeNode)
            // node.getChildAt(i)).getUserObject());
            TreePath treePath = this.getTreePath((DefaultMutableTreeNode) node.getChildAt(i), graph);
            if (treePath != null) {
                return treePath;
            }
        }
        return null;
    }
}

From source file:org.apache.oodt.cas.workflow.gui.perspective.view.impl.DefaultTreeView.java

private TreePath getTreePath(TreePath currentPath, ViewState state) {
    String lookingForPath = state.getCurrentMetGroup();
    Stack<DefaultMutableTreeNode> stack = new Stack<DefaultMutableTreeNode>();
    DefaultMutableTreeNode baseNode = (DefaultMutableTreeNode) currentPath.getLastPathComponent();
    for (int i = 0; i < baseNode.getChildCount(); i++) {
        stack.push((DefaultMutableTreeNode) baseNode.getChildAt(i));
    }//  w  ww. j a  v  a  2s . c o  m
    while (!stack.empty()) {
        DefaultMutableTreeNode node = stack.pop();
        if (node.getUserObject().equals("static-metadata")) {
            for (int i = 0; i < node.getChildCount(); i++) {
                stack.push((DefaultMutableTreeNode) node.getChildAt(i));
            }
        } else if (node.getUserObject() instanceof ConcurrentHashMap) {
            String key = (String) ((ConcurrentHashMap<String, String>) node.getUserObject()).keySet().iterator()
                    .next();
            if (lookingForPath.equals(key)) {
                return new TreePath(node.getPath());
            } else if (lookingForPath.startsWith(key + "/")) {
                lookingForPath = lookingForPath.substring(lookingForPath.indexOf("/") + 1);
                stack.clear();
                for (int i = 0; i < node.getChildCount(); i++) {
                    stack.add((DefaultMutableTreeNode) node.getChildAt(i));
                }
            }
        }
    }
    return currentPath;
}

From source file:org.apache.oodt.cas.workflow.gui.perspective.view.impl.DefaultTreeView.java

@Override
public void refreshView(final ViewState state) {
    Rectangle visibleRect = null;
    if (this.tree != null) {
        visibleRect = this.tree.getVisibleRect();
    }//  ww w  . j  av  a 2 s  .  c o  m

    this.removeAll();

    this.actionsMenu = this.createPopupMenu(state);

    DefaultMutableTreeNode root = new DefaultMutableTreeNode("WORKFLOWS");
    for (ModelGraph graph : state.getGraphs()) {
        root.add(this.buildTree(graph, state));
    }
    tree = new JTree(root);
    tree.setShowsRootHandles(true);
    tree.setRootVisible(false);
    tree.add(this.actionsMenu);

    if (state.getSelected() != null) {
        // System.out.println("SELECTED: " + state.getSelected());
        TreePath treePath = this.getTreePath(root, state.getSelected());
        if (state.getCurrentMetGroup() != null) {
            treePath = this.getTreePath(treePath, state);
        } else if (Boolean.parseBoolean(state.getFirstPropertyValue(EXPAND_STATIC_METADATA))) {
            DefaultMutableTreeNode baseNode = (DefaultMutableTreeNode) treePath.getLastPathComponent();
            for (int i = 0; i < baseNode.getChildCount(); i++) {
                if (((DefaultMutableTreeNode) baseNode.getChildAt(i)).getUserObject()
                        .equals("static-metadata")) {
                    treePath = new TreePath(((DefaultMutableTreeNode) baseNode.getChildAt(i)).getPath());
                    break;
                }
            }
        } else if (Boolean.parseBoolean(state.getFirstPropertyValue(EXPAND_PRECONDITIONS))) {
            if (treePath == null) {
                treePath = this.getTreePath(root, state.getSelected().getPreConditions());
            }
            DefaultMutableTreeNode baseNode = (DefaultMutableTreeNode) treePath.getLastPathComponent();
            for (int i = 0; i < baseNode.getChildCount(); i++) {
                if (((DefaultMutableTreeNode) baseNode.getChildAt(i)).getUserObject()
                        .equals("pre-conditions")) {
                    treePath = new TreePath(((DefaultMutableTreeNode) baseNode.getChildAt(i)).getPath());
                    break;
                }
            }
        } else if (Boolean.parseBoolean(state.getFirstPropertyValue(EXPAND_POSTCONDITIONS))) {
            if (treePath == null) {
                treePath = this.getTreePath(root, state.getSelected().getPostConditions());
            }
            DefaultMutableTreeNode baseNode = (DefaultMutableTreeNode) treePath.getLastPathComponent();
            for (int i = 0; i < baseNode.getChildCount(); i++) {
                if (((DefaultMutableTreeNode) baseNode.getChildAt(i)).getUserObject()
                        .equals("post-conditions")) {
                    treePath = new TreePath(((DefaultMutableTreeNode) baseNode.getChildAt(i)).getPath());
                    break;
                }
            }
        }
        this.tree.expandPath(treePath);
        this.tree.setSelectionPath(treePath);
    }

    tree.addTreeSelectionListener(new TreeSelectionListener() {

        public void valueChanged(TreeSelectionEvent e) {
            if (e.getPath().getLastPathComponent() instanceof DefaultMutableTreeNode) {
                DefaultTreeView.this.resetProperties(state);
                DefaultMutableTreeNode node = (DefaultMutableTreeNode) e.getPath().getLastPathComponent();
                if (node.getUserObject() instanceof ModelGraph) {
                    state.setSelected((ModelGraph) node.getUserObject());
                    state.setCurrentMetGroup(null);
                    DefaultTreeView.this.notifyListeners();
                } else if (node.getUserObject().equals("static-metadata")
                        || node.getUserObject().equals("pre-conditions")
                        || node.getUserObject().equals("post-conditions")) {
                    state.setSelected((ModelGraph) ((DefaultMutableTreeNode) node.getParent()).getUserObject());
                    state.setCurrentMetGroup(null);
                    state.setProperty(EXPAND_STATIC_METADATA,
                            Boolean.toString(node.getUserObject().equals("static-metadata")));
                    state.setProperty(EXPAND_PRECONDITIONS,
                            Boolean.toString(node.getUserObject().equals("pre-conditions")));
                    state.setProperty(EXPAND_POSTCONDITIONS,
                            Boolean.toString(node.getUserObject().equals("post-conditions")));
                    DefaultTreeView.this.notifyListeners();
                } else if (node.getUserObject() instanceof ConcurrentHashMap) {
                    DefaultMutableTreeNode metNode = null;
                    String group = null;
                    Object[] path = e.getPath().getPath();
                    for (int i = path.length - 1; i >= 0; i--) {
                        if (((DefaultMutableTreeNode) path[i]).getUserObject() instanceof ModelGraph) {
                            metNode = (DefaultMutableTreeNode) path[i];
                            break;
                        } else if (((DefaultMutableTreeNode) path[i])
                                .getUserObject() instanceof ConcurrentHashMap) {
                            if (group == null) {
                                group = (String) ((ConcurrentHashMap<String, String>) ((DefaultMutableTreeNode) path[i])
                                        .getUserObject()).keySet().iterator().next();
                            } else {
                                group = (String) ((ConcurrentHashMap<String, String>) ((DefaultMutableTreeNode) path[i])
                                        .getUserObject()).keySet().iterator().next() + "/" + group;
                            }
                        }
                    }
                    ModelGraph graph = (ModelGraph) metNode.getUserObject();
                    state.setSelected(graph);
                    state.setCurrentMetGroup(group);
                    DefaultTreeView.this.notifyListeners();
                } else {
                    state.setSelected(null);
                    DefaultTreeView.this.notifyListeners();
                }
            }
        }

    });
    tree.setCellRenderer(new TreeCellRenderer() {

        public Component getTreeCellRendererComponent(JTree tree, Object value, boolean selected,
                boolean expanded, boolean leaf, int row, boolean hasFocus) {
            DefaultMutableTreeNode node = (DefaultMutableTreeNode) value;
            if (node.getUserObject() instanceof String) {
                JPanel panel = new JPanel();
                panel.setLayout(new BorderLayout());
                JLabel label = new JLabel((String) node.getUserObject());
                label.setForeground(Color.blue);
                panel.add(label, BorderLayout.CENTER);
                panel.setBackground(selected ? Color.lightGray : Color.white);
                return panel;
            } else if (node.getUserObject() instanceof ModelGraph) {
                JPanel panel = new JPanel();
                panel.setLayout(new BorderLayout());
                JLabel iconLabel = new JLabel(
                        ((ModelGraph) node.getUserObject()).getModel().getExecutionType() + ": ");
                iconLabel.setForeground(((ModelGraph) node.getUserObject()).getModel().getColor());
                iconLabel.setBackground(Color.white);
                JLabel idLabel = new JLabel(((ModelGraph) node.getUserObject()).getModel().getModelName());
                idLabel.setBackground(Color.white);
                panel.add(iconLabel, BorderLayout.WEST);
                panel.add(idLabel, BorderLayout.CENTER);
                panel.setBackground(selected ? Color.lightGray : Color.white);
                return panel;
            } else if (node.getUserObject() instanceof ConcurrentHashMap) {
                JPanel panel = new JPanel();
                panel.setLayout(new BorderLayout());
                String group = (String) ((ConcurrentHashMap<String, String>) node.getUserObject()).keySet()
                        .iterator().next();
                JLabel nameLabel = new JLabel(group + " : ");
                nameLabel.setForeground(Color.blue);
                nameLabel.setBackground(Color.white);
                JLabel valueLabel = new JLabel(
                        ((ConcurrentHashMap<String, String>) node.getUserObject()).get(group));
                valueLabel.setForeground(Color.darkGray);
                valueLabel.setBackground(Color.white);
                panel.add(nameLabel, BorderLayout.WEST);
                panel.add(valueLabel, BorderLayout.EAST);
                panel.setBackground(selected ? Color.lightGray : Color.white);
                return panel;
            } else {
                return new JLabel();
            }
        }

    });
    tree.addMouseListener(new MouseListener() {
        public void mouseClicked(MouseEvent e) {
            if (e.getButton() == MouseEvent.BUTTON3 && DefaultTreeView.this.tree.getSelectionPath() != null) {
                DefaultMutableTreeNode node = (DefaultMutableTreeNode) DefaultTreeView.this.tree
                        .getSelectionPath().getLastPathComponent();
                if (node.getUserObject() instanceof String && !(node.getUserObject().equals("pre-conditions")
                        || node.getUserObject().equals("post-conditions"))) {
                    return;
                }
                orderSubMenu.setEnabled(node.getUserObject() instanceof ModelGraph
                        && !((ModelGraph) node.getUserObject()).isCondition()
                        && ((ModelGraph) node.getUserObject()).getParent() != null);
                DefaultTreeView.this.actionsMenu.show(DefaultTreeView.this.tree, e.getX(), e.getY());
            }
        }

        public void mouseEntered(MouseEvent e) {
        }

        public void mouseExited(MouseEvent e) {
        }

        public void mousePressed(MouseEvent e) {
        }

        public void mouseReleased(MouseEvent e) {
        }
    });
    this.scrollPane = new JScrollPane(tree, JScrollPane.VERTICAL_SCROLLBAR_ALWAYS,
            JScrollPane.HORIZONTAL_SCROLLBAR_ALWAYS);
    this.add(this.scrollPane, BorderLayout.CENTER);
    if (visibleRect != null) {
        this.tree.scrollRectToVisible(visibleRect);
    }

    this.revalidate();
}

From source file:org.codinjutsu.tools.mongo.view.MongoResultPanel.java

private String stringifyResult(DefaultMutableTreeNode selectedResultNode) {
    List<Object> stringifiedObjects = new LinkedList<Object>();
    for (int i = 0; i < selectedResultNode.getChildCount(); i++) {
        DefaultMutableTreeNode childNode = (DefaultMutableTreeNode) selectedResultNode.getChildAt(i);
        stringifiedObjects.add(childNode.getUserObject());
    }//from www.  j  ava 2s. c  om

    return String.format("[ %s ]", StringUtils.join(stringifiedObjects, " , "));
}

From source file:org.codinjutsu.tools.nosql.mongo.view.MongoResultPanel.java

private String stringifyResult(DefaultMutableTreeNode selectedResultNode) {
    List<Object> stringifiedObjects = new LinkedList<>();
    for (int i = 0; i < selectedResultNode.getChildCount(); i++) {
        DefaultMutableTreeNode childNode = (DefaultMutableTreeNode) selectedResultNode.getChildAt(i);
        stringifiedObjects.add(childNode.getUserObject());
    }//from ww w.j a  v  a  2  s .c  o m

    return String.format("[ %s ]", StringUtils.join(stringifiedObjects, " , "));
}

From source file:org.codinjutsu.tools.nosql.redis.view.RedisFragmentedKeyTreeModel.java

public static DefaultMutableTreeNode wrapNodes(DefaultMutableTreeNode source, String separator) {
    if (isEmpty(separator)) {
        return source;
    }/*from   w w w.  java2  s  .  c  om*/
    DefaultMutableTreeNode targetRootNode = (DefaultMutableTreeNode) source.clone();
    for (int i = 0; i < source.getChildCount(); i++) {
        DefaultMutableTreeNode originalChildNode = (DefaultMutableTreeNode) source.getChildAt(i);
        NoSqlTreeNode clonedChildNode = (NoSqlTreeNode) originalChildNode.clone();
        RedisKeyValueDescriptor descriptor = (RedisKeyValueDescriptor) clonedChildNode.getDescriptor();
        String[] explodedKey = StringUtils.explode(descriptor.getKey(), separator);
        if (explodedKey.length == 1) {
            addChildren(clonedChildNode, originalChildNode);
            targetRootNode.add(clonedChildNode);
        } else {
            updateTree(targetRootNode, originalChildNode, explodedKey, descriptor);
        }
    }
    return targetRootNode;
}