org.bibalex.daf.entities.phase
Class DatabaseDataEntryDialog

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Dialog
                  extended by javax.swing.JDialog
                      extended by org.bibalex.daf.entities.phase.DatabaseDataEntryDialog
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants, IDatabaseDataEntry

public class DatabaseDataEntryDialog
extends javax.swing.JDialog
implements IDatabaseDataEntry

A JDialog to collect the user data. The dialog is created at run time based on the given configuration.

Author:
Shehab.Kamal
See Also:
Serialized Form

Nested Class Summary
private  class DatabaseDataEntryDialog.ApproveAction
           
private  class DatabaseDataEntryDialog.CancelAction
           
 
Nested classes/interfaces inherited from class javax.swing.JDialog
javax.swing.JDialog.AccessibleJDialog
 
Nested classes/interfaces inherited from class java.awt.Dialog
java.awt.Dialog.AccessibleAWTDialog
 
Nested classes/interfaces inherited from class java.awt.Window
java.awt.Window.AccessibleAWTWindow
 
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
private  DatabaseDef definition
          Holds the database defintion that was used to configure the dialog.
private  javax.swing.JPanel pnlInput
          The JPanel that holds the controls that will accept the user input.
private  ResourceManager resourceManager
          A resource manager to display localized captions and messages.
private  int result
          Determines whether JButton, OK or Cancel, was clicked.
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Component
BOTTOM_ALIGNMENT, CENTER_ALIGNMENT, LEFT_ALIGNMENT, RIGHT_ALIGNMENT, TOP_ALIGNMENT
 
Fields inherited from interface javax.swing.WindowConstants
DISPOSE_ON_CLOSE, DO_NOTHING_ON_CLOSE, EXIT_ON_CLOSE, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DatabaseDataEntryDialog(javax.swing.JFrame parent)
          Creates a new instance of DatabaseDataEntryDialog.
 
Method Summary
private  void CloseDialog(boolean approve)
          Closes the JDialog.
 void collect()
          Allows collecting the user input by showing the Dialog modally.
 void configure(DatabaseDef definition, DatabaseInfoDef finishInfo, DatabaseInfoDef startInfo)
          Configures the JDialog to accept the user data by populating it with controls based of the given definition.
private  java.lang.String getComponentValue(java.awt.Component component)
          Gets the component value.
This method supprots 2 types of components: JTextField and JComboBox.
 org.w3c.dom.Node getData()
          Gets the data that was entered by the user in a form of XmlDocument.
 
Methods inherited from class javax.swing.JDialog
addImpl, createRootPane, dialogInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getJMenuBar, getLayeredPane, getRootPane, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, update
 
Methods inherited from class java.awt.Dialog
addNotify, getTitle, hide, isModal, isResizable, isUndecorated, setModal, setResizable, setTitle, setUndecorated, show
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isAlwaysOnTop, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setAlwaysOnTop, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationByPlatform, setLocationRelativeTo, toBack, toFront
 
Methods inherited from class java.awt.Container
add, add, add, add, add, addContainerListener, applyComponentOrientation, areFocusTraversalKeysSet, countComponents, deliverEvent, doLayout, findComponentAt, findComponentAt, getAlignmentX, getAlignmentY, getComponent, getComponentAt, getComponentAt, getComponentCount, getComponents, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, contains, createImage, createImage, createVolatileImage, createVolatileImage, disable, disableEvents, dispatchEvent, enable, enable, enableEvents, enableInputMethods, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, firePropertyChange, getBackground, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, getGraphics, getHeight, getHierarchyBoundsListeners, getHierarchyListeners, getIgnoreRepaint, getInputMethodListeners, getInputMethodRequests, getKeyListeners, getLocation, getLocation, getLocationOnScreen, getMouseListeners, getMouseMotionListeners, getMousePosition, getMouseWheelListeners, getName, getParent, getPeer, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getSize, getTreeLock, getWidth, getX, getY, gotFocus, handleEvent, hasFocus, imageUpdate, inside, isBackgroundSet, isCursorSet, isDisplayable, isDoubleBuffered, isEnabled, isFocusable, isFocusOwner, isFocusTraversable, isFontSet, isForegroundSet, isLightweight, isMaximumSizeSet, isMinimumSizeSet, isOpaque, isPreferredSizeSet, isValid, isVisible, keyDown, keyUp, list, list, list, location, lostFocus, mouseDown, mouseDrag, mouseEnter, mouseExit, mouseMove, mouseUp, move, nextFocus, paintAll, prepareImage, prepareImage, printAll, processComponentEvent, processFocusEvent, processHierarchyBoundsEvent, processHierarchyEvent, processInputMethodEvent, processKeyEvent, processMouseEvent, processMouseMotionEvent, processMouseWheelEvent, remove, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, reshape, resize, resize, setBackground, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setMinimumSize, setName, setPreferredSize, setSize, setSize, setVisible, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

result

private int result
Determines whether JButton, OK or Cancel, was clicked. The initial value is JOptionPane.CLOSED_OPTION which means that neither the OK nor the Cancel buttons were pressed.


pnlInput

private javax.swing.JPanel pnlInput
The JPanel that holds the controls that will accept the user input. It will have two controls, a JLable and a JTextField or a JComboBox, per DatabaseElement.


definition

private DatabaseDef definition
Holds the database defintion that was used to configure the dialog.


resourceManager

private ResourceManager resourceManager
A resource manager to display localized captions and messages.

Constructor Detail

DatabaseDataEntryDialog

public DatabaseDataEntryDialog(javax.swing.JFrame parent)
Creates a new instance of DatabaseDataEntryDialog.

Parameters:
parent - The parent JFrame of the JDialog.
Method Detail

configure

public void configure(DatabaseDef definition,
                      DatabaseInfoDef finishInfo,
                      DatabaseInfoDef startInfo)
Configures the JDialog to accept the user data by populating it with controls based of the given definition.

Specified by:
configure in interface IDatabaseDataEntry
Parameters:
definition - The DatabaseDef used to populate the JDialog with controls.
finishInfo - The DatabaseInfoDef that contains the values of the DatabaseDef.
startInfo - The DatabaseInfoDef that contains the values of the DatabaseDef. This parameter can be null.

collect

public void collect()
             throws PhaseActionException
Allows collecting the user input by showing the Dialog modally.

Specified by:
collect in interface IDatabaseDataEntry
Throws:
PhaseActionException - If the user data couldn't be collected.

getData

public org.w3c.dom.Node getData()
Gets the data that was entered by the user in a form of XmlDocument.

Specified by:
getData in interface IDatabaseDataEntry
Returns:
An XmlDocumnet representing the user input. If the user has pressed the cancel button, null is returned.

CloseDialog

private void CloseDialog(boolean approve)
Closes the JDialog.

Parameters:
approve - How the JDialog was closed. If the OK button was used use true, otherwise use false.

getComponentValue

private java.lang.String getComponentValue(java.awt.Component component)
Gets the component value.
This method supprots 2 types of components: JTextField and JComboBox.

Parameters:
component - The component.
Returns:
A String holding the component value.
Note: The value of the component is trimmed.
An empty String is returned in the follwoing cases:
1) The given component is not recognized as a JTextField or a JComboBox.
2) The component is a JTextField with empty string as its text.
3) The component is a JComboBox but no item is currently selected.