uk.org.ogsadai.client.databrowser.xpath
Class DBXMLResourceView

java.lang.Object
  |
  +--java.awt.Component
        |
        +--java.awt.Container
              |
              +--java.awt.Window
                    |
                    +--java.awt.Frame
                          |
                          +--javax.swing.JFrame
                                |
                                +--uk.org.ogsadai.client.databrowser.xpath.DBXMLResourceView
All Implemented Interfaces:
javax.accessibility.Accessible, java.awt.image.ImageObserver, java.awt.MenuContainer, java.util.Observer, ResultView, javax.swing.RootPaneContainer, java.io.Serializable, javax.swing.WindowConstants

public class DBXMLResourceView
extends javax.swing.JFrame
implements ResultView

GUI displaying XML ResourceSet data from the results of an XPath query. View in MVC pattern, observes the model and displays the query results when updated. A new instance should be created for every new query. Once a query is completed it removes itself from observing the model so that it is not affected by future queries. Allows the data to be saved.

Author:
Paul J Graham, EPCC, The OGSA-DAI Project Team
See Also:
Serialized Form

Field Summary
private static java.lang.String COPYRIGHT_NOTICE
          Copyright statement
private static int MAXHEIGHT
           
private static int MAXWIDTH
           
private  boolean mDataHasBeenSaved
           
private  java.util.Observable mObservable
           
private  javax.swing.JTextArea mText
           
private static java.awt.Dimension SCREENSIZE
           
private static java.lang.String TITLE
           
 
Fields inherited from class javax.swing.JFrame
accessibleContext, EXIT_ON_CLOSE, rootPane, rootPaneCheckingEnabled
 
Fields inherited from class java.awt.Frame
CROSSHAIR_CURSOR, DEFAULT_CURSOR, E_RESIZE_CURSOR, HAND_CURSOR, ICONIFIED, MAXIMIZED_BOTH, MAXIMIZED_HORIZ, MAXIMIZED_VERT, MOVE_CURSOR, N_RESIZE_CURSOR, NE_RESIZE_CURSOR, NORMAL, NW_RESIZE_CURSOR, S_RESIZE_CURSOR, SE_RESIZE_CURSOR, SW_RESIZE_CURSOR, TEXT_CURSOR, W_RESIZE_CURSOR, WAIT_CURSOR
 
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, HIDE_ON_CLOSE
 
Fields inherited from interface java.awt.image.ImageObserver
ABORT, ALLBITS, ERROR, FRAMEBITS, HEIGHT, PROPERTIES, SOMEBITS, WIDTH
 
Constructor Summary
DBXMLResourceView(java.util.Observable model, javax.swing.JFrame parent)
          Constructs a GUI to display the results of a query in table format.
 
Method Summary
 boolean dataHasBeenSaved()
           
private  void displayResults(org.xmldb.api.base.ResourceSet rs)
          Parse the query results into rows.
protected  void displayResults(java.lang.StringBuffer buf)
          Display the results of the query in the GUI
 void exit()
          Close this window (queries the user if data has not been saved).
 void saveAsXML()
          Save the data as an XML text file
 void stopObserving()
          Stops this view observing the model.
 void update(java.util.Observable observable, java.lang.Object updatedObject)
           
private  void writeToFileAsXML(java.io.File file)
          Writes the data to a file in comma separated value format
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, 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.Frame
addNotify, finalize, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, setIconImage, setMaximizedBounds, setMenuBar, setResizable, setState, setTitle, setUndecorated
 
Methods inherited from class java.awt.Window
addPropertyChangeListener, addPropertyChangeListener, addWindowFocusListener, addWindowListener, addWindowStateListener, applyResourceBundle, applyResourceBundle, createBufferStrategy, createBufferStrategy, dispose, getBufferStrategy, getFocusableWindowState, getFocusCycleRootAncestor, getFocusOwner, getFocusTraversalKeys, getGraphicsConfiguration, getInputContext, getListeners, getLocale, getMostRecentFocusOwner, getOwnedWindows, getOwner, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindowStateListeners, hide, isActive, isFocusableWindow, isFocusCycleRoot, isFocused, isShowing, pack, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, setCursor, setFocusableWindowState, setFocusCycleRoot, setLocationRelativeTo, show, 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, 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, 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
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

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

MAXWIDTH

private static final int MAXWIDTH

MAXHEIGHT

private static final int MAXHEIGHT

TITLE

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

mText

private javax.swing.JTextArea mText

mObservable

private java.util.Observable mObservable

mDataHasBeenSaved

private boolean mDataHasBeenSaved
Constructor Detail

DBXMLResourceView

public DBXMLResourceView(java.util.Observable model,
                         javax.swing.JFrame parent)
Constructs a GUI to display the results of a query in table format.

Parameters:
model - The data model to observe
parent - The parent window of this frame
Method Detail

update

public void update(java.util.Observable observable,
                   java.lang.Object updatedObject)
Specified by:
update in interface java.util.Observer

displayResults

private void displayResults(org.xmldb.api.base.ResourceSet rs)
Parse the query results into rows. Run as a GUIThread so the GUI remains responsive (for the progress monitor).

Parameters:
rs - The result set containing the query results

stopObserving

public void stopObserving()
Stops this view observing the model. Useful if there is an error elsewhere and we don't want this view to continue monitoring.

Specified by:
stopObserving in interface ResultView

displayResults

protected void displayResults(java.lang.StringBuffer buf)
Display the results of the query in the GUI

Parameters:
buf - The data to display

saveAsXML

public void saveAsXML()
Save the data as an XML text file


writeToFileAsXML

private void writeToFileAsXML(java.io.File file)
Writes the data to a file in comma separated value format

Parameters:
file - The data will be written into this file

exit

public void exit()
Close this window (queries the user if data has not been saved).


dataHasBeenSaved

public boolean dataHasBeenSaved()
Returns:
true if the data has been saved