test.vo
Class SSAQueryBrowser

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by java.awt.Window
              extended by java.awt.Frame
                  extended by javax.swing.JFrame
                      extended by test.vo.SSAQueryBrowser
All Implemented Interfaces:
java.awt.event.ActionListener, java.awt.event.MouseListener, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, java.util.EventListener, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class SSAQueryBrowser
extends javax.swing.JFrame
implements java.awt.event.ActionListener, java.awt.event.MouseListener

Display a page of controls for querying an SSA server and display the results of that query. The spectra returned from that query can then be selected and displayed in the main SPLAT browser.

Version:
$Id: SSAQueryBrowser.java,v 1.16 2005/02/09 18:00:58 mbt Exp $
Author:
Peter W. Draper
See Also:
Serialized Form

Nested Class Summary
protected  class SSAQueryBrowser.CloseAction
          Inner class defining Action for closing window.
protected  class SSAQueryBrowser.ProxyAction
           
(package private)  class SSAQueryBrowser.ResolverAction
           
(package private)  class SSAQueryBrowser.ServerAction
           
 
Nested classes/interfaces inherited from class javax.swing.JFrame
javax.swing.JFrame.AccessibleJFrame
 
Nested classes/interfaces inherited from class java.awt.Frame
java.awt.Frame.AccessibleAWTFrame
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
protected  javax.swing.JPanel actionBarContainer
          Panel for action buttons
protected  javax.swing.JPanel contentPane
          Content pane of frame
protected  javax.swing.JTextField decField
          Central Dec
protected  javax.swing.JButton displayAllButton
          Download and display all spectra
protected  javax.swing.JButton displaySelectedButton
          Download and display selected spectra
protected  javax.swing.JMenu fileMenu
          The file menu
protected  javax.swing.JButton goButton
          Make the query to all known servers
protected  javax.swing.JMenuBar menuBar
          Menubar
protected  javax.swing.JTextField nameField
          Object name
protected  javax.swing.JButton nameLookup
          Resolve object name button
protected  jsky.catalog.skycat.SkycatCatalog nedCatalogue
          NED name resolver catalogue
protected  javax.swing.JMenu optionsMenu
          The options menu
private  jsky.util.gui.ProgressPanel progressPanel
          ProgressPanel used when downloading query responses
private  java.lang.Thread queryThread
           
protected  javax.swing.JTextField radiusField
          Region radius
protected  javax.swing.JTextField raField
          Central RA
protected  jsky.catalog.skycat.SkycatCatalog resolverCatalogue
          The current name resolver
protected  javax.swing.JMenu resolverMenu
          Name resolver menu
protected  javax.swing.JTabbedPane resultsPane
          Tabbed pane showing the query results tables
private  SSAServerList serverList
          The object holding the list of servers that we should use for SSA querys.
protected  javax.swing.JMenu serverMenu
          Server list menu
protected  jsky.catalog.skycat.SkycatCatalog simbadCatalogue
          SIMBAD name resolver catalogue
protected  java.util.ArrayList starJTables
          The list of StarJTables in use
private  jsky.util.SwingWorker worker
          Worker thread used with ProgressPanel
 
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.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
SSAQueryBrowser()
           
 
Method Summary
 void actionPerformed(java.awt.event.ActionEvent e)
           
protected  void closeWindowEvent()
          Close the window.
 void doQuery()
          Perform the query to all the currently selected servers.
private  void initFrame()
          Initialise frame properties (disposal, title, menus etc.).
private  void initMenus()
          Initialise the menu bar, action bar and related actions.
private  void initQueryComponents()
          Populate the NORTH part of window with the basic query components.
private  void initResultsComponent()
          Make the results component.
private  void initUI()
          Create and display the UI components.
protected  void makeProgressPanel()
          If it does not already exist, make the panel for displaying the progress of network access.
protected  void makeResultsDisplay(java.util.ArrayList tableList)
          Display the results of the queries to the SSA servers.
 void mouseClicked(java.awt.event.MouseEvent e)
           
 void mouseEntered(java.awt.event.MouseEvent e)
           
 void mouseExited(java.awt.event.MouseEvent e)
           
 void mousePressed(java.awt.event.MouseEvent e)
           
 void mouseReleased(java.awt.event.MouseEvent e)
           
protected  void processQueryList(java.util.ArrayList queryList)
          Process a list of URL queries to SSA servers and display the results.
protected  void resolveName()
          Arrange to resolve the object name into coordinates.
private  void runProcessQueryList(java.util.ArrayList queryList)
          Do the query to all the SSAP servers.
private  void setDefaultNameServers()
          Setup the default name servers (SIMBAD and NED) to use to resolve astronomical object names.
 
Methods inherited from class javax.swing.JFrame
addImpl, createRootPane, frameInit, getAccessibleContext, getContentPane, getDefaultCloseOperation, getGlassPane, getGraphics, getJMenuBar, getLayeredPane, getRootPane, getTransferHandler, isDefaultLookAndFeelDecorated, isRootPaneCheckingEnabled, paramString, processWindowEvent, remove, repaint, setContentPane, setDefaultCloseOperation, setDefaultLookAndFeelDecorated, setGlassPane, setIconImage, setJMenuBar, setLayeredPane, setLayout, setRootPane, setRootPaneCheckingEnabled, setTransferHandler, update
 
Methods inherited from class java.awt.Frame
addNotify, getCursorType, getExtendedState, getFrames, getIconImage, getMaximizedBounds, getMenuBar, getState, getTitle, isResizable, isUndecorated, remove, removeNotify, setCursor, setExtendedState, 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, getIconImages, getInputContext, getListeners, getLocale, getModalExclusionType, getMostRecentFocusOwner, getOwnedWindows, getOwner, getOwnerlessWindows, getToolkit, getWarningString, getWindowFocusListeners, getWindowListeners, getWindows, getWindowStateListeners, hide, isActive, isAlwaysOnTop, isAlwaysOnTopSupported, isFocusableWindow, isFocusCycleRoot, isFocused, isLocationByPlatform, isShowing, pack, paint, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, setVisible, 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, getComponentZOrder, getContainerListeners, getFocusTraversalPolicy, getInsets, getLayout, getMaximumSize, getMinimumSize, getMousePosition, getPreferredSize, insets, invalidate, isAncestorOf, isFocusCycleRoot, isFocusTraversalPolicyProvider, isFocusTraversalPolicySet, layout, list, list, locate, minimumSize, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, 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, getBaseline, getBaselineResizeBehavior, getBounds, getBounds, getColorModel, getComponentListeners, getComponentOrientation, getCursor, getDropTarget, getFocusListeners, getFocusTraversalKeysEnabled, getFont, getFontMetrics, getForeground, 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, removeComponentListener, removeFocusListener, removeHierarchyBoundsListener, removeHierarchyListener, removeInputMethodListener, removeKeyListener, removeMouseListener, removeMouseMotionListener, removeMouseWheelListener, removePropertyChangeListener, removePropertyChangeListener, repaint, repaint, repaint, requestFocus, requestFocus, requestFocusInWindow, requestFocusInWindow, resize, resize, setBackground, setComponentOrientation, setDropTarget, setEnabled, setFocusable, setFocusTraversalKeysEnabled, setForeground, setIgnoreRepaint, setLocale, setLocation, setLocation, setMaximumSize, setName, setPreferredSize, show, size, toString, transferFocus, transferFocusUpCycle
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 
Methods inherited from interface java.awt.MenuContainer
getFont, postEvent
 

Field Detail

serverList

private SSAServerList serverList
The object holding the list of servers that we should use for SSA querys.


progressPanel

private jsky.util.gui.ProgressPanel progressPanel
ProgressPanel used when downloading query responses


worker

private jsky.util.SwingWorker worker
Worker thread used with ProgressPanel


contentPane

protected javax.swing.JPanel contentPane
Content pane of frame


actionBarContainer

protected javax.swing.JPanel actionBarContainer
Panel for action buttons


menuBar

protected javax.swing.JMenuBar menuBar
Menubar


fileMenu

protected javax.swing.JMenu fileMenu
The file menu


nameField

protected javax.swing.JTextField nameField
Object name


nameLookup

protected javax.swing.JButton nameLookup
Resolve object name button


displaySelectedButton

protected javax.swing.JButton displaySelectedButton
Download and display selected spectra


displayAllButton

protected javax.swing.JButton displayAllButton
Download and display all spectra


goButton

protected javax.swing.JButton goButton
Make the query to all known servers


serverMenu

protected javax.swing.JMenu serverMenu
Server list menu


resolverMenu

protected javax.swing.JMenu resolverMenu
Name resolver menu


raField

protected javax.swing.JTextField raField
Central RA


decField

protected javax.swing.JTextField decField
Central Dec


radiusField

protected javax.swing.JTextField radiusField
Region radius


resultsPane

protected javax.swing.JTabbedPane resultsPane
Tabbed pane showing the query results tables


starJTables

protected java.util.ArrayList starJTables
The list of StarJTables in use


nedCatalogue

protected jsky.catalog.skycat.SkycatCatalog nedCatalogue
NED name resolver catalogue


simbadCatalogue

protected jsky.catalog.skycat.SkycatCatalog simbadCatalogue
SIMBAD name resolver catalogue


resolverCatalogue

protected jsky.catalog.skycat.SkycatCatalog resolverCatalogue
The current name resolver


optionsMenu

protected javax.swing.JMenu optionsMenu
The options menu


queryThread

private java.lang.Thread queryThread
Constructor Detail

SSAQueryBrowser

public SSAQueryBrowser()
Method Detail

initFrame

private void initFrame()
Initialise frame properties (disposal, title, menus etc.).


initMenus

private void initMenus()
Initialise the menu bar, action bar and related actions.


initUI

private void initUI()
Create and display the UI components.


initQueryComponents

private void initQueryComponents()
Populate the NORTH part of window with the basic query components.


initResultsComponent

private void initResultsComponent()
Make the results component. This is mainly JTabbedPane containing a JTable for each set of results (the tables are realized later) and a button to display the selected spectra.


resolveName

protected void resolveName()
Arrange to resolve the object name into coordinates.


setDefaultNameServers

private void setDefaultNameServers()
Setup the default name servers (SIMBAD and NED) to use to resolve astronomical object names. Note these are just those used in JSky. A better implementation should reuse the JSky classes.

XXX refactor these into an XML file external to the application. Maybe switch to the CDS Sesame webservice.


doQuery

public void doQuery()
Perform the query to all the currently selected servers.


makeProgressPanel

protected void makeProgressPanel()
If it does not already exist, make the panel for displaying the progress of network access.


processQueryList

protected void processQueryList(java.util.ArrayList queryList)
Process a list of URL queries to SSA servers and display the results. All processing is performed in a background Thread.


runProcessQueryList

private void runProcessQueryList(java.util.ArrayList queryList)
                          throws java.lang.InterruptedException
Do the query to all the SSAP servers.

Throws:
java.lang.InterruptedException

makeResultsDisplay

protected void makeResultsDisplay(java.util.ArrayList tableList)
Display the results of the queries to the SSA servers.


closeWindowEvent

protected void closeWindowEvent()
Close the window.


actionPerformed

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

mousePressed

public void mousePressed(java.awt.event.MouseEvent e)
Specified by:
mousePressed in interface java.awt.event.MouseListener

mouseReleased

public void mouseReleased(java.awt.event.MouseEvent e)
Specified by:
mouseReleased in interface java.awt.event.MouseListener

mouseEntered

public void mouseEntered(java.awt.event.MouseEvent e)
Specified by:
mouseEntered in interface java.awt.event.MouseListener

mouseExited

public void mouseExited(java.awt.event.MouseEvent e)
Specified by:
mouseExited in interface java.awt.event.MouseListener

mouseClicked

public void mouseClicked(java.awt.event.MouseEvent e)
Specified by:
mouseClicked in interface java.awt.event.MouseListener