You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@wookie.apache.org by sc...@apache.org on 2014/02/09 22:52:03 UTC

svn commit: r1566436 - in /wookie/trunk/wookie-services/wookie-spi/src/main/java/org/apache/wookie: beans/IOAuthToken.java services/OAuthService.java services/impl/DefaultOAuthService.java

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