You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@camel.apache.org by kr...@apache.org on 2010/04/09 07:01:27 UTC

svn commit: r932246 - in /camel/trunk/components/camel-gae/src: main/java/org/apache/camel/component/gae/auth/GAuthUpgradeBinding.java test/java/org/apache/camel/component/gae/auth/GAuthUpgradeBindingTest.java

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));
+    }
+
 }