Author: lindner
Date: Thu Sep  8 07:55:08 2011
New Revision: 1166553

URL: http://svn.apache.org/viewvc?rev=1166553&view=rev
Log:
SHINDIG-1616 | Patch from Igor Belakovskiy | Expose oauth data in the metadata 
sent to the container

Modified:
    
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java
    
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java
    
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuthService.java

Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java?rev=1166553&r1=1166552&r2=1166553&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerApi.java
 Thu Sep  8 07:55:08 2011
@@ -21,6 +21,9 @@ package org.apache.shindig.gadgets.servl
 import com.google.common.collect.Multimap;
 
 import org.apache.shindig.common.uri.Uri;
+import org.apache.shindig.gadgets.spec.OAuthService.EndPoint;
+import org.apache.shindig.gadgets.spec.OAuthService.Location;
+import org.apache.shindig.gadgets.spec.OAuthService.Method;
 import org.apache.shindig.protocol.conversion.BeanFilter.Unfiltered;
 
 // Keep imports clean, so it is clear what is used by API
@@ -158,6 +161,7 @@ public class GadgetsHandlerApi {
     public List<String> getCategories();
     public Map<String, Feature> getFeatures();
     public Map<String, LinkSpec> getLinks();
+    public OAuthSpec getOAuthSpec();
     // TODO: Provide better interface for locale if needed
     // public Map<Locale, LocaleSpec> getLocales();
   }
@@ -173,6 +177,23 @@ public class GadgetsHandlerApi {
     public Uri getHref();
   }
 
+  public interface OAuthSpec {
+         public Map<String, OAuthService> getServices();
+  }
+
+  public interface OAuthService {
+         public EndPoint getRequestUrl();
+         public EndPoint getAccessUrl();
+      public Uri getAuthorizationUrl();
+      public String getName();
+  }
+
+  public interface EndPoint {
+           public Uri getUrl();
+           public Method getMethod();
+           public Location getLocation();
+  }
+
   public interface TokenRequest extends BaseRequest {
     public AuthContext getAuthContext();
     // TODO: Consider support container controlled token duration
@@ -220,6 +241,22 @@ public class GadgetsHandlerApi {
     FATAL_ERROR
   }
 
+  public enum Method {
+           GET,
+           POST
+  }
+
+  public enum Location {
+           HEADER("auth-header"),
+           URL("uri-query"),
+           BODY("post-body");
+
+          private String locationString;
+    private Location(String locationString) {
+      this.locationString = locationString;
+    }
+
+  }
   public interface ProxyRequest extends BaseRequest {
     // The BaseRequest.url store the resource to proxy
     public String getGadget();

Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java?rev=1166553&r1=1166552&r2=1166553&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/servlet/GadgetsHandlerService.java
 Thu Sep  8 07:55:08 2011
@@ -58,6 +58,8 @@ import org.apache.shindig.gadgets.spec.F
 import org.apache.shindig.gadgets.spec.GadgetSpec;
 import org.apache.shindig.gadgets.spec.LinkSpec;
 import org.apache.shindig.gadgets.spec.ModulePrefs;
+import org.apache.shindig.gadgets.spec.OAuthService;
+import org.apache.shindig.gadgets.spec.OAuthSpec;
 import org.apache.shindig.gadgets.spec.UserPref;
 import org.apache.shindig.gadgets.spec.View;
 import org.apache.shindig.gadgets.spec.UserPref.EnumValuePair;
@@ -98,10 +100,15 @@ public class GadgetsHandlerService {
           .put(ModulePrefs.class, GadgetsHandlerApi.ModulePrefs.class)
           .put(Feature.class, GadgetsHandlerApi.Feature.class)
           .put(LinkSpec.class, GadgetsHandlerApi.LinkSpec.class)
+          .put(OAuthSpec.class, GadgetsHandlerApi.OAuthSpec.class)
+          .put(OAuthService.class, GadgetsHandlerApi.OAuthService.class)
+          .put(OAuthService.EndPoint.class, GadgetsHandlerApi.EndPoint.class)
           // Enums
           .put(View.ContentType.class, GadgetsHandlerApi.ViewContentType.class)
           .put(UserPref.DataType.class, 
GadgetsHandlerApi.UserPrefDataType.class)
           .put(GadgetsHandlerApi.RenderingContext.class, 
RenderingContext.class)
+          .put(OAuthService.Method.class, GadgetsHandlerApi.Method.class)
+          .put(OAuthService.Location.class, GadgetsHandlerApi.Location.class)
           .build();
 
   // Provide mapping for internal enums to api enums
@@ -114,6 +121,10 @@ public class GadgetsHandlerService {
           // UserPref.DataType mapping
           .putAll(BeanDelegator.createDefaultEnumMap(UserPref.DataType.class,
               GadgetsHandlerApi.UserPrefDataType.class))
+          .putAll(BeanDelegator.createDefaultEnumMap(OAuthService.Method.class,
+              GadgetsHandlerApi.Method.class))
+          
.putAll(BeanDelegator.createDefaultEnumMap(OAuthService.Location.class,
+              GadgetsHandlerApi.Location.class))
           
.putAll(BeanDelegator.createDefaultEnumMap(GadgetsHandlerApi.RenderingContext.class,
               RenderingContext.class))
           .build();

Modified: 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuthService.java
URL: 
http://svn.apache.org/viewvc/shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuthService.java?rev=1166553&r1=1166552&r2=1166553&view=diff
==============================================================================
--- 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuthService.java
 (original)
+++ 
shindig/trunk/java/gadgets/src/main/java/org/apache/shindig/gadgets/spec/OAuthService.java
 Thu Sep  8 07:55:08 2011
@@ -191,7 +191,19 @@ public class OAuthService {
    */
   public static class EndPoint {
     public final Uri url;
-    public final Method method;
+    public Uri getUrl() {
+               return url;
+       }
+
+       public Method getMethod() {
+               return method;
+       }
+
+       public Location getLocation() {
+               return location;
+       }
+
+       public final Method method;
     public final Location location;
 
     public EndPoint(Uri url, Method method, Location location) {


Reply via email to