Author: hmt
Date: Wed Nov  7 20:18:57 2012
New Revision: 1406791

URL: http://svn.apache.org/viewvc?rev=1406791&view=rev
Log:
make oauth feature get widget folder from configuration file

Modified:
    incubator/wookie/trunk/src/org/apache/wookie/feature/oauth/oAuthClient.java

Modified: 
incubator/wookie/trunk/src/org/apache/wookie/feature/oauth/oAuthClient.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/feature/oauth/oAuthClient.java?rev=1406791&r1=1406790&r2=1406791&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/feature/oauth/oAuthClient.java 
(original)
+++ incubator/wookie/trunk/src/org/apache/wookie/feature/oauth/oAuthClient.java 
Wed Nov  7 20:18:57 2012
@@ -16,6 +16,7 @@
  */
 package org.apache.wookie.feature.oauth;
 
+import java.io.File;
 import java.io.UnsupportedEncodingException;
 import java.net.URLEncoder;
 import java.util.Collection;
@@ -23,21 +24,28 @@ import java.util.HashMap;
 import java.util.Map;
 import java.util.StringTokenizer;
 
+import org.apache.commons.configuration.CompositeConfiguration;
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.PropertiesConfiguration;
 import org.apache.wookie.beans.IOAuthToken;
 import org.apache.wookie.w3c.IParam;
 import org.apache.wookie.beans.IWidgetInstance;
 import org.apache.wookie.beans.util.IPersistenceManager;
 import org.apache.wookie.beans.util.PersistenceManagerFactory;
 import org.apache.wookie.feature.IFeature;
+import org.apache.wookie.helpers.WidgetRuntimeHelper;
 
 public class oAuthClient implements IFeature {
-
+       private static String widgetContextFolder = null;
+       
        public String getName() {
                return "http://oauth.net/2";;
        }
        
        public String[] scripts() {
-               return new String[] {"/wookie/dwr/interface/OAuthConnector.js", 
"/wookie/shared/js/oauth.js"};
+               return new String[] {
+                               WidgetRuntimeHelper.getWebContextPath() + 
"/dwr/interface/OAuthConnector.js", 
+                               WidgetRuntimeHelper.getWebContextPath() + 
"/shared/js/oauth.js"};
        }
 
        public String[] stylesheets() {
@@ -52,6 +60,25 @@ public class oAuthClient implements IFea
                return null;
        }
        
+       public oAuthClient() {
+               if (oAuthClient.widgetContextFolder != null) return;
+               try {
+               File localPropsFile = new File(System.getProperty("user.dir") + 
File.separator + "local.widgetserver.properties");
+               PropertiesConfiguration localConfiguration = new 
PropertiesConfiguration(localPropsFile);
+               CompositeConfiguration configuration = new 
CompositeConfiguration();
+               configuration.addConfiguration(localConfiguration);
+               configuration.addConfiguration(new 
PropertiesConfiguration("widgetserver.properties"));
+               String widgetFolder = 
configuration.getString("widget.widgetfolder");
+               if (widgetFolder != null) {
+                       widgetFolder = widgetFolder.replace(File.separatorChar, 
'/');
+                       if (!widgetFolder.endsWith("/")) widgetFolder += "/";
+               }
+               oAuthClient.widgetContextFolder = widgetFolder;
+               } catch (ConfigurationException ex) {
+
+               }               
+       }
+       
        public String queryToken(String idKey) {
                if(idKey == null) return "invalid";
                IPersistenceManager persistenceManager = 
PersistenceManagerFactory.getPersistenceManager();
@@ -137,8 +164,9 @@ public class oAuthClient implements IFea
                Map<String, String>oAuthParamMap = 
queryXMLParams(info.get("id_key"));
                if (oAuthParamMap == null) return null;
                String url = info.get("url");
-               int iPos = url.indexOf("/wservices/");
-               if (iPos < 0) return null;
+               if (widgetContextFolder == null) return oAuthParamMap;
+               int iPos = url.indexOf(widgetContextFolder, 
url.indexOf(WidgetRuntimeHelper.getWebContextPath()));
+               if (iPos < 0) return oAuthParamMap;
                url = url.substring(0, iPos);
                if (!oAuthParamMap.containsKey("profile")) 
                        oAuthParamMap.put("profile", "implicit");
@@ -181,6 +209,7 @@ public class oAuthClient implements IFea
                        }
                }
                return result;
-       }
+       }       
 }
 
+


Reply via email to