Ignore:
Timestamp:
2012-08-11T17:37:00+02:00 (12 years ago)
Author:
Don-vip
Message:

see #7943 - Introduce OsmApi.DEFAULT_API_URL, better handling of change of API URL in OAuth management, javadoc improvements

File:
1 edited

Legend:

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

    r3530 r5422  
    2727import org.openstreetmap.josm.tools.ImageProvider;
    2828
     29/**
     30 * Panel allowing the user to setup advanced OAuth parameters:
     31 * <li>Consumer key</li>
     32 * <li>Consumer secret</li>
     33 * <li>Request token URL</li>
     34 * <li>Access token URL</li>
     35 * <li>Authorize URL</li>
     36 *
     37 * @see OAuthParameters
     38 * @since 2746
     39 */
    2940public class AdvancedOAuthPropertiesPanel extends VerticallyScrollablePanel {
    3041
     
    3647    private JTextField tfAuthoriseURL;
    3748    private UseDefaultItemListener ilUseDefault;
     49    private String apiUrl;
    3850
    3951    protected void build() {
     
    110122
    111123    protected boolean hasCustomSettings() {
     124        OAuthParameters params = OAuthParameters.createDefault(apiUrl);
    112125        return
    113         ! tfConsumerKey.getText().equals( OAuthParameters.DEFAULT_JOSM_CONSUMER_KEY)
    114         || ! tfConsumerSecret.getText().equals( OAuthParameters.DEFAULT_JOSM_CONSUMER_SECRET)
    115         || ! tfRequestTokenURL.getText().equals( OAuthParameters.DEFAULT_REQUEST_TOKEN_URL)
    116         || ! tfAccessTokenURL.getText().equals( OAuthParameters.DEFAULT_ACCESS_TOKEN_URL)
    117         || ! tfAuthoriseURL.getText().equals( OAuthParameters.DEFAULT_AUTHORISE_URL);
     126           ! tfConsumerKey.getText().equals(params.getConsumerKey())
     127        || ! tfConsumerSecret.getText().equals(params.getConsumerSecret())
     128        || ! tfRequestTokenURL.getText().equals(params.getRequestTokenUrl())
     129        || ! tfAccessTokenURL.getText().equals(params.getAccessTokenUrl())
     130        || ! tfAuthoriseURL.getText().equals(params.getAuthoriseUrl());
    118131    }
    119132
     
    152165    protected void resetToDefaultSettings() {
    153166        cbUseDefaults.setSelected(true);
    154         tfConsumerKey.setText( OAuthParameters.DEFAULT_JOSM_CONSUMER_KEY);
    155         tfConsumerSecret.setText( OAuthParameters.DEFAULT_JOSM_CONSUMER_SECRET);
    156         tfRequestTokenURL.setText(OAuthParameters.DEFAULT_REQUEST_TOKEN_URL);
    157         tfAccessTokenURL.setText(OAuthParameters.DEFAULT_ACCESS_TOKEN_URL);
    158         tfAuthoriseURL.setText(OAuthParameters.DEFAULT_AUTHORISE_URL);
     167        OAuthParameters params = OAuthParameters.createDefault(apiUrl);
     168        tfConsumerKey.setText(params.getConsumerKey());
     169        tfConsumerSecret.setText(params.getConsumerSecret());
     170        tfRequestTokenURL.setText(params.getRequestTokenUrl());
     171        tfAccessTokenURL.setText(params.getAccessTokenUrl());
     172        tfAuthoriseURL.setText(params.getAuthoriseUrl());
    159173
    160174        setChildComponentsEnabled(false);
     
    176190    public OAuthParameters getAdvancedParameters() {
    177191        if (cbUseDefaults.isSelected())
    178             return OAuthParameters.createDefault();
     192            return OAuthParameters.createDefault(apiUrl);
    179193        OAuthParameters parameters = new OAuthParameters();
    180194        parameters.setConsumerKey(tfConsumerKey.getText());
     
    194208    public void setAdvancedParameters(OAuthParameters parameters) throws IllegalArgumentException{
    195209        CheckParameterUtil.ensureParameterNotNull(parameters, "parameters");
    196         if (parameters.equals(OAuthParameters.createDefault())) {
     210        if (parameters.equals(OAuthParameters.createDefault(apiUrl))) {
    197211            cbUseDefaults.setSelected(true);
    198212            setChildComponentsEnabled(false);
     
    208222    }
    209223
     224    /**
     225     * Constructs a new {@code AdvancedOAuthPropertiesPanel}.
     226     */
    210227    public AdvancedOAuthPropertiesPanel() {
    211228        build();
     
    218235     * @throws IllegalArgumentException thrown if pref is null
    219236     */
    220     public void initFromPreferences(Preferences pref) throws IllegalArgumentException{
     237    public void initFromPreferences(Preferences pref) throws IllegalArgumentException {
    221238        CheckParameterUtil.ensureParameterNotNull(pref, "pref");
     239        setApiUrl(pref.get("osm-server-url"));
    222240        boolean useDefault = pref.getBoolean("oauth.settings.use-default", true);
    223241        ilUseDefault.setEnabled(false);
     
    265283        public void itemStateChanged(ItemEvent e) {
    266284            if (!enabled) return;
    267             switch(e.getStateChange()) {
     285            switch (e.getStateChange()) {
    268286            case ItemEvent.SELECTED:
    269287                if (hasCustomSettings()) {
     
    285303        }
    286304    }
     305
     306    /**
     307     * Sets the URL of the OSM API for which this panel is currently displaying OAuth properties.
     308     *
     309     * @param apiUrl the api URL
     310     * @since 5422
     311     */
     312    public void setApiUrl(String apiUrl) {
     313        this.apiUrl = apiUrl;
     314        if (cbUseDefaults.isSelected()) {
     315            resetToDefaultSettings();
     316        }
     317    }
    287318}
Note: See TracChangeset for help on using the changeset viewer.