com.ca.directory.jxplorer.search
Class ReturnAttributesDialog

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Dialog
                          |
                          +--javax.swing.JDialog
                                |
                                +--com.ca.commons.cbutil.CBDialog
                                      |
                                      +--com.ca.directory.jxplorer.search.ReturnAttributesDialog
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class ReturnAttributesDialog
extends CBDialog

This class acts as a item selector. It sets up a dialog that lets you select items from one list and add them to another list. It also allows you to remove selected items from the list.

See Also:
Serialized Form

Nested Class Summary
 
Nested classes inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
Nested classes inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
Nested classes inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
Nested classes inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class com.ca.commons.cbutil.CBDialog
buttonPanel, Cancel, display, Help, OK, owner
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
ReturnAttributesDialog(JXplorer jx)
          Sets up a dialog with two lists.
 
Method Summary
 void add()
          Gets the selected item from the list on the left and adds it to the list on the right.
 void delete()
          Checks if the name of the list that the user wants to delete is valid, calls the remove method then clears the text in the name field.
protected  boolean exists(java.lang.String name)
          Returns true if the property file (return_attributes.txt) contains the supplied key name.
protected  java.lang.String[] getAttributes()
          Gets a list of attributes that are available in the schema which can be used for searching.
 java.lang.String getList(java.lang.String name)
          Returns the value from the property file of a given list name.
 void getListAttrs(java.lang.String loadList, java.util.ArrayList list)
          Recursively extracts the attributes from the saved return attributes list.
static java.util.Properties getProperties()
          Sets up the property file called 'return_attributes.txt' in the user dir.
static java.lang.String[] getReturnAttributes(java.lang.String name)
          Returns the names of all the saved return-attributes lists from the property file 'return_attributes.txt'.
static void getReturnAttributes(java.lang.String value, java.util.ArrayList list)
          Returns the names of all the saved return-attributes lists from the property file 'return_attributes.txt'.
static java.lang.Object[] getSavedListNames()
          Returns the names of all the saved return-attributes lists from the property file 'return_attributes.txt'.
 java.util.ArrayList getSelectedValues()
          Returns a list of the values that the user has selected.
static java.util.ArrayList getSelectedValues(JXplorer jx)
          Static method that should be used rather than creating an object directly if you wish to get the user input after the user has finished making selections and has closed the window.
 void load()
          Gets all the names of the saved list from the property file 'return_attributes.txt', then pops up a JOptionPane dialog that has a combo box displaying these names.
protected  void registerMouseListeners()
          Adds a double click mouse listener to both lists in this dialog.
 void remove()
          Removes the selected item from the list on the left.
 void removeFromSearch(java.lang.String name)
          If a return attribute list is deleted check that the search file doesn't have a reference to it.
protected  void removeList(java.lang.String name)
          Removes a list from the properties file return_attributes.txt.
 void save()
          Saves a list to the property file called 'return_attributes.txt'.
protected  void setUpPropertyFile()
          Sets up the property file called 'return_attributes.txt' in the user dir.
 
Methods inherited from class com.ca.commons.cbutil.CBDialog
add, addln, doCancel, doOK, escKeyCheck, getDisplayPanel, makeHeavy, makeLight, makeWide, quit, setHelpLink, wasCancelled
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, dispose, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setFocusTraversalKeys, setFocusTraversalPolicy, setFont, transferFocusBackward, transferFocusDownCycle, validate, validateTree
 
Methods inherited from class java.awt.Component
action, add, addComponentListener, addFocusListener, addHierarchyBoundsListener, addHierarchyListener, addInputMethodListener, addKeyListener, addMouseListener, addMouseMotionListener, addMouseWheelListener, bounds, checkImage, checkImage, coalesceEvents, contains, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isOpaque, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ReturnAttributesDialog

public ReturnAttributesDialog(JXplorer jx)
Sets up a dialog with two lists. The list on the left displays all available values that the user can select from. When the user selects a value it is displayed in the list on the right either by double clicking on the value or clicking the '>' button. The user can also remove a value from the selection list either by double clicking on it or clicking the '<' button.

Parameters:
jx - the parent frame (JXplorer).
Method Detail

getSelectedValues

public static java.util.ArrayList getSelectedValues(JXplorer jx)
Static method that should be used rather than creating an object directly if you wish to get the user input after the user has finished making selections and has closed the window.

This method creates a CBListSelector object and calls its 'show' method. When the user is finished with the dialog this method returns the user's selections.

Parameters:
jx - the parent frame (JXplorer).
Returns:
a list of user selections.

getReturnAttributes

public static java.lang.String[] getReturnAttributes(java.lang.String name)
Returns the names of all the saved return-attributes lists from the property file 'return_attributes.txt'.

Parameters:
name - the name of the return attribute list.
Returns:
an array containing all the names of the lists.

getReturnAttributes

public static void getReturnAttributes(java.lang.String value,
                                       java.util.ArrayList list)
Returns the names of all the saved return-attributes lists from the property file 'return_attributes.txt'.

Parameters:
value - the list of return attributes.
list - a list of return attributes that are obtained from the value.
Returns:
an array containing all the names of the lists.

getSavedListNames

public static java.lang.Object[] getSavedListNames()
Returns the names of all the saved return-attributes lists from the property file 'return_attributes.txt'.

Returns:
an array containing all the names of the lists.

getProperties

public static java.util.Properties getProperties()
Sets up the property file called 'return_attributes.txt' in the user dir.


getAttributes

protected java.lang.String[] getAttributes()
Gets a list of attributes that are available in the schema which can be used for searching. These are used in the availableList part of the list.

Returns:
a string array of the available attributes to JX (null - if no schema publishing i.e. LDAP V2).

setUpPropertyFile

protected void setUpPropertyFile()
Sets up the property file called 'return_attributes.txt' in the user dir.


registerMouseListeners

protected void registerMouseListeners()
Adds a double click mouse listener to both lists in this dialog. If the double click occurs in the list on the left, the 'add' method is called. If the double click occurs in the list on the right, the remove method is called.


add

public void add()
Gets the selected item from the list on the left and adds it to the list on the right. It uses a global array list to keep track of the selections in the right hand list.


remove

public void remove()
Removes the selected item from the list on the left. It uses a global array list to keep track of the selections in the right hand list.


save

public void save()
Saves a list to the property file called 'return_attributes.txt'. Saves the list by 'name=value', where 'value' is the list of attributes to return separated by a ';'. For example myList=attr1;attr2;attr3;

Before saving some quick checks are done...
attributes have been selected,
the name is valid (not null, not empty and not 'Untitled),
the name doesn't already exist.


load

public void load()
Gets all the names of the saved list from the property file 'return_attributes.txt', then pops up a JOptionPane dialog that has a combo box displaying these names. Gets the user selection then retreves the value from the property file. Recall that in the property file the value is saved as a group of attribute names that are separated by a ';'. This method calls the 'getListAttrs' method that recursively extracts the attribute names. Once the names come back they are dropped into the selectedList (JList).


getListAttrs

public void getListAttrs(java.lang.String loadList,
                         java.util.ArrayList list)
Recursively extracts the attributes from the saved return attributes list.

Parameters:
loadList - the list of file names separated by a ';'.
list - the list to store the file names in.

exists

protected boolean exists(java.lang.String name)
Returns true if the property file (return_attributes.txt) contains the supplied key name.

Parameters:
name - the name of the list for example, 'myList'.
Returns:
true if the property file contains the list, false otherwise.

getList

public java.lang.String getList(java.lang.String name)
Returns the value from the property file of a given list name.

Parameters:
name - the key of the value that is being returned (e.g. 'myList').
Returns:
the value of the key i.e. the list.

delete

public void delete()
Checks if the name of the list that the user wants to delete is valid, calls the remove method then clears the text in the name field.


removeList

protected void removeList(java.lang.String name)
Removes a list from the properties file return_attributes.txt.

Parameters:
name - the list name (key) to be removed (deleted).

removeFromSearch

public void removeFromSearch(java.lang.String name)
If a return attribute list is deleted check that the search file doesn't have a reference to it. If it does delete it.

Parameters:
name - the name of the return attribute list that is being deleted.

getSelectedValues

public java.util.ArrayList getSelectedValues()
Returns a list of the values that the user has selected.

Returns:
a list of the values that the user has selected.