org.pushingpixels.flamingo.api.bcb.core
Class BreadcrumbSvnSelector

java.lang.Object
  extended by java.awt.Component
      extended by java.awt.Container
          extended by javax.swing.JComponent
              extended by org.pushingpixels.flamingo.api.bcb.JBreadcrumbBar<java.lang.String>
                  extended by org.pushingpixels.flamingo.api.bcb.core.BreadcrumbSvnSelector
All Implemented Interfaces:
java.awt.image.ImageObserver, java.awt.MenuContainer, java.io.Serializable

public class BreadcrumbSvnSelector
extends JBreadcrumbBar<java.lang.String>

Breadcrumb bar that allows browsing a single local / remote SVN repository. The implementation uses SVNKit library. Make sure to read the licensing terms before using this component in your application.

See Also:
Serialized Form

Nested Class Summary
static class BreadcrumbSvnSelector.PathCallback
          SVN-specific implementation of the BreadcrumbBarCallBack.
 
Nested classes/interfaces inherited from class org.pushingpixels.flamingo.api.bcb.JBreadcrumbBar
JBreadcrumbBar.BreadcrumbBarElement
 
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.BaselineResizeBehavior, java.awt.Component.BltBufferStrategy, java.awt.Component.FlipBufferStrategy
 
Field Summary
 
Fields inherited from class org.pushingpixels.flamingo.api.bcb.JBreadcrumbBar
callback, exceptionHandlers, model, uiClassID
 
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
BreadcrumbSvnSelector()
          Creates a new empty breadcrumb bar that is not connected to any SVN repository.
BreadcrumbSvnSelector(java.lang.String url, java.lang.String userName, java.lang.String password)
          Creates a new breadcrumb bar to browse the specified SVN repository.
 
Method Summary
protected static java.io.InputStream getLeafContent(org.tmatesoft.svn.core.io.SVNRepository repository, java.lang.String leaf)
          Returns the contents of the specified repository file.
protected static java.util.List<StringValuePair<java.lang.String>> getLeafs(org.tmatesoft.svn.core.io.SVNRepository repository, java.lang.String path)
          Returns a list of all the files in the specified folder.
protected static java.util.List<StringValuePair<java.lang.String>> getPathChoices(org.tmatesoft.svn.core.io.SVNRepository repository, java.lang.String path)
          Returns a list of all the foldes in the specified folder.
 void setConnectionParams(java.lang.String url, java.lang.String userName, java.lang.String password)
          Sets the connection parameters.
 void setConnectionParams(java.lang.String url, java.lang.String userName, java.lang.String password, boolean throwsException)
          Sets the connection parameters.
 
Methods inherited from class org.pushingpixels.flamingo.api.bcb.JBreadcrumbBar
addExceptionHandler, getCallback, getExceptionHandlers, getModel, getUI, getUIClassID, removeExceptionHandler, setPath, setThrowsExceptions, setUI, updateUI
 
Methods inherited from class javax.swing.JComponent
addAncestorListener, addNotify, addVetoableChangeListener, computeVisibleRect, contains, createToolTip, disable, enable, firePropertyChange, firePropertyChange, firePropertyChange, fireVetoableChange, getAccessibleContext, getActionForKeyStroke, getActionMap, getAlignmentX, getAlignmentY, getAncestorListeners, getAutoscrolls, getBaseline, getBaselineResizeBehavior, 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, isPaintingForPrint, isPaintingTile, isRequestFocusEnabled, isValidateRoot, paint, paintBorder, paintChildren, paintComponent, paintImmediately, paintImmediately, paramString, 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
 

Constructor Detail

BreadcrumbSvnSelector

public BreadcrumbSvnSelector()
Creates a new empty breadcrumb bar that is not connected to any SVN repository.


BreadcrumbSvnSelector

public BreadcrumbSvnSelector(java.lang.String url,
                             java.lang.String userName,
                             java.lang.String password)
Creates a new breadcrumb bar to browse the specified SVN repository. The actual connection is done off EDT so that the application remains responsive.

Parameters:
url - Repository URL.
userName - User name.
password - Password.
Method Detail

setConnectionParams

public void setConnectionParams(java.lang.String url,
                                java.lang.String userName,
                                java.lang.String password)
Sets the connection parameters. The breadcrumb bar path is reset to the root of thew specified SVN repository.

Parameters:
url - Repository URL.
userName - User name.
password - Password.

setConnectionParams

public void setConnectionParams(java.lang.String url,
                                java.lang.String userName,
                                java.lang.String password,
                                boolean throwsException)
Sets the connection parameters. The breadcrumb bar path is reset to the root of thew specified SVN repository.

Parameters:
url - Repository URL.
userName - User name.
password - Password.
throwsException - Indicates whether the inner exceptions should be reported to the registered exception handlers.

getLeafContent

protected static java.io.InputStream getLeafContent(org.tmatesoft.svn.core.io.SVNRepository repository,
                                                    java.lang.String leaf)
                                             throws org.tmatesoft.svn.core.SVNException
Returns the contents of the specified repository file.

Parameters:
repository - SVN repository.
leaf - Full path to the file.
Returns:
Contents of the specified repository file.
Throws:
org.tmatesoft.svn.core.SVNException

getLeafs

protected static java.util.List<StringValuePair<java.lang.String>> getLeafs(org.tmatesoft.svn.core.io.SVNRepository repository,
                                                                            java.lang.String path)
                                                                     throws org.tmatesoft.svn.core.SVNException
Returns a list of all the files in the specified folder.

Parameters:
repository - SVN repository.
path - Full path to the folder.
Returns:
List of all the files in the specified folder.
Throws:
org.tmatesoft.svn.core.SVNException

getPathChoices

protected static java.util.List<StringValuePair<java.lang.String>> getPathChoices(org.tmatesoft.svn.core.io.SVNRepository repository,
                                                                                  java.lang.String path)
                                                                           throws org.tmatesoft.svn.core.SVNException
Returns a list of all the foldes in the specified folder.

Parameters:
repository - SVN repository.
path - Full path to the folder.
Returns:
List of all the folders in the specified folder.
Throws:
org.tmatesoft.svn.core.SVNException