Class LDAPConfiguration

  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by javax.swing.JPanel
                  extended by issrg.utils.gui.xml.AddDelList
                      extended by issrg.utils.gui.xml.NodeItemList
                          extended by issrg.editor2.configurations.LDAPConfiguration
All Implemented Interfaces:
NodeSelectionListener, XMLChangeListener, java.awt.event.ActionListener, java.awt.event.KeyListener, java.awt.event.MouseListener, java.awt.image.ImageObserver, java.awt.MenuContainer,, java.util.EventListener, javax.accessibility.Accessible, javax.swing.event.ListSelectionListener

public class LDAPConfiguration
extends NodeItemList
implements XMLChangeListener, java.awt.event.KeyListener, java.awt.event.ActionListener

This class creates an appropriate LDAP Settings Panel (to be placed in the Dialog) for all the fields that are required for an LDAP entry to be added to the list of available directories.

This Class extends NodeItemList as this would enable us to list the available connections in a list that has reference to some XML nodes.

The connections will be stored in an XML file called 'pe.cfg'. Although this will be loaded from the ConfigurationComponent to verify that the 'pe.cfg' is a correct and valid file.

The LDAPConfiguration class takes care of modifying the XML file, and adding/deleting/modifying of the XML file.

The JPanel this component produces can be seen in the OptionsDialog Dialog, as it is added on the LDAP Settings tab.

Christian Azzopardi
See Also:
issrg.editor2.ConfigurationComponent, issrg.editor2.OptionsDialog, Serialized Form

Nested Class Summary
Nested classes/interfaces inherited from class javax.swing.JPanel
Nested classes/interfaces inherited from class javax.swing.JComponent
Nested classes/interfaces inherited from class java.awt.Container
Nested classes/interfaces inherited from class java.awt.Component
java.awt.Component.AccessibleAWTComponent, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
Field Summary
Fields inherited from class issrg.utils.gui.xml.NodeItemList
nlist, xmlED
Fields inherited from class issrg.utils.gui.xml.AddDelList
addButton, addDisplay, constraints, deleteButton, deleteDisplay, items, listBox, listBoxDisplay, listData, popupMenu, replaceButton, replaceDisplay, scrollList, sizeOfPopupMenu, viewDisplay
Fields inherited from class javax.swing.JComponent
Fields inherited from class java.awt.Component
Fields inherited from interface java.awt.image.ImageObserver
Constructor Summary
LDAPConfiguration(XMLEditor that)
          Creates a new instance of LDAPConfiguration.
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
          Method that Performs the required Actions when the Checkbox is set/cleared, and when the test Connection Button is clicked.
 void addItem()
          Reads the Fields from the TextBoxes.
 void clearTextFields()
          Method that resets all the Textfields to empty or a predefined value.
 void deleteItem()
          Deletes the Currently Selected node from the NodeList.
 javax.swing.JPanel getContentPanel()
          Method that creates a GUI Panel with the required fields to create and modify an LDAP connection.
 org.w3c.dom.Node getParentNode()
          The root node of the Current Document.
 boolean isInPolicy(org.w3c.dom.Element childToCheck)
          This method can return true, if the Connection Name variable exists already.
 void itemSelected()
          When the NodeItemList has a selected Element, the contents of that node, will populate the textfields, so the user will see exactly what is is the LDAP connection.
 void keyPressed(java.awt.event.KeyEvent e)
          Method That enables/disables the appropriate buttons when the Text Fields are being typed into.
 void keyReleased(java.awt.event.KeyEvent e)
 void keyTyped(java.awt.event.KeyEvent e)
 void populateVersions()
          A simple method to populate the Drop down list with the version number.
 void refreshView()
          Method That Populates the NodeList with the current Connections.
 void replaceItem()
          Method that replaces a Selected Node with the contents of the textfields, Provided that the required fields to have a valid LDAP Directory are not empty.
 void setCaption(java.lang.String internalName, java.lang.String internationalName)
          Sets the text the component will show.
Methods inherited from class issrg.utils.gui.xml.NodeItemList
addItemAddedListener, addNodeChangeListener, FireItemAddedEvent, FireNodeSelectionChanged, getNodeList, getSelectedNode, ItemAddedChanged, NodeSelectionChanged, removeItemAddedListener, removeNodeChangeListener, setNodeList, setNodeList, setParentNode, setSelectedNode, sortArgs, XMLChanged
Methods inherited from class issrg.utils.gui.xml.AddDelList
addComponent, convertYToRow, getListData, getSelectedIndex, mouseClicked, mouseEntered, mouseExited, mousePressed, mouseReleased, removeAddButton, removeDeleteButton, removeListBox, removeReplaceButton, setListData, setSelectedIndex, valueChanged
Methods inherited from class javax.swing.JPanel
getAccessibleContext, getUI, getUIClassID, paramString, setUI, updateUI
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBorder, getBounds, getClientProperty, getComponentGraphics, getComponentPopupMenu, getConditionForKeyStroke, getDebugGraphicsOptions, getDefaultLocale, getFontMetrics, getGraphics, getHeight, getInheritsPopupMenu, getInputMap, getInputMap, getInputVerifier, getInsets, getInsets, getListeners, getLocation, getMaximumSize, getMinimumSize, getNextFocusableComponent, getPopupLocation, getPreferredSize, getRegisteredKeyStrokes, getRootPane, getSize, getToolTipLocation, getToolTipText, getToolTipText, getTopLevelAncestor, getTransferHandler, getVerifyInputWhenFocusTarget, getVetoableChangeListeners, getVisibleRect, getWidth, getX, getY, grabFocus, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, print, printAll, printBorder, printChildren, printComponent, processComponentKeyEvent, processKeyBinding, processKeyEvent, processMouseEvent, processMouseMotionEvent, putClientProperty, registerKeyboardAction, registerKeyboardAction, removeAncestorListener, removeNotify, removeVetoableChangeListener, repaint, repaint, requestDefaultFocus, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resetKeyboardActions, reshape, revalidate, scrollRectToVisible, setActionMap, setAlignmentX, setAlignmentY, setAutoscrolls, setBackground, setBorder, setComponentPopupMenu, setDebugGraphicsOptions, setDefaultLocale, setDoubleBuffered, setEnabled, setFocusTraversalKeys, setFont, setForeground, setInheritsPopupMenu, setInputMap, setInputVerifier, setMaximumSize, setMinimumSize, setNextFocusableComponent, setOpaque, setPreferredSize, setRequestFocusEnabled, setToolTipText, setTransferHandler, setUI, setVerifyInputWhenFocusTarget, setVisible, unregisterKeyboardAction, update
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, addImpl, addPropertyChangeListener, addPropertyChangeListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalKeys, getFocusTraversalPolicy, getLayout, getMousePosition, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, printComponents, processContainerEvent, processEvent, remove, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusCycleRoot, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setLayout, 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, createImage, createImage, createVolatileImage, createVolatileImage, disableEvents, dispatchEvent, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusCycleRootAncestor, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getForeground, getGraphicsConfiguration, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputContext, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocale, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, hide, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isPreferredSizeSet, isShowing, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, postEvent, prepareImage, prepareImage, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusUpCycle
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface issrg.utils.gui.xml.XMLChangeListener

Constructor Detail


public LDAPConfiguration(XMLEditor that)
Creates a new instance of LDAPConfiguration. Constructs the NodeItemList and sets the values of the labels involved.

that - the XML Editor that will store the XML Document and take care of firing its XML Events.
Method Detail


public javax.swing.JPanel getContentPanel()
Method that creates a GUI Panel with the required fields to create and modify an LDAP connection.

getContentPanel in class AddDelList
a JPanel with all the entry fields for the LDAP Dialog.


public void setCaption(java.lang.String internalName,
                       java.lang.String internationalName)
Sets the text the component will show. If component parameter is not found in the list of parameters, the method will call its super method to attempt to find the component there.

setCaption in class AddDelList
internalName - The internal name used in the program.
internationalName - The international name to set the text to.


public void populateVersions()
A simple method to populate the Drop down list with the version number. Was implemented in a loop so that the version numbers that are stored in the '.properties' file will be loaded one by one.

Was implemented like this, so that if there are versions with a '.' they will be loaded too.


public boolean isInPolicy(org.w3c.dom.Element childToCheck)
This method can return true, if the Connection Name variable exists already. If The connection does not exist it will return false. This is used as a measure so that there will be no double entries.

childToCheck - The element variable with the connection to check if already exists in the LDAP directory already.
a boolean which says if a connection name exists or not in the 'pe.cfg' file.


public void addItem()
Reads the Fields from the TextBoxes. Checks that the required entries to create a valid connection are not empty fields. Then adds the new Directory to the XML document.

Specified by:
addItem in class AddDelList


public void deleteItem()
Deletes the Currently Selected node from the NodeList.

Specified by:
deleteItem in class AddDelList


public void clearTextFields()
Method that resets all the Textfields to empty or a predefined value.


public void replaceItem()
Method that replaces a Selected Node with the contents of the textfields, Provided that the required fields to have a valid LDAP Directory are not empty.

Specified by:
replaceItem in class AddDelList


public void refreshView()
Method That Populates the NodeList with the current Connections.

Specified by:
refreshView in class NodeItemList


public void itemSelected()
When the NodeItemList has a selected Element, the contents of that node, will populate the textfields, so the user will see exactly what is is the LDAP connection.

Users might then want to modify the Selected node, and therefore the refreshed textfields, would just need to be modified.

If nothing is selected in the NodeItemList, the textfields are reset using the clearTextFields() method.

itemSelected in class NodeItemList


public org.w3c.dom.Node getParentNode()
The root node of the Current Document.

getParentNode in class NodeItemList
a node with the LDAPConfiguration Element of the 'pe.cfg' XML file.


public void keyTyped(java.awt.event.KeyEvent e)
Specified by:
keyTyped in interface java.awt.event.KeyListener


public void keyPressed(java.awt.event.KeyEvent e)
Method That enables/disables the appropriate buttons when the Text Fields are being typed into.

Specified by:
keyPressed in interface java.awt.event.KeyListener


public void keyReleased(java.awt.event.KeyEvent e)
Specified by:
keyReleased in interface java.awt.event.KeyListener


public void actionPerformed(java.awt.event.ActionEvent e)
Method that Performs the required Actions when the Checkbox is set/cleared, and when the test Connection Button is clicked.

Specified by:
actionPerformed in interface java.awt.event.ActionListener
actionPerformed in class AddDelList