com.ibm.tspaces.ac.adminapp
Class AclTree

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--javax.swing.JComponent
                    |
                    +--javax.swing.JPanel
                          |
                          +--com.ibm.tspaces.ac.adminapp.AclTree

public class AclTree
extends javax.swing.JPanel

This is the GUI interface that provides a Tree view of the TSpaces Group/user Hierarchy. Actions that are supported on the tree are - add new user/group to selected user/group - delete user/group from selected group - add existing user/group to selected user/group

Author:
John Thomas
See Also:
Serialized Form

Inner classes inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Inner classes inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Fields inherited from class javax.swing.JComponent
accessibleContext, listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Constructor Summary
AclTree(TsAclDBase aclDB, AuthChecker authck)
          Constructor for the AclTree object.
 
Method Summary
protected  boolean doAddExistingToGroup(com.ibm.tspaces.ac.adminapp.AclFolder selected)
          Use wants to add one of the existing groups/users to the selected group (or user)
protected  boolean doAddNewGroup(com.ibm.tspaces.ac.adminapp.AclFolder selected)
          User wants to add a new group to the selected group (or user)
protected  boolean doAddNewUser(com.ibm.tspaces.ac.adminapp.AclFolder selected)
          Use wants to add a new User to the selected group (or user) This is similar to adding a group but you will be asked for a password and the userid and password will be added to a list of users and groups.
protected  boolean doRemoveGroup(com.ibm.tspaces.ac.adminapp.AclFolder selected, com.ibm.tspaces.ac.adminapp.AclFolder parent)
          User wants to remove the selected group or user from its parent.
protected  boolean doSetPassword(com.ibm.tspaces.ac.adminapp.AclFolder selected)
          This sets the Password for an existing user.
 boolean isModified()
           
static void main(java.lang.String[] argv)
          This is just for development testing.
 void setModified(boolean newStatus)
          sets the modified status.
 
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUIClassID, paramString, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addPropertyChangeListener, addPropertyChangeListener, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getAlignmentX, getAlignmentY, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getConditionForKeyStroke, getDebugGraphicsOptions, getGraphics, getHeight, getInsets, getInsets, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getVisibleRect, getWidth, getX, getY, grabFocus, hasFocus, isDoubleBuffered, isFocusCycleRoot, isFocusTraversable, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, processComponentKeyEvent, processFocusEvent, processKeyEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removePropertyChangeListener, removePropertyChangeListener, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setDebugGraphicsOptions, setDoubleBuffered, setEnabled, setFont, setForeground, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setUI, setVisible, unregisterKeyboardAction, update
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getLayout, insets, invalidate, isAncestorOf, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setCursor, setLayout, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, bounds, checkImage, checkImage, coalesceEvents, contains, createImage, createImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, getBackground, getBounds, getColorModel, getComponentOrientation, getCursor, getDropTarget, getFont, getFontMetrics, getForeground, getInputContext, getInputMethodRequests, getLocale, getLocation, getLocationOnScreen, getName, getParent, getPeer, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hide, imageUpdate, inside, isDisplayable, isEnabled, isLightweight, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, printAll, processComponentEvent, processInputMethodEvent, processMouseEvent, remove, removeComponentListener, removeFocusListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setDropTarget, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AclTree

public AclTree(TsAclDBase aclDB,
               AuthChecker authck)
Constructor for the AclTree object. AclTree is simply a JPanel Subclass that the JTree resides in. Perhaps it would be better to make it a subclass of JTree.
Parameters:
aclDB - is the Object that keeps track of the existing Principals and the User/group hierarchy.
AuthChecker - object that maintains the User/Passowrd key Hashtable.
Method Detail

isModified

public boolean isModified()
Returns:
true if we modified the state of the TsAclDBase or the UserTable and it should be updated at the server.

setModified

public void setModified(boolean newStatus)
sets the modified status.
Parameters:
newStatus - Set the modified status to this

doAddExistingToGroup

protected boolean doAddExistingToGroup(com.ibm.tspaces.ac.adminapp.AclFolder selected)
Use wants to add one of the existing groups/users to the selected group (or user)
Parameters:
the - TreeNode that represents an Acl Principal

doAddNewGroup

protected boolean doAddNewGroup(com.ibm.tspaces.ac.adminapp.AclFolder selected)
User wants to add a new group to the selected group (or user)
Parameters:
the - TreeNode that represents an Acl Principal
Returns:
true if the operation is successfull

doAddNewUser

protected boolean doAddNewUser(com.ibm.tspaces.ac.adminapp.AclFolder selected)
Use wants to add a new User to the selected group (or user) This is similar to adding a group but you will be asked for a password and the userid and password will be added to a list of users and groups.
Parameters:
the - TreeNode that represents an Acl Principal where you want the user added.
Returns:
true if the operation is successfull

doRemoveGroup

protected boolean doRemoveGroup(com.ibm.tspaces.ac.adminapp.AclFolder selected,
                                com.ibm.tspaces.ac.adminapp.AclFolder parent)
User wants to remove the selected group or user from its parent. Note, this will not remove the group or user from the system. A future refinement would be to check if the selected group or user has no remaining parent (in belongsTo) and if so, ask the user if it should be deleted.
Parameters:
selected - Remove this group from its parent
parent - sever the ties
Returns:
return success or failure

doSetPassword

protected boolean doSetPassword(com.ibm.tspaces.ac.adminapp.AclFolder selected)
This sets the Password for an existing user.
Parameters:
selected - set the password for this principal
Returns:
success or failure

main

public static void main(java.lang.String[] argv)
This is just for development testing.