uk.org.ogsadai.client.databrowser.sql
Class DBJoinDialog

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Dialog
                          |
                          +--javax.swing.JDialog
                                |
                                +--uk.org.ogsadai.client.databrowser.sql.DBJoinDialog
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.event.ActionListener, java.util.EventListener, java.awt.image.ImageObserver, java.awt.MenuContainer, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class DBJoinDialog
extends javax.swing.JDialog
implements java.awt.event.ActionListener

Dialog to allow the user to enter the parameters for a join and then execute it. Also allows the parameters to be saved/loaded to/from file.

Version:
$Revision: 1.3 $
Author:
Paul J Graham, EPCC
See Also:
Serialized Form

Field Summary
private static java.lang.String COPYRIGHT_NOTICE
          Copyright statement
private static java.lang.String DEFAULT_DIR
           
private static java.lang.String DEFAULTFILE
           
private static java.lang.String DESCRIPTION
           
private static java.lang.String EXTENSION
           
private static int HEIGHT
           
private  java.lang.String[] mButtonNames
           
private  DBMenuController mController
           
private  DBDataServiceView mDataServiceView
           
private static boolean MODAL
           
private  DBJoinParameter mParameters
           
private  javax.swing.JComboBox[] mSelectURLFrom
           
private  javax.swing.JComboBox mSelectURLTo
           
private  DBJoinSQLTextArea[] mTextCreate
           
private  DBJoinSQLTextArea[] mTextDestroy
           
private  DBJoinSQLTextArea mTextJoin
           
private  DBJoinSQLTextArea[] mTextQuery
           
private static int NUM_OF_DB
           
private static java.awt.Dimension SCREENSIZE
           
private static java.lang.String TITLE
           
private static int WIDTH
           
 
Fields inherited from class javax.swing.JDialog
accessibleContext, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Dialog
 
Fields inherited from class java.awt.Window
 
Fields inherited from class java.awt.Container
 
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, PROPERTIES, SOMEBITS
 
Constructor Summary
DBJoinDialog(DBGUI parent, DBMenuController controller)
          Construct and display a dialog for entering parameters for a join.
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent event)
           
private  javax.swing.JPanel createFromPanel(int index)
          Sets up the components required for the 'from' database part of a join.
private  javax.swing.JPanel createJoinPanel()
          Creates a panel containing the necessary components for the operations on database C in the join.
private  void exit()
          Handle exiting the dialog
private  java.util.Vector getSQLStatements()
           
private  void initComponents()
          Initialise the dialog's components
private  void load()
          Allows the user to select and load a previously saved file containing join parameters.
private  void readParameters(java.io.File inFile)
          Loads the parameters for a previously saved join.
private  void runJoin()
          Runs a join for the given parameters.
private  void save()
          Allows the user to select/create a file and save the join parameters.
private  void setParameters()
          Sets the parameters for the join from the user input.
private  void setSQLStatements(java.util.Vector items)
          Sets the SQL statements in the GUIs components
private  void writeParameters(java.io.File outFile)
          Writes the SQL statements in the GUI to a file.
 
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, dispose, 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, finalize, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, 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, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, removeNotify, setFocusTraversalKeys, setFocusTraversalPolicy, 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, 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, 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, isOpaque, 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, setBounds, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setName, 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

COPYRIGHT_NOTICE

private static final java.lang.String COPYRIGHT_NOTICE
Copyright statement

See Also:
Constant Field Values

SCREENSIZE

private static final java.awt.Dimension SCREENSIZE

WIDTH

private static final int WIDTH

HEIGHT

private static final int HEIGHT

TITLE

private static final java.lang.String TITLE
See Also:
Constant Field Values

MODAL

private static final boolean MODAL
See Also:
Constant Field Values

NUM_OF_DB

private static final int NUM_OF_DB
See Also:
Constant Field Values

EXTENSION

private static final java.lang.String EXTENSION
See Also:
Constant Field Values

DESCRIPTION

private static final java.lang.String DESCRIPTION
See Also:
Constant Field Values

DEFAULT_DIR

private static final java.lang.String DEFAULT_DIR
See Also:
Constant Field Values

DEFAULTFILE

private static final java.lang.String DEFAULTFILE
See Also:
Constant Field Values

mParameters

private DBJoinParameter mParameters

mSelectURLFrom

private javax.swing.JComboBox[] mSelectURLFrom

mTextQuery

private DBJoinSQLTextArea[] mTextQuery

mTextCreate

private DBJoinSQLTextArea[] mTextCreate

mTextDestroy

private DBJoinSQLTextArea[] mTextDestroy

mSelectURLTo

private javax.swing.JComboBox mSelectURLTo

mTextJoin

private DBJoinSQLTextArea mTextJoin

mButtonNames

private java.lang.String[] mButtonNames

mDataServiceView

private DBDataServiceView mDataServiceView

mController

private DBMenuController mController
Constructor Detail

DBJoinDialog

public DBJoinDialog(DBGUI parent,
                    DBMenuController controller)
Construct and display a dialog for entering parameters for a join.

Parameters:
parent - The parent component of this dialog
controller - The controller for actions from this dialog
Method Detail

initComponents

private void initComponents()
Initialise the dialog's components


createJoinPanel

private javax.swing.JPanel createJoinPanel()
Creates a panel containing the necessary components for the operations on database C in the join. Allows the user to select database C and enter the query for the join itself.

Returns:
A panel containing the appropriate components

load

private void load()
Allows the user to select and load a previously saved file containing join parameters.


save

private void save()
Allows the user to select/create a file and save the join parameters. NB Only saves the SQL statements, does not save the database URLs.


runJoin

private void runJoin()
Runs a join for the given parameters.


setParameters

private void setParameters()
Sets the parameters for the join from the user input.


createFromPanel

private javax.swing.JPanel createFromPanel(int index)
Sets up the components required for the 'from' database part of a join. Adds a URL selector to select the database, SQL text boxes for entering the create temp table and destroy temp table queries, and an SQL text box for the query whose results will be placed in the temp table.

Parameters:
index - The index of this panel to determine which database e.g. 0 for A, 1 for B etc.
Returns:
The panel with the appropriate components

exit

private void exit()
Handle exiting the dialog


readParameters

private void readParameters(java.io.File inFile)
Loads the parameters for a previously saved join.

Parameters:
inFile - The file containing the parameters

setSQLStatements

private void setSQLStatements(java.util.Vector items)
Sets the SQL statements in the GUIs components

Parameters:
items - The list of SQL statements

getSQLStatements

private java.util.Vector getSQLStatements()
Returns:
The current SQL statements in the GUI components

writeParameters

private void writeParameters(java.io.File outFile)
Writes the SQL statements in the GUI to a file.

Parameters:
outFile - The file to be written to

actionPerformed

public void actionPerformed(java.awt.event.ActionEvent event)
Specified by:
actionPerformed in interface java.awt.event.ActionListener