org.openstreetmap.josm.gui.dialogs.changeset
Class ChangesetCacheManager

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 org.openstreetmap.josm.gui.dialogs.changeset.ChangesetCacheManager
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable, javax.accessibility.Accessible, javax.swing.RootPaneContainer, javax.swing.WindowConstants

public class ChangesetCacheManager
extends javax.swing.JFrame

ChangesetCacheManager manages the local cache of changesets retrieved from the OSM API. It displays both a table of the locally cached changesets and detail information about an individual changeset. It also provides actions for downloading, querying, closing changesets, in addition to removing changesets from the local cache.

See Also:
Serialized Form

Nested Class Summary
(package private) static class ChangesetCacheManager.CancelAction
          the cancel / close action
(package private)  class ChangesetCacheManager.ChangesetDetailViewSynchronizer
           
(package private)  class ChangesetCacheManager.ChangesetTablePopupMenu
           
(package private)  class ChangesetCacheManager.ChangesetTablePopupMenuLauncher
           
(package private)  class ChangesetCacheManager.CloseSelectedChangesetsAction
          Closes the selected changesets
(package private)  class ChangesetCacheManager.DblClickHandler
           
(package private)  class ChangesetCacheManager.DownloadMyChangesets
           
(package private)  class ChangesetCacheManager.DownloadSelectedChangesetContentAction
          Downloads the content of selected changesets from the OSM server
(package private)  class ChangesetCacheManager.DownloadSelectedChangesetsAction
          Downloads the selected changesets
(package private)  class ChangesetCacheManager.QueryAction
          The action to query and download changesets
(package private)  class ChangesetCacheManager.RemoveFromCacheAction
          Removes the selected changesets from the local changeset cache
(package private)  class ChangesetCacheManager.ShowDetailAction
           
(package private)  class ChangesetCacheManager.WindowEventHandler
          Handler for window events
 
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
private  ChangesetCacheManager.CloseSelectedChangesetsAction actCloseSelectedChangesetsAction
           
private  ChangesetCacheManager.DownloadSelectedChangesetsAction actDownloadSelectedChangesets
           
private  ChangesetCacheManager.DownloadSelectedChangesetContentAction actDownloadSelectedContent
           
private  ChangesetCacheManager.RemoveFromCacheAction actRemoveFromCacheAction
           
private static ChangesetCacheManager instance
          the unique instance of the cache manager
private  ChangesetCacheManagerModel model
           
private  boolean needsSplitPaneAdjustment
           
private  javax.swing.JSplitPane spContent
           
private  javax.swing.JTable tblChangesets
           
 
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
ChangesetCacheManager()
           
 
Method Summary
protected  void build()
           
protected  javax.swing.JPanel buildButtonPanel()
          builds the button panel in the footer of the dialog
protected  javax.swing.JPanel buildChangesetDetailPanel()
          Builds the panel with the changeset details
protected  javax.swing.JPanel buildChangesetTableActionPanel()
          Builds the table with actions which can be applied to the currently visible changesets in the changeset table.
protected  javax.swing.JPanel buildChangesetTablePanel()
          Builds the panel with the table of changesets
protected  javax.swing.JPanel buildContentPanel()
          builds the content panel of the dialog
protected  void buildModel()
          Creates the various models required
protected  javax.swing.JPanel buildToolbarPanel()
          builds the toolbar panel in the heading of the dialog
static void destroyInstance()
          Hides and destroys the unique instance of the changeset cache manager.
static ChangesetCacheManager getInstance()
          Replies the unique instance of the changeset cache manager
 void runDownloadTask(ChangesetDownloadTask task)
           
 void setSelectedChangesets(java.util.Collection<Changeset> changesets)
          Selects the changesets in changests, provided the respective changesets are already present in the local changeset cache.
 void setSelectedChangesetsById(java.util.Collection<java.lang.Integer> ids)
          Selects the changesets with the ids in ids, provided the respective changesets are already present in the local changeset cache.
 void setVisible(boolean visible)
           
 
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, postEvent, processEvent, processWindowFocusEvent, processWindowStateEvent, removeWindowFocusListener, removeWindowListener, removeWindowStateListener, reshape, setAlwaysOnTop, setBounds, setBounds, setCursor, setFocusableWindowState, setFocusCycleRoot, setIconImages, setLocationByPlatform, setLocationRelativeTo, setMinimumSize, setModalExclusionType, setSize, setSize, 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, paint, paintComponents, preferredSize, print, printComponents, processContainerEvent, remove, removeAll, removeContainerListener, setComponentZOrder, setFocusTraversalKeys, setFocusTraversalPolicy, setFocusTraversalPolicyProvider, setFont, 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, transferFocusBackward, 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

instance

private static ChangesetCacheManager instance
the unique instance of the cache manager


model

private ChangesetCacheManagerModel model

spContent

private javax.swing.JSplitPane spContent

needsSplitPaneAdjustment

private boolean needsSplitPaneAdjustment

actRemoveFromCacheAction

private ChangesetCacheManager.RemoveFromCacheAction actRemoveFromCacheAction

actCloseSelectedChangesetsAction

private ChangesetCacheManager.CloseSelectedChangesetsAction actCloseSelectedChangesetsAction

actDownloadSelectedChangesets

private ChangesetCacheManager.DownloadSelectedChangesetsAction actDownloadSelectedChangesets

actDownloadSelectedContent

private ChangesetCacheManager.DownloadSelectedChangesetContentAction actDownloadSelectedContent

tblChangesets

private javax.swing.JTable tblChangesets
Constructor Detail

ChangesetCacheManager

public ChangesetCacheManager()
Method Detail

getInstance

public static ChangesetCacheManager getInstance()
Replies the unique instance of the changeset cache manager

Returns:
the unique instance of the changeset cache manager

destroyInstance

public static void destroyInstance()
Hides and destroys the unique instance of the changeset cache manager.


buildModel

protected void buildModel()
Creates the various models required


buildToolbarPanel

protected javax.swing.JPanel buildToolbarPanel()
builds the toolbar panel in the heading of the dialog

Returns:
the toolbar panel

buildButtonPanel

protected javax.swing.JPanel buildButtonPanel()
builds the button panel in the footer of the dialog

Returns:
the button row pane

buildChangesetDetailPanel

protected javax.swing.JPanel buildChangesetDetailPanel()
Builds the panel with the changeset details

Returns:
the panel with the changeset details

buildContentPanel

protected javax.swing.JPanel buildContentPanel()
builds the content panel of the dialog

Returns:
the content panel

buildChangesetTableActionPanel

protected javax.swing.JPanel buildChangesetTableActionPanel()
Builds the table with actions which can be applied to the currently visible changesets in the changeset table.

Returns:

buildChangesetTablePanel

protected javax.swing.JPanel buildChangesetTablePanel()
Builds the panel with the table of changesets

Returns:
the panel with the table of changesets

build

protected void build()

setVisible

public void setVisible(boolean visible)
Overrides:
setVisible in class java.awt.Window

setSelectedChangesets

public void setSelectedChangesets(java.util.Collection<Changeset> changesets)
Selects the changesets in changests, provided the respective changesets are already present in the local changeset cache.

Parameters:
ids - the collection of changesets. If null, the selection is cleared.

setSelectedChangesetsById

public void setSelectedChangesetsById(java.util.Collection<java.lang.Integer> ids)
Selects the changesets with the ids in ids, provided the respective changesets are already present in the local changeset cache.

Parameters:
ids - the collection of ids. If null, the selection is cleared.

runDownloadTask

public void runDownloadTask(ChangesetDownloadTask task)


JOSM