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