issrg.policywizard
Class RoleValues

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.policywizard.RoleValues
All Implemented Interfaces:
ItemAddedListener, 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 RoleValues
extends NodeItemList
implements java.awt.event.KeyListener, ItemAddedListener

This class handles the Role Values of the Role Hierarchy Policy.

Its functionality is similar to the functionality of the ResFunctions and listens to the XML changes, so that it can update its contents.

Author:
Christian Azzopardi
See Also:
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
 javax.swing.JTextField valueTF
           
 
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
RoleValues(XMLEditor that)
          Constructs this component, by constructing the inherited NodeItemList, and adding this component to be an XMLChangeListener.
 
Method Summary
 void addItem()
          Adds a Role Value.
 void deleteItem()
          Deletes the selected Role Value - and the corresponding subroles.
 javax.swing.JPanel getContentPanel()
          Method that sets up a JPanel that contains the inherited JPanel, and a JLabel and JTextField.
 boolean isInPolicy(org.w3c.dom.Element childToCheck)
          Checks if the Role Value exists already.
 void ItemAddedChanged(ItemAddedEvent ev)
          When a value is added to the Role Values listbox, the focus needs to get back to the editing textfield.
 void itemSelected()
          Sets the text field with the value of the selected item, and calls its superior method.
 void keyPressed(java.awt.event.KeyEvent e)
          When something was typed in the value Text Field the buttons must show the user what he is allowed to do.
 void keyReleased(java.awt.event.KeyEvent e)
           
 void keyTyped(java.awt.event.KeyEvent e)
           
 void NodeSelectionChanged(NodeSelectionEvent ev)
          Invoked when an NodeSelectionEvent is dispatched.
 void notifyRoleLists(org.w3c.dom.Element oldElement, java.lang.String newID)
          As changes done in this component, will effect other tags in the policy, this method, notifies these tags that require updating.
 void refreshView()
          Refreshes the view of the Component.
 javax.swing.JPanel removeValueEdit()
          Removes the JTextBox and its JLabel from the visible main panel and returns a panel with the 2 components to be able to place them in a different area if needed.
 void replaceItem()
          Replaces the selected Role Value.
 void setCaption(java.lang.String internalName, java.lang.String internationalName)
          Sets the text the component will show.
 void setEnabled(boolean enabled)
          Sets the component to be enabled or not.
 
Methods inherited from class issrg.utils.gui.xml.NodeItemList
addItemAddedListener, addNodeChangeListener, FireItemAddedEvent, FireNodeSelectionChanged, getNodeList, getParentNode, getSelectedNode, removeItemAddedListener, removeNodeChangeListener, setNodeList, setNodeList, setParentNode, setSelectedNode, sortArgs, XMLChanged
 
Methods inherited from class issrg.utils.gui.xml.AddDelList
actionPerformed, 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, 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
 

Field Detail

valueTF

public javax.swing.JTextField valueTF
Constructor Detail

RoleValues

public RoleValues(XMLEditor that)
Constructs this component, by constructing the inherited NodeItemList, and adding this component to be an XMLChangeListener.

Method Detail

getContentPanel

public javax.swing.JPanel getContentPanel()
Method that sets up a JPanel that contains the inherited JPanel, and a JLabel and JTextField.

Constructs the top-right panel of the Role Hierarchy Sub Policy.

Overrides:
getContentPanel in class AddDelList
Returns:
A JPanel that contains the components for the Role Values.

removeValueEdit

public javax.swing.JPanel removeValueEdit()
Removes the JTextBox and its JLabel from the visible main panel and returns a panel with the 2 components to be able to place them in a different area if needed.

Returns:
A panel containing a JLabel and a JTextField.

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.

isInPolicy

public boolean isInPolicy(org.w3c.dom.Element childToCheck)
Checks if the Role Value exists already. If it does not exist it will return false. Otherwise if the Role Value exists it will return true.
This is used as a measure so that there will be no double entries.

Parameters:
childToCheck - The element variable with the Role Value to check.
Returns:
a boolean which says if a Role Value in the same Role Type exists already or not.

addItem

public void addItem()
Adds a Role Value. This method checks that the text field for the Role Value is not empty before trying to create it.

Specified by:
addItem in class AddDelList

deleteItem

public void deleteItem()
Deletes the selected Role Value - and the corresponding subroles.

Specified by:
deleteItem in class AddDelList

replaceItem

public void replaceItem()
Replaces the selected Role Value.

Specified by:
replaceItem in class AddDelList

notifyRoleLists

public void notifyRoleLists(org.w3c.dom.Element oldElement,
                            java.lang.String newID)
As changes done in this component, will effect other tags in the policy, this method, notifies these tags that require updating.

The Tags that will be updated are the RoleList Tags, found in the RoleAssignmentPolicy and TargetAccessPolicy.

Parameters:
oldElement - The old Element.
newID - The new Selection.

itemSelected

public void itemSelected()
Sets the text field with the value of the selected item, and calls its superior method.

Overrides:
itemSelected in class NodeItemList

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)
When something was typed in the value Text Field the buttons must show the user what he is allowed to do.
If the 'Enter' Key was pressed, the buttons are set again, although the addItem() method is also called, To add the new Role Value.

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

ItemAddedChanged

public void ItemAddedChanged(ItemAddedEvent ev)
When a value is added to the Role Values listbox, the focus needs to get back to the editing textfield.

Specified by:
ItemAddedChanged in interface ItemAddedListener
Overrides:
ItemAddedChanged in class NodeItemList

refreshView

public void refreshView()
Refreshes the view of the Component.

It gets a list of all the Superior Roles of a Role Type and sets them as the contents of its NodeItemList.

Specified by:
refreshView in class NodeItemList

NodeSelectionChanged

public void NodeSelectionChanged(NodeSelectionEvent ev)
Description copied from interface: NodeSelectionListener
Invoked when an NodeSelectionEvent is dispatched.

Specified by:
NodeSelectionChanged in interface NodeSelectionListener
Overrides:
NodeSelectionChanged in class NodeItemList

setEnabled

public void setEnabled(boolean enabled)
Sets the component to be enabled or not. Will Grey all the components that make it up when disabed.

Overrides:
setEnabled in class javax.swing.JComponent
Parameters:
enabled - boolean value to set.