Ignore:
Timestamp:
2017-10-06T15:17:51+02:00 (2 years ago)
Author:
bastiK
Message:

see #15229 - do not copy the entire preferences list, just to set a custom server API in OAuth wizard

Location:
trunk/src/org/openstreetmap/josm/gui
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/org/openstreetmap/josm/gui/MainApplication.java

    r12923 r12928  
    981981        DefaultProxySelector proxySelector = new DefaultProxySelector(ProxySelector.getDefault());
    982982        ProxySelector.setDefault(proxySelector);
    983         OAuthAccessTokenHolder.getInstance().init(Main.pref, CredentialsManager.getInstance());
     983        OAuthAccessTokenHolder.getInstance().init(CredentialsManager.getInstance());
    984984
    985985        setupCallbacks();
  • trunk/src/org/openstreetmap/josm/gui/oauth/AbstractAuthorizationUI.java

    r10378 r12928  
    130130
    131131    /**
     132     * Initializes the authorisation UI.
     133     *
     134     * @param paramApiUrl the API URL. Must not be null.
     135     * @throws IllegalArgumentException if paramApiUrl is null
     136     */
     137    public void initialize(String paramApiUrl) {
     138        CheckParameterUtil.ensureParameterNotNull(paramApiUrl, "paramApiUrl");
     139        pnlAdvancedProperties.initialize(paramApiUrl);
     140    }
     141
     142    /**
    132143     * Initializes the authorisation UI with preference values in <code>pref</code>.
    133144     *
    134145     * @param pref the preferences. Must not be null.
    135146     * @throws IllegalArgumentException if pref is null
     147     * @deprecated (since 12928) replaced by {@link #initialize(java.lang.String)}
    136148     */
     149    @Deprecated
    137150    public void initFromPreferences(Preferences pref) {
    138151        CheckParameterUtil.ensureParameterNotNull(pref, "pref");
  • trunk/src/org/openstreetmap/josm/gui/oauth/AdvancedOAuthPropertiesPanel.java

    r12841 r12928  
    2424import org.openstreetmap.josm.gui.widgets.SelectAllOnFocusGainedDecorator;
    2525import org.openstreetmap.josm.gui.widgets.VerticallyScrollablePanel;
     26import org.openstreetmap.josm.spi.preferences.Config;
    2627import org.openstreetmap.josm.tools.CheckParameterUtil;
    2728import org.openstreetmap.josm.tools.ImageProvider;
     
    257258     * Initializes the panel from the values in the preferences <code>preferences</code>.
    258259     *
     260     * @param paramApiUrl the API URL. Must not be null.
     261     * @throws IllegalArgumentException if paramApiUrl is null
     262     */
     263    public void initialize(String paramApiUrl) {
     264        CheckParameterUtil.ensureParameterNotNull(paramApiUrl, "paramApiUrl");
     265        setApiUrl(paramApiUrl);
     266        boolean useDefault = Config.getPref().getBoolean("oauth.settings.use-default", true);
     267        ilUseDefault.setEnabled(false);
     268        if (useDefault) {
     269            resetToDefaultSettings();
     270        } else {
     271            setAdvancedParameters(OAuthParameters.createFromApiUrl(paramApiUrl));
     272        }
     273        ilUseDefault.setEnabled(true);
     274    }
     275
     276    /**
     277     * Initializes the panel from the values in the preferences <code>preferences</code>.
     278     *
    259279     * @param pref the preferences. Must not be null.
    260280     * @throws IllegalArgumentException if pref is null
    261      */
     281     * @deprecated (since 12928) replaced by {@link #initialize(java.lang.String)}
     282     */
     283    @Deprecated
    262284    public void initFromPreferences(Preferences pref) {
    263285        CheckParameterUtil.ensureParameterNotNull(pref, "pref");
     
    275297    /**
    276298     * Remembers the current values in the preferences <code>pref</code>.
     299     */
     300    public void rememberPreferences() {
     301        Config.getPref().putBoolean("oauth.settings.use-default", cbUseDefaults.isSelected());
     302        if (cbUseDefaults.isSelected()) {
     303            new OAuthParameters(null, null, null, null, null, null, null).rememberPreferences();
     304        } else {
     305            getAdvancedParameters().rememberPreferences();
     306        }
     307    }
     308
     309    /**
     310     * Remembers the current values in the preferences <code>pref</code>.
    277311     *
    278312     * @param pref the preferences. Must not be null.
    279313     * @throws IllegalArgumentException if pref is null.
    280      */
     314     * @deprecated (since 12928) replaced by {@link #rememberPreferences()}
     315     */
     316    @Deprecated
    281317    public void rememberPreferences(Preferences pref) {
    282318        CheckParameterUtil.ensureParameterNotNull(pref, "pref");
  • trunk/src/org/openstreetmap/josm/gui/oauth/FullyAutomaticAuthorizationUI.java

    r12620 r12928  
    169169    /**
    170170     * Initializes the panel with values from the preferences
     171     * @param paramApiUrl the API URL
     172     */
     173    @Override
     174    public void initialize(String paramApiUrl) {
     175        super.initialize(paramApiUrl);
     176        CredentialsAgent cm = CredentialsManager.getInstance();
     177        try {
     178            PasswordAuthentication pa = cm.lookup(RequestorType.SERVER, OsmApi.getOsmApi().getHost());
     179            if (pa == null) {
     180                tfUserName.setText("");
     181                tfPassword.setText("");
     182            } else {
     183                tfUserName.setText(pa.getUserName() == null ? "" : pa.getUserName());
     184                tfPassword.setText(pa.getPassword() == null ? "" : String.valueOf(pa.getPassword()));
     185            }
     186        } catch (CredentialsAgentException e) {
     187            Logging.error(e);
     188            tfUserName.setText("");
     189            tfPassword.setText("");
     190        }
     191    }
     192
     193    /**
     194     * Initializes the panel with values from the preferences
    171195     * @param pref Preferences structure
    172      */
     196     * @deprecated (since 12928) replaced by {@link #initialize(java.lang.String)}
     197     */
     198    @Deprecated
    173199    @Override
    174200    public void initFromPreferences(Preferences pref) {
  • trunk/src/org/openstreetmap/josm/gui/oauth/OAuthAuthorizationWizard.java

    r12803 r12928  
    4040
    4141import org.openstreetmap.josm.Main;
    42 import org.openstreetmap.josm.data.Preferences;
    4342import org.openstreetmap.josm.data.oauth.OAuthAccessTokenHolder;
    4443import org.openstreetmap.josm.data.oauth.OAuthParameters;
     
    309308     */
    310309    public void initFromPreferences() {
    311         // Copy current JOSM preferences to update API url with the one used in this wizard
    312         Preferences copyPref = new Preferences(Main.pref);
    313         copyPref.put("osm-server.url", apiUrl);
    314         pnlFullyAutomaticAuthorisationUI.initFromPreferences(copyPref);
    315         pnlSemiAutomaticAuthorisationUI.initFromPreferences(copyPref);
    316         pnlManualAuthorisationUI.initFromPreferences(copyPref);
     310        pnlFullyAutomaticAuthorisationUI.initialize(apiUrl);
     311        pnlSemiAutomaticAuthorisationUI.initialize(apiUrl);
     312        pnlManualAuthorisationUI.initialize(apiUrl);
    317313    }
    318314
  • trunk/src/org/openstreetmap/josm/gui/preferences/server/AuthenticationPreferencesPanel.java

    r12846 r12928  
    134134
    135135    /**
    136      * Saves the current values to preferences
     136     * Saves the current values to the preferences
    137137     */
    138138    public final void saveToPreferences() {
     
    149149            pnlBasicAuthPreferences.saveToPreferences();
    150150            OAuthAccessTokenHolder.getInstance().clear();
    151             OAuthAccessTokenHolder.getInstance().save(Main.pref, CredentialsManager.getInstance());
     151            OAuthAccessTokenHolder.getInstance().save(CredentialsManager.getInstance());
    152152        } else if ("oauth".equals(authMethod)) {
    153153            // clear the password in the preferences
  • trunk/src/org/openstreetmap/josm/gui/preferences/server/OAuthAuthenticationPreferencesPanel.java

    r12686 r12928  
    9696        gc.weighty = 1.0;
    9797        pnl.add(pnlAdvancedProperties, gc);
    98         pnlAdvancedProperties.initFromPreferences(Main.pref);
     98        pnlAdvancedProperties.initialize(OsmApi.getOsmApi().getServerUrl());
    9999        pnlAdvancedProperties.setBorder(
    100100                BorderFactory.createCompoundBorder(
     
    162162    public void saveToPreferences() {
    163163        OAuthAccessTokenHolder.getInstance().setSaveToPreferences(cbSaveToPreferences.isSelected());
    164         OAuthAccessTokenHolder.getInstance().save(Main.pref, CredentialsManager.getInstance());
    165         pnlAdvancedProperties.rememberPreferences(Main.pref);
     164        OAuthAccessTokenHolder.getInstance().save(CredentialsManager.getInstance());
     165        pnlAdvancedProperties.rememberPreferences();
    166166    }
    167167
     
    359359        public void actionPerformed(ActionEvent evt) {
    360360            OAuthToken token = OAuthAccessTokenHolder.getInstance().getAccessToken();
    361             OAuthParameters parameters = OAuthParameters.createFromPreferences(Main.pref);
     361            OAuthParameters parameters = OAuthParameters.createFromApiUrl(OsmApi.getOsmApi().getServerUrl());
    362362            TestAccessTokenTask task = new TestAccessTokenTask(
    363363                    OAuthAuthenticationPreferencesPanel.this,
Note: See TracChangeset for help on using the changeset viewer.