issrg.editor2
Class ResFunctions

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

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.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
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
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

top

public javax.swing.JPanel top
Constructor Detail

ResFunctions

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.

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

ResFunctions

public ResFunctions(XMLEditor that)
Method Detail

initResFunctions

public void initResFunctions()

getContentPanel

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

Overrides:
getContentPanel in class AddDelList
Returns:
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.

deleteItem

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

Specified by:
deleteItem in class AddDelList

isInPolicy

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.

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

addItem

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

replaceItem

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

notifyTargetList

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

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

valueChanged

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
Overrides:
valueChanged in class AddDelList
Parameters:
e - the ListSelectionEvent

itemSelected

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

Overrides:
itemSelected in class NodeItemList

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.

getParentNode

public org.w3c.dom.Node getParentNode()
Deletes the selected Action.

Overrides:
getParentNode in class NodeItemList
Returns:
The current Parent Node is returned

refreshView

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

Specified by:
refreshView in class NodeItemList

XMLChanged

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
Overrides:
XMLChanged in class NodeItemList