Author: krasserm Date: Fri Apr 9 05:01:26 2010 New Revision: 932246 URL: http://svn.apache.org/viewvc?rev=932246&view=rev Log: proper handling of non-existing access tokens
Modified: camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/auth/GAuthUpgradeBinding.java camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthUpgradeBindingTest.java Modified: camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/auth/GAuthUpgradeBinding.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/auth/GAuthUpgradeBinding.java?rev=932246&r1=932245&r2=932246&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/auth/GAuthUpgradeBinding.java (original) +++ camel/trunk/components/camel-gae/src/main/java/org/apache/camel/component/gae/auth/GAuthUpgradeBinding.java Fri Apr 9 05:01:26 2010 @@ -40,6 +40,11 @@ public class GAuthUpgradeBinding impleme public static final String GAUTH_ACCESS_TOKEN_SECRET = "CamelGauthAccessTokenSecret"; /** + * Default value for access token and access token secret in GoogleOAuthParameters + */ + private static final String EMPTY_TOKEN = ""; + + /** * Creates a {...@link GoogleOAuthParameters} object from endpoint and * <code>exchange.getIn()</code> data. The created parameter object is used * to upgrade an authorized request token to an access token. If the @@ -90,9 +95,19 @@ public class GAuthUpgradeBinding impleme */ public Exchange readResponse(GAuthEndpoint endpoint, Exchange exchange, GoogleOAuthParameters response) throws IOException { exchange.getOut().setHeaders(exchange.getIn().getHeaders()); - exchange.getOut().setHeader(GAUTH_ACCESS_TOKEN, response.getOAuthToken()); - exchange.getOut().setHeader(GAUTH_ACCESS_TOKEN_SECRET, response.getOAuthTokenSecret()); + exchange.getOut().setHeader(GAUTH_ACCESS_TOKEN, canonicalizeToken(response.getOAuthToken())); + exchange.getOut().setHeader(GAUTH_ACCESS_TOKEN_SECRET, canonicalizeToken(response.getOAuthTokenSecret())); return exchange; } + private static String canonicalizeToken(String token) { + if (token == null) { + return null; + } else if (EMPTY_TOKEN.equals(token)) { + return null; + } else { + return token; + } + } + } Modified: camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthUpgradeBindingTest.java URL: http://svn.apache.org/viewvc/camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthUpgradeBindingTest.java?rev=932246&r1=932245&r2=932246&view=diff ============================================================================== --- camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthUpgradeBindingTest.java (original) +++ camel/trunk/components/camel-gae/src/test/java/org/apache/camel/component/gae/auth/GAuthUpgradeBindingTest.java Fri Apr 9 05:01:26 2010 @@ -28,6 +28,7 @@ import static org.apache.camel.component import static org.apache.camel.component.gae.auth.GAuthUpgradeBinding.GAUTH_ACCESS_TOKEN; import static org.apache.camel.component.gae.auth.GAuthUpgradeBinding.GAUTH_ACCESS_TOKEN_SECRET; import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertNull; public class GAuthUpgradeBindingTest { @@ -81,4 +82,12 @@ public class GAuthUpgradeBindingTest { assertEquals("tokenSecret2", exchange.getOut().getHeader(GAUTH_ACCESS_TOKEN_SECRET)); } + @Test + public void testReadResponseNoToken() throws Exception { + GoogleOAuthParameters params = new GoogleOAuthParameters(); + binding.readResponse(endpoint, exchange, params); + assertNull(exchange.getOut().getHeader(GAUTH_ACCESS_TOKEN)); + assertNull(exchange.getOut().getHeader(GAUTH_ACCESS_TOKEN_SECRET)); + } + }