You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ja...@apache.org on 2007/03/08 20:46:12 UTC

svn commit: r516158 [1/2] - in /ofbiz/trunk: applications/content/src/org/ofbiz/content/blog/ applications/content/src/org/ofbiz/content/cms/ applications/content/src/org/ofbiz/content/content/ applications/content/src/org/ofbiz/content/search/ applica...

Author: jaz
Date: Thu Mar  8 11:46:09 2007
New Revision: 516158

URL: http://svn.apache.org/viewvc?view=rev&rev=516158
Log:
refactored renderContentAsText to invoke content services when called; now requires a dispatcher to render content; all methods using this have been updated

Modified:
    ofbiz/trunk/applications/content/src/org/ofbiz/content/blog/BlogRssServices.java
    ofbiz/trunk/applications/content/src/org/ofbiz/content/cms/CmsEvents.java
    ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentServices.java
    ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java
    ofbiz/trunk/applications/content/src/org/ofbiz/content/search/ContentDocument.java
    ofbiz/trunk/applications/content/src/org/ofbiz/content/search/SearchServices.java
    ofbiz/trunk/applications/content/src/org/ofbiz/content/search/SearchWorker.java
    ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/EditRenderSubContentCacheTransform.java
    ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/EditRenderSubContentTransform.java
    ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/LoopSubContentTransform.java
    ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderContentAsText.java
    ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderSubContentAsText.java
    ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderSubContentCacheTransform.java
    ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderSubContentTransform.java
    ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/TraverseSubContentTransform.java
    ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/WrapSubContentCacheTransform.java
    ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java
    ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java
    ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
    ofbiz/trunk/applications/party/src/org/ofbiz/party/content/PartyContentWrapper.java
    ofbiz/trunk/applications/product/src/org/ofbiz/product/category/CategoryContentWrapper.java
    ofbiz/trunk/applications/product/src/org/ofbiz/product/config/ProductConfigItemContentWrapper.java
    ofbiz/trunk/applications/product/src/org/ofbiz/product/config/ProductConfigWrapper.java
    ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductContentWrapper.java
    ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductSearch.java
    ofbiz/trunk/applications/product/src/org/ofbiz/product/product/ProductWorker.java
    ofbiz/trunk/applications/product/src/org/ofbiz/shipment/thirdparty/dhl/DhlServices.java
    ofbiz/trunk/applications/workeffort/src/org/ofbiz/workeffort/content/WorkEffortContentWrapper.java
    ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ContentWorkerInterface.java
    ofbiz/trunk/framework/widget/src/org/ofbiz/widget/html/HtmlScreenRenderer.java

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/blog/BlogRssServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/blog/BlogRssServices.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/blog/BlogRssServices.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/blog/BlogRssServices.java Thu Mar  8 11:46:09 2007
@@ -21,6 +21,7 @@
 
 import org.ofbiz.service.DispatchContext;
 import org.ofbiz.service.ServiceUtil;
+import org.ofbiz.service.LocalDispatcher;
 import org.ofbiz.base.util.GeneralException;
 import org.ofbiz.base.util.UtilMisc;
 import org.ofbiz.base.util.Debug;
@@ -58,6 +59,7 @@
         String mainLink = (String) context.get("mainLink");
         mainLink = mainLink + "?blogContentId=" + contentId;
 
+        LocalDispatcher dispatcher = dctx.getDispatcher();
         GenericDelegator delegator = dctx.getDelegator();
 
         // get the main blog content
@@ -79,14 +81,14 @@
 
         feed.setTitle(content.getString("contentName"));
         feed.setDescription(content.getString("description"));
-        feed.setEntries(generateEntryList(delegator, contentId, entryLink, locale, userLogin));
+        feed.setEntries(generateEntryList(dispatcher, delegator, contentId, entryLink, locale, userLogin));
 
         Map resp = ServiceUtil.returnSuccess();
         resp.put("wireFeed", feed.createWireFeed());
         return resp;
     }
 
-    public static List generateEntryList(GenericDelegator delegator, String contentId, String entryLink, Locale locale, GenericValue userLogin) {
+    public static List generateEntryList(LocalDispatcher dispatcher, GenericDelegator delegator, String contentId, String entryLink, Locale locale, GenericValue userLogin) {
         List entries = FastList.newInstance();
         List exprs = FastList.newInstance();
         exprs.add(new EntityExpr("contentIdStart", EntityOperator.EQUALS, contentId));
@@ -106,7 +108,7 @@
                 GenericValue v = (GenericValue) i.next();
                 String sub = null;
                 try {
-                    sub = ContentWorker.renderSubContentAsText(delegator, v.getString("contentId"), mapKey, new HashMap(), locale, mimeTypeId, true);
+                    sub = ContentWorker.renderSubContentAsText(dispatcher, delegator, v.getString("contentId"), mapKey, new HashMap(), locale, mimeTypeId, true);
                 } catch (GeneralException e) {
                     Debug.logError(e, module);
                 } catch (IOException e) {

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/cms/CmsEvents.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/cms/CmsEvents.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/cms/CmsEvents.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/cms/CmsEvents.java Thu Mar  8 11:46:09 2007
@@ -28,6 +28,7 @@
 import org.ofbiz.entity.util.EntityUtil;
 import org.ofbiz.widget.screen.ScreenRenderer;
 import org.ofbiz.widget.html.HtmlFormRenderer;
+import org.ofbiz.service.LocalDispatcher;
 
 import javax.servlet.RequestDispatcher;
 import javax.servlet.ServletContext;
@@ -54,6 +55,7 @@
 
     public static String cms(HttpServletRequest request, HttpServletResponse response) {
         GenericDelegator delegator = (GenericDelegator) request.getAttribute("delegator");
+        LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");
         ServletContext servletContext = request.getSession().getServletContext();
         HttpSession session = request.getSession();
 
@@ -187,12 +189,9 @@
 
                     // render
                     if (UtilValidate.isEmpty(mapKey)) {
-                        ContentWorker.renderContentAsText(delegator, contentId, writer, templateMap, locale, "text/html", true);
-                        //ContentWorker.renderContentAsTextCache(delegator, contentId, writer, templateMap, null, locale, "text/html");
+                        ContentWorker.renderContentAsText(dispatcher, delegator, contentId, writer, templateMap, locale, "text/html", true);
                     } else {
-                        ContentWorker.renderSubContentAsText(delegator, contentId, writer, mapKey, templateMap, locale, "text/html", true);
-                        //ContentWorker.renderSubContentAsTextCache(delegator, contentId, writer, mapKey, null, templateMap, locale, "text/html", userLogin, fromDate, Boolean.FALSE);
-
+                        ContentWorker.renderSubContentAsText(dispatcher, delegator, contentId, writer, mapKey, templateMap, locale, "text/html", true);                        
                     }
 
                 } catch (IOException e) {

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentServices.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentServices.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentServices.java Thu Mar  8 11:46:09 2007
@@ -847,7 +847,7 @@
     public static Map renderSubContentAsText(DispatchContext dctx, Map context) {
         Map results = new HashMap();
         GenericDelegator delegator = dctx.getDelegator();
-        //LocalDispatcher dispatcher = dctx.getDispatcher();
+        LocalDispatcher dispatcher = dctx.getDispatcher();
 
         Map templateContext = (Map) context.get("templateContext");
         String contentId = (String) context.get("contentId");
@@ -886,7 +886,7 @@
         }
 
         try {
-            ContentWorker.renderSubContentAsText(delegator, contentId, outWriter, mapKey, templateContext, locale, mimeTypeId, true);
+            ContentWorker.renderSubContentAsText(dispatcher, delegator, contentId, outWriter, mapKey, templateContext, locale, mimeTypeId, true);
             out.write(outWriter.toString());
             results.put("textData", outWriter.toString());
         } catch (GeneralException e) {
@@ -907,6 +907,7 @@
      */
     public static Map renderContentAsText(DispatchContext dctx, Map context) {
         Map results = new HashMap();
+        LocalDispatcher dispatcher = dctx.getDispatcher();
         GenericDelegator delegator = dctx.getDelegator();
         Writer out = (Writer) context.get("outWriter");
 
@@ -936,7 +937,7 @@
         }
 
         try {
-            ContentWorker.renderContentAsText(delegator, contentId, outWriter, templateContext, locale, mimeTypeId, true);
+            ContentWorker.renderContentAsText(dispatcher, delegator, contentId, outWriter, templateContext, locale, mimeTypeId, true);
             out.write(outWriter.toString());
             results.put("textData", outWriter.toString());
         } catch (GeneralException e) {

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/content/ContentWorker.java Thu Mar  8 11:46:09 2007
@@ -53,9 +53,7 @@
 import org.ofbiz.entity.util.EntityUtil;
 import org.ofbiz.minilang.MiniLangException;
 import org.ofbiz.minilang.SimpleMapProcessor;
-import org.ofbiz.service.GenericServiceException;
-import org.ofbiz.service.LocalDispatcher;
-import org.ofbiz.service.ServiceUtil;
+import org.ofbiz.service.*;
 import org.xml.sax.InputSource;
 import org.xml.sax.SAXException;
 
@@ -85,39 +83,34 @@
     }
 
     // new rendering methods
-    public void renderContentAsTextExt(GenericDelegator delegator, String contentId, Writer out, Map templateContext, Locale locale, String mimeTypeId, boolean cache) throws GeneralException, IOException {
-        renderContentAsText(delegator, contentId, out, templateContext, locale, mimeTypeId, cache);
+    public void renderContentAsTextExt(LocalDispatcher dispatcher, GenericDelegator delegator, String contentId, Writer out, Map templateContext, Locale locale, String mimeTypeId, boolean cache) throws GeneralException, IOException {
+        renderContentAsText(dispatcher, delegator, contentId, out, templateContext, locale, mimeTypeId, cache);
     }
 
-    public void renderSubContentAsTextExt(GenericDelegator delegator, String contentId, Writer out, String mapKey, Map templateContext, Locale locale, String mimeTypeId, boolean cache) throws GeneralException, IOException {
-        renderSubContentAsText(delegator, contentId, out, mapKey, templateContext, locale, mimeTypeId, cache);
+    public void renderSubContentAsTextExt(LocalDispatcher dispatcher, GenericDelegator delegator, String contentId, Writer out, String mapKey, Map templateContext, Locale locale, String mimeTypeId, boolean cache) throws GeneralException, IOException {
+        renderSubContentAsText(dispatcher, delegator, contentId, out, mapKey, templateContext, locale, mimeTypeId, cache);
     }
 
-    public String renderSubContentAsTextExt(GenericDelegator delegator, String contentId, String mapKey, Map templateContext, Locale locale, String mimeTypeId, boolean cache) throws GeneralException, IOException {
-        return renderSubContentAsText(delegator, contentId, mapKey, templateContext, locale, mimeTypeId, cache);
+    public String renderSubContentAsTextExt(LocalDispatcher dispatcher, GenericDelegator delegator, String contentId, String mapKey, Map templateContext, Locale locale, String mimeTypeId, boolean cache) throws GeneralException, IOException {
+        return renderSubContentAsText(dispatcher, delegator, contentId, mapKey, templateContext, locale, mimeTypeId, cache);
     }
 
-    public String renderContentAsTextExt(GenericDelegator delegator, String contentId, Map templateContext, Locale locale, String mimeTypeId, boolean cache) throws GeneralException, IOException {
-        return renderContentAsText(delegator, contentId, templateContext, locale, mimeTypeId, cache);
+    public String renderContentAsTextExt(LocalDispatcher dispatcher, GenericDelegator delegator, String contentId, Map templateContext, Locale locale, String mimeTypeId, boolean cache) throws GeneralException, IOException {
+        return renderContentAsText(dispatcher, delegator, contentId, templateContext, locale, mimeTypeId, cache);
     }
 
     // -------------------------------------
     // Content rendering methods
     // -------------------------------------
 
-    public static String renderContentAsText(GenericDelegator delegator, String contentId, Map templateContext,
+    public static String renderContentAsText(LocalDispatcher dispatcher, GenericDelegator delegator, String contentId, Map templateContext,
             Locale locale, String mimeTypeId, boolean cache) throws GeneralException, IOException {
-        return renderContentAsText(delegator, contentId, templateContext, locale, mimeTypeId, true, cache);
-    }
-
-    public static String renderContentAsText(GenericDelegator delegator, String contentId, Map templateContext,
-            Locale locale, String mimeTypeId, boolean useTemplate, boolean cache) throws GeneralException, IOException {
         Writer writer = new StringWriter();
-        renderContentAsText(delegator, contentId, writer, templateContext, locale, mimeTypeId, cache);
+        renderContentAsText(dispatcher, delegator, contentId, writer, templateContext, locale, mimeTypeId, cache);
         return writer.toString();
     }
 
-    public static void renderContentAsText(GenericDelegator delegator, String contentId, Writer out,
+    public static void renderContentAsText(LocalDispatcher dispatcher, GenericDelegator delegator, String contentId, Writer out,
             Map templateContext, Locale locale, String mimeTypeId, boolean cache) throws GeneralException, IOException {
         GenericValue content;
         if (cache) {
@@ -159,6 +152,28 @@
             }
         }
 
+        // if the content has a service attached run the service
+        String serviceName = content.getString("serviceName");
+        if (dispatcher != null && UtilValidate.isNotEmpty(serviceName)) {
+            DispatchContext dctx = dispatcher.getDispatchContext();
+            ModelService service = dctx.getModelService(serviceName);
+            if (service != null) {
+                Map serviceCtx = service.makeValid(templateContext, ModelService.IN_PARAM);
+                Map serviceRes;
+                try {
+                    serviceRes = dispatcher.runSync(serviceName, serviceCtx);
+                } catch (GenericServiceException e) {
+                    Debug.logError(e, module);
+                    throw e;
+                }
+                if (ServiceUtil.isError(serviceRes)) {
+                    throw new GeneralException(ServiceUtil.getErrorMessage(serviceRes));
+                } else {
+                    templateContext.putAll(serviceRes);
+                }
+            }
+        }
+
         // get the data resource info
         String templateDataResourceId = content.getString("templateDataResourceId");
         String dataResourceId = content.getString("dataResourceId");
@@ -182,7 +197,7 @@
                 GenericValue contentAssoc = (GenericValue) i.next();
                 String contentIdTo = contentAssoc.getString("contentIdTo");
                 String key = contentAssoc.getString("mapKey");
-                String textData = ContentWorker.renderContentAsText(delegator, contentIdTo, FastMap.newInstance(), locale, mimeTypeId, cache);
+                String textData = ContentWorker.renderContentAsText(dispatcher, delegator, contentIdTo, FastMap.newInstance(), locale, mimeTypeId, cache);
                 if (UtilValidate.isNotEmpty(textData)) {
                     templateContext.put(key, textData);
                 }
@@ -236,14 +251,14 @@
         }
     }
 
-    public static String renderSubContentAsText(GenericDelegator delegator, String contentId, String mapKey, Map templateContext,
+    public static String renderSubContentAsText(LocalDispatcher dispatcher, GenericDelegator delegator, String contentId, String mapKey, Map templateContext,
             Locale locale, String mimeTypeId, boolean cache) throws GeneralException, IOException {
         Writer writer = new StringWriter();
-        renderSubContentAsText(delegator, contentId, writer, mapKey, templateContext, locale, mimeTypeId, cache);
+        renderSubContentAsText(dispatcher, delegator, contentId, writer, mapKey, templateContext, locale, mimeTypeId, cache);
         return writer.toString();
     }
 
-    public static void renderSubContentAsText(GenericDelegator delegator, String contentId, Writer out, String mapKey,
+    public static void renderSubContentAsText(LocalDispatcher dispatcher, GenericDelegator delegator, String contentId, Writer out, String mapKey,
             Map templateContext, Locale locale, String mimeTypeId, boolean cache) throws GeneralException, IOException {
 
         // find the sub-content with matching mapKey
@@ -267,53 +282,7 @@
 
         String subContentId = subContent.getString("contentIdTo");
         templateContext.put("mapKey", mapKey);
-        renderContentAsText(delegator, subContentId, out, templateContext, locale, mimeTypeId, cache);
-    }
-
-    /** @deprecated */
-    public static Map renderContentAsText(GenericDelegator delegator, String contentId, Writer out, Map templateContext,
-            GenericValue view, Locale locale, String mimeTypeId) throws GeneralException, IOException {
-        renderContentAsText(delegator, contentId, out, templateContext, locale, mimeTypeId, false);
-        return FastMap.newInstance();
-    }
-
-    /** @deprecated */
-    public static String renderContentAsTextCache(GenericDelegator delegator, String contentId,  Map templateContext, GenericValue view, Locale locale, String mimeTypeId) throws GeneralException, IOException {
-        return renderContentAsText(delegator, contentId, templateContext, locale, mimeTypeId, true);
-    }
-
-    /** @deprecated */
-    public static Map renderContentAsTextCache(GenericDelegator delegator, String contentId, Writer out, Map templateContext,
-            GenericValue view, Locale locale, String mimeTypeId) throws GeneralException, IOException {
-        renderContentAsText(delegator, contentId, out, templateContext, locale, mimeTypeId, true);
-        return FastMap.newInstance();
-    }
-
-    /** @deprecated */
-    public static Map renderSubContentAsText(GenericDelegator delegator, String contentId, Writer out, String mapKey, String subContentId, GenericValue subContentDataResourceView,
-            Map templateContext, Locale locale, String mimeTypeId, GenericValue userLogin, Timestamp fromDate) throws GeneralException, IOException {
-        renderSubContentAsText(delegator, contentId, out, mapKey, templateContext, locale, mimeTypeId, false);
-        return FastMap.newInstance();
-    }
-
-    /** @deprecated */
-    public static String renderSubContentAsTextCache(GenericDelegator delegator, String contentId,  String mapKey,  GenericValue subContentDataResourceView,
-            Map templateRoot, Locale locale, String mimeTypeId, GenericValue userLogin, Timestamp fromDate) throws GeneralException, IOException {
-        return renderSubContentAsText(delegator, contentId, mapKey, templateRoot, locale, mimeTypeId, true);
-    }
-
-    /** @deprecated */
-    public static Map renderSubContentAsTextCache(GenericDelegator delegator, String contentId, Writer out, String mapKey,  GenericValue subContentDataResourceView,
-            Map templateRoot, Locale locale, String mimeTypeId, GenericValue userLogin, Timestamp fromDate) throws GeneralException, IOException {
-        renderSubContentAsText(delegator, contentId, out, mapKey, templateRoot, locale, mimeTypeId, true);
-        return FastMap.newInstance();
-    }
-
-    /** @deprecated */
-    public static Map renderSubContentAsTextCache(GenericDelegator delegator, String contentId, Writer out, String mapKey, GenericValue subContentDataResourceView,
-            Map templateRoot, Locale locale, String mimeTypeId, GenericValue userLogin, Timestamp fromDate, Boolean nullThruDatesOnly) throws GeneralException, IOException {
-        renderSubContentAsText(delegator, contentId, out, mapKey, templateRoot, locale, mimeTypeId, true);
-        return FastMap.newInstance();
+        renderContentAsText(dispatcher, delegator, subContentId, out, templateContext, locale, mimeTypeId, cache);
     }
 
     public static GenericValue findAlternateLocaleContent(GenericDelegator delegator, GenericValue view, Locale locale) {

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/search/ContentDocument.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/search/ContentDocument.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/search/ContentDocument.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/search/ContentDocument.java Thu Mar  8 11:46:09 2007
@@ -36,6 +36,7 @@
 import org.ofbiz.entity.GenericDelegator;
 import org.ofbiz.entity.GenericEntityException;
 import org.ofbiz.entity.GenericValue;
+import org.ofbiz.service.LocalDispatcher;
 
 import org.apache.lucene.document.Document;
 import org.apache.lucene.document.Field;
@@ -49,7 +50,7 @@
     static char dirSep = System.getProperty("file.separator").charAt(0);
     public static final String module = ContentDocument.class.getName();
 	
-	public static Document Document(String id, GenericDelegator delegator) throws InterruptedException  {
+	public static Document Document(String id, GenericDelegator delegator, LocalDispatcher dispatcher) throws InterruptedException  {
 	  	
 		Document doc = null;
 		GenericValue content;
@@ -60,13 +61,13 @@
 	  		return doc;
 	  	}
 	  	
-                Map map = new HashMap();
-	  	doc = Document(content, map);
-                return doc;
+        Map map = new HashMap();
+	  	doc = Document(content, map, dispatcher);
+        return doc;
 	}
 	
-	public static Document Document(GenericValue content, Map context)
-			throws InterruptedException {
+	public static Document Document(GenericValue content, Map context, LocalDispatcher dispatcher) throws InterruptedException {
+
 		Document doc;
 		// make a new, empty document
 		doc = new Document();
@@ -102,7 +103,7 @@
 			// module);
 			doc.add(field);
 		}
-		boolean retVal = indexDataResource(content, doc, context);
+		boolean retVal = indexDataResource(content, doc, context, dispatcher);
 		//Debug.logInfo("in DataResourceDocument, context.badIndexList:" +
 		// context.get("badIndexList"), module);
 		if (!retVal)
@@ -110,9 +111,8 @@
 		return doc;
 	}
 
-	public static boolean indexDataResource(GenericValue content, Document doc,
-			Map context) {
-		GenericDelegator delegator = content.getDelegator();
+	public static boolean indexDataResource(GenericValue content, Document doc, Map context, LocalDispatcher dispatcher) {
+        GenericDelegator delegator = content.getDelegator();
 		String contentId = content.getString("contentId");
 		//Debug.logInfo("in ContentDocument, contentId:" + contentId,
 		// module);
@@ -145,7 +145,7 @@
 		}
 		String text;
 		try {
-			text = ContentWorker.renderContentAsText(delegator, contentId, context, locale, mimeTypeId, true);
+			text = ContentWorker.renderContentAsText(dispatcher, delegator, contentId, context, locale, mimeTypeId, true);
 		} catch (GeneralException e) {
 			Debug.logError(e, module);
 			List badIndexList = (List) context.get("badIndexList");

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/search/SearchServices.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/search/SearchServices.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/search/SearchServices.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/search/SearchServices.java Thu Mar  8 11:46:09 2007
@@ -27,7 +27,7 @@
 import org.ofbiz.entity.GenericDelegator;
 import org.ofbiz.service.DispatchContext;
 import org.ofbiz.service.ServiceUtil;
-
+import org.ofbiz.service.LocalDispatcher;
 
 
 /**
@@ -36,26 +36,28 @@
 public class SearchServices {
 
     public static final String module = SearchServices.class.getName();
-	
+
     public static Map indexTree(DispatchContext dctx, Map context) {
+        LocalDispatcher dispatcher = dctx.getDispatcher();
+        GenericDelegator delegator = dctx.getDelegator();
 
-        String siteId = (String)context.get("contentId");
-        String path = (String)context.get("path");
+        String siteId = (String) context.get("contentId");
+        String path = (String) context.get("path");
         Map envContext = new HashMap();
-        GenericDelegator delegator = dctx.getDelegator();
-  	if (Debug.infoOn()) Debug.logInfo("in indexTree, siteId:" + siteId, module);
-            List badIndexList = new ArrayList();
-            envContext.put("badIndexList", badIndexList);
-            envContext.put("goodIndexCount", new Integer(0));
 
-        Map results = null;
+        if (Debug.infoOn()) Debug.logInfo("in indexTree, siteId:" + siteId, module);
+        List badIndexList = new ArrayList();
+        envContext.put("badIndexList", badIndexList);
+        envContext.put("goodIndexCount", new Integer(0));
+
+        Map results;
         try {
-            results = SearchWorker.indexTree(delegator, siteId, envContext, path);
+            results = SearchWorker.indexTree(dispatcher, delegator, siteId, envContext, path);
         } catch (Exception e) {
             Debug.logError(e, module);
             return ServiceUtil.returnError("Error indexing tree: " + e.toString());
         }
-	  	if (Debug.infoOn()) Debug.logInfo("in indexTree, results:" + results, module);
+        if (Debug.infoOn()) Debug.logInfo("in indexTree, results:" + results, module);
         return results;
     }
 }

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/search/SearchWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/search/SearchWorker.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/search/SearchWorker.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/search/SearchWorker.java Thu Mar  8 11:46:09 2007
@@ -34,6 +34,7 @@
 import org.ofbiz.entity.GenericDelegator;
 import org.ofbiz.entity.GenericEntityException;
 import org.ofbiz.entity.GenericValue;
+import org.ofbiz.service.LocalDispatcher;
 
 import org.apache.lucene.analysis.standard.StandardAnalyzer;
 import org.apache.lucene.document.Document;
@@ -50,7 +51,7 @@
 
 	public static final String module = SearchWorker.class.getName();
 
-        public static Map indexTree(GenericDelegator delegator, String siteId, Map context, String path) throws Exception {
+        public static Map indexTree(LocalDispatcher dispatcher, GenericDelegator delegator, String siteId, Map context, String path) throws Exception {
 
             Map results = new HashMap();
             GenericValue content = delegator.makeValue("Content", UtilMisc.toMap("contentId", siteId));
@@ -72,10 +73,10 @@
                             contentIdList.add(subContent.getString("contentId")); 
                         }
         	  	//if (Debug.infoOn()) Debug.logInfo("in indexTree, contentIdList:" + contentIdList, module);
-                        indexContentList(contentIdList, delegator, context);
+                        indexContentList(contentIdList, delegator, dispatcher, context);
         
                         String subSiteId = siteContent.getString("contentId");
-                        indexTree(delegator, subSiteId, context, path);
+                        indexTree(dispatcher, delegator, subSiteId, context, path);
                     } else {
                         List badIndexList = (List)context.get("badIndexList");
                         badIndexList.add(siteContentId + " had no sub-entities.");
@@ -91,12 +92,12 @@
             return results;
         }
 	
-	public static void indexContentList(List idList, GenericDelegator delegator, Map context) throws Exception {
+	public static void indexContentList(List idList, GenericDelegator delegator, LocalDispatcher dispatcher, Map context) throws Exception {
 		String path = null;
-		indexContentList(delegator, context, idList, path);
+		indexContentList(dispatcher, delegator, context, idList, path);
 	}
 	
-	public static void indexContentList(GenericDelegator delegator, Map context, List idList, String path) throws Exception {
+	public static void indexContentList(LocalDispatcher dispatcher, GenericDelegator delegator, Map context, List idList, String path) throws Exception {
 		String indexAllPath = getIndexPath(path);
 		if (Debug.infoOn())
 			Debug.logInfo("in indexContent, indexAllPath:" + indexAllPath, module);
@@ -146,7 +147,7 @@
 		iter = contentList.iterator();
 		while (iter.hasNext()) {
 			content = (GenericValue) iter.next();
-			indexContent(delegator, context, content, writer);
+			indexContent(dispatcher, delegator, context, content, writer);
 		}
 		writer.optimize();
 		writer.close();
@@ -183,7 +184,7 @@
 
 	}
 
-	public static void indexContent(GenericDelegator delegator, Map context, GenericValue content, String path) throws Exception {
+	public static void indexContent(LocalDispatcher dispatcher, GenericDelegator delegator, Map context, GenericValue content, String path) throws Exception {
 		String indexAllPath = getIndexPath(path);
 		IndexWriter writer = null;
 		try {
@@ -194,13 +195,13 @@
 	                if (Debug.infoOn()) Debug.logInfo("Created new directory:" + indexAllPath, module);
 		}
 		
-		indexContent(delegator, context, content, writer);
-       	        writer.optimize();
-    	        writer.close();
+		indexContent(dispatcher, delegator, context, content, writer);
+       	writer.optimize();
+    	writer.close();
 	}
 	
-	public static void indexContent(GenericDelegator delegator, Map context, GenericValue content, IndexWriter writer) throws Exception {
-	    Document doc = ContentDocument.Document(content, context);
+	public static void indexContent(LocalDispatcher dispatcher, GenericDelegator delegator, Map context, GenericValue content, IndexWriter writer) throws Exception {
+	    Document doc = ContentDocument.Document(content, context, dispatcher);
 	    //if (Debug.infoOn()) Debug.logInfo("in indexContent, content:" + content, module);
             if (doc != null) {
                 writer.addDocument(doc);

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/EditRenderSubContentCacheTransform.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/EditRenderSubContentCacheTransform.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/EditRenderSubContentCacheTransform.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/EditRenderSubContentCacheTransform.java Thu Mar  8 11:46:09 2007
@@ -36,6 +36,7 @@
 import org.ofbiz.content.content.ContentWorker;
 import org.ofbiz.entity.GenericDelegator;
 import org.ofbiz.entity.GenericValue;
+import org.ofbiz.service.LocalDispatcher;
 
 import freemarker.core.Environment;
 import freemarker.template.TemplateTransformModel;
@@ -70,6 +71,7 @@
         final StringBuffer buf = new StringBuffer();
         final Environment env = Environment.getCurrentEnvironment();
         final Map templateCtx = (Map) FreeMarkerWorker.getWrappedObject("context", env);
+        final LocalDispatcher dispatcher = (LocalDispatcher) FreeMarkerWorker.getWrappedObject("dispatcher", env);
         final GenericDelegator delegator = (GenericDelegator) FreeMarkerWorker.getWrappedObject("delegator", env);
         final HttpServletRequest request = (HttpServletRequest) FreeMarkerWorker.getWrappedObject("request", env);
         FreeMarkerWorker.getSiteParameters(request, templateCtx);
@@ -160,7 +162,7 @@
                         Locale locale = null;
                         try {
                            //if (Debug.infoOn()) Debug.logInfo("in Edit(0), before calling renderContentAsTextCache, wrapTemplateId: ." + wrapTemplateId , module);
-                            ContentWorker.renderContentAsText(delegator, wrapTemplateId, out, templateRoot, locale, mimeTypeId, true);
+                            ContentWorker.renderContentAsText(dispatcher, delegator, wrapTemplateId, out, templateRoot, locale, mimeTypeId, true);
                            //if (Debug.infoOn()) Debug.logInfo("in Edit(0), after calling renderContentAsTextCache, wrapTemplateId: ." + wrapTemplateId , module);
                         } catch (IOException e) {
                             Debug.logError(e, "Error rendering content" + e.getMessage(), module);

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/EditRenderSubContentTransform.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/EditRenderSubContentTransform.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/EditRenderSubContentTransform.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/EditRenderSubContentTransform.java Thu Mar  8 11:46:09 2007
@@ -35,6 +35,7 @@
 import org.ofbiz.entity.GenericDelegator;
 import org.ofbiz.entity.GenericEntityException;
 import org.ofbiz.entity.GenericValue;
+import org.ofbiz.service.LocalDispatcher;
 
 import freemarker.core.Environment;
 import freemarker.template.TemplateTransformModel;
@@ -81,7 +82,7 @@
         final String rootDir = getArg(args, "rootDir", ctx);
         final String webSiteId = getArg(args, "webSiteId", ctx);
         final String https = getArg(args, "https", ctx);
-        //final LocalDispatcher dispatcher = (LocalDispatcher) FreeMarkerWorker.getWrappedObject("dispatcher", env);
+        final LocalDispatcher dispatcher = (LocalDispatcher) FreeMarkerWorker.getWrappedObject("dispatcher", env);
         final GenericDelegator delegator = (GenericDelegator) FreeMarkerWorker.getWrappedObject("delegator", env);
         final GenericValue userLogin = (GenericValue) FreeMarkerWorker.getWrappedObject("userLogin", env);
         GenericValue subContentDataResourceViewTemp = (GenericValue) FreeMarkerWorker.getWrappedObject("subContentDataResourceView", env);
@@ -190,7 +191,7 @@
                         templateRoot.put("context", templateContext);
                         
                         try {
-                            ContentWorker.renderContentAsText(delegator, wrapTemplateId, out, templateRoot, locale, mimeTypeId, false);
+                            ContentWorker.renderContentAsText(dispatcher, delegator, wrapTemplateId, out, templateRoot, locale, mimeTypeId, false);
                         } catch (IOException e) {
                             Debug.logError(e, "Error rendering content" + e.getMessage(), module);
                             throw new IOException("Error rendering content" + e.toString());

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/LoopSubContentTransform.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/LoopSubContentTransform.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/LoopSubContentTransform.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/LoopSubContentTransform.java Thu Mar  8 11:46:09 2007
@@ -37,6 +37,7 @@
 import org.ofbiz.entity.GenericEntityException;
 import org.ofbiz.entity.GenericValue;
 import org.ofbiz.webapp.ftl.LoopWriter;
+import org.ofbiz.service.LocalDispatcher;
 
 import freemarker.core.Environment;
 import freemarker.template.TemplateModelException;
@@ -139,6 +140,7 @@
         final Environment env = Environment.getCurrentEnvironment();
         final Map templateCtx = (Map) FreeMarkerWorker.getWrappedObject("context", env);
         //FreeMarkerWorker.convertContext(templateCtx);
+        final LocalDispatcher dispatcher = (LocalDispatcher) FreeMarkerWorker.getWrappedObject("dispatcher", env);
         final GenericDelegator delegator = (GenericDelegator) FreeMarkerWorker.getWrappedObject("delegator", env);
         //templateCtx.put("buf", buf);
         final Map savedValues = FreeMarkerWorker.saveValues(templateCtx, saveKeyNames);
@@ -276,7 +278,7 @@
                         locale = Locale.getDefault();
                     String mimeTypeId = (String) templateCtx.get("mimeTypeId");
                     try {
-                        ContentWorker.renderContentAsText(delegator, wrapTemplateId, out, templateRoot, locale, mimeTypeId, true);
+                        ContentWorker.renderContentAsText(dispatcher, delegator, wrapTemplateId, out, templateRoot, locale, mimeTypeId, true);
                     } catch (GeneralException e) {
                         Debug.logError(e, "Error rendering content", module);
                         throw new IOException("Error rendering content" + e.toString());

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderContentAsText.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderContentAsText.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderContentAsText.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderContentAsText.java Thu Mar  8 11:46:09 2007
@@ -39,6 +39,7 @@
 import org.ofbiz.content.content.ContentWorker;
 import org.ofbiz.entity.GenericDelegator;
 import org.ofbiz.widget.WidgetWorker;
+import org.ofbiz.service.LocalDispatcher;
 
 import freemarker.core.Environment;
 import freemarker.template.TemplateTransformModel;
@@ -57,6 +58,7 @@
         final Environment env = Environment.getCurrentEnvironment();
         //final Map templateCtx = (Map) FreeMarkerWorker.getWrappedObject("context", env);
         //final Map templateCtx = new HashMap();
+        final LocalDispatcher dispatcher = (LocalDispatcher) FreeMarkerWorker.getWrappedObject("dispatcher", env);
         final GenericDelegator delegator = (GenericDelegator) FreeMarkerWorker.getWrappedObject("delegator", env);
         final HttpServletRequest request = (HttpServletRequest) FreeMarkerWorker.getWrappedObject("request", env);
         final HttpServletResponse response = (HttpServletResponse) FreeMarkerWorker.getWrappedObject("response", env);
@@ -175,7 +177,7 @@
                 FreeMarkerWorker.saveContextValues(templateRoot, saveKeyNames, savedValues);
                 //if (thisView != null) {
                     try {
-                        String txt = ContentWorker.renderContentAsText(delegator, thisContentId, templateRoot, locale, mimeTypeId, true);
+                        String txt = ContentWorker.renderContentAsText(dispatcher, delegator, thisContentId, templateRoot, locale, mimeTypeId, true);
                         if ("true".equals(xmlEscape)) {
                             txt = UtilFormatOut.encodeXmlValue(txt);
                         }

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderSubContentAsText.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderSubContentAsText.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderSubContentAsText.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderSubContentAsText.java Thu Mar  8 11:46:09 2007
@@ -40,6 +40,7 @@
 import org.ofbiz.base.util.template.FreeMarkerWorker;
 import org.ofbiz.content.content.ContentWorker;
 import org.ofbiz.entity.GenericDelegator;
+import org.ofbiz.service.LocalDispatcher;
 
 import freemarker.core.Environment;
 import freemarker.template.TemplateTransformModel;
@@ -58,6 +59,7 @@
         final Environment env = Environment.getCurrentEnvironment();
         //final Map templateCtx = (Map) FreeMarkerWorker.getWrappedObject("context", env);
         //final Map templateCtx = new HashMap();
+        final LocalDispatcher dispatcher = (LocalDispatcher) FreeMarkerWorker.getWrappedObject("dispatcher", env);
         final GenericDelegator delegator = (GenericDelegator) FreeMarkerWorker.getWrappedObject("delegator", env);
         final HttpServletRequest request = (HttpServletRequest) FreeMarkerWorker.getWrappedObject("request", env);
         final HttpServletResponse response = (HttpServletResponse) FreeMarkerWorker.getWrappedObject("response", env);
@@ -160,7 +162,7 @@
 
                 FreeMarkerWorker.saveContextValues(templateRoot, saveKeyNames, savedValues);
                 try {
-                    String txt = ContentWorker.renderSubContentAsText(delegator, thisContentId, thisMapKey, templateRoot, locale, mimeTypeId, true);                    
+                    String txt = ContentWorker.renderSubContentAsText(dispatcher, delegator, thisContentId, thisMapKey, templateRoot, locale, mimeTypeId, true);                    
                     //String txt = ContentWorker.renderSubContentAsTextCache(delegator, thisContentId, thisMapKey, null, templateRoot, locale, mimeTypeId, null, fromDate);
                     if ("true".equals(xmlEscape)) {
                         txt = UtilFormatOut.encodeXmlValue(txt);

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderSubContentCacheTransform.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderSubContentCacheTransform.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderSubContentCacheTransform.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderSubContentCacheTransform.java Thu Mar  8 11:46:09 2007
@@ -40,6 +40,7 @@
 import org.ofbiz.entity.GenericValue;
 import org.ofbiz.entity.model.ModelEntity;
 import org.ofbiz.widget.WidgetWorker;
+import org.ofbiz.service.LocalDispatcher;
 
 import freemarker.core.Environment;
 import freemarker.template.TemplateTransformModel;
@@ -60,6 +61,7 @@
         final Environment env = Environment.getCurrentEnvironment();
         //final Map templateCtx = (Map) FreeMarkerWorker.getWrappedObject("context", env);
         //final Map templateCtx = new HashMap();
+        final LocalDispatcher dispatcher = (LocalDispatcher) FreeMarkerWorker.getWrappedObject("dispatcher", env);
         final GenericDelegator delegator = (GenericDelegator) FreeMarkerWorker.getWrappedObject("delegator", env);
         final HttpServletRequest request = (HttpServletRequest) FreeMarkerWorker.getWrappedObject("request", env);
         final HttpServletResponse response = (HttpServletResponse) FreeMarkerWorker.getWrappedObject("response", env);
@@ -174,7 +176,7 @@
                     String contentId = thisView.getString("contentId");
                     if (contentId != null) {
                         try {
-                            ContentWorker.renderContentAsText(delegator, contentId, out, templateRoot, locale, mimeTypeId, true);
+                            ContentWorker.renderContentAsText(dispatcher, delegator, contentId, out, templateRoot, locale, mimeTypeId, true);
                             //if (Debug.infoOn()) Debug.logInfo("in RenderSubContent, after renderContentAsTextCache:", module);
                         } catch (GeneralException e) {
                             Debug.logError(e, "Error rendering content", module);

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderSubContentTransform.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderSubContentTransform.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderSubContentTransform.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/RenderSubContentTransform.java Thu Mar  8 11:46:09 2007
@@ -37,6 +37,7 @@
 import org.ofbiz.content.content.ContentWorker;
 import org.ofbiz.entity.GenericDelegator;
 import org.ofbiz.entity.GenericValue;
+import org.ofbiz.service.LocalDispatcher;
 
 import freemarker.core.Environment;
 import freemarker.template.TemplateTransformModel;
@@ -79,6 +80,7 @@
         final String throwExceptionOnError = getArg(args, "throwExceptionOnError", ctx);
         final Locale locale = (Locale) FreeMarkerWorker.getWrappedObject("locale", env);
         final HttpServletRequest request = (HttpServletRequest) FreeMarkerWorker.getWrappedObject("request", env);
+        final LocalDispatcher dispatcher = (LocalDispatcher) FreeMarkerWorker.getWrappedObject("dispatcher", env);
         final GenericDelegator delegator = (GenericDelegator) FreeMarkerWorker.getWrappedObject("delegator", env);
         final GenericValue userLogin = (GenericValue) FreeMarkerWorker.getWrappedObject("userLogin", env);
         GenericValue subContentDataResourceViewTemp = (GenericValue) FreeMarkerWorker.getWrappedObject("subContentDataResourceView", env);
@@ -134,9 +136,9 @@
                 }
                 try {
                     if (subContentId != null) {
-                        ContentWorker.renderContentAsText(delegator, subContentId, out, templateRoot, locale, mimeTypeId, false);
+                        ContentWorker.renderContentAsText(dispatcher, delegator, subContentId, out, templateRoot, locale, mimeTypeId, false);
                     } else {
-                        ContentWorker.renderSubContentAsText(delegator, contentId, out, mapKey, templateRoot, locale, mimeTypeId, false);
+                        ContentWorker.renderSubContentAsText(dispatcher, delegator, contentId, out, mapKey, templateRoot, locale, mimeTypeId, false);
                     }
                     //Map results = ContentWorker.renderSubContentAsText(delegator, contentId, out, mapKey, subContentId, subContentDataResourceView, templateRoot, locale, mimeTypeId, userLogin, fromDate);
                 } catch (GeneralException e) {

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/TraverseSubContentTransform.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/TraverseSubContentTransform.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/TraverseSubContentTransform.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/TraverseSubContentTransform.java Thu Mar  8 11:46:09 2007
@@ -38,6 +38,7 @@
 import org.ofbiz.entity.GenericEntityException;
 import org.ofbiz.entity.GenericValue;
 import org.ofbiz.webapp.ftl.LoopWriter;
+import org.ofbiz.service.LocalDispatcher;
 
 import freemarker.core.Environment;
 import freemarker.template.TemplateModelException;
@@ -96,7 +97,7 @@
         final Locale locale = (Locale) FreeMarkerWorker.getWrappedObject("locale", env);
         final String mimeTypeId = getArg(args, "mimeTypeId", ctx);
 */
-        //final LocalDispatcher dispatcher = (LocalDispatcher) FreeMarkerWorker.getWrappedObject("dispatcher", env);
+        final LocalDispatcher dispatcher = (LocalDispatcher) FreeMarkerWorker.getWrappedObject("dispatcher", env);
         //final GenericValue userLogin = (GenericValue) FreeMarkerWorker.getWrappedObject("userLogin", env);
         GenericValue view = (GenericValue) FreeMarkerWorker.getWrappedObject("subContentDataResourceView", env);
         final Integer indent = (templateCtx.get("indent") == null) ? new Integer(0) : (Integer)templateCtx.get("indent");
@@ -249,7 +250,7 @@
                     if (locale == null)
                         locale = Locale.getDefault();
                     try {
-                        ContentWorker.renderContentAsText(delegator, wrapTemplateId, out, templateRoot, locale, mimeTypeId, false);
+                        ContentWorker.renderContentAsText(dispatcher, delegator, wrapTemplateId, out, templateRoot, locale, mimeTypeId, false);
                     } catch (GeneralException e) {
                         Debug.logError(e, "Error rendering content", module);
                         throw new IOException("Error rendering content" + e.toString());

Modified: ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/WrapSubContentCacheTransform.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/WrapSubContentCacheTransform.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/WrapSubContentCacheTransform.java (original)
+++ ofbiz/trunk/applications/content/src/org/ofbiz/content/webapp/ftl/WrapSubContentCacheTransform.java Thu Mar  8 11:46:09 2007
@@ -34,6 +34,7 @@
 import org.ofbiz.content.content.ContentWorker;
 import org.ofbiz.entity.GenericDelegator;
 import org.ofbiz.entity.GenericValue;
+import org.ofbiz.service.LocalDispatcher;
 
 import freemarker.core.Environment;
 import freemarker.template.TemplateTransformModel;
@@ -75,6 +76,7 @@
         } else {
             templateCtx = envContext;
         }
+        final LocalDispatcher dispatcher = (LocalDispatcher) FreeMarkerWorker.getWrappedObject("dispatcher", env);
         final GenericDelegator delegator = (GenericDelegator) FreeMarkerWorker.getWrappedObject("delegator", env);
         final HttpServletRequest request = (HttpServletRequest) FreeMarkerWorker.getWrappedObject("request", env);
         FreeMarkerWorker.getSiteParameters(request, templateCtx);
@@ -169,7 +171,7 @@
                     Locale locale = null;
                     try {
                         //if (Debug.infoOn()) Debug.logInfo("in Edit(0), before calling renderContentAsText ." , module);
-                        ContentWorker.renderContentAsText(delegator, wrapTemplateId, out, templateRoot, locale, mimeTypeId, true);
+                        ContentWorker.renderContentAsText(dispatcher, delegator, wrapTemplateId, out, templateRoot, locale, mimeTypeId, true);
                         //if (Debug.infoOn()) Debug.logInfo("in Edit(0), after calling renderContentAsText ." , module);
                     } catch (IOException e) {
                         Debug.logError(e, "Error rendering content" + e.getMessage(), module);

Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java (original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java Thu Mar  8 11:46:09 2007
@@ -38,6 +38,7 @@
 import org.ofbiz.entity.GenericDelegator;
 import org.ofbiz.entity.GenericValue;
 import org.ofbiz.entity.util.EntityUtil;
+import org.ofbiz.service.LocalDispatcher;
 
 /**
  * Order Content Worker: gets order content to display
@@ -53,12 +54,14 @@
     public static OrderContentWrapper makeOrderContentWrapper(GenericValue order, HttpServletRequest request) {
         return new OrderContentWrapper(order, request);
     }
-    
+
+    protected LocalDispatcher dispatcher;
     protected GenericValue order;
     protected Locale locale;
     protected String mimeTypeId;
     
-    public OrderContentWrapper(GenericValue order, Locale locale, String mimeTypeId) {
+    public OrderContentWrapper(LocalDispatcher dispatcher, GenericValue order, Locale locale, String mimeTypeId) {
+        this.dispatcher = dispatcher;
         this.order = order;
         this.locale = locale;
         this.mimeTypeId = mimeTypeId;
@@ -68,6 +71,7 @@
     }
     
     public OrderContentWrapper(GenericValue order, HttpServletRequest request) {
+        this.dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");
         this.order = order;
         this.locale = UtilHttp.getLocale(request);
         this.mimeTypeId = "text/html";
@@ -77,18 +81,19 @@
     }
     
     public String get(String orderContentTypeId) {
-        return getOrderContentAsText(order, orderContentTypeId, locale, mimeTypeId, order.getDelegator());
+        return getOrderContentAsText(order, orderContentTypeId, locale, mimeTypeId, order.getDelegator(), dispatcher);
     }
     
     public static String getOrderContentAsText(GenericValue order, String orderContentTypeId, HttpServletRequest request) {
-        return getOrderContentAsText(order, orderContentTypeId, UtilHttp.getLocale(request), "text/html", order.getDelegator());
+        LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");
+        return getOrderContentAsText(order, orderContentTypeId, UtilHttp.getLocale(request), "text/html", order.getDelegator(), dispatcher);
     }
 
-    public static String getOrderContentAsText(GenericValue order, String orderContentTypeId, Locale locale) {
-        return getOrderContentAsText(order, orderContentTypeId, locale, null, null);
+    public static String getOrderContentAsText(GenericValue order, String orderContentTypeId, Locale locale, LocalDispatcher dispatcher) {
+        return getOrderContentAsText(order, orderContentTypeId, locale, null, null, dispatcher);
     }
     
-    public static String getOrderContentAsText(GenericValue order, String orderContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator) {
+    public static String getOrderContentAsText(GenericValue order, String orderContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator, LocalDispatcher dispatcher) {
         /* caching: there is one cache created, "order.content"  Each order's content is cached with a key of
          * contentTypeId::locale::mimeType::orderId::orderItemSeqId, or whatever the SEPARATOR is defined above to be.
          */
@@ -101,7 +106,7 @@
             }
             
             Writer outWriter = new StringWriter();
-            getOrderContentAsText(null, null, order, orderContentTypeId, locale, mimeTypeId, delegator, outWriter);
+            getOrderContentAsText(null, null, order, orderContentTypeId, locale, mimeTypeId, delegator, dispatcher, outWriter);
             String outString = outWriter.toString();
             if (outString.length() > 0) {
                 if (orderContentCache != null) {
@@ -119,7 +124,7 @@
         }
     }
     
-    public static void getOrderContentAsText(String orderId, String orderItemSeqId, GenericValue order, String orderContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator, Writer outWriter) throws GeneralException, IOException {
+    public static void getOrderContentAsText(String orderId, String orderItemSeqId, GenericValue order, String orderContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator, LocalDispatcher dispatcher, Writer outWriter) throws GeneralException, IOException {
         if (orderId == null && order != null) {
             orderId = order.getString("orderId");
         }
@@ -143,7 +148,7 @@
             Map inContext = new HashMap();
             inContext.put("order", order);
             inContext.put("orderContent", orderContent);
-            ContentWorker.renderContentAsText(delegator, orderContent.getString("contentId"), outWriter, inContext, locale, mimeTypeId, false);
+            ContentWorker.renderContentAsText(dispatcher, delegator, orderContent.getString("contentId"), outWriter, inContext, locale, mimeTypeId, false);
         }
     }
 }

Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java (original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/ShoppingCartItem.java Thu Mar  8 11:46:09 2007
@@ -523,7 +523,7 @@
      * @param prodCatalogId The catalog this item was added from
      * @param dispatcher LocalDispatcher object for doing promotions, etc
      * @param cart The parent shopping cart object this item will belong to
-     * @param triggerExternalOps Indicates if we should run external operations (promotions, auto-save, etc)
+     * @param triggerExternalOpsBool Indicates if we should run external operations (promotions, auto-save, etc)
      * @return a new ShoppingCartItem object
      * @throws CartItemModifyException
      */
@@ -616,12 +616,12 @@
     protected ShoppingCartItem(GenericValue product, Map additionalProductFeatureAndAppls, Map attributes, String prodCatalogId, Locale locale, String itemType, ShoppingCart.ShoppingCartItemGroup itemGroup) {
         this(product, additionalProductFeatureAndAppls, attributes, prodCatalogId, null, locale, itemType, itemGroup, null);
          if (product != null) {
-            String productName = ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", this.locale);
+            String productName = ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", this.locale, null);
             // if the productName is null or empty, see if there is an associated virtual product and get the productName of that product
             if (UtilValidate.isEmpty(productName)) {
                 GenericValue parentProduct = this.getParentProduct();
                 if (parentProduct != null) {
-                    productName = ProductContentWrapper.getProductContentAsText(parentProduct, "PRODUCT_NAME", this.locale);
+                    productName = ProductContentWrapper.getProductContentAsText(parentProduct, "PRODUCT_NAME", this.locale, null);
                 }
             }
 
@@ -1500,12 +1500,12 @@
        } else {
         GenericValue product = getProduct();
         if (product != null) {
-            String productName = ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", this.locale);
+            String productName = ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", this.locale, null);
             // if the productName is null or empty, see if there is an associated virtual product and get the productName of that product
             if (UtilValidate.isEmpty(productName)) {
                 GenericValue parentProduct = this.getParentProduct();
                 if (parentProduct != null) {
-                    productName = ProductContentWrapper.getProductContentAsText(parentProduct, "PRODUCT_NAME", this.locale);
+                    productName = ProductContentWrapper.getProductContentAsText(parentProduct, "PRODUCT_NAME", this.locale, null);
                 }
             }
             if (productName == null) {
@@ -1524,13 +1524,13 @@
         GenericValue product = getProduct();
 
         if (product != null) {
-            String description = ProductContentWrapper.getProductContentAsText(product, "DESCRIPTION", this.locale);
+            String description = ProductContentWrapper.getProductContentAsText(product, "DESCRIPTION", this.locale, null);
 
             // if the description is null or empty, see if there is an associated virtual product and get the description of that product
             if (UtilValidate.isEmpty(description)) {
                 GenericValue parentProduct = this.getParentProduct();
                 if (parentProduct != null) {
-                    description = ProductContentWrapper.getProductContentAsText(parentProduct, "DESCRIPTION", this.locale);
+                    description = ProductContentWrapper.getProductContentAsText(parentProduct, "DESCRIPTION", this.locale, null);
                 }
             }
 
@@ -2318,7 +2318,7 @@
           String supplierProductName = supplierProduct.getString("supplierProductName");
           if (supplierProductName == null) {
             if (supplierProductName == null) {
-                supplierProductName = ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", locale);
+                supplierProductName = ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", locale, null);
              }
            }
           itemDescription = supplierProductId + supplierProductName;

Modified: ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java (original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/shoppingcart/product/ProductPromoWorker.java Thu Mar  8 11:46:09 2007
@@ -600,7 +600,7 @@
                 if (UtilValidate.isEmpty((String) messageContext.get("partyId"))) messageContext.put("partyId", "any");
                 GenericValue product = delegator.findByPrimaryKeyCache("Product", UtilMisc.toMap("productId", productId));
                 if (product != null) {
-                    messageContext.put("productName", ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", locale));
+                    messageContext.put("productName", ProductContentWrapper.getProductContentAsText(product, "PRODUCT_NAME", locale, null));
                 }
                 
                 String msgProp = UtilProperties.getMessage("promotext", "action." + productPromoAction.getString("productPromoActionEnumId"), messageContext, locale);

Modified: ofbiz/trunk/applications/party/src/org/ofbiz/party/content/PartyContentWrapper.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/src/org/ofbiz/party/content/PartyContentWrapper.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/party/src/org/ofbiz/party/content/PartyContentWrapper.java (original)
+++ ofbiz/trunk/applications/party/src/org/ofbiz/party/content/PartyContentWrapper.java Thu Mar  8 11:46:09 2007
@@ -28,6 +28,7 @@
 import org.ofbiz.entity.util.EntityUtil;
 import org.ofbiz.entity.model.ModelUtil;
 import org.ofbiz.entity.model.ModelEntity;
+import org.ofbiz.service.LocalDispatcher;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.*;
@@ -48,17 +49,20 @@
 
     public static UtilCache workEffortContentCache = new UtilCache("workeffort.content.rendered", true);
 
+    protected LocalDispatcher dispatcher;
     protected GenericValue party;
     protected Locale locale;
     protected String mimeTypeId;
 
-    public PartyContentWrapper(GenericValue party, Locale locale, String mimeTypeId) {
+    public PartyContentWrapper(LocalDispatcher dispatcher, GenericValue party, Locale locale, String mimeTypeId) {
+        this.dispatcher = dispatcher;
         this.party = party;
         this.locale = locale;
         this.mimeTypeId = mimeTypeId;
     }
 
     public PartyContentWrapper(GenericValue party, HttpServletRequest request) {
+        this.dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");
         this.party = party;
         this.locale = UtilHttp.getLocale(request);
         this.mimeTypeId = "text/html";
@@ -66,7 +70,7 @@
 
     // interface implementation
     public String get(String contentTypeId, boolean useCache) {
-        return getPartyContentAsText(party, contentTypeId, locale, mimeTypeId, party.getDelegator(), useCache);
+        return getPartyContentAsText(party, contentTypeId, locale, mimeTypeId, party.getDelegator(), dispatcher, useCache);
     }
 
     public String get(String contentTypeId) {
@@ -84,7 +88,7 @@
     
     public List getList(String contentTypeId) {
         try {
-            return getPartyContentTextList(party, contentTypeId, locale, mimeTypeId, party.getDelegator());
+            return getPartyContentTextList(party, contentTypeId, locale, mimeTypeId, party.getDelegator(), dispatcher);
         } catch (Exception e) {
             Debug.logError(e, module);
             return null;
@@ -92,7 +96,7 @@
     }
 
     public String getContent(String contentId, boolean useCache) {
-        return getPartyContentAsText(party, contentId, null, locale, mimeTypeId, party.getDelegator(), useCache);
+        return getPartyContentAsText(party, contentId, null, locale, mimeTypeId, party.getDelegator(), dispatcher, useCache);
     }
 
     public String getContent(String contentId) {
@@ -101,20 +105,21 @@
 
     // static methods
     public static String getPartyContentAsText(GenericValue party, String partyContentId, HttpServletRequest request) {
-        return getPartyContentAsText(party, partyContentId, UtilHttp.getLocale(request), "text/html", party.getDelegator(), true);
+        LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");
+        return getPartyContentAsText(party, partyContentId, UtilHttp.getLocale(request), "text/html", party.getDelegator(), dispatcher, true);
     }
 
-    public static String getPartyContentAsText(GenericValue party, String partyContentId, Locale locale) {
-        return getPartyContentAsText(party, partyContentId, locale, null, null, true);
+    public static String getPartyContentAsText(GenericValue party, String partyContentId, Locale locale, LocalDispatcher dispatcher) {
+        return getPartyContentAsText(party, partyContentId, locale, null, null, dispatcher, true);
     }
 
     public static String getPartyContentAsText(GenericValue party, String partyContentTypeId,
-            Locale locale, String mimeTypeId, GenericDelegator delegator, boolean useCache) {
-        return getPartyContentAsText(party, null, partyContentTypeId, locale, mimeTypeId, delegator, useCache);
+            Locale locale, String mimeTypeId, GenericDelegator delegator, LocalDispatcher dispatcher, boolean useCache) {
+        return getPartyContentAsText(party, null, partyContentTypeId, locale, mimeTypeId, delegator, dispatcher, useCache);
     }
 
     public static String getPartyContentAsText(GenericValue party, String contentId, String partyContentTypeId,
-            Locale locale, String mimeTypeId, GenericDelegator delegator, boolean useCache) {
+            Locale locale, String mimeTypeId, GenericDelegator delegator, LocalDispatcher dispatcher, boolean useCache) {
         if (party == null) {
             return null;
         }
@@ -135,7 +140,7 @@
             }
 
             Writer outWriter = new StringWriter();
-            getPartyContentAsText(contentId, party.getString("partyId"), party, partyContentTypeId, locale, mimeTypeId, delegator, outWriter);
+            getPartyContentAsText(contentId, party.getString("partyId"), party, partyContentTypeId, locale, mimeTypeId, delegator, dispatcher, outWriter);
 
             String outString = outWriter.toString();
             if (outString.length() > 0) {
@@ -158,7 +163,7 @@
         }
     }
 
-    public static void getPartyContentAsText(String contentId, String partyId, GenericValue party, String partyContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator, Writer outWriter) throws GeneralException, IOException {
+    public static void getPartyContentAsText(String contentId, String partyId, GenericValue party, String partyContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator, LocalDispatcher dispatcher, Writer outWriter) throws GeneralException, IOException {
         if (partyId == null && party != null) {
             partyId = party.getString("partyId");
         }
@@ -221,11 +226,11 @@
             Map inContext = FastMap.newInstance();
             inContext.put("party", party);
             inContext.put("partyContent", partyContent);
-            ContentWorker.renderContentAsText(delegator, partyContent.getString("contentId"), outWriter, inContext, locale, mimeTypeId, false);
+            ContentWorker.renderContentAsText(dispatcher, delegator, partyContent.getString("contentId"), outWriter, inContext, locale, mimeTypeId, false);
         }
     }
 
-    public static List getPartyContentTextList(GenericValue party, String partyContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator) throws GeneralException, IOException {
+    public static List getPartyContentTextList(GenericValue party, String partyContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator, LocalDispatcher dispatcher) throws GeneralException, IOException {
         List partyContentList = delegator.findByAndCache("PartyContent", UtilMisc.toMap("partyId", party.getString("partyId"), "contentPurposeEnumId", partyContentTypeId), UtilMisc.toList("-fromDate"));
         partyContentList = EntityUtil.filterByDate(partyContentList);
 
@@ -238,7 +243,7 @@
                 Map inContext = FastMap.newInstance();
                 inContext.put("party", party);
                 inContext.put("partyContent", partyContent);
-                ContentWorker.renderContentAsText(delegator, partyContent.getString("contentId"), outWriter, inContext, locale, mimeTypeId, false);
+                ContentWorker.renderContentAsText(dispatcher, delegator, partyContent.getString("contentId"), outWriter, inContext, locale, mimeTypeId, false);
                 contentList.add(outWriter.toString());
             }
         }

Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/category/CategoryContentWrapper.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/category/CategoryContentWrapper.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/product/category/CategoryContentWrapper.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/product/category/CategoryContentWrapper.java Thu Mar  8 11:46:09 2007
@@ -41,6 +41,7 @@
 import org.ofbiz.entity.model.ModelEntity;
 import org.ofbiz.entity.model.ModelUtil;
 import org.ofbiz.entity.util.EntityUtil;
+import org.ofbiz.service.LocalDispatcher;
 
 /**
  * Category Content Worker: gets category content to display
@@ -48,7 +49,8 @@
 public class CategoryContentWrapper implements ContentWrapper {
     
     public static final String module = CategoryContentWrapper.class.getName();
-    
+
+    protected LocalDispatcher dispatcher;
     protected GenericValue productCategory;
     protected Locale locale;
     protected String mimeTypeId;
@@ -57,35 +59,38 @@
         return new CategoryContentWrapper(productCategory, request);
     }
     
-    public CategoryContentWrapper(GenericValue productCategory, Locale locale, String mimeTypeId) {
+    public CategoryContentWrapper(LocalDispatcher dispatcher, GenericValue productCategory, Locale locale, String mimeTypeId) {
+        this.dispatcher = dispatcher;
         this.productCategory = productCategory;
         this.locale = locale;
         this.mimeTypeId = mimeTypeId;       
     }
     
     public CategoryContentWrapper(GenericValue productCategory, HttpServletRequest request) {
+        this.dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");
         this.productCategory = productCategory;
         this.locale = UtilHttp.getLocale(request);
         this.mimeTypeId = "text/html";
     }
     
     public String get(String prodCatContentTypeId) {
-        return getProductCategoryContentAsText(productCategory, prodCatContentTypeId, locale, mimeTypeId, productCategory.getDelegator());
+        return getProductCategoryContentAsText(productCategory, prodCatContentTypeId, locale, mimeTypeId, productCategory.getDelegator(), dispatcher);
     }
     
     public static String getProductCategoryContentAsText(GenericValue productCategory, String prodCatContentTypeId, HttpServletRequest request) {
-        return getProductCategoryContentAsText(productCategory, prodCatContentTypeId, UtilHttp.getLocale(request), "text/html", productCategory.getDelegator());
+        LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");
+        return getProductCategoryContentAsText(productCategory, prodCatContentTypeId, UtilHttp.getLocale(request), "text/html", productCategory.getDelegator(), dispatcher);
     }
 
-    public static String getProductCategoryContentAsText(GenericValue productCategory, String prodCatContentTypeId, Locale locale) {
-        return getProductCategoryContentAsText(productCategory, prodCatContentTypeId, locale, null, null);
+    public static String getProductCategoryContentAsText(GenericValue productCategory, String prodCatContentTypeId, Locale locale, LocalDispatcher dispatcher) {
+        return getProductCategoryContentAsText(productCategory, prodCatContentTypeId, locale, null, null, dispatcher);
     }
     
-    public static String getProductCategoryContentAsText(GenericValue productCategory, String prodCatContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator) {
+    public static String getProductCategoryContentAsText(GenericValue productCategory, String prodCatContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator, LocalDispatcher dispatcher) {
         String candidateFieldName = ModelUtil.dbNameToVarName(prodCatContentTypeId);
         try {
             Writer outWriter = new StringWriter();
-            getProductCategoryContentAsText(null, productCategory, prodCatContentTypeId, locale, mimeTypeId, delegator, outWriter);
+            getProductCategoryContentAsText(null, productCategory, prodCatContentTypeId, locale, mimeTypeId, delegator, dispatcher, outWriter);
             String outString = outWriter.toString();
             if (outString.length() > 0) {
                 return outString;
@@ -101,7 +106,7 @@
         }
     }
     
-    public static void getProductCategoryContentAsText(String productCategoryId, GenericValue productCategory, String prodCatContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator, Writer outWriter) throws GeneralException, IOException {
+    public static void getProductCategoryContentAsText(String productCategoryId, GenericValue productCategory, String prodCatContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator, LocalDispatcher dispatcher, Writer outWriter) throws GeneralException, IOException {
         if (productCategoryId == null && productCategory != null) {
             productCategoryId = productCategory.getString("productCategoryId");
         }
@@ -141,7 +146,7 @@
             Map inContext = new HashMap();
             inContext.put("productCategory", productCategory);
             inContext.put("categoryContent", categoryContent);
-            ContentWorker.renderContentAsText(delegator, categoryContent.getString("contentId"), outWriter, inContext, locale, mimeTypeId, false);
+            ContentWorker.renderContentAsText(dispatcher, delegator, categoryContent.getString("contentId"), outWriter, inContext, locale, mimeTypeId, false);
         }
     }
 }

Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/config/ProductConfigItemContentWrapper.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/config/ProductConfigItemContentWrapper.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/product/config/ProductConfigItemContentWrapper.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/product/config/ProductConfigItemContentWrapper.java Thu Mar  8 11:46:09 2007
@@ -39,6 +39,7 @@
 import org.ofbiz.entity.model.ModelEntity;
 import org.ofbiz.entity.model.ModelUtil;
 import org.ofbiz.entity.util.EntityUtil;
+import org.ofbiz.service.LocalDispatcher;
 
 /**
  * Product Config Item Content Worker: gets product content to display
@@ -46,7 +47,8 @@
 public class ProductConfigItemContentWrapper implements java.io.Serializable {
     
     public static final String module = ProductConfigItemContentWrapper.class.getName();
-    
+
+    protected LocalDispatcher dispatcher;
     protected GenericValue productConfigItem;
     protected Locale locale;
     protected String mimeTypeId;
@@ -55,35 +57,38 @@
         return new ProductConfigItemContentWrapper(productConfigItem, request);
     }
     
-    public ProductConfigItemContentWrapper(GenericValue productConfigItem, Locale locale, String mimeTypeId) {
+    public ProductConfigItemContentWrapper(LocalDispatcher dispatcher, GenericValue productConfigItem, Locale locale, String mimeTypeId) {
+        this.dispatcher = dispatcher;
         this.productConfigItem = productConfigItem;
         this.locale = locale;
         this.mimeTypeId = mimeTypeId;
     }
     
     public ProductConfigItemContentWrapper(GenericValue productConfigItem, HttpServletRequest request) {
+        this.dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");
         this.productConfigItem = productConfigItem;
         this.locale = UtilHttp.getLocale(request);
         this.mimeTypeId = "text/html";
     }
     
     public String get(String confItemContentTypeId) {
-        return getProductConfigItemContentAsText(productConfigItem, confItemContentTypeId, locale, mimeTypeId, productConfigItem.getDelegator());
+        return getProductConfigItemContentAsText(productConfigItem, confItemContentTypeId, locale, mimeTypeId, productConfigItem.getDelegator(), dispatcher);
     }
     
     public static String getProductConfigItemContentAsText(GenericValue productConfigItem, String confItemContentTypeId, HttpServletRequest request) {
-        return getProductConfigItemContentAsText(productConfigItem, confItemContentTypeId, UtilHttp.getLocale(request), "text/html", productConfigItem.getDelegator());
+        LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");
+        return getProductConfigItemContentAsText(productConfigItem, confItemContentTypeId, UtilHttp.getLocale(request), "text/html", productConfigItem.getDelegator(), dispatcher);
     }
 
-    public static String getProductConfigItemContentAsText(GenericValue productConfigItem, String confItemContentTypeId, Locale locale) {
-        return getProductConfigItemContentAsText(productConfigItem, confItemContentTypeId, locale, null, null);
+    public static String getProductConfigItemContentAsText(GenericValue productConfigItem, String confItemContentTypeId, Locale locale, LocalDispatcher dispatcher) {
+        return getProductConfigItemContentAsText(productConfigItem, confItemContentTypeId, locale, null, null, dispatcher);
     }
     
-    public static String getProductConfigItemContentAsText(GenericValue productConfigItem, String confItemContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator) {
+    public static String getProductConfigItemContentAsText(GenericValue productConfigItem, String confItemContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator, LocalDispatcher dispatcher) {
         String candidateFieldName = ModelUtil.dbNameToVarName(confItemContentTypeId);
         try {
             Writer outWriter = new StringWriter();
-            getProductConfigItemContentAsText(null, productConfigItem, confItemContentTypeId, locale, mimeTypeId, delegator, outWriter);
+            getProductConfigItemContentAsText(null, productConfigItem, confItemContentTypeId, locale, mimeTypeId, delegator, dispatcher, outWriter);
             String outString = outWriter.toString();
             if (outString.length() > 0) {
                 return outString;
@@ -99,7 +104,7 @@
         }
     }
     
-    public static void getProductConfigItemContentAsText(String configItemId, GenericValue productConfigItem, String confItemContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator, Writer outWriter) throws GeneralException, IOException {
+    public static void getProductConfigItemContentAsText(String configItemId, GenericValue productConfigItem, String confItemContentTypeId, Locale locale, String mimeTypeId, GenericDelegator delegator, LocalDispatcher dispatcher, Writer outWriter) throws GeneralException, IOException {
         if (configItemId == null && productConfigItem != null) {
             configItemId = productConfigItem.getString("configItemId");
         }
@@ -136,7 +141,7 @@
             Map inContext = new HashMap();
             inContext.put("productConfigItem", productConfigItem);
             inContext.put("productConfigItemContent", productConfigItemContent);
-            ContentWorker.renderContentAsText(delegator, productConfigItemContent.getString("contentId"), outWriter, inContext, locale, mimeTypeId, false);
+            ContentWorker.renderContentAsText(dispatcher, delegator, productConfigItemContent.getString("contentId"), outWriter, inContext, locale, mimeTypeId, false);
         }
     }
 }

Modified: ofbiz/trunk/applications/product/src/org/ofbiz/product/config/ProductConfigWrapper.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/applications/product/src/org/ofbiz/product/config/ProductConfigWrapper.java?view=diff&rev=516158&r1=516157&r2=516158
==============================================================================
--- ofbiz/trunk/applications/product/src/org/ofbiz/product/config/ProductConfigWrapper.java (original)
+++ ofbiz/trunk/applications/product/src/org/ofbiz/product/config/ProductConfigWrapper.java Thu Mar  8 11:46:09 2007
@@ -43,7 +43,8 @@
 public class ProductConfigWrapper implements Serializable {
     
     public static final String module = ProductConfigWrapper.class.getName();
-    
+
+    protected LocalDispatcher dispatcher;
     protected GenericValue product = null; // the aggregated product
     protected double basePrice = 0.0;
     protected List questions = null; // ProductConfigs
@@ -70,6 +71,8 @@
         if (product == null || !product.getString("productTypeId").equals("AGGREGATED")) {
             throw new ProductConfigWrapperException("Product " + productId + " is not an AGGREGATED product.");
         }
+        this.dispatcher = dispatcher;
+        
         // get the base price
         Map priceContext = UtilMisc.toMap("product", product, "prodCatalogId", catalogId, "webSiteId", webSiteId, "productStoreId", productStoreId,
                                       "currencyUomId", currencyUomId, "autoUserLogin", autoUserLogin);
@@ -258,7 +261,7 @@
         }
 
         public void setContent(Locale locale, String mimeTypeId) {
-            content = new ProductConfigItemContentWrapper(configItem, locale, mimeTypeId);
+            content = new ProductConfigItemContentWrapper(dispatcher, configItem, locale, mimeTypeId);
         }
         
         public ProductConfigItemContentWrapper getContent() {