Class ResFunctions

  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.ResFunctions
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 ResFunctions
extends NodeItemList
implements java.awt.event.ActionListener, java.awt.event.KeyListener, javax.swing.event.ListSelectionListener, XMLChangeListener

This class contains the Resources Functions components placed in the Resources Functions Tab. Contains any extra added buttons and methods implemented.

Christian Azzopardi
See Also:
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
 javax.swing.JPanel top
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
ResFunctions(PEComponent that)
          Calls the NodeItemList Constructor, and sets the captions of the components to the international name.
ResFunctions(XMLEditor that)
Method Summary
 void actionPerformed(java.awt.event.ActionEvent ae)
          On clicking of a button the respective abstract methods are then called.
 void addItem()
          Adds an Action.
 void deleteItem()
          Deletes the selected Action from the SelectedNode
 javax.swing.JPanel getContentPanel()
          A JPanel containing the panel to display on the Resources Functions Tab.
 org.w3c.dom.Node getParentNode()
          Deletes the selected Action.
 void initResFunctions()
 boolean isInPolicy(org.w3c.dom.Element childToCheck, boolean isReplacing)
          Checks if the Action Name exists already.
 void itemSelected()
          When an item is Selected from the list it will copy the value of the Name attribute of that node to the textbox, and fills the listbox by passing the Arguments
 void keyPressed(java.awt.event.KeyEvent e)
 void keyReleased(java.awt.event.KeyEvent e)
 void keyTyped(java.awt.event.KeyEvent e)
 void notifyTargetList(java.lang.String oldID, java.lang.String newID)
 void refreshView()
          Refreshes the view of the Panel.
 void replaceItem()
          Presently, the arguments of an action are stored as a comma seperated String List in Args attribute.
 void setCaption(java.lang.String internalName, java.lang.String internationalName)
          Sets the text the component will show.
 void valueChanged(javax.swing.event.ListSelectionEvent e)
          When a list selection occurs this method is executed, and updates the functionality of the buttons in order to specify what the user can / can not press.
 void XMLChanged(XMLChangeEvent ev)
          When an XMLChangeEvent is received, instruction is given to refresh the component.
Methods inherited from class issrg.utils.gui.xml.NodeItemList
addItemAddedListener, addNodeChangeListener, FireItemAddedEvent, FireNodeSelectionChanged, getNodeList, getSelectedNode, ItemAddedChanged, NodeSelectionChanged, removeItemAddedListener, removeNodeChangeListener, setNodeList, setNodeList, setParentNode, setSelectedNode, sortArgs
Methods inherited from class issrg.utils.gui.xml.AddDelList
addComponent, convertYToRow, getListData, getSelectedIndex, mouseClicked, mouseEntered, mouseExited, mousePressed, mouseReleased, removeAddButton, removeDeleteButton, removeListBox, removeReplaceButton, setListData, setSelectedIndex
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

Field Detail


public javax.swing.JPanel top
Constructor Detail


public ResFunctions(PEComponent that)
Calls the NodeItemList Constructor, and sets the captions of the components to the international name.
Also sets the components to listen to any XMLChanges.

that - Allows the component to be called from the PEComponent.


public ResFunctions(XMLEditor that)
Method Detail


public void initResFunctions()


public javax.swing.JPanel getContentPanel()
A JPanel containing the panel to display on the Resources Functions Tab.

getContentPanel in class AddDelList
A JPanel that together with its inherited value adds:
  • a JLabel - that contains some instruction to the user.
  • a JTextField - to the take the necessary Action Name input.
  • a StringList - to take argument values.
  • a Clear JButton - that clears the JTextField and the components of the inherited component.
  • a ReadableXML - put on the Panel to display the current readable XML policy, for this sub policy.


public void deleteItem()
Deletes the selected Action from the SelectedNode

Specified by:
deleteItem in class AddDelList


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

childToCheck - The element variable with the action name to check.
a boolean which says if an action name exists already or not.


public void addItem()
Adds an Action. This method checks that the JTextField for the Action Name is not empty before trying to create an action. It also gets the items from the arguments list and turns them into a comma separated String List.

Specified by:
addItem in class AddDelList


public void replaceItem()
Presently, the arguments of an action are stored as a comma seperated String List in Args attribute. Therefore, when the action is replaced, the method gets the items from the arguments list and turns them into two comma separated String Lists. one for Args attribute and another for Type attribute. Then use these new values replace the old values. However, it is confusing that an arguments is deleted or renamed. Say there are two arguments called "FileName" and "FileType" for the [DownLoad] Action. The Args attribute is set as "FileName, FileType". When the user changed the "FileName" to "FileID", the Args attribute will be changed to "FileID, FileType". Nevertheless, if we only know the Args attribute is changed from "FileName, FileType" to "FileID, FileType", we do not know it is that "FileName" is renamed to "FileID" or "FileName" is deleted and "FileID" is added. Therefore, if there are arguments which are referred in IFcondition of TargetAccessPolicy, we do not know the referring elements should be deleted or renamed when the arguments is manipulated. The only real way to fix this, is to fix the DTD for action arguments which is the arguments should be stored in separate elements. Then all the related class should be change to fit this design.

Specified by:
replaceItem in class AddDelList


public void notifyTargetList(java.lang.String oldID,
                             java.lang.String newID)


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)
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 ae)
Description copied from class: AddDelList
On clicking of a button the respective abstract methods are then called.

The ListBox can also be made to clear its selection, by right clicking on the listbox and clicking on the clear selection pop up menu.

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


public void valueChanged(javax.swing.event.ListSelectionEvent e)
Description copied from class: AddDelList
When a list selection occurs this method is executed, and updates the functionality of the buttons in order to specify what the user can / can not press.

Specified by:
valueChanged in interface javax.swing.event.ListSelectionListener
valueChanged in class AddDelList
e - the ListSelectionEvent


public void itemSelected()
When an item is Selected from the list it will copy the value of the Name attribute of that node to the textbox, and fills the listbox by passing the Arguments

itemSelected in class NodeItemList


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 org.w3c.dom.Node getParentNode()
Deletes the selected Action.

getParentNode in class NodeItemList
The current Parent Node is returned


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

Specified by:
refreshView in class NodeItemList


public void XMLChanged(XMLChangeEvent ev)
Description copied from class: NodeItemList
When an XMLChangeEvent is received, instruction is given to refresh the component.

Specified by:
XMLChanged in interface XMLChangeListener
XMLChanged in class NodeItemList