Author: psharples
Date: Thu Nov 10 12:42:35 2011
New Revision: 1200304

URL: http://svn.apache.org/viewvc?rev=1200304&view=rev
Log:
Removed absolute /wookie paths in code. See WOOKIE-289.

Added:
    
incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetRuntimeHelper.java   
(with props)
Removed:
    
incubator/wookie/trunk/src/org/apache/wookie/ajaxmodel/IWidgetRuntimeHelper.java
Modified:
    
incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/IW3CXMLConfiguration.java
    incubator/wookie/trunk/src/org/apache/wookie/beans/IWidget.java
    
incubator/wookie/trunk/src/org/apache/wookie/beans/util/PersistenceManagerFactory.java
    
incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetInstancesController.java
    incubator/wookie/trunk/src/org/apache/wookie/feature/Features.java
    incubator/wookie/trunk/src/org/apache/wookie/feature/wave/WaveAPIImpl.java
    incubator/wookie/trunk/src/org/apache/wookie/flatpack/FlatpackProcessor.java
    incubator/wookie/trunk/src/org/apache/wookie/server/ContextListener.java
    incubator/wookie/trunk/src/org/apache/wookie/util/gadgets/GadgetAdapter.java
    
incubator/wookie/trunk/src/org/apache/wookie/util/html/StartPageProcessor.java

Modified: 
incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/IW3CXMLConfiguration.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/IW3CXMLConfiguration.java?rev=1200304&r1=1200303&r2=1200304&view=diff
==============================================================================
--- 
incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/IW3CXMLConfiguration.java
 (original)
+++ 
incubator/wookie/trunk/parser/java/src/org/apache/wookie/w3c/IW3CXMLConfiguration.java
 Thu Nov 10 12:42:35 2011
@@ -75,7 +75,6 @@ public interface IW3CXMLConfiguration {
        // Other values used
        public static final String DEFAULT_WIDGET_VERSION = "1.0";
        public static final String UNKNOWN = "unknown";
-       public static final String DEFAULT_ICON_PATH = 
"/wookie/shared/images/cog.gif";
        public static final int DEFAULT_HEIGHT_SMALL = 32;
        public static final int DEFAULT_WIDTH_SMALL = 32;
        public static final int DEFAULT_HEIGHT_LARGE = 300;

Modified: incubator/wookie/trunk/src/org/apache/wookie/beans/IWidget.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/beans/IWidget.java?rev=1200304&r1=1200303&r2=1200304&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/beans/IWidget.java (original)
+++ incubator/wookie/trunk/src/org/apache/wookie/beans/IWidget.java Thu Nov 10 
12:42:35 2011
@@ -16,6 +16,7 @@ package org.apache.wookie.beans;
 
 import java.util.Collection;
 
+import org.apache.wookie.helpers.WidgetRuntimeHelper;
 import org.apache.wookie.util.WidgetFormattingUtils;
 import org.apache.wookie.w3c.IW3CXMLConfiguration;
 import org.apache.wookie.w3c.util.LocalizationUtils;
@@ -411,6 +412,7 @@ public interface IWidget extends ILocali
             return ((startFile != null) ? startFile.getUrl() : null);
         }
 
+        
         /**
          * Get widget icon location for locale.
          * 
@@ -422,7 +424,7 @@ public interface IWidget extends ILocali
         {
                IWidgetIcon[] icons = widget.getWidgetIcons().toArray(new 
IWidgetIcon[widget.getWidgetIcons().size()]);
             IWidgetIcon icon = 
(IWidgetIcon)LocalizationUtils.getLocalizedElement(icons, new String[]{locale}, 
widget.getDefaultLocale());
-            return ((icon != null) ? icon.getSrc() : 
IW3CXMLConfiguration.DEFAULT_ICON_PATH);
+            return ((icon != null) ? icon.getSrc() : 
WidgetRuntimeHelper.DEFAULT_ICON_PATH);
         }
     }
 }

Modified: 
incubator/wookie/trunk/src/org/apache/wookie/beans/util/PersistenceManagerFactory.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/beans/util/PersistenceManagerFactory.java?rev=1200304&r1=1200303&r2=1200304&view=diff
==============================================================================
--- 
incubator/wookie/trunk/src/org/apache/wookie/beans/util/PersistenceManagerFactory.java
 (original)
+++ 
incubator/wookie/trunk/src/org/apache/wookie/beans/util/PersistenceManagerFactory.java
 Thu Nov 10 12:42:35 2011
@@ -27,6 +27,7 @@ import org.apache.wookie.beans.IWidgetDe
 import org.apache.wookie.beans.IWidgetIcon;
 import org.apache.wookie.beans.IWidgetService;
 import org.apache.wookie.beans.IWidgetType;
+import org.apache.wookie.helpers.WidgetRuntimeHelper;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
@@ -105,25 +106,25 @@ public class PersistenceManagerFactory
                     widgetDescription.setContent("This widget is a placeholder 
for when no corresponding widget is found for a given type");
                     widget.getDescriptions().add(widgetDescription);
                     IStartFile widgetStartFile = 
persistenceManager.newInstance(IStartFile.class);
-                    
widgetStartFile.setUrl("/wookie/wservices/notsupported/index.htm");
+                    
widgetStartFile.setUrl(WidgetRuntimeHelper.getWebContextPath() + 
"/wservices/notsupported/index.htm");
                     widget.getStartFiles().add(widgetStartFile);
                     IStartFile widgetBUStartFile = 
persistenceManager.newInstance(IStartFile.class);
-                    
widgetBUStartFile.setUrl("/wookie/wservices/notsupported/locales/bu/index.htm");
+                    
widgetBUStartFile.setUrl(WidgetRuntimeHelper.getWebContextPath() + 
"/wservices/notsupported/locales/bu/index.htm");
                     widgetBUStartFile.setLang("bu");
                     widget.getStartFiles().add(widgetBUStartFile);
                     IStartFile widgetFRStartFile = 
persistenceManager.newInstance(IStartFile.class);
-                    
widgetFRStartFile.setUrl("/wookie/wservices/notsupported/locales/fr/index.htm");
+                    
widgetFRStartFile.setUrl(WidgetRuntimeHelper.getWebContextPath() + 
"/wservices/notsupported/locales/fr/index.htm");
                     widgetFRStartFile.setLang("fr");
                     widget.getStartFiles().add(widgetFRStartFile);
                     IStartFile widgetENStartFile = 
persistenceManager.newInstance(IStartFile.class);
-                    
widgetENStartFile.setUrl("/wookie/wservices/notsupported/locales/en/index.htm");
+                    
widgetENStartFile.setUrl(WidgetRuntimeHelper.getWebContextPath() + 
"/wservices/notsupported/locales/en/index.htm");
                     widgetENStartFile.setLang("en");
                     widget.getStartFiles().add(widgetENStartFile);
                     IWidgetType widgetType = 
persistenceManager.newInstance(IWidgetType.class);
                     widgetType.setWidgetContext("unsupported");
                     widget.getWidgetTypes().add(widgetType);
                     IWidgetIcon widgetIcon = 
persistenceManager.newInstance(IWidgetIcon.class);
-                    
widgetIcon.setSrc("/wookie/shared/images/defaultwidget.png");
+                    widgetIcon.setSrc(WidgetRuntimeHelper.getWebContextPath() 
+ "/shared/images/defaultwidget.png");
                     widgetIcon.setHeight(80);
                     widgetIcon.setWidth(80);
                     widgetIcon.setLang("en");

Modified: 
incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetInstancesController.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetInstancesController.java?rev=1200304&r1=1200303&r2=1200304&view=diff
==============================================================================
--- 
incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetInstancesController.java
 (original)
+++ 
incubator/wookie/trunk/src/org/apache/wookie/controller/WidgetInstancesController.java
 Thu Nov 10 12:42:35 2011
@@ -44,6 +44,7 @@ import org.apache.wookie.helpers.Notifie
 import org.apache.wookie.helpers.SharedDataHelper;
 import org.apache.wookie.helpers.WidgetInstanceFactory;
 import org.apache.wookie.helpers.WidgetInstanceHelper;
+import org.apache.wookie.helpers.WidgetRuntimeHelper;
 import org.apache.wookie.server.LocaleHandler;
 import org.apache.wookie.w3c.util.LocalizationUtils;
 
@@ -296,7 +297,7 @@ public class WidgetInstancesController e
            if 
(!properties.getString("widget.proxy.hostname").trim().equals("")) serverName = 
properties.getString("widget.proxy.hostname"); //$NON-NLS-1$ //$NON-NLS-2$ 
//$NON-NLS-3$
            if (!properties.getString("widget.proxy.port").trim().equals("")) 
serverPort = Integer.parseInt(properties.getString("widget.proxy.port")); 
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
            try {
-             urlWidgetProxyServer = new 
URL(scheme,serverName,serverPort,properties.getString("widget.proxy.path"));
+             urlWidgetProxyServer = new URL(scheme, serverName, serverPort, 
WidgetRuntimeHelper.getWebContextPath() + 
properties.getString("widget.proxy.path"));
            } catch (MalformedURLException e) {
              // ignore errors
            } 

Modified: incubator/wookie/trunk/src/org/apache/wookie/feature/Features.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/feature/Features.java?rev=1200304&r1=1200303&r2=1200304&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/feature/Features.java 
(original)
+++ incubator/wookie/trunk/src/org/apache/wookie/feature/Features.java Thu Nov 
10 12:42:35 2011
@@ -23,6 +23,7 @@ import java.util.List;
 
 import javax.servlet.ServletContext;
 import org.apache.log4j.Logger;
+import org.apache.wookie.helpers.WidgetRuntimeHelper;
 import org.apache.wookie.w3c.util.IRIValidator;
 import org.jdom.Document;
 import org.jdom.Element;
@@ -202,7 +203,12 @@ public class Features {
       // and DWR-generated scripts.
       //
       if (!src.startsWith("/")){
-        src =  basePath + "/" + src;
+        if(src.startsWith("dwr/")){
+          src = WidgetRuntimeHelper.getWebContextPath() + "/" + src;
+        }
+        else{
+          src =  basePath + "/" + src;
+        }
       }
       scripts[i] = src;
     }

Modified: 
incubator/wookie/trunk/src/org/apache/wookie/feature/wave/WaveAPIImpl.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/feature/wave/WaveAPIImpl.java?rev=1200304&r1=1200303&r2=1200304&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/feature/wave/WaveAPIImpl.java 
(original)
+++ incubator/wookie/trunk/src/org/apache/wookie/feature/wave/WaveAPIImpl.java 
Thu Nov 10 12:42:35 2011
@@ -29,6 +29,7 @@ import org.apache.wookie.beans.util.Pers
 import org.apache.wookie.feature.IFeature;
 import org.apache.wookie.helpers.Notifier;
 import org.apache.wookie.helpers.ParticipantHelper;
+import org.apache.wookie.helpers.WidgetRuntimeHelper;
 import org.apache.wookie.server.LocaleHandler;
 import org.directwebremoting.WebContextFactory;
 
@@ -59,7 +60,8 @@ public class WaveAPIImpl implements IFea
        }
 
        public String[] scripts() {
-               return new String[]{"/wookie/dwr/interface/WaveImpl.js", 
"/wookie/shared/js/wave.js"};
+               return new String[]{WidgetRuntimeHelper.getWebContextPath() + 
"/dwr/interface/WaveImpl.js", 
+                   WidgetRuntimeHelper.getWebContextPath() + 
"/shared/js/wave.js"};
        }
 
        public String[] stylesheets() {

Modified: 
incubator/wookie/trunk/src/org/apache/wookie/flatpack/FlatpackProcessor.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/flatpack/FlatpackProcessor.java?rev=1200304&r1=1200303&r2=1200304&view=diff
==============================================================================
--- 
incubator/wookie/trunk/src/org/apache/wookie/flatpack/FlatpackProcessor.java 
(original)
+++ 
incubator/wookie/trunk/src/org/apache/wookie/flatpack/FlatpackProcessor.java 
Thu Nov 10 12:42:35 2011
@@ -19,6 +19,7 @@ import java.io.FileWriter;
 
 import org.apache.wookie.feature.Features;
 import org.apache.wookie.feature.IFeature;
+import org.apache.wookie.helpers.WidgetRuntimeHelper;
 import org.apache.wookie.util.html.HtmlCleaner;
 import org.apache.wookie.util.html.IHtmlProcessor;
 import org.apache.wookie.w3c.IContentEntity;
@@ -122,7 +123,7 @@ public class FlatpackProcessor implement
       for (String script : feature.scripts()) {
         // remove the "base" path
         // FIXME this is fragile - consider replacing with a better solution
-        script = script.replace("/wookie/features/", "");
+        script = script.replace(WidgetRuntimeHelper.getWebContextPath() + 
"/features/", "");
         engine.injectScript(script);
       }
     }
@@ -139,7 +140,7 @@ public class FlatpackProcessor implement
       for (String style : feature.stylesheets()) {
         // remove the "base" path
         // FIXME this is fragile - consider replacing with a better solution
-        style = style.replace("/wookie/features/", "");
+        style = style.replace(WidgetRuntimeHelper.getWebContextPath() + 
"/features/", "");
         engine.injectStylesheet(style);
       }
     }

Added: 
incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetRuntimeHelper.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetRuntimeHelper.java?rev=1200304&view=auto
==============================================================================
--- 
incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetRuntimeHelper.java 
(added)
+++ 
incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetRuntimeHelper.java 
Thu Nov 10 12:42:35 2011
@@ -0,0 +1,41 @@
+/*
+ *  Licensed under the Apache License, Version 2.0 (the "License");
+ *  you may not use this file except in compliance with the License.
+ *  You may obtain a copy of the License at
+ *
+ *      http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing, software
+ *  distributed under the License is distributed on an "AS IS" BASIS,
+ *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ *  See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.apache.wookie.helpers;
+/**
+ * Server utililies
+ */
+public class WidgetRuntimeHelper {
+  
+  // should be overridden in contextlistener
+  private static String webContextPath = "/wookie";
+  public static String USE_PREFERENCE_INSTANCE_QUEUES = 
"widget.preferences.useinstancequeues";
+  public static String USE_SHAREDDATA_INSTANCE_QUEUES = 
"widget.shareddata.useinstancequeues";
+  public static String DWR_SET_PREFERENCE_CALL = getWebContextPath() + 
"/dwr/call/plaincall/WidgetImpl.setPreferenceForKey.dwr";
+  public static String DWR_SET_SHAREDDATA_CALL = getWebContextPath() + 
"/dwr/call/plaincall/WookieImpl.setSharedDataForKey.dwr"; 
+  public static String DWR_APPEND_SHAREDDATA_CALL = getWebContextPath() + 
"/dwr/call/plaincall/WookieImpl.appendSharedDataForKey.dwr"; 
+  // The default widget icon
+  public static String DEFAULT_ICON_PATH = getWebContextPath() + 
"/shared/images/cog.gif";  
+  // The default Gadget icon   
+  public static String DEFAULT_GADGET_ICON = getWebContextPath() + 
"/shared/images/defaultwidget.png"; 
+
+
+  public static String getWebContextPath() {
+    return webContextPath;
+  }
+
+  public static void setWebContextPath(String webContextPath) {    
+    WidgetRuntimeHelper.webContextPath = webContextPath;
+  }
+   
+}

Propchange: 
incubator/wookie/trunk/src/org/apache/wookie/helpers/WidgetRuntimeHelper.java
------------------------------------------------------------------------------
    svn:mime-type = text/plain

Modified: 
incubator/wookie/trunk/src/org/apache/wookie/server/ContextListener.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/server/ContextListener.java?rev=1200304&r1=1200303&r2=1200304&view=diff
==============================================================================
--- incubator/wookie/trunk/src/org/apache/wookie/server/ContextListener.java 
(original)
+++ incubator/wookie/trunk/src/org/apache/wookie/server/ContextListener.java 
Thu Nov 10 12:42:35 2011
@@ -29,11 +29,11 @@ import org.apache.commons.configuration.
 import org.apache.commons.configuration.PropertiesConfiguration;
 import org.apache.log4j.Logger;
 import org.apache.wookie.Messages;
-import org.apache.wookie.ajaxmodel.IWidgetRuntimeHelper;
 import org.apache.wookie.beans.util.IPersistenceManager;
 import org.apache.wookie.beans.util.PersistenceManagerFactory;
 import org.apache.wookie.feature.Features;
 import org.apache.wookie.helpers.FlashMessage;
+import org.apache.wookie.helpers.WidgetRuntimeHelper;
 import org.apache.wookie.helpers.WidgetFactory;
 import org.apache.wookie.util.WgtWatcher;
 import org.apache.wookie.util.WidgetFileUtils;
@@ -68,7 +68,7 @@ public class ContextListener implements 
     public void contextInitialized(ServletContextEvent event) {
                try {
                        ServletContext context = event.getServletContext();
-                       
+                       
WidgetRuntimeHelper.setWebContextPath(context.getContextPath());                
        
                        /* 
                         *  load the widgetserver.properties and 
local.widget.properties file
                         *  and put it into this context as an attribute 
'properties' available to all resources
@@ -82,8 +82,8 @@ public class ContextListener implements 
       context.setAttribute("properties", (Configuration) configuration);
                        
                        // load these up now so we don't have to do it on every 
request(i.e. filter) in the future
-                       usePreferenceInstanceQueues = 
configuration.getBoolean(IWidgetRuntimeHelper.USE_PREFERENCE_INSTANCE_QUEUES);  
  
-                       useSharedDataInstanceQueues = 
configuration.getBoolean(IWidgetRuntimeHelper.USE_SHAREDDATA_INSTANCE_QUEUES);  
                  
+                       usePreferenceInstanceQueues = 
configuration.getBoolean(WidgetRuntimeHelper.USE_PREFERENCE_INSTANCE_QUEUES);   
  
+                       useSharedDataInstanceQueues = 
configuration.getBoolean(WidgetRuntimeHelper.USE_SHAREDDATA_INSTANCE_QUEUES);   
                  
                        
                        /*
                         * Merge in system properties overrides

Modified: 
incubator/wookie/trunk/src/org/apache/wookie/util/gadgets/GadgetAdapter.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/util/gadgets/GadgetAdapter.java?rev=1200304&r1=1200303&r2=1200304&view=diff
==============================================================================
--- 
incubator/wookie/trunk/src/org/apache/wookie/util/gadgets/GadgetAdapter.java 
(original)
+++ 
incubator/wookie/trunk/src/org/apache/wookie/util/gadgets/GadgetAdapter.java 
Thu Nov 10 12:42:35 2011
@@ -17,6 +17,7 @@ import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.wookie.helpers.WidgetRuntimeHelper;
 import org.apache.wookie.w3c.IAccessEntity;
 import org.apache.wookie.w3c.IAuthorEntity;
 import org.apache.wookie.w3c.IContentEntity;
@@ -54,11 +55,6 @@ public class GadgetAdapter implements W3
        private ArrayList<IIconEntity> fIconsList;
        private ArrayList<IContentEntity> fContentList;
        
-       /**
-        * The default Gadget icon
-        */
-       private static final String DEFAULT_ICON = 
"/wookie/shared/images/defaultwidget.png";
-
        public GadgetAdapter(JSONObject gadget, String shindig) throws 
Exception {
                if (gadget.has("errors")) throw new Exception("Invalid gadget - 
Shindig error");
                if (!gadget.has("url")) throw new Exception("Invalid gadget - 
URL missing");
@@ -112,7 +108,7 @@ public class GadgetAdapter implements W3
                
                // Icons
                this.fIconsList = new ArrayList<IIconEntity>();
-               String icon = getValue(gadget,"thumbnail", DEFAULT_ICON);       
+               String icon = getValue(gadget,"thumbnail", 
WidgetRuntimeHelper.DEFAULT_GADGET_ICON);    
                IconEntity iconEntity = new IconEntity(icon,null,null);
                this.fIconsList.add(iconEntity);
        }

Modified: 
incubator/wookie/trunk/src/org/apache/wookie/util/html/StartPageProcessor.java
URL: 
http://svn.apache.org/viewvc/incubator/wookie/trunk/src/org/apache/wookie/util/html/StartPageProcessor.java?rev=1200304&r1=1200303&r2=1200304&view=diff
==============================================================================
--- 
incubator/wookie/trunk/src/org/apache/wookie/util/html/StartPageProcessor.java 
(original)
+++ 
incubator/wookie/trunk/src/org/apache/wookie/util/html/StartPageProcessor.java 
Thu Nov 10 12:42:35 2011
@@ -19,6 +19,7 @@ import java.io.FileWriter;
 
 import org.apache.wookie.feature.Features;
 import org.apache.wookie.feature.IFeature;
+import org.apache.wookie.helpers.WidgetRuntimeHelper;
 import org.apache.wookie.w3c.IContentEntity;
 import org.apache.wookie.w3c.IFeatureEntity;
 import org.apache.wookie.w3c.W3CWidget;
@@ -29,10 +30,10 @@ import org.apache.wookie.w3c.IStartPageP
  */
 public class StartPageProcessor implements IStartPageProcessor {
        
-       static final String DWR_UTIL_SRC_VALUE = "/wookie/dwr/util.js";
-       static final String DWR_ENGINE_SRC_VALUE = "/wookie/dwr/engine.js";
-       static final String WIDGET_IMPL_SRC_VALUE = 
"/wookie/dwr/interface/WidgetImpl.js";
-       static final String WOOKIE_WRAPPER_SRC_VALUE = 
"/wookie/shared/js/wookie-wrapper.js";
+       static final String DWR_UTIL_SRC_VALUE = 
WidgetRuntimeHelper.getWebContextPath() + "/dwr/util.js";
+       static final String DWR_ENGINE_SRC_VALUE = 
WidgetRuntimeHelper.getWebContextPath() + "/dwr/engine.js";
+       static final String WIDGET_IMPL_SRC_VALUE = 
WidgetRuntimeHelper.getWebContextPath() + "/dwr/interface/WidgetImpl.js";
+       static final String WOOKIE_WRAPPER_SRC_VALUE = 
WidgetRuntimeHelper.getWebContextPath() + "/shared/js/wookie-wrapper.js";
 
        /* (non-Javadoc)
         * @see 
org.apache.wookie.util.html.IStartPageProcessor#processStartFile(java.io.File, 
org.apache.wookie.w3c.IManifestModel)


Reply via email to