apollo.dataadapter.das.simple
Class SimpleDASAdapterGUI

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.dataadapter.das.simple.SimpleDASAdapterGUI
All Implemented Interfaces:
ApolloDataAdapterGUI, java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, org.bdgp.io.DataAdapterUI

public class SimpleDASAdapterGUI
extends org.bdgp.swing.AbstractDataAdapterUI
implements ApolloDataAdapterGUI

I implement a AbstractDataAdapterUI, allowing Apollo to get information from DAS datasources, using 'simple' implementions of DASServerI, DASDsn etc.

My whole reason-for-being is to have a das-reading adapter which doesn't rely on a big external codebase (e.g. omnigene or biojava): I create implementations of DASServerI, DASSegment etc which are 'simple' - SimpleDASServerI etc.

See Also:
Serialized Form

Nested Class Summary
 class SimpleDASAdapterGUI.DSNListener
           
 class SimpleDASAdapterGUI.HistoryListener
           
 class SimpleDASAdapterGUI.ProxyListener
          This listener gets fired when the user wants to set a Proxy Server for the session
 class SimpleDASAdapterGUI.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  org.bdgp.io.DataAdapter driver
           
protected  SimpleDASAdapterGUI.DSNListener dsn_listener
           
protected  SimpleDASAdapterGUI.HistoryListener history_listener
           
static int MAX_HISTORY_LENGTH
           
protected  org.bdgp.io.IOOperation op
           
protected  SimpleDASAdapterGUI.ServerListener server_listener
           
 
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
SimpleDASAdapterGUI(org.bdgp.io.IOOperation op)
           
 
Method Summary
 void buildGUI()
           
 java.util.Properties createStateInformation()
           
 java.lang.Object doOperation(java.lang.Object values)
          The method that actually performs the data adapter operation (presumably by delegating to a data adapter).
 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 setDataAdapter(org.bdgp.io.DataAdapter driver)
          Sets the data adapter for this UI.
 void setFont(java.awt.Font font)
           
 void setProperties(java.util.Properties in)
          This gets called when Apollo starts up (and probabyl elsewhere as well) and is responsible for the initialisation of the listboxes.
protected  void setSelectedDSNWithId(java.lang.String id, java.util.Vector model, javax.swing.JComboBox list)
           
protected  void setSelectedSegmentWithId(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 updateDSNs()
           
protected  void updateSegments()
           
 
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, 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

MAX_HISTORY_LENGTH

public static final int MAX_HISTORY_LENGTH
See Also:
Constant Field Values

driver

protected org.bdgp.io.DataAdapter driver

op

protected org.bdgp.io.IOOperation op

server_listener

protected SimpleDASAdapterGUI.ServerListener server_listener

dsn_listener

protected SimpleDASAdapterGUI.DSNListener dsn_listener

history_listener

protected SimpleDASAdapterGUI.HistoryListener history_listener
Constructor Detail

SimpleDASAdapterGUI

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

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 probabyl elsewhere as well) and is responsible for the initialisation of the listboxes.

Specified by:
setProperties in interface org.bdgp.io.DataAdapterUI

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

setFont

public void setFont(java.awt.Font font)
Overrides:
setFont in class javax.swing.JComponent

buildGUI

public void buildGUI()

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 org.bdgp.swing.AbstractDataAdapterUI

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()

updateDSNs

protected void updateDSNs()

updateSegments

protected void updateSegments()

doOperation

public java.lang.Object doOperation(java.lang.Object values)
                             throws org.bdgp.io.DataAdapterException
Description copied from interface: org.bdgp.io.DataAdapterUI
The method that actually performs the data adapter operation (presumably by delegating to a data adapter). The input and outputs to this method are entirely dependant on the operation the data adapter is supposed to perform. The input or output of this method may be null.

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.


setSelectedDSNWithId

protected void setSelectedDSNWithId(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)