Author: lindner
Date: Sat Jan 24 00:07:26 2009
New Revision: 737264

URL: http://svn.apache.org/viewvc?rev=737264&view=rev
Log:
SHINDIG-635 | Modified patch from Cassie Doll | Add a new method to 
SecurityToken - getContainer()

Modified:
    
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/AnonymousSecurityToken.java
    
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityToken.java
    
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityTokenDecoder.java
    
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BlobCrypterSecurityToken.java
    
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/SecurityToken.java
    
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/crypto/BlobCrypter.java
    
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/auth/BlobCrypterSecurityTokenTest.java
    
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/auth/DefaultSecurityTokenDecoderTest.java
    
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/common/testing/FakeGadgetToken.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java
    
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthRequestTest.java
    
incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/oauth/OAuthSecurityToken.java
    
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/oauth/SampleContainerOAuthLookupService.java
    incubator/shindig/trunk/javascript/samplecontainer/samplecontainer.js

Modified: 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/AnonymousSecurityToken.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/AnonymousSecurityToken.java?rev=737264&r1=737263&r2=737264&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/AnonymousSecurityToken.java
 (original)
+++ 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/AnonymousSecurityToken.java
 Sat Jan 24 00:07:26 2009
@@ -51,6 +51,10 @@
     return "";
   }
 
+  public String getContainer() {
+    return "";
+  }
+
   public String getAppUrl() {
     return "";
   }

Modified: 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityToken.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityToken.java?rev=737264&r1=737263&r2=737264&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityToken.java
 (original)
+++ 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityToken.java
 Sat Jan 24 00:07:26 2009
@@ -48,6 +48,7 @@
   private static final String DOMAIN_KEY = "d";
   private static final String APPURL_KEY = "u";
   private static final String MODULE_KEY = "m";
+  private static final String CONTAINER_KEY = "c";
 
   public String toSerialForm() {
     return token;
@@ -57,7 +58,7 @@
    * Generates a token from an input string
    * @param token String form of token
    * @param maxAge max age of the token (in seconds)
-   * @throws BlobCrypterException
+   * @throws BlobCrypterException never
    */
   public BasicSecurityToken(String token, int maxAge)
   throws BlobCrypterException {
@@ -66,14 +67,15 @@
   }
 
   public BasicSecurityToken(String owner, String viewer, String app,
-      String domain, String appUrl, String moduleId) throws 
BlobCrypterException {
-    tokenData = Maps.newHashMapWithExpectedSize(5);
+      String domain, String appUrl, String moduleId, String container) throws 
BlobCrypterException {
+    tokenData = Maps.newHashMapWithExpectedSize(6);
     putNullSafe(OWNER_KEY, owner);
     putNullSafe(VIEWER_KEY, viewer);
     putNullSafe(APP_KEY, app);
     putNullSafe(DOMAIN_KEY, domain);
     putNullSafe(APPURL_KEY, appUrl);
     putNullSafe(MODULE_KEY, moduleId);
+    putNullSafe(CONTAINER_KEY, container);
     token = crypter.wrap(tokenData);
   }
 
@@ -100,6 +102,13 @@
   /**
    * {...@inheritdoc}
    */
+  public String getContainer() {
+    return tokenData.get(CONTAINER_KEY);
+  }
+
+  /**
+   * {...@inheritdoc}
+   */
   public String getOwnerId() {
     return tokenData.get(OWNER_KEY);
   }

Modified: 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityTokenDecoder.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityTokenDecoder.java?rev=737264&r1=737263&r2=737264&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityTokenDecoder.java
 (original)
+++ 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BasicSecurityTokenDecoder.java
 Sat Jan 24 00:07:26 2009
@@ -19,12 +19,12 @@
 package org.apache.shindig.auth;
 
 import org.apache.shindig.common.crypto.BlobCrypterException;
+import org.apache.shindig.common.util.Utf8UrlCoder;
+import org.apache.commons.lang.StringUtils;
 
+import com.google.common.base.Join;
 import com.google.inject.Singleton;
 
-import java.io.UnsupportedEncodingException;
-import java.net.URLDecoder;
-import java.net.URLEncoder;
 import java.util.Map;
 
 /**
@@ -37,27 +37,26 @@
   private static final int OWNER_INDEX = 0;
   private static final int VIEWER_INDEX = 1;
   private static final int APP_ID_INDEX = 2;
-  private static final int CONTAINER_INDEX = 3;
+  private static final int DOMAIN_INDEX = 3;
   private static final int APP_URL_INDEX = 4;
   private static final int MODULE_ID_INDEX = 5;
-  private static final int TOKEN_COUNT = MODULE_ID_INDEX + 1;
+  private static final int CONTAINER_ID_INDEX = 6;
+  private static final int TOKEN_COUNT = CONTAINER_ID_INDEX + 1;
 
   /**
    * Encodes a token using the a plaintext dummy format.
+   * @param token token to encode
+   * @return token with values separated by colons
    */
   public String encodeToken(SecurityToken token) {
-    try {
-    StringBuilder out = new StringBuilder();
-      out.append(URLEncoder.encode(token.getOwnerId(), "UTF-8")).append(':')
-          .append(URLEncoder.encode(token.getViewerId(), "UTF-8")).append(':')
-          .append(URLEncoder.encode(token.getAppId(), "UTF-8")).append(':')
-          .append(URLEncoder.encode(token.getDomain(), "UTF-8")).append(':')
-          .append(URLEncoder.encode(token.getAppUrl(), "UTF-8")).append(':')
-          .append(Long.toString(token.getModuleId()));
-      return out.toString();
-    } catch (UnsupportedEncodingException uee) {
-      throw new IllegalStateException(uee);
-    }
+    return Join.join(":",
+        Utf8UrlCoder.encode(token.getOwnerId()),
+        Utf8UrlCoder.encode(token.getViewerId()),
+        Utf8UrlCoder.encode(token.getAppId()),
+        Utf8UrlCoder.encode(token.getDomain()),
+        Utf8UrlCoder.encode(token.getAppUrl()),
+        Long.toString(token.getModuleId()),
+        Utf8UrlCoder.encode(token.getContainer()));
   }
 
 
@@ -76,22 +75,21 @@
     }
 
     try {
-      String[] tokens = token.split(":");
+      String[] tokens = StringUtils.split(token, ':');
       if (tokens.length != TOKEN_COUNT) {
         throw new SecurityTokenException("Malformed security token");
       }
 
       return new BasicSecurityToken(
-          URLDecoder.decode(tokens[OWNER_INDEX], "UTF-8"),
-          URLDecoder.decode(tokens[VIEWER_INDEX], "UTF-8"),
-          URLDecoder.decode(tokens[APP_ID_INDEX], "UTF-8"),
-          URLDecoder.decode(tokens[CONTAINER_INDEX], "UTF-8"),
-          URLDecoder.decode(tokens[APP_URL_INDEX], "UTF-8"),
-          URLDecoder.decode(tokens[MODULE_ID_INDEX], "UTF-8"));
+          Utf8UrlCoder.decode(tokens[OWNER_INDEX]),
+          Utf8UrlCoder.decode(tokens[VIEWER_INDEX]),
+          Utf8UrlCoder.decode(tokens[APP_ID_INDEX]),
+          Utf8UrlCoder.decode(tokens[DOMAIN_INDEX]),
+          Utf8UrlCoder.decode(tokens[APP_URL_INDEX]),
+          Utf8UrlCoder.decode(tokens[MODULE_ID_INDEX]),
+          Utf8UrlCoder.decode(tokens[CONTAINER_ID_INDEX]));
     } catch (BlobCrypterException e) {
       throw new SecurityTokenException(e);
-    } catch (UnsupportedEncodingException e) {
-      throw new SecurityTokenException(e);
     } catch (ArrayIndexOutOfBoundsException e) {
       throw new SecurityTokenException(e);
     }

Modified: 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BlobCrypterSecurityToken.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BlobCrypterSecurityToken.java?rev=737264&r1=737263&r2=737264&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BlobCrypterSecurityToken.java
 (original)
+++ 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/BlobCrypterSecurityToken.java
 Sat Jan 24 00:07:26 2009
@@ -129,6 +129,10 @@
     this.appUrl = appUrl;
   }
 
+  public String getContainer() {
+    return container;
+  }
+
   // Used for oauth_consumer_key for signed fetch with default key.  This is a 
weird spot for this.
   public String getDomain() {
     return domain;

Modified: 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/SecurityToken.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/SecurityToken.java?rev=737264&r1=737263&r2=737264&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/SecurityToken.java
 (original)
+++ 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/auth/SecurityToken.java
 Sat Jan 24 00:07:26 2009
@@ -23,7 +23,7 @@
  * Use in conjunction with @code SecurityTokenDecoder.
  */
 public interface SecurityToken {
-  
+
   /**
    * @return the owner from the token, or null if there is none.
    */
@@ -45,6 +45,11 @@
   public String getDomain();
 
   /**
+   * @return The container.
+   */
+  public String getContainer();
+
+  /**
    * @return the URL of the application
    */
   public String getAppUrl();

Modified: 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/crypto/BlobCrypter.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/crypto/BlobCrypter.java?rev=737264&r1=737263&r2=737264&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/crypto/BlobCrypter.java
 (original)
+++ 
incubator/shindig/trunk/java/common/src/main/java/org/apache/shindig/common/crypto/BlobCrypter.java
 Sat Jan 24 00:07:26 2009
@@ -24,28 +24,28 @@
  * Utility interface for managing signed, encrypted, and time stamped blobs.
  * Blobs are made up of name/value pairs.  Time stamps are automatically
  * included and checked.
- * 
+ *
  * Thread safe.
  */
 public interface BlobCrypter {
 
   /**
    * Time stamps, encrypts, and signs a blob.
-   * 
+   *
    * @param in name/value pairs to encrypt
    * @return a base64 encoded blob
-   * 
-   * @throws BlobCrypterException
+   *
+   * @throws BlobCrypterException when crypto errors occur
    */
   public String wrap(Map<String, String> in) throws BlobCrypterException;
 
   /**
    * Unwraps a blob.
-   * 
+   *
    * @param in blob
    * @param maxAgeSec maximum age for the blob
    * @return the name/value pairs, including the origin timestamp.
-   * 
+   *
    * @throws BlobExpiredException if the blob is too old to be accepted.
    * @throws BlobCrypterException if the blob can't be decoded.
    */

Modified: 
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/auth/BlobCrypterSecurityTokenTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/auth/BlobCrypterSecurityTokenTest.java?rev=737264&r1=737263&r2=737264&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/auth/BlobCrypterSecurityTokenTest.java
 (original)
+++ 
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/auth/BlobCrypterSecurityTokenTest.java
 Sat Jan 24 00:07:26 2009
@@ -18,15 +18,15 @@
  */
 package org.apache.shindig.auth;
 
-import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertNull;
-import static org.junit.Assert.assertTrue;
-import static org.junit.Assert.fail;
-
 import org.apache.shindig.common.crypto.BasicBlobCrypter;
 import org.apache.shindig.common.crypto.BlobExpiredException;
 import org.apache.shindig.common.crypto.Crypto;
 import org.apache.shindig.common.util.FakeTimeSource;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
 import org.junit.Before;
 import org.junit.Test;
 
@@ -37,16 +37,16 @@
 
   private static final String CONTAINER = "container";
   private static final String DOMAIN = "example.com";
-  
+
   private FakeTimeSource timeSource = new FakeTimeSource();
   private BasicBlobCrypter crypter;
-  
+
   @Before
   public void setUp() {
     crypter = new BasicBlobCrypter(Crypto.getRandomBytes(20));
     crypter.timeSource = timeSource;
   }
-  
+
   @Test
   public void testNullValues() throws Exception {
     BlobCrypterSecurityToken t = new BlobCrypterSecurityToken(crypter, 
CONTAINER, DOMAIN);
@@ -63,8 +63,9 @@
     assertNull(t2.getViewerId(), t2.getViewerId());
     assertNull(t2.getTrustedJson(), t2.getTrustedJson());
     assertNull(t2.getUpdatedToken(), t2.getUpdatedToken());
+    assertEquals(CONTAINER, t2.getContainer());
   }
-  
+
   @Test
   public void testRealValues() throws Exception {
     BlobCrypterSecurityToken t = new BlobCrypterSecurityToken(crypter, 
CONTAINER, DOMAIN);
@@ -85,8 +86,9 @@
     assertEquals("owner", t2.getOwnerId());
     assertEquals("viewer", t2.getViewerId());
     assertEquals("trusted", t2.getTrustedJson());
+    assertEquals(CONTAINER, t2.getContainer());
   }
-  
+
   @Test
   public void testExpired() throws Exception {
     BlobCrypterSecurityToken t = new BlobCrypterSecurityToken(crypter, 
CONTAINER, DOMAIN);

Modified: 
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/auth/DefaultSecurityTokenDecoderTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/auth/DefaultSecurityTokenDecoderTest.java?rev=737264&r1=737263&r2=737264&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/auth/DefaultSecurityTokenDecoderTest.java
 (original)
+++ 
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/auth/DefaultSecurityTokenDecoderTest.java
 Sat Jan 24 00:07:26 2009
@@ -68,13 +68,14 @@
   public void testBasicDecoder() throws Exception {
     DefaultSecurityTokenDecoder decoder = new DefaultSecurityTokenDecoder(
         new FakeContainerConfig("insecure"));
-    String token = "o:v:app:domain:appurl:12345";
+    String token = "o:v:app:domain:appurl:12345:container";
     Map<String, String> parameters = Collections.singletonMap(
         SecurityTokenDecoder.SECURITY_TOKEN_NAME, token);
     SecurityToken st = decoder.createToken(parameters);
     assertEquals("o", st.getOwnerId());
     assertEquals("v", st.getViewerId());
     assertEquals("appurl", st.getAppUrl());
+    assertEquals("container", st.getContainer());
   }
 
   @Test

Modified: 
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/common/testing/FakeGadgetToken.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/common/testing/FakeGadgetToken.java?rev=737264&r1=737263&r2=737264&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/common/testing/FakeGadgetToken.java
 (original)
+++ 
incubator/shindig/trunk/java/common/src/test/java/org/apache/shindig/common/testing/FakeGadgetToken.java
 Sat Jan 24 00:07:26 2009
@@ -37,6 +37,7 @@
   private String viewerId = null;
   private String appId = null;
   private String domain = null;
+  private String container = null;
   private String appUrl = null;
   private int moduleId = 0;
 
@@ -70,6 +71,11 @@
     return this;
   }
 
+  public FakeGadgetToken setContainer(String container) {
+    this.container = container;
+    return this;
+  }
+
   public FakeGadgetToken setAppUrl(String appUrl) {
     this.appUrl = appUrl;
     return this;
@@ -96,6 +102,10 @@
     return domain;
   }
 
+  public String getContainer() {
+    return container;
+  }
+
   public String toSerialForm() {
     return "";
   }

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java?rev=737264&r1=737263&r2=737264&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/http/AbstractHttpCacheTest.java
 Sat Jan 24 00:07:26 2009
@@ -46,6 +46,8 @@
   private static final String MODULE_ID = "100";
   private static final String SERVICE_NAME = "service";
   private static final String TOKEN_NAME = "token";
+  private static final String CONTAINER_NAME = "container";
+
   private final TestHttpCache cache = new TestHttpCache();
 
   @Test
@@ -104,7 +106,7 @@
 
     String ownerId = "owner eye dee";
     SecurityToken securityToken
-        = new BasicSecurityToken(ownerId, "", "", "", APP_URI.toString(), 
MODULE_ID);
+        = new BasicSecurityToken(ownerId, "", "", "", APP_URI.toString(), 
MODULE_ID, CONTAINER_NAME);
 
     HttpRequest request = new HttpRequest(DEFAULT_URI)
         .setAuthType(AuthType.SIGNED)
@@ -162,7 +164,7 @@
 
     String viewerId = "viewer eye dee";
     SecurityToken securityToken
-        = new BasicSecurityToken("", viewerId, "", "", APP_URI.toString(), 
MODULE_ID);
+        = new BasicSecurityToken("", viewerId, "", "", APP_URI.toString(), 
MODULE_ID, CONTAINER_NAME);
 
     HttpRequest request = new HttpRequest(DEFAULT_URI)
         .setAuthType(AuthType.SIGNED)
@@ -221,7 +223,7 @@
 
     String userId = "user id";
     SecurityToken securityToken
-        = new BasicSecurityToken(userId, userId, "", "", APP_URI.toString(), 
MODULE_ID);
+        = new BasicSecurityToken(userId, userId, "", "", APP_URI.toString(), 
MODULE_ID, CONTAINER_NAME);
 
     HttpRequest request = new HttpRequest(DEFAULT_URI)
         .setAuthType(AuthType.SIGNED)

Modified: 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthRequestTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthRequestTest.java?rev=737264&r1=737263&r2=737264&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthRequestTest.java
 (original)
+++ 
incubator/shindig/trunk/java/gadgets/src/test/java/org/apache/shindig/gadgets/oauth/OAuthRequestTest.java
 Sat Jan 24 00:07:26 2009
@@ -232,7 +232,7 @@
 
   public static SecurityToken getSecurityToken(String owner, String viewer, 
String gadget)
       throws Exception {
-    return new BasicSecurityToken(owner, viewer, "app", "container.com", 
gadget, "0");
+    return new BasicSecurityToken(owner, viewer, "app", "container.com", 
gadget, "0", "default");
   }
 
   @After

Modified: 
incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java?rev=737264&r1=737263&r2=737264&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
 (original)
+++ 
incubator/shindig/trunk/java/server/src/test/java/org/apache/shindig/server/endtoend/EndToEndTest.java
 Sat Jan 24 00:07:26 2009
@@ -206,6 +206,6 @@
 
   private BasicSecurityToken createToken(String owner, String viewer)
       throws BlobCrypterException {
-    return new BasicSecurityToken(owner, viewer, "test", "domain", "appUrl", 
"1");
+    return new BasicSecurityToken(owner, viewer, "test", "domain", "appUrl", 
"1", "default");
   }
 }

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/oauth/OAuthSecurityToken.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/oauth/OAuthSecurityToken.java?rev=737264&r1=737263&r2=737264&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/oauth/OAuthSecurityToken.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/core/oauth/OAuthSecurityToken.java
 Sat Jan 24 00:07:26 2009
@@ -24,12 +24,15 @@
   private final String appUrl;
   private final String appId;
   private final String domain;
+  private final String container;
 
-  public OAuthSecurityToken(String userId, String appUrl, String appId, String 
domain) {
+  public OAuthSecurityToken(String userId, String appUrl, String appId, String 
domain,
+      String container) {
     this.userId = userId;
     this.appUrl = appUrl;
     this.appId = appId;
     this.domain = domain;
+    this.container = container;
   }
 
   public String getOwnerId() {
@@ -48,6 +51,10 @@
     return domain;
   }
 
+  public String getContainer() {
+    return container;
+  }
+
   public String getAppUrl() {
     return appUrl;
   }

Modified: 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/oauth/SampleContainerOAuthLookupService.java
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/oauth/SampleContainerOAuthLookupService.java?rev=737264&r1=737263&r2=737264&view=diff
==============================================================================
--- 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/oauth/SampleContainerOAuthLookupService.java
 (original)
+++ 
incubator/shindig/trunk/java/social-api/src/main/java/org/apache/shindig/social/sample/oauth/SampleContainerOAuthLookupService.java
 Sat Jan 24 00:07:26 2009
@@ -101,7 +101,9 @@
   }
 
   public SecurityToken getSecurityToken(String appUrl, String userId) {
-    return new OAuthSecurityToken(userId, appUrl, getAppId(appUrl), 
"samplecontainer");
+    String domain = "samplecontainer.com";
+    String container = "default";
+    return new OAuthSecurityToken(userId, appUrl, getAppId(appUrl), domain, 
container);
   }
 
   private String getAppId(String appUrl) {

Modified: incubator/shindig/trunk/javascript/samplecontainer/samplecontainer.js
URL: 
http://svn.apache.org/viewvc/incubator/shindig/trunk/javascript/samplecontainer/samplecontainer.js?rev=737264&r1=737263&r2=737264&view=diff
==============================================================================
--- incubator/shindig/trunk/javascript/samplecontainer/samplecontainer.js 
(original)
+++ incubator/shindig/trunk/javascript/samplecontainer/samplecontainer.js Sat 
Jan 24 00:07:26 2009
@@ -81,7 +81,7 @@
     for (var i = 0; i < gadgetUrl.length; i++) {
       appId += gadgetUrl.charCodeAt(i);
     }
-    var fields = [ownerId, viewerId, appId, "shindig", gadgetUrl, "0"];
+    var fields = [ownerId, viewerId, appId, "shindig", gadgetUrl, "0", 
"default"];
     for (var i = 0; i < fields.length; i++) {
       // escape each field individually, for metachars in URL
       fields[i] = escape(fields[i]);


Reply via email to