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:
ImageObserver
,MenuContainer
,Serializable
,Accessible
,Scrollable
public class FullyAutomaticAuthorizationUI extends AbstractAuthorizationUI
This is an 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) class
FullyAutomaticAuthorizationUI.BackAction
Action to go back to step 1 in the process(package private) class
FullyAutomaticAuthorizationUI.FullyAutomaticAuthorisationTask
(package private) static class
FullyAutomaticAuthorizationUI.PasswordValidator
(package private) class
FullyAutomaticAuthorizationUI.RunAuthorisationAction
Starts the authorisation process(package private) class
FullyAutomaticAuthorizationUI.TestAccessTokenAction
Action to test an access token.-
Nested classes/interfaces inherited from class javax.swing.JPanel
JPanel.AccessibleJPanel
-
Nested classes/interfaces inherited from class javax.swing.JComponent
JComponent.AccessibleJComponent
-
Nested classes/interfaces inherited from class java.awt.Container
Container.AccessibleAWTContainer
-
Nested classes/interfaces inherited from class java.awt.Component
Component.AccessibleAWTComponent, Component.BaselineResizeBehavior, Component.BltBufferStrategy, Component.FlipBufferStrategy
-
-
Field Summary
Fields Modifier and Type Field Description private Executor
executor
private AccessTokenInfoPanel
pnlAccessTokenInfo
private JPanel
pnlActionButtonsPanel
private OsmPrivilegesPanel
pnlOsmPrivileges
private JPanel
pnlPropertiesPanel
private JPanel
pnlResult
private JosmPasswordField
tfPassword
private JosmTextField
tfUserName
private FullyAutomaticAuthorizationUI.PasswordValidator
valPassword
private UserNameValidator
valUserName
-
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
-
Fields inherited from class java.awt.Component
accessibleContext, 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
Constructors Constructor Description FullyAutomaticAuthorizationUI(String apiUrl, Executor executor)
Constructs a newFullyAutomaticAuthorizationUI
for the given API URL.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
build()
protected JPanel
buildActionButtonPanel()
Builds the panel with the action button for starting the authorisationprotected VerticallyScrollablePanel
buildGrantsPanel()
Builds the panel with the three privileges the user can grant JOSMprotected JPanel
buildPropertiesPanel()
protected JPanel
buildResultsPanel()
Builds the panel which displays the generated Access Token.protected VerticallyScrollablePanel
buildUserNamePasswordPanel()
Builds the panel for entering the username and passwordprotected String
getOsmPassword()
protected String
getOsmUserName()
void
initialize(String paramApiUrl)
Initializes the panel with values from the preferencesboolean
isSaveAccessTokenToPreferences()
Replies whether the user has chosen to save the Access Token in the JOSM preferences or not.protected void
prepareUIForEnteringRequest()
Prepares the UI for the first step in the automatic process: entering the authentication and authorisation parameters.protected void
prepareUIForResultDisplay()
Prepares the UI for the second step in the automatic process: displaying the access tokenprotected void
setAccessToken(OAuthToken accessToken)
Sets the current Access Token.-
Methods inherited from class org.openstreetmap.josm.gui.oauth.AbstractAuthorizationUI
fireAccessTokenChanged, getAccessToken, getAdvancedPropertiesPanel, getApiUrl, getOAuthParameters, hasAccessToken, 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
-
tfUserName
private final JosmTextField tfUserName
-
tfPassword
private final JosmPasswordField tfPassword
-
valUserName
private transient UserNameValidator valUserName
-
valPassword
private transient FullyAutomaticAuthorizationUI.PasswordValidator valPassword
-
pnlAccessTokenInfo
private final AccessTokenInfoPanel pnlAccessTokenInfo
-
pnlOsmPrivileges
private OsmPrivilegesPanel pnlOsmPrivileges
-
pnlPropertiesPanel
private JPanel pnlPropertiesPanel
-
pnlActionButtonsPanel
private JPanel pnlActionButtonsPanel
-
-
Constructor Detail
-
FullyAutomaticAuthorizationUI
public FullyAutomaticAuthorizationUI(String apiUrl, Executor executor)
Constructs a newFullyAutomaticAuthorizationUI
for the given API URL.- Parameters:
apiUrl
- The OSM API URLexecutor
- the executor used for running the HTTP requests for the authorization- Since:
- 5422
-
-
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 JPanel buildPropertiesPanel()
-
initialize
public void initialize(String paramApiUrl)
Initializes the panel with values from the preferences- Overrides:
initialize
in classAbstractAuthorizationUI
- Parameters:
paramApiUrl
- the API URL
-
buildActionButtonPanel
protected JPanel buildActionButtonPanel()
Builds the panel with the action button for starting the authorisation- Returns:
- constructed button panel
-
buildResultsPanel
protected 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
-
getOsmUserName
protected String getOsmUserName()
-
getOsmPassword
protected String getOsmPassword()
-
isSaveAccessTokenToPreferences
public boolean isSaveAccessTokenToPreferences()
Description copied from class:AbstractAuthorizationUI
Replies whether the user has chosen to save the Access Token in the JOSM preferences or not.- Specified by:
isSaveAccessTokenToPreferences
in classAbstractAuthorizationUI
- Returns:
- true if the user has chosen to save the Access Token
-
setAccessToken
protected void setAccessToken(OAuthToken accessToken)
Description copied from class:AbstractAuthorizationUI
Sets the current Access Token. This will fire a property change event forAbstractAuthorizationUI.ACCESS_TOKEN_PROP
if the access token has changed- Overrides:
setAccessToken
in classAbstractAuthorizationUI
- Parameters:
accessToken
- the new access token. null, to clear the current access token
-
-