Package org.openstreetmap.josm.gui.oauth
Class FullyAutomaticAuthorizationUI
- java.lang.Object
-
- java.awt.Component
-
- java.awt.Container
-
- javax.swing.JComponent
-
- javax.swing.JPanel
-
- org.openstreetmap.josm.gui.widgets.VerticallyScrollablePanel
-
- org.openstreetmap.josm.gui.oauth.AbstractAuthorizationUI
-
- org.openstreetmap.josm.gui.oauth.FullyAutomaticAuthorizationUI
-
- All Implemented Interfaces:
java.awt.image.ImageObserver,java.awt.MenuContainer,java.io.Serializable,javax.accessibility.Accessible,javax.swing.Scrollable
public class FullyAutomaticAuthorizationUI extends AbstractAuthorizationUI
This is a UI which supports a JOSM user to get an OAuth Access Token in a fully automatic process.- Since:
- 2746
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) classFullyAutomaticAuthorizationUI.BackActionAction to go back to step 1 in the process(package private) classFullyAutomaticAuthorizationUI.FullyAutomaticAuthorisationTask(package private) classFullyAutomaticAuthorizationUI.RunAuthorisationActionStarts the authorisation process(package private) classFullyAutomaticAuthorizationUI.TestAccessTokenActionAction to test an access token.-
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
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.Executorexecutorprivate AccessTokenInfoPanelpnlAccessTokenInfoprivate javax.swing.JPanelpnlActionButtonsPanelprivate OsmPrivilegesPanelpnlOsmPrivilegesprivate javax.swing.JPanelpnlPropertiesPanelprivate javax.swing.JPanelpnlResult-
Fields inherited from class org.openstreetmap.josm.gui.oauth.AbstractAuthorizationUI
ACCESS_TOKEN_PROP
-
Fields inherited from class javax.swing.JComponent
listenerList, TOOL_TIP_TEXT_KEY, ui, UNDEFINED_CONDITION, WHEN_ANCESTOR_OF_FOCUSED_COMPONENT, WHEN_FOCUSED, WHEN_IN_FOCUSED_WINDOW
-
-
Constructor Summary
Constructors Constructor Description FullyAutomaticAuthorizationUI(java.lang.String apiUrl, java.util.concurrent.Executor executor, OAuthVersion oAuthVersion)Constructs a newFullyAutomaticAuthorizationUIfor the given API URL.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidbuild()protected javax.swing.JPanelbuildActionButtonPanel()Builds the panel with the action button for starting the authorisationprotected VerticallyScrollablePanelbuildGrantsPanel()Builds the panel with the three privileges the user can grant JOSMprotected javax.swing.JPanelbuildPropertiesPanel()protected javax.swing.JPanelbuildResultsPanel()Builds the panel which displays the generated Access Token.protected VerticallyScrollablePanelbuildUserNamePasswordPanel()Builds the panel for entering the username and passwordbooleanisSaveAccessTokenToPreferences()Replies whether the user has chosen to save the Access Token in the JOSM preferences or not.protected voidprepareUIForEnteringRequest()Prepares the UI for the first step in the automatic process: entering the authentication and authorisation parameters.protected voidprepareUIForResultDisplay()Prepares the UI for the second step in the automatic process: displaying the access tokenprotected voidsetAccessToken(IOAuthToken accessToken)Sets the current Access Token.-
Methods inherited from class org.openstreetmap.josm.gui.oauth.AbstractAuthorizationUI
fireAccessTokenChanged, getAccessToken, getAdvancedPropertiesPanel, getApiUrl, getOAuthParameters, getOAuthVersion, hasAccessToken, initialize, setApiUrl
-
Methods inherited from class org.openstreetmap.josm.gui.widgets.VerticallyScrollablePanel
getPreferredScrollableViewportSize, getScrollableBlockIncrement, getScrollableTracksViewportHeight, getScrollableTracksViewportWidth, getScrollableUnitIncrement, getVerticalScrollPane
-
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, 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, hide, isDoubleBuffered, isLightweightComponent, isManagingFocus, isOpaque, isOptimizedDrawingEnabled, isPaintingForPrint, isPaintingOrigin, 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, 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, getPropertyChangeListeners, getPropertyChangeListeners, getSize, getToolkit, getTreeLock, gotFocus, handleEvent, hasFocus, 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, requestFocus, requestFocus, requestFocusInWindow, resize, resize, setBounds, setBounds, setComponentOrientation, setCursor, setDropTarget, setFocusable, setFocusTraversalKeysEnabled, setIgnoreRepaint, setLocale, setLocation, setLocation, setMixingCutoutShape, setName, setSize, setSize, show, show, size, toString, transferFocus, transferFocusBackward, transferFocusUpCycle
-
-
-
-
Field Detail
-
pnlAccessTokenInfo
private final AccessTokenInfoPanel pnlAccessTokenInfo
-
pnlOsmPrivileges
private OsmPrivilegesPanel pnlOsmPrivileges
-
pnlPropertiesPanel
private javax.swing.JPanel pnlPropertiesPanel
-
pnlActionButtonsPanel
private javax.swing.JPanel pnlActionButtonsPanel
-
pnlResult
private javax.swing.JPanel pnlResult
-
executor
private final transient java.util.concurrent.Executor executor
-
-
Constructor Detail
-
FullyAutomaticAuthorizationUI
public FullyAutomaticAuthorizationUI(java.lang.String apiUrl, java.util.concurrent.Executor executor, OAuthVersion oAuthVersion)
Constructs a newFullyAutomaticAuthorizationUIfor the given API URL.- Parameters:
apiUrl- The OSM API URLexecutor- the executor used for running the HTTP requests for the authorizationoAuthVersion- The OAuth version to use for this UI- Since:
- 18991
-
-
Method Detail
-
buildGrantsPanel
protected VerticallyScrollablePanel buildGrantsPanel()
Builds the panel with the three privileges the user can grant JOSM- Returns:
- constructed panel for the privileges
-
buildUserNamePasswordPanel
protected VerticallyScrollablePanel buildUserNamePasswordPanel()
Builds the panel for entering the username and password- Returns:
- constructed panel for the credentials
-
buildPropertiesPanel
protected javax.swing.JPanel buildPropertiesPanel()
-
buildActionButtonPanel
protected javax.swing.JPanel buildActionButtonPanel()
Builds the panel with the action button for starting the authorisation- Returns:
- constructed button panel
-
buildResultsPanel
protected javax.swing.JPanel buildResultsPanel()
Builds the panel which displays the generated Access Token.- Returns:
- constructed panel for the results
-
build
protected final void build()
-
prepareUIForEnteringRequest
protected void prepareUIForEnteringRequest()
Prepares the UI for the first step in the automatic process: entering the authentication and authorisation parameters.
-
prepareUIForResultDisplay
protected void prepareUIForResultDisplay()
Prepares the UI for the second step in the automatic process: displaying the access token
-
isSaveAccessTokenToPreferences
public boolean isSaveAccessTokenToPreferences()
Description copied from class:AbstractAuthorizationUIReplies whether the user has chosen to save the Access Token in the JOSM preferences or not.- Specified by:
isSaveAccessTokenToPreferencesin classAbstractAuthorizationUI- Returns:
- true if the user has chosen to save the Access Token
-
setAccessToken
protected void setAccessToken(IOAuthToken accessToken)
Description copied from class:AbstractAuthorizationUISets the current Access Token. This will fire a property change event forAbstractAuthorizationUI.ACCESS_TOKEN_PROPif the access token has changed- Overrides:
setAccessTokenin classAbstractAuthorizationUI- Parameters:
accessToken- the new access token. null, to clear the current access token
-
-