issrg.editor2.configurations
Class LDAPConfiguration

java.lang.Object
  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.io.Serializable, 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.

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

Nested Class Summary
 
Nested classes/interfaces inherited from class javax.swing.JPanel
javax.swing.JPanel.AccessibleJPanel
 
Nested classes/interfaces inherited from class javax.swing.JComponent
javax.swing.JComponent.AccessibleJComponent
 
Nested classes/interfaces inherited from class java.awt.Container
java.awt.Container.AccessibleAWTContainer
 
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
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
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
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
XMLChanged
 

Constructor Detail

LDAPConfiguration

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

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

getContentPanel

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

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

setCaption

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.

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

populateVersions

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.


isInPolicy

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.

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

addItem

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

deleteItem

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

Specified by:
deleteItem in class AddDelList

clearTextFields

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


replaceItem

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

refreshView

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

Specified by:
refreshView in class NodeItemList

itemSelected

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.

Overrides:
itemSelected in class NodeItemList

getParentNode

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

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

keyTyped

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

keyPressed

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

keyReleased

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

actionPerformed

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
Overrides:
actionPerformed in class AddDelList