From 8eb2062e9521539a66220aa276b62c9030facf08 Mon Sep 17 00:00:00 2001 From: Pablo Fernandez Date: Sun, 7 Nov 2010 18:24:05 -0300 Subject: [PATCH] Used OAuthConfig when possible instead of bunch of Strings --- .../org/scribe/builder/ServiceBuilder.java | 3 +-- src/main/java/org/scribe/builder/api/Api.java | 3 ++- .../org/scribe/builder/api/DefaultApi10a.java | 18 ++++-------------- .../java/org/scribe/model/OAuthConfig.java | 12 ++++++++++++ .../java/org/scribe/model/OAuthConfigTest.java | 7 ++----- 5 files changed, 21 insertions(+), 22 deletions(-) diff --git a/src/main/java/org/scribe/builder/ServiceBuilder.java b/src/main/java/org/scribe/builder/ServiceBuilder.java index 59368d4..59a6d12 100644 --- a/src/main/java/org/scribe/builder/ServiceBuilder.java +++ b/src/main/java/org/scribe/builder/ServiceBuilder.java @@ -2,7 +2,6 @@ package org.scribe.builder; import org.scribe.builder.api.*; import org.scribe.exceptions.*; - import org.scribe.model.*; import org.scribe.oauth.*; import org.scribe.utils.*; @@ -119,6 +118,6 @@ public class ServiceBuilder Preconditions.checkNotNull(api, "You must specify a valid api through the provider() method"); Preconditions.checkEmptyString(apiKey, "You must provide an api key"); Preconditions.checkEmptyString(apiSecret, "You must provide an api secret"); - return api.createService(apiKey, apiSecret, callback, scope); + return api.createService(new OAuthConfig(apiKey, apiSecret, callback), scope); } } diff --git a/src/main/java/org/scribe/builder/api/Api.java b/src/main/java/org/scribe/builder/api/Api.java index 0202098..b996210 100644 --- a/src/main/java/org/scribe/builder/api/Api.java +++ b/src/main/java/org/scribe/builder/api/Api.java @@ -1,5 +1,6 @@ package org.scribe.builder.api; +import org.scribe.model.*; import org.scribe.oauth.*; /** @@ -20,5 +21,5 @@ public interface Api * * @return fully configured {@link OAuthService} */ - OAuthService createService(String apiKey, String apiSecret, String callback, String scope); + OAuthService createService(OAuthConfig config, String scope); } diff --git a/src/main/java/org/scribe/builder/api/DefaultApi10a.java b/src/main/java/org/scribe/builder/api/DefaultApi10a.java index d25c0c3..c5b840f 100644 --- a/src/main/java/org/scribe/builder/api/DefaultApi10a.java +++ b/src/main/java/org/scribe/builder/api/DefaultApi10a.java @@ -80,25 +80,15 @@ public abstract class DefaultApi10a implements Api * @param callback OAuth callback (either URL or 'oob') * @param scope OAuth scope (optional) */ - public OAuthService createService(String apiKey, String apiSecret, String callback, String scope) + public OAuthService createService(OAuthConfig config, String scope) { - OAuthService service = createService(apiKey, apiSecret, callback); + OAuthService service = createService(config); service.addScope(scope); return service; } - private OAuthService createService(String apiKey, String apiSecret, String callback) + private OAuthService createService(OAuthConfig config) { - return new OAuth10aServiceImpl(this, createConfig(apiKey, apiSecret, callback)); + return new OAuth10aServiceImpl(this, config); } - - private OAuthConfig createConfig(String apiKey, String apiSecret, String callback) - { - OAuthConfig config = new OAuthConfig(); - config.setApiKey(apiKey); - config.setApiSecret(apiSecret); - config.setCallback(callback); - return config; - } - } diff --git a/src/main/java/org/scribe/model/OAuthConfig.java b/src/main/java/org/scribe/model/OAuthConfig.java index ce9ff64..60a5a35 100644 --- a/src/main/java/org/scribe/model/OAuthConfig.java +++ b/src/main/java/org/scribe/model/OAuthConfig.java @@ -10,6 +10,18 @@ public class OAuthConfig private String apiKey; private String apiSecret; private String callback; + + public OAuthConfig(String key, String secret) + { + this(key,secret,null); + } + + public OAuthConfig(String key, String secret, String callback) + { + this.apiKey = key; + this.apiSecret = secret; + this.callback = callback; + } public String getApiKey() { diff --git a/src/test/java/org/scribe/model/OAuthConfigTest.java b/src/test/java/org/scribe/model/OAuthConfigTest.java index 0c442f8..4354fb9 100644 --- a/src/test/java/org/scribe/model/OAuthConfigTest.java +++ b/src/test/java/org/scribe/model/OAuthConfigTest.java @@ -10,17 +10,14 @@ public class OAuthConfigTest @Test public void shouldReturnDefaultValuesIfNotSet() { - OAuthConfig config = new OAuthConfig(); + OAuthConfig config = new OAuthConfig("key", "secret"); assertEquals(OAuthConstants.OUT_OF_BAND, config.getCallback()); } @Test public void shouldOverrideDefaultsIfSet() { - OAuthConfig config = new OAuthConfig(); - config.setCallback("http://callback"); - config.setApiKey("key"); - config.setApiSecret("secret"); + OAuthConfig config = new OAuthConfig("key", "secret", "http://callback"); assertEquals("http://callback", config.getCallback()); assertEquals("key", config.getApiKey()); assertEquals("secret", config.getApiSecret());