/** * This method is used to remove a Category Node from under us. * * @see arlut.csd.ganymede.rmi.Category */ public synchronized void removeNode(CategoryNode node) throws RemoteException { int i, index = -1; /* -- */ if (node == null) { throw new IllegalArgumentException("Can't remove a null node"); } // find our deletion point if (debug) { try { Ganymede.debug("DBBaseCategory (" + getName() + ").removeNode(" + node.getPath() + ")"); } catch (RemoteException ex) { Ganymede.logError(ex); throw new RuntimeException("rmi local failure?" + ex.getMessage()); } } for (i = 0; i < contents.size(); i++) { if (debug) { try { Ganymede.debug(" examining: " + ((CategoryNode) contents.elementAt(i)).getPath()); } catch (RemoteException ex) { Ganymede.logError(ex); throw new RuntimeException("rmi local failure?" + ex.getMessage()); } } if (contents.elementAt(i).equals(node)) { index = i; } } if (index == -1) { throw new IllegalArgumentException("can't delete a node that's not in the category"); } // remove our node from our content list contents.removeElementAt(index); if (false) { if (node instanceof DBObjectBase) { DBObjectBase base = (DBObjectBase) node; if (!base.isEditing()) { System.err.println( "DBBaseCategory.removeNode(): " + base.getName() + " has a null editor!"); } else { System.err.println( "DBBaseCategory.removeNode(): " + base.getName() + " has a non-null editor!"); } } } // Sorry, kid, yer on your own now! node.setCategory(null); }
/** * This method is used to remove a Category Node from under us. * * @see arlut.csd.ganymede.rmi.Category */ public synchronized void removeNode(String name) throws RemoteException { int i, index = -1; CategoryNode node = null; /* -- */ if (name == null) { throw new IllegalArgumentException("Can't remove a null name"); } // find our deletion point if (debug) { Ganymede.debug("DBBaseCategory (" + getName() + ").removeNode(" + name + ")"); } for (i = 0; i < contents.size() && (index == -1); i++) { if (debug) { Ganymede.debug(" examining: " + contents.elementAt(i)); } node = (CategoryNode) contents.elementAt(i); try { if (node.getName().equals(name)) { index = i; } } catch (RemoteException ex) { throw new RuntimeException("caught remote: " + ex); } } if (index == -1) { throw new IllegalArgumentException("can't delete a name that's not in the category"); } else if (debug) { System.err.println("DBBaseCategory.removeNode(): found node " + node); if (node instanceof DBObjectBase) { System.err.println("DBBaseCategory.removeNode(): node is DBObjectBase"); } else if (node instanceof Base) { System.err.println("DBBaseCategory.removeNode(): node is Base"); } else if (node instanceof DBBaseCategory) { System.err.println("DBBaseCategory.removeNode(): node is DBBaseCategory"); } else if (node instanceof Category) { System.err.println("DBBaseCategory.removeNode(): node is Category"); } else { System.err.println("DBBaseCategory.removeNode(): node is <unrecognized>"); } } // remove our node from our content list contents.removeElementAt(index); if (debug) { if (node instanceof DBObjectBase) { DBObjectBase base = (DBObjectBase) node; if (!base.isEditing()) { System.err.println( "DBBaseCategory.removeNode(2): " + base.getName() + " has a null editor!"); } else { System.err.println( "DBBaseCategory.removeNode(2): " + base.getName() + " has a non-null editor!"); } } } // Sorry, kid, yer on your own now! node.setCategory(null); }