apollo.dataadapter.das2
Class DAS2AdapterGUI

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 org.bdgp.swing.AbstractDataAdapterUI
                      extended by apollo.gui.GenericFileAdapterGUI
                          extended by apollo.dataadapter.das2.DAS2AdapterGUI
All Implemented Interfaces:
ApolloDataAdapterGUI, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, org.bdgp.io.DataAdapterUI

public class DAS2AdapterGUI
extends GenericFileAdapterGUI
implements ApolloDataAdapterGUI

This actually constructs a completely different GUI for reading vs. writing. The version for reading from a DAS/2 server offers a pulldown list of known servers (currently hardcoded in apollo.cfg as DASServer; in the future, to be retrieved from registry), a list of sequence sources (organism + version), a list of chromosomes or segments, boxes for indicating the desired start/end, and (maybe this should go BEFORE the sequence sources list?) a list of previous selections (i.e. a history). There's also a box for Proxy settings and a "Change" button to change the proxy settings. In write mode, the GUI is much simpler, with a box for you to enter the filename. If you want a simpler way to test reading of DAS/2 features, you can call DAS2FeatureSaxParser from the command line with a filename argument for a file containing DAS2XML.

See Also:
Serialized Form

Nested Class Summary
 class DAS2AdapterGUI.DSNListener
           
 class DAS2AdapterGUI.HistoryListener
           
 class DAS2AdapterGUI.ProxyListener
          This listener gets fired when the user wants to set a Proxy Server for the session
 class DAS2AdapterGUI.ServerListener
           
 
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
protected  DAS2Adapter driver
           
protected  DAS2AdapterGUI.DSNListener dsn_listener
           
protected  DAS2AdapterGUI.HistoryListener history_listener
           
protected static org.apache.log4j.Logger logger
           
static int MAX_HISTORY_LENGTH
           
protected  org.bdgp.io.IOOperation op
           
protected  DAS2AdapterGUI.ServerListener server_listener
           
 
Fields inherited from class apollo.gui.GenericFileAdapterGUI
browseButton, filePaths, filter, panel, panel2, pathList, typeLabel
 
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
DAS2AdapterGUI()
           
DAS2AdapterGUI(org.bdgp.io.IOOperation op)
           
 
Method Summary
 void buildGUIForReading()
           
 java.util.Properties createStateInformation()
           
 java.lang.Object doOperation(java.lang.Object values)
          This is where the real work starts--we read the data or write it.
 void finishGUIForReading()
          Not currently used
 java.util.Properties getProperties()
           This must run after the server successfully finishes the doOperation() method - i.e.
 DASDsn getSelectedDSN()
          This returns an actual DASDsn - either the source id or the MapMaster attribute will give the URL of the annotated source.
 java.lang.String getSelectedHistory()
           
 DASSegment getSelectedSegment()
           
 java.lang.String getSelectedServer()
           
 void init()
           
 void setDataAdapter(org.bdgp.io.DataAdapter driver)
          Sets the data adapter for this UI.
 void setIOOperation(org.bdgp.io.IOOperation op)
          Breaking this out because it gets called separately if you want to save or load data during an already-running Apollo session
 void setProperties(java.util.Properties in)
          This gets called when Apollo starts up (and probably elsewhere as well) and is responsible for the initialisation of the listboxes.
protected  void setSelectedSegmentWithId(java.lang.String id, java.util.Vector model, javax.swing.JComboBox list)
           
protected  void setSelectedSourceWithId(java.lang.String id, java.util.Vector model, javax.swing.JComboBox list)
           
protected  void setSelection(java.lang.Object item, java.util.Vector model, javax.swing.JComboBox list)
          Sets the input model to be that of the list.
protected  void updateSegments()
           
protected  void updateVersionedSources()
           
 
Methods inherited from class apollo.gui.GenericFileAdapterGUI
attachListeners, browseFiles, buildGUI, fileBrowser, fileBrowser, getFileFilter, getPanel, getPathListWidth, getSelectedPath, initGUI, setFileFilter, setPathListWidth, validOperation
 
Methods inherited from class org.bdgp.swing.AbstractDataAdapterUI
setInput
 
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

logger

protected static final org.apache.log4j.Logger logger

MAX_HISTORY_LENGTH

public static final int MAX_HISTORY_LENGTH
See Also:
Constant Field Values

driver

protected DAS2Adapter driver

op

protected org.bdgp.io.IOOperation op

server_listener

protected DAS2AdapterGUI.ServerListener server_listener

dsn_listener

protected DAS2AdapterGUI.DSNListener dsn_listener

history_listener

protected DAS2AdapterGUI.HistoryListener history_listener
Constructor Detail

DAS2AdapterGUI

public DAS2AdapterGUI()

DAS2AdapterGUI

public DAS2AdapterGUI(org.bdgp.io.IOOperation op)
Method Detail

setIOOperation

public void setIOOperation(org.bdgp.io.IOOperation op)
Breaking this out because it gets called separately if you want to save or load data during an already-running Apollo session


init

public void init()

buildGUIForReading

public void buildGUIForReading()

setDataAdapter

public void setDataAdapter(org.bdgp.io.DataAdapter driver)
Description copied from interface: org.bdgp.io.DataAdapterUI
Sets the data adapter for this UI. Since the UI provides it's own implementation of the IOOperation via the {link #doOperation(Object)}, the DataAdapterUI can decide whether or not to actually use the DataAdapter to perform the operation. However, a correct implementation of this interface will use the DataAdapter given in setDataAdapter.

Specified by:
setDataAdapter in interface org.bdgp.io.DataAdapterUI
Overrides:
setDataAdapter in class GenericFileAdapterGUI

createStateInformation

public java.util.Properties createStateInformation()
Specified by:
createStateInformation in interface ApolloDataAdapterGUI

setProperties

public void setProperties(java.util.Properties in)
This gets called when Apollo starts up (and probably elsewhere as well) and is responsible for the initialisation of the listboxes.

Specified by:
setProperties in interface org.bdgp.io.DataAdapterUI
Overrides:
setProperties in class GenericFileAdapterGUI

getProperties

public java.util.Properties getProperties()

This must run after the server successfully finishes the doOperation() method - i.e. after a successful read. Copy the data from the server,dsn,entry point and range into a string, insert into the history dropdown. Then copy the contents of both dropdowns into the properies file, which you return.

-- of course, you omit any "choose..." prompts in the dropdowns when copying into the properties files.

One nice side-effect of the timing of this method is that unsuccessful url's don't seem to get copied into the history.

Specified by:
getProperties in interface org.bdgp.io.DataAdapterUI
Overrides:
getProperties in class GenericFileAdapterGUI

finishGUIForReading

public void finishGUIForReading()
Not currently used


getSelectedServer

public java.lang.String getSelectedServer()

getSelectedDSN

public DASDsn getSelectedDSN()
This returns an actual DASDsn - either the source id or the MapMaster attribute will give the URL of the annotated source.


getSelectedSegment

public DASSegment getSelectedSegment()

getSelectedHistory

public java.lang.String getSelectedHistory()

updateVersionedSources

protected void updateVersionedSources()

updateSegments

protected void updateSegments()

doOperation

public java.lang.Object doOperation(java.lang.Object values)
                             throws org.bdgp.io.DataAdapterException
This is where the real work starts--we read the data or write it.

Specified by:
doOperation in interface org.bdgp.io.DataAdapterUI
Throws:
org.bdgp.io.DataAdapterException

setSelection

protected void setSelection(java.lang.Object item,
                            java.util.Vector model,
                            javax.swing.JComboBox list)
Sets the input model to be that of the list. Additionally, if the input list contains the item, then select it. Otherwise, add it into the list.


setSelectedSourceWithId

protected void setSelectedSourceWithId(java.lang.String id,
                                       java.util.Vector model,
                                       javax.swing.JComboBox list)

setSelectedSegmentWithId

protected void setSelectedSegmentWithId(java.lang.String id,
                                        java.util.Vector model,
                                        javax.swing.JComboBox list)