Author: scottbw
Date: Sun Feb  9 21:52:02 2014
New Revision: 1566436

URL: http://svn.apache.org/r1566436
Log:
Added OAuth token management SPI

Added:
    
wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/OAuthService.java
    
wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultOAuthService.java
Modified:
    
wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/beans/IOAuthToken.java

Modified: 
wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/beans/IOAuthToken.java
URL: 
http://svn.apache.org/viewvc/wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/beans/IOAuthToken.java?rev=1566436&r1=1566435&r2=1566436&view=diff
==============================================================================
--- 
wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/beans/IOAuthToken.java
 (original)
+++ 
wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/beans/IOAuthToken.java
 Sun Feb  9 21:52:02 2014
@@ -33,7 +33,4 @@ public interface IOAuthToken extends IBe
 
   public boolean isExpires();
 
-  public IWidgetInstance getWidgetInstance();
-
-  public void setWidgetInstance(IWidgetInstance widgetInstance);
 }

Added: 
wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/OAuthService.java
URL: 
http://svn.apache.org/viewvc/wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/OAuthService.java?rev=1566436&view=auto
==============================================================================
--- 
wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/OAuthService.java
 (added)
+++ 
wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/OAuthService.java
 Sun Feb  9 21:52:02 2014
@@ -0,0 +1,51 @@
+package org.apache.wookie.services;
+
+import java.util.ServiceLoader;
+
+import org.apache.wookie.beans.IOAuthToken;
+
+public interface OAuthService {
+       
+       public abstract IOAuthToken getOAuthToken(String token);
+       
+       public abstract void deleteOAuthToken(String token);
+       
+       /**
+        * Create a "blank" token
+        * @param apikey
+        * @param contextid
+        * @param widgetid
+        * @param viewerid
+        * @return
+        */
+       public abstract IOAuthToken createOAuthToken(String token);
+       
+       public abstract void updateOAuthToken(String token, IOAuthToken 
oauthtoken);
+       
+       public static class Factory {
+               
+               private static OAuthService provider;
+               
+           public static OAuthService getInstance() {
+               //
+               // Use the service loader to load an implementation if one is 
available
+               //
+               if (provider == null){
+                       ServiceLoader<OAuthService> ldr = 
ServiceLoader.load(OAuthService.class);
+                       for (OAuthService service : ldr) {
+                               // We are only expecting one
+                               provider = service;
+                       }
+               }
+               //
+               // If no service provider is found, use the default
+               //
+               if (provider == null){
+                       //provider = new DefaultOAuthService();
+               }
+               
+               return provider;
+           }
+       }
+
+}

Added: 
wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultOAuthService.java
URL: 
http://svn.apache.org/viewvc/wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultOAuthService.java?rev=1566436&view=auto
==============================================================================
--- 
wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultOAuthService.java
 (added)
+++ 
wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie/services/impl/DefaultOAuthService.java
 Sun Feb  9 21:52:02 2014
@@ -0,0 +1,91 @@
+package org.apache.wookie.services.impl;
+
+import java.util.HashMap;
+
+import org.apache.wookie.beans.IOAuthToken;
+import org.apache.wookie.services.OAuthService;
+
+public class DefaultOAuthService implements OAuthService {
+       
+       private HashMap<String, IOAuthToken> tokens;
+
+       @Override
+       public IOAuthToken getOAuthToken(String token) {
+               return tokens.get(token);
+       }
+
+       @Override
+       public void deleteOAuthToken(String token) {
+               tokens.remove(token);
+       }
+
+       @Override
+       public IOAuthToken createOAuthToken(String token) {
+               return new OAuthToken();
+       }
+
+       @Override
+       public void updateOAuthToken(String token, IOAuthToken oauthtoken) {
+               tokens.put(token, oauthtoken);
+       }
+       
+       private class OAuthToken implements IOAuthToken{
+               
+               private String authzUrl;
+               private String accessToken;
+               private String clientId;
+               private long expires;
+
+               @Override
+               public Object getId() {
+                       return null;
+               }
+
+               @Override
+               public String getAuthzUrl() {
+                       return authzUrl;
+               }
+
+               @Override
+               public void setAuthzUrl(String authzUrl) {
+                       this.authzUrl = authzUrl;
+               }
+
+               @Override
+               public String getAccessToken() {
+                       return accessToken;
+               }
+
+               @Override
+               public void setAccessToken(String accessToken) {
+                       this.accessToken = accessToken;
+               }
+
+               @Override
+               public String getClientId() {
+                       return clientId;
+               }
+
+               @Override
+               public void setClientId(String clientId) {
+                       this.clientId = clientId;
+               }
+
+               @Override
+               public long getExpires() {
+                       return expires;
+               }
+
+               @Override
+               public void setExpires(long expires) {
+                       this.expires = expires;
+               }
+
+               @Override
+               public boolean isExpires() {
+                   return System.currentTimeMillis() > expires;
+               }
+               
+       }
+
+}


Reply via email to