Add node to JTree

I have an already populated JTree. At Runtime I add one or more node to JTree, using something like
parentNode.add(newNode)....
If I call a repaint method, the new node isn't visible, I have to reload model using
DefaultTreeModel dtm = ((DefaultTreeModel)myTree.getModel());
TreeNode rootNode = (TreeNode) dtm.getRoot();
dtm.reload(rootNode);
Unfortunately this method cause the lost of focus on the currently selected node and the collapse of all JTree around its root node; If I change an existing node (for example changing its text or icon) I must reload the model too!!!
Does exist an other more "soft" method to change the aspect of a JTree without reload the entire model?

You must use or implement the
    public void valueForPathChanged(javax.swing.tree.TreePath path,java.lang.Object newNode) {
        Object[]    p = path.getPath();
        Object[]    pp = p;
        //insert node here
        int[] ci = new int[] {index};
        Object[] cc = new Object[] {node};
        fireTreeNodesChanged(this, pp, ci, cc);
        fireTreeStructureChanged(this, pp, ci, cc);
    }from the TreeModel. To fire the last two is essensial.
I implemented a GP in JAVA so i had the same problem wehn i started.

Similar Messages

  • How to dynamically add Nodes to JTree?

    How to add nodes to a Jtree by getting the information into a specific file
    For example, in JList:
    DefaultListModel workgroups;
    workgroups = new DefaultListModel();
    List<String> workgroupsList = new ArrayList<String>();
    workgroupsList = ParserUtils.getWorkgroupList(ParserUtils.getConfigPath() + "\\.workgroup.properties");
    if (!workgroupsList.isEmpty()){
         for (String workgroup : workgroupsList){
              workgroups.addElement(workgroup.toString().trim());
    workgroupList = new JList(workgroups); //adds the list workgroupsThe output of this will be a JList displaying the list of workgroups per line. The list could be found in a file name "workgroup.properties"
    Question is, is it possible to adapt this same method in JTree. The information per line will serve as one node in the tree. For example, I have 3 workgroups in the list, there will also be 3 nodes to be found in the tree.
    Any suggestions?
    THanks.

    There's a huge JTree example in the Swing tutorial. It's a bit of a beast to use.

  • How to add nodes to JTree???

    Hi ,
    i'm developing an application using the NetBeans 6.0. I was trying to add the Nodes on the "JMenuItem" Click event.
    I know how to add the customized code to the JTree, but while adding following code to the JMenuItem's Click, does'nt work
    Code :
    private void jMenu1ActionPerformed(java.awt.event.ActionEvent evt)
                       DefaultMutableTreeNode dm =new DefaultMutableTreeNode("Root Element");
                       dm.add(new DefaultMutableTreeNode("Child Node"));
                       Treeview=new javax.swing.JTree(dm);
    }        Please help me out where i should write the code so that it will add the nodes to the JTree on JMenuItem's Click.
    Thanks in Advance
    - Hitesh

    Read the tutorial: [Dynamically Changing a Tree|http://java.sun.com/docs/books/tutorial/uiswing/components/tree.html#dynamic]

  • Add node to a specific node in JTree

    I use the following TreePanel class to add node to the tree. My question is how to add a new node under
    a specific node which has been created before. In other words, how to get the path and identify the node.
    For e.g., I first loaded some raw data files and created the "raw data" node, later I need to load another file
    and create a new node under the "raw data" node. Each node is created by using user object. Any help is greatly appreicated.
    import java.awt.*;
    import javax.swing.*;
    import javax.swing.event.*;
    import javax.swing.tree.*;
    public class TreePanel extends JPanel {
      protected DefaultMutableTreeNode rootNode;
      protected DefaultTreeModel treeModel;
      protected JTree tree;
      public TreePanel() {
        super(new GridLayout(1,0));
        rootNode = new DefaultMutableTreeNode("Experiment");
        treeModel = new DefaultTreeModel(rootNode);
        tree = new JTree(treeModel);
        tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
        tree.setShowsRootHandles(true);
        JScrollPane scrollPane = new JScrollPane(tree);
        add(scrollPane);
      public JTree getTree(){
        return tree;
      /* Add child to the currently selected node. */
      public DefaultMutableTreeNode addObject(Object child){
        DefaultMutableTreeNode parentNode = null;
        TreePath parentPath = tree.getSelectionPath();
        if(parentPath == null){
          parentNode = rootNode;
        else{
          parentNode = (DefaultMutableTreeNode)(parentPath.getLastPathComponent());
        return addObject(parentNode, child, true);
      /* Add child */
      public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent, Object child){
        return addObject(parent, child, false);
      /* Add child */
      public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent, Object child, boolean shouldBeVisible){
        DefaultMutableTreeNode childNode = new DefaultMutableTreeNode(child);
        if(parent == null){parent = rootNode;}
        treeModel.insertNodeInto(childNode, parent, parent.getChildCount());
        if(shouldBeVisible){
          tree.scrollPathToVisible(new TreePath(childNode.getPath()));
        return childNode;
      /* Add child */
      public DefaultMutableTreeNode addObject(DefaultMutableTreeNode parent, DefaultMutableTreeNode child){
       if(parent == null){parent = rootNode;}
       treeModel.insertNodeInto(child, parent, parent.getChildCount());
       return child;
    }Thanks in advance!

    public static DefaultMutableTreeNode findNode(DefaultMutableTreeNode from, Object userObject) {
              if (userObject == null && from.getUserObject() == null) {
                   return from;
              } else if (userObject.equals(from.getUserObject())) {
                   return from;
              DefaultMutableTreeNode node = null;
              for (int i = 0; i < from.getChildCount(); i ++) {
                   node = (DefaultMutableTreeNode) from.getChildAt(i);
                   if (userObject == null) {
                        if (userObject == node.getUserObject()) {
                             break;
                   } else {
                        if (userObject.equals(node.getUserObject())) {
                             break;
                   node = null;
              if (node != null) {
                   return node;
              //Node not found
              //dig deeper
              for (int i = 0; i < from.getChildCount(); i ++) {
                   node = (DefaultMutableTreeNode) from.getChildAt(i);
                   if (!node.isLeaf()) {
                        node = findNode(node, userObject);
                        if (node != null) {
                             return node;
              //Not found
              return null;
         }     

  • Problem inserting new node into JTree with depthFirstEnumeration()

    Hello,
    I'm currently trying to use depthFirstEnumeration() to add and delete nodes for a simple JTree. I've written a method to handle this, but it keeps coming back with an exception saying that 'new child is an ancestor'.
    All I'm trying to do is add and delete nodes from a JTree using add and remove buttons within a swing program. When a user adds the new node the JTree needs to be updated with new labels in sequential order dependent upon a depthFirst traversal of the JTree.
    My current code for the add button is as follows,
    public void actionPerformed(ActionEvent event) 
            DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)tree.getLastSelectedPathComponent();
            Enumeration e = rootNode.depthFirstEnumeration();
            if(event.getSource().equals(addButton))
                if (selectedNode != null)
                    while (e.hasMoreElements()) {
                    // add the new node as a child of a selected node at the end
                    DefaultMutableTreeNode newNode = (DefaultMutableTreeNode)e.nextElement();
                     // treeModel.insertNodeInto(newNode, selectedNode, selectedNode.getChildCount());
                    //System.out.print(newNode.getUserObject() + "" + newNodeSuffix++);
                    String label = "Node"+i;
                    treeModel.insertNodeInto(newNode, selectedNode, selectedNode.getChildCount());
                    i++;
                      //make the node visible by scrolling to it
                    TreeNode[] totalNodes = treeModel.getPathToRoot(newNode);
                    TreePath path = new TreePath(totalNodes);
                    tree.scrollPathToVisible(path);
                    //System.out.println();
            else if(event.getSource().equals(deleteButton))
                //remove the selected node, except the parent node
                removeSelectedNode();           
        } As you can see in the above code, I've tested the incrementing of the new nodes in a System.out.print() statement and they appear to be incrementing correctly. I just can't see how to correctly output the labels for the nodes.
    Any help and advice always appreciated.

    This is about the 5th posting on the same question. Here is the link to the last posting so you can see what has already been suggested so you don't waste your time making the same suggestion.
    http://forum.java.sun.com/thread.jspa?threadID=704980
    The OP doesn't seem to understand that nodes don't just rename themselves and that renderers will only display the text of the current node. If you want the text displayed to changed, then you need to change the text associated with each node, which means iterating through the entire tree to update each node with new text. Then again, maybe I don't understand the question, but the OP keeps posting the same question without any additional information.

  • Icon was changed to default icon when editting a node on JTree

    I have a tree with icon on nodes. However, when I edit the node, the icon is changed to default icon.
    I don't known how to write the treeCellEditor to fix that one.
    The following is my code:
    package description.ui;
    import java.awt.BorderLayout;
    import java.awt.Component;
    import java.awt.Dimension;
    import java.awt.event.ActionEvent;
    import javax.swing.ImageIcon;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTree;
    import javax.swing.ToolTipManager;
    import javax.swing.WindowConstants;
    import javax.swing.tree.DefaultMutableTreeNode;
    import javax.swing.tree.DefaultTreeCellEditor;
    import javax.swing.tree.DefaultTreeCellRenderer;
    import javax.swing.tree.DefaultTreeModel;
    import javax.swing.tree.TreePath;
    import javax.swing.tree.TreeSelectionModel;
    public class Tree extends javax.swing.JPanel {
         private JTree tree;
         private JScrollPane jScrollPane1;
         public static void main(String[] args) {
              JFrame frame = new JFrame();
              frame.getContentPane().add(new Tree());
              frame.setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE);
              frame.pack();
              frame.show();
         public Tree() {
              super();
              initGUI();
         private void initGUI() {
              try {
                   BorderLayout thisLayout = new BorderLayout();
                   this.setLayout(thisLayout);
                   setPreferredSize(new Dimension(400, 300));
                    jScrollPane1 = new JScrollPane();
                    this.add(jScrollPane1, BorderLayout.CENTER);
                        DefaultMutableTreeNode rootNode = createNode();
                        tree = new JTree(rootNode);
                        tree.getSelectionModel().setSelectionMode(TreeSelectionModel.SINGLE_TREE_SELECTION);
                        jScrollPane1.setViewportView(tree);
                        ToolTipManager.sharedInstance().registerComponent(tree);
                        MyCellRenderer cellRenderer = new MyCellRenderer();
                        tree.setCellRenderer(cellRenderer);
                        tree.setEditable(true);
                        tree.setCellEditor(new DefaultTreeCellEditor(tree, cellRenderer));
                        //tree.setCellEditor(new MyCellEditor(tree, cellRenderer));
              } catch (Exception e) {
                   e.printStackTrace();
         private void btRemoveActionPerformed(ActionEvent evt) {
             TreePath path = tree.getSelectionPath();
             DefaultMutableTreeNode selectedNode = (DefaultMutableTreeNode)path.getLastPathComponent();
             ((DefaultTreeModel)tree.getModel()).removeNodeFromParent(selectedNode);
         private DefaultMutableTreeNode createNode() {
             DefaultMutableTreeNode rootNode = new DefaultMutableTreeNode("Doc");
             DefaultMutableTreeNode ch1 = createChuongNode(rootNode, "Ch1");
             DefaultMutableTreeNode ch2 = createChuongNode(rootNode, "Ch2");
             createTextLeafNode(ch1, "title");
             return rootNode;
         private DefaultMutableTreeNode createChuongNode(DefaultMutableTreeNode parent, String name) {
             DefaultMutableTreeNode node = new DefaultMutableTreeNode(new ChapterNodeData(name));
             parent.add(node);
             return node;
         private DefaultMutableTreeNode createTextLeafNode(DefaultMutableTreeNode parent, String name) {
             DefaultMutableTreeNode node = new DefaultMutableTreeNode(new TitleNodeData(name));
             parent.add(node);
             return node;
          private class MyCellRenderer extends DefaultTreeCellRenderer {
                 ImageIcon titleIcon;
                 ImageIcon chapterIcon;
                 public MyCellRenderer() {
                     titleIcon = new ImageIcon(getClass().getClassLoader()
                            .getResource("description/ui/icons/Text16.gif"));
                     chapterIcon = new ImageIcon(getClass().getClassLoader()
                            .getResource("description/ui/icons/Element16.gif"));
                 public Component getTreeCellRendererComponent(
                                     JTree tree,
                                     Object value,
                                     boolean sel,
                                     boolean expanded,
                                     boolean leaf,
                                     int row,
                                     boolean hasFocus) {
                     super.getTreeCellRendererComponent(
                                     tree, value, sel,
                                     expanded, leaf, row,
                                     hasFocus);
                     if (isChapterNode(value)) {
                         setIcon(chapterIcon);
                         setToolTipText("chapter");
                     } else if (isTextLeafNode(value)) {
                         setIcon(titleIcon);
                         setToolTipText("title");
                     return this;
                 protected boolean isChapterNode(Object node) {
                     return ((DefaultMutableTreeNode)node).getUserObject() instanceof ChapterNodeData;
                 protected boolean isTextLeafNode(Object node) {
                     return ((DefaultMutableTreeNode)node).getUserObject() instanceof TitleNodeData;
          private class MyCellEditor extends DefaultTreeCellEditor {
                 ImageIcon titleIcon;
                 ImageIcon chapterIcon;
              public MyCellEditor(JTree tree, DefaultTreeCellRenderer renderer) {
                  super(tree, renderer);
                  titleIcon = new ImageIcon(getClass().getClassLoader()
                         .getResource("description/ui/icons/Text16.gif"));
                  titleIcon = new ImageIcon(getClass().getClassLoader()
                         .getResource("description/ui/icons/Element16.gif"));
              public Component getTreeCellEditorComponent(
                           JTree tree,
                           Object value,
                           boolean isSelected,
                           boolean expanded,
                           boolean leaf,
                           int row) {
                  super.getTreeCellEditorComponent(tree, value, isSelected, expanded, leaf, row);
                  return this.editingComponent;
          abstract class NodeData{
              String name;
              public NodeData(String name) {
                  this.name = name;
              public String getName() {
                  return name;
              public void setName(String name) {
                  this.name = name;
              public String toString() {
                  return name;
          class ChapterNodeData extends NodeData {
              public ChapterNodeData(String s) {
                  super(s);
          class TitleNodeData extends NodeData {
              public TitleNodeData(String attr) {
                  super(attr);
    }

    Arungeeth wrote:
    I know the name of the node... but i cant able to find that nodeHere is some sample code for searching and selecting a node:
        TreeModel model = jtemp.getModel();
        if (model != null) {
            Object root = model.getRoot();
            search(model, root, "Peter");//search for the name 'Peter'
            System.out.println(jtemp.getSelectionPath().getLastPathComponent());
        } else {
            System.out.println("Tree is empty.");
    private void search(TreeModel model, Object o, String argSearch) {
        int cc;
        cc = model.getChildCount(o);
        for (int i = 0; i < cc; i++) {
            DefaultMutableTreeNode child = (DefaultMutableTreeNode) model.getChild(o, i);
            if (model.isLeaf(child)) {
                TreeNode[] ar = child.getPath();
                String currentValue = Arrays.toString(ar);
                if (currentValue.contains(argSearch)) {
                    jtemp.setSelectionPath(new TreePath(ar));
            } else {
                search(model, child, argSearch);
    }

  • Adding nodes to JTree (algorithm needed)...

    Hi,
    I hope someone can give me a solution or at least a hint on how to solve the following problem:
    I've a JTree with a DefaultMutableTreeNode as the root node. Now I'll have to add nodes dynamically in a specified order. The numbers in brackets are node ids. Here's an example:
    [73691178][73691179]
    [73691178][73691179][73359970]
    [73691178][73691179][73359970][1762]
    [73691178][73691179][73359970][3092]
    [73691178][73691179][73359970][1396]
    [73691178][73691179][73359970][2301]
    [73691178][73691180]
    [73691178][73691180][73359972]
    [73691178][73691180][73359972][1762]
    [73691178][73691180][73359972][3092]
    [73691178][61262304]
    ...The first part specifies the root node (73691178) of my JTree, the next part specifies the node directly below the root node etc. - now I'll have to collect these values and build up my tree accordingly.
            private void buildUpTreeNodes(DefaultMutableTreeNode root) {
              if (root != null) {
                   List childTreeNodes = new NamedQueriesDAOHibernate().fetchChildTreeNodes(_rootNodeId, _mcId);
                   for (Iterator treeNodesIter = childTreeNodes.iterator(); treeNodesIter.hasNext();) {
                        NodeBean bean = (NodeBean) treeNodesIter.next();
                        DefaultMutableTreeNode newNode = new DefaultMutableTreeNode(bean);
                        List nodeIds = SwingUtil.extractNodeIdsFromNpath(bean.getNPathChild());
                        for (Iterator nodeIdsIter = nodeIds.iterator(); nodeIdsIter.hasNext();) {
                             Long nodeId = (Long) nodeIdsIter.next();
                             if (!_rootNodeId.equals(nodeId)) {
                                  // not sure, what to do...
                        root.add(newNode);
    childTreeNodes is a list with beans which contain the path information ([73691178][73691180], see above) among other things. The posting above adds every node to the root node which is not correct (the root node has to be changed according to the path information). Perhaps recursion is the only way to solve the problem but I'm not quite sure...
    Can anyone show some kind of algorithm on how to build up my tree in correct order?
    Thanks a lot and best regards
    - Stephan

    assuming you want to read in the ids from a text file (in the format shown),
    perhaps something like this might do
    import java.awt.*;
    import java.io.*;
    import javax.swing.*;
    import javax.swing.tree.*;
    class Testing
      java.util.Map<String,DefaultMutableTreeNode> nodes = new java.util.HashMap<String,DefaultMutableTreeNode>();
      JTree tree;
      public void buildGUI()
        String rootNode = "73691178";
        nodes.put(rootNode,new DefaultMutableTreeNode(rootNode));
        tree = new JTree(nodes.get(rootNode));
        loadTree();
        tree.expandRow(0);
        JFrame f = new JFrame();
        f.getContentPane().add(new JScrollPane(tree));
        f.setSize(200,200);
        f.setLocationRelativeTo(null);
        f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        f.setVisible(true);
      public void loadTree()
        try
          BufferedReader br = new BufferedReader(new FileReader("NodeIDs.txt"));
          String line = "";
          while ((line = br.readLine()) != null)
            String[] ids = line.replaceAll("\\[","").split("\\]");
            String newID = ids[ids.length-1];
            String parentID = ids[ids.length-2];
            nodes.put(newID,new DefaultMutableTreeNode(newID));
            nodes.get(parentID).add(nodes.get(newID));
          br.close();
        catch(IOException ioe){ioe.printStackTrace();}
      public static void main(String[] args)
        SwingUtilities.invokeLater(new Runnable(){
          public void run(){
            new Testing().buildGUI();
    }

  • Help needed with finding node in JTree

    Hi,
    In my application i will be entering some string data in a text box for search criteria.
    When I click on search, I will get data from database which will be shown as a JTree.
    This Jtree will have some nodes in which, node with string entered in the search text box exists.
    I need to focus on this node and I have only a string to find this node.
    How can I do this?How can I find a node in JTree using string value?
    Is there any alternate option by which I can achive my need?
    Please suggest.
    Thanks.

    @OP: please assign your dukes.
    @Andre_Uhres: if you don't get rewarded in the next couple of days, please let me know here to get at least one duke for your effort.
    Bye.

  • Sorting Nodes in JTree

    Can someone please help me. I got this class (MyTreeNode) from this forum but has problem compiling/using it due to my beginners status in Java. My current program is shown below. My problem is that if I change DefaultMutableTreeNode to MyTreeNode the program won't compile as the constructor for MyTreeNode does not take a parameter. Please show my how I can modify this to make use of the new class. I only want to sort the nodes in alphabetical order. If someone has a better way of doing it, please post it here.
    public void xpy()
    DefaultMutableTreeNode node1 = new DefaultMutableTreeNode(field1);
    DefaultMutableTreeNode node2 = new DefaultMutableTreeNode(field2);
    node1.add(node2);
    class MyTreeNode extends DefaultMutableTreeNode
    private static Comparator nodeComparator = new Comparator ()
    public int compare(Object o1, Object o2)
    return o1.toString().compareTo(o2.toString());
    public boolean equals(Object obj)
    return false; //static class -- 1 instance only
    public void add(MutableTreeNode node)
    super.add(node);
    Collections.sort(this.children, nodeComparator); //this.children is a proteced variable reference to the node's vector of children.
    Thanks
    pslloo

    Just add a constructor to your subclass:
    class MyTreeNode extends DefaultMutableTreeNode {
      public MyTreeNode(Object obj) {
        super(obj);
    ...Regards

  • Add Node to my Tree

    hi all
    i have a self join table with following column as select statement
    SELECT 1, LEVEL, a.product, ''exit'',a.techno
    FROM bom_products a
    CONNECT BY PRIOR a.techno = a.set_techno
    START WITH a.set_techno IS NULL
    that techno is pk
    and set_techno is fk
    and use
    following code for view my tree:
    DECLARE
         htree ITEM;
         b NUMBER;
    a RECORDGROUP;
    BEGIN
         go_block('BLK_CHART');
    htree := FIND_ITEM('BLK_CHART.T');
    a := FIND_GROUP('a');
    IF NOT ID_NULL(a) THEN
    DELETE_GROUP(a);
    END IF;
    a := CREATE_GROUP_FROM_QUERY('a',
    'SELECT 1, LEVEL, a.product, ''exit'',a.techno
    FROM bom_products a
    CONNECT BY PRIOR a.techno = a.set_techno
    START WITH a.set_techno IS NULL and a.techno='''||:BLK.TECHNO||''''
    b := POPULATE_GROUP(a);
    FTREE.SET_TREE_PROPERTY(htree, FTREE.RECORD_GROUP, a);
    END;
    and no problem,
    my issue is :
    add child to my tree and record to my table
    can any one help me to add node???????????????????

    WRITE THE FOLLOWING SCRIPT IN THE WHEN-BUTTON-PRESSED
    INSERT INTO TABLE VALUES (NEW_DISPLAY_LABEL,NEW_VALUE);
    COMMIT;
    P_PARENT_NODE_VALUE:= ftree.get_tree_node_property('tree4',:system.trigger_node,ftree.node_value);
    P_PARENT_NODE := Ftree.Find_Tree_Node('tree4',P_PARENT_NODE_VALUE,Ftree.FIND_NEXT, Ftree.NODE_value, Ftree.ROOT_NODE, Ftree.ROOT_NODE);
    P_NEW_NODE := ftree.add_tree_node('tree4',P_PARENT_NODE,ftree.parent_offset,ftree.last_child,ftree.expanded_node,NEW_DISPLAY_LABEL,null,NEW_VALUE);
    Message was edited by:
    zakaoullah

  • Drag and Drop nodes in JTree

    Is there a way to drap and drop JTree nodes without resorting to hacks? http://www.javaworld.com/javatips/jw-javatip97.html outlines a hack to get drag and drop working but it is kinda old. I am wondering whether there is a now a way to do this in Swing. http://weblogs.java.net/blog/shan_man/archive/2006/01/first_class_dra.html outlines a seemingly promising way but when I tried it it still wouldn't let me drag JTree nodes. (btw, if you are going to try it, you must replace TransferHandler.TransferInfo with TransferHandler.TransferSupport. It has apprently been renamed.)

    I have implemented drag and drop of nodes in JTree they same way it is explained in JavaWorld link that you mentioned, I customized it for my application and it worked great.

  • Failed to add node to cluster

    Hey, I am currently migrating my cluster.
    I removed the server pool master according to the metalink note by doing a failover (stopped the agent on the server pool master)
    Deleted the old master (node2) from the server pool.
    Executed the cleanup script on node2 and switched it off
    Modified the cluster.conf on the remaining node and remove the entries for the old master node2.
    Replaced the old server with new hardware -
    same name - same ip.
    Now I try to add this server to the server pool, but I get a timeout message
    OVM-1006 Register Oracle VM Server (node2) Failed: errcode=00001, errmsg=CDS accquire lock /etc/ovs-agent/db/srv.lock timeout. locker process is 8339
    Where can I look ?
    Christian

    Lemeunier wrote:
    > environment: sles 10 sp3, oes2, cluster services
    >
    > problem: reconfiguring oes to add a node to the cluster is causing the
    > error *failed to add node to cluster*
    >
    > history: I installed a 4 node cluster in a HP C7000 blade. We had to
    > replace the network switch in the blade center by a virtual connect
    > flex-10. This resulted in a loss of network connectivity, so I removed 3
    > of 4 nodes from cluster and eDirectory.
    > This worked fine, replication and time synchronisation was succesfully
    > and all server objects belonging to these 3 servers were deleted.
    >
    > Now the new switch has been configured and network connection
    > reestablished. Reconfiguring eDirectory and other oes2 services
    > succeeds, alle server objects are recreated, eDirectory is in sync, but
    > reconfiguring cluster services does not succeed.
    >
    > What do I have to do, to reconfigure cluster service and add nodes to
    > the cluster?
    >
    > Thank you for all hints.
    >
    > Ursula
    >
    >
    Did you remove the cluster rpms and then reinstall the rpms. I would
    recommend following TID 3131978 and see if that helps.

  • Program to add node /  delete node in the tree control via abap object

    Hi all,
    i am new to abap objects.
    Can anyone help me out to give program about add node , delete node at
    a particular point in tree hierarchy.
    folder1                     -- level 1
    subfolder1          -- level 2
    *********subfolder1   -- level 3
    *********subfolder2  -- level 3
    subfolder2          -- level 2
    folder2                     -- level 1
    if i select level3 and click on ADD button .....i get a facility to add new node
    at level 3 and and same thing can happen at level1 and level2 ............ if i select
    and folder at level3 and click on delete button ....it should delete that folder...
    if you do not have such program ........then guide me how to achieve this target via object oriented because i have to split the screen also and have to show some alve display in that.
    just guide me how to add and delete node at a particular level in tree structure....
    thanks in advance........

    Hello Ravi,
    Try this demo program:
    <b>BCALV_TREE_01</b>
    <b>BCALV_TREE_DEMO</b>
    BCALV_TREE_SIMPLE_DEMO
    Also try:
    BCALV_TREE_02
    BCALV_TREE_03
    BCALV_TREE_04
    BCALV_TREE_05
    BCALV_TREE_06
    regards,
    Beejal
    **reward if this helps

  • Add node into XML Model

    Hi all,
    i would like to add datas into my xml model but i don't manage to do it.
    Here is the context :
    -I have an xml file which represents a tree
    -When the xml model is loaded, i bound it to a tree
    -Then i add nodes to my tree ( aNode.addNode(new Node ) )
    When adding a node, i would like the node to be represented to my model;
    e.g : before adding a node
    <node name="node1">
         <node name="node1_1"/>
         <node name="node1_2"/>
    </node>
    after the node is added :
    <node name="node1">
         <node name="node1_1"/>
         <node name="node1_2"/>
         <node name="new node"/>
    </node>
    I have tried  xml setProperty:
    oModel.setProperty(myPath,data);
    oModel.setProperty(myPath,data,oContext);
    Can somebody help me to achieve this?
    Thanks,
    best regards,
    Marc

    Thanks for this fast reply, i try it and i come back to you
    Edit :
    Here is my xml file :
    <?xml version="1.0" encoding="utf-8"?>
    <objectSet version="1.2.3.4">
        <aRoot code="testCode" reference="0123456789" description="TestDescription"
            owner="Tester">
            <component name="MyCompo1" type="MyCompo1Type">
                <component name="MyCompo2" type="MyCompo2Type">
                    <property name="myProperty2-1" type="string" value="null" />
                    <property name="myProperty2-2" type="string" value="null" />
                    <property name="myProperty2-3" type="string" value="null" />
                </component>
                <component name="MyCompo3" type="MyCompo3Type">
                    <property name="myProperty3-1" type="string" value="null" />
                </component>
            </component>
        </aRoot>
    </objectSet>
    I made a button with the fellowing function attached :
    aTestFunction: function(oEvent){
            console.log("Test");
            var tree = this.byId("myTree");
            var oModel = tree.getModel();
            var pty = oModel.getProperty("/aRoot/MyCompo1"); // Empty; path is not good
            var pty1 = oModel.getProperty("/aRoot/component");//something but only whitespaces when printing
            console.log(pty);//empty
            console.log(pty1);// a lot of whitespaces (9lines of different sizes)
            pty1.push("node");//Error, pty1.push is not a function
            oModel.setProperty("/aRoot/component",pty1);
    The argument of pty1.push is not good, but the function cannot be even called.
    Another try?

  • How to add node

    I have two node RAC. One node has OS issue so we have to reinstall OS and Now I want to add new node.But ORACLE_HOME and ORA_CRS_HOME will be different for second home.
    Is it possible to have ORACLE_HOME differnt on each home?
    Means one the first node ORACLE_HOME is /opt/oracle/product/10.2.0/crs
    and on second node ORACLE_HOME will /export/home/oracle/product/10.2.0/crs
    How to add node in such condition?

    I have followed ML NOTE: 270512.1 and I am able to add clusterware on second Node
    When I have tried to "Add the RAC software to the new node" at time I am getting bellow error
    OUI-10009: There are no new nodes to add to this installation
    I have genrated trace using this command
    ./addNode.sh "CLUSTER_NEW_NODES=bullhead-rac2" -logLevel trace -debug
    Here it is
    Oracle Universal Installer, Version 10.2.0.3.0 Production
    Copyright (C) 1999, 2006, Oracle. All rights reserved.
    [main] [13:54:16:457] [NativeSystem.<init>:259] NullSecurityManager is set for Native System calls
    [main] [13:54:16:464] [Library.getInstance:95] Created instance of Library.
    [main] [13:54:16:465] [Version.isPre10i:189] isPre10i.java: Returning FALSE
    [main] [13:54:16:466] [UnixSystem.getCSSConfigType:2014] configFile=/var/opt/oracle/ocr.loc
    [main] [13:54:16:475] [Utils.getPropertyValue:221] keyName=ocrconfig_loc props.val=/dev/rdsk/c3t1d0s1 propValue=/dev/rdsk/c3t1d0s1
    [main] [13:54:16:476] [Utils.getPropertyValue:292] propName=local_only propValue=FALSE
    [main] [13:54:16:477] [UnixSystem.getCSSConfigType:2058] configType=false
    [main] [13:54:16:481] [Version.isPre10i:189] isPre10i.java: Returning FALSE
    [main] [13:54:16:482] [ClusterInfo.<init>:222] m_olsnodesPath=/oracle/product/10.2.0/crs/bin/olsnodes
    [main] [13:54:16:485] [RuntimeExec.runCommand:74] Calling Runtime.exec() with the command
    [main] [13:54:16:486] [RuntimeExec.runCommand:76] /oracle/product/10.2.0/crs/bin/olsnodes
    [main] [13:54:16:550] [RuntimeExec.runCommand:131] runCommand: Waiting for the process
    [Thread-2] [13:54:16:551] [StreamReader.run:61] In StreamReader.run
    [Thread-3] [13:54:16:551] [StreamReader.run:61] In StreamReader.run
    [Thread-2] [13:54:17:965] [StreamReader.run:65] OUTPUT>catfish-rac1
    [Thread-2] [13:54:17:969] [StreamReader.run:65] OUTPUT>bullhead-rac2
    [main] [13:54:18:62] [RuntimeExec.runCommand:133] runCommand: process returns 0
    [main] [13:54:18:63] [RuntimeExec.runCommand:147] RunTimeExec: output>
    [main] [13:54:18:64] [RuntimeExec.runCommand:150] catfish-rac1
    [main] [13:54:18:64] [RuntimeExec.runCommand:150] bullhead-rac2
    [main] [13:54:18:65] [RuntimeExec.runCommand:155] RunTimeExec: error>
    [main] [13:54:18:66] [RuntimeExec.runCommand:175] Returning from RunTimeExec.runCommand
    [main] [13:54:18:66] [ClusterInfo.getNodeNames:341] Number of nodes=2
    [main] [13:54:18:69] [ClusterInfo.getLocalNodeName:242] cmd=/oracle/product/10.2.0/crs/bin/olsnodes -l
    [main] [13:54:18:69] [RuntimeExec.runCommand:74] Calling Runtime.exec() with the command
    [main] [13:54:18:70] [RuntimeExec.runCommand:76] /oracle/product/10.2.0/crs/bin/olsnodes
    [main] [13:54:18:70] [RuntimeExec.runCommand:76] -l
    [Thread-5] [13:54:18:134] [StreamReader.run:61] In StreamReader.run
    [main] [13:54:18:135] [RuntimeExec.runCommand:131] runCommand: Waiting for the process
    [Thread-4] [13:54:18:134] [StreamReader.run:61] In StreamReader.run
    [Thread-4] [13:54:19:560] [StreamReader.run:65] OUTPUT>catfish-rac1
    [main] [13:54:19:626] [RuntimeExec.runCommand:133] runCommand: process returns 0
    [main] [13:54:19:627] [RuntimeExec.runCommand:147] RunTimeExec: output>
    [main] [13:54:19:628] [RuntimeExec.runCommand:150] catfish-rac1
    [main] [13:54:19:628] [RuntimeExec.runCommand:155] RunTimeExec: error>
    [main] [13:54:19:629] [RuntimeExec.runCommand:175] Returning from RunTimeExec.runCommand
    [main] [13:54:19:630] [ClusterInfo.getLocalNodeName:247] exit value 0
    [main] [13:54:19:631] [ClusterInfo.getLocalNodeName:253] output.length=1
    [main] [13:54:19:631] [ClusterInfo.getLocalNodeName:257] output[0]=catfish-rac1
    Starting Oracle Universal Installer...
    No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
    LD_LIBRARY_PATH environment variable :
    Total args: 25
    Command line argument array elements ...
    Arg:0:../../jdk/jre/bin/java:
    Arg:1:-Doracle.installer.library_loc=../lib/solaris:
    Arg:2:-Doracle.installer.oui_loc=/oracle/product/10.2.0/db_1/oui/bin/..:
    Arg:3:-Doracle.installer.bootstrap=FALSE:
    Arg:4:-Doracle.installer.startup_location=/oracle/product/10.2.0/db_1/oui/bin:
    Arg:5:-Doracle.installer.jre_loc=../../jre:
    Arg:6:-Doracle.installer.nlsEnabled="TRUE":
    Arg:7:-Doracle.installer.prereqConfigLoc= :
    Arg:8:-Doracle.installer.unixVersion=5.10:
    Arg:9:-mx96m:
    Arg:10:-cp:
    Arg:11:/tmp/OraInstall2007-10-09_01-54-01PM:../jlib/OraInstaller.jar:../jlib/oneclick.jar:../jlib/xmlparserv2.jar:../jlib/srvm.jar:../jlib/share.jar:../jlib/
    OraInstallerNet.jar:../jlib/xml.jar:../jlib/orai18n-collation.jar:../jlib/orai18n-mapping.jar:../jlib/emCfg.jar:../jlib/ojmisc.jar:../jlib/InstImages.jar:../
    jlib/InstHelp.jar:../jlib/InstHelp_de.jar:../jlib/InstHelp_es.jar:../jlib/InstHelp_fr.jar:../jlib/InstHelp_it.jar:../jlib/InstHelp_ja.jar:../jlib/InstHelp_ko
    .jar:../jlib/InstHelp_pt_BR.jar:../jlib/InstHelp_zh_CN.jar:../jlib/InstHelp_zh_TW.jar:../jlib/oracle_ice.jar:../jlib/help4.jar:../jlib/help4-nls.jar:../jlib/
    ewt3.jar:../jlib/ewt3-swingaccess.jar:../jlib/ewt3-nls.jar:../jlib/swingaccess.jar:../jlib/classes12.jar::../jlib/OraPrereq.jar:../jlib/jewt4.jar:../jlib/jew
    t4-nls.jar:
    Arg:12:oracle.sysman.oii.oiic.OiicInstaller:
    Arg:13:-scratchPath:
    Arg:14:/tmp/OraInstall2007-10-09_01-54-01PM:
    Arg:15:-sourceType:
    Arg:16:network:
    Arg:17:-timestamp:
    Arg:18:2007-10-09_01-54-01PM:
    Arg:19:-addNode:
    Arg:20:ORACLE_HOME=/oracle/product/10.2.0/db_1:
    Arg:21:CLUSTER_NEW_NODES=bullhead-rac2:
    Arg:22:-logLevel:
    Arg:23:severe:
    Arg:24:-debug:
    Initializing Java Virtual Machine from ../../jdk/jre/bin/java. Please wait...

Maybe you are looking for