svn commit: r1706162 - /ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1706162 - /ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java

jleroux@apache.org
Author: jleroux
Date: Wed Sep 30 21:47:15 2015
New Revision: 1706162

URL: http://svn.apache.org/viewvc?rev=1706162&view=rev
Log:
While working on r1705329 I did not notice that OrderContentWrapper was not using the same scheme than other *ContentWrapper (implementing ContentWrapper interface). This fixes it

Modified:
    ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java

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?rev=1706162&r1=1706161&r2=1706162&view=diff
==============================================================================
--- ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java (original)
+++ ofbiz/trunk/applications/order/src/org/ofbiz/order/order/OrderContentWrapper.java Wed Sep 30 21:47:15 2015
@@ -29,10 +29,13 @@ import javax.servlet.http.HttpServletReq
 
 import org.ofbiz.base.util.Debug;
 import org.ofbiz.base.util.GeneralException;
+import org.ofbiz.base.util.StringUtil;
+import org.ofbiz.base.util.UtilCodec;
 import org.ofbiz.base.util.UtilHttp;
 import org.ofbiz.base.util.UtilValidate;
 import org.ofbiz.base.util.cache.UtilCache;
 import org.ofbiz.content.content.ContentWorker;
+import org.ofbiz.content.content.ContentWrapper;
 import org.ofbiz.entity.Delegator;
 import org.ofbiz.entity.GenericValue;
 import org.ofbiz.entity.util.EntityQuery;
@@ -42,7 +45,7 @@ import org.ofbiz.service.LocalDispatcher
  * Order Content Worker: gets order content to display
  *
  */
-public class OrderContentWrapper {
+public class OrderContentWrapper implements ContentWrapper {
 
     public static final String module = OrderContentWrapper.class.getName();
     public static final String SEPARATOR = "::";    // cache key separator
@@ -72,23 +75,25 @@ public class OrderContentWrapper {
         this.mimeTypeId = "text/html";
     }
 
-    public String get(String orderContentTypeId) {
-        return getOrderContentAsText(order, orderContentTypeId, locale, mimeTypeId, order.getDelegator(), dispatcher);
+    public StringUtil.StringWrapper get(String orderContentTypeId, String encoderType) {
+        return StringUtil.makeStringWrapper(getOrderContentAsText(order, orderContentTypeId, locale, mimeTypeId, order.getDelegator(), dispatcher, encoderType));
     }
 
-    public static String getOrderContentAsText(GenericValue order, String orderContentTypeId, HttpServletRequest request) {
+    public static String getOrderContentAsText(GenericValue order, String orderContentTypeId, HttpServletRequest request, String encoderType) {
         LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher");
-        return getOrderContentAsText(order, orderContentTypeId, UtilHttp.getLocale(request), "text/html", order.getDelegator(), dispatcher);
+        return getOrderContentAsText(order, orderContentTypeId, UtilHttp.getLocale(request), "text/html", order.getDelegator(), dispatcher, encoderType);
     }
 
-    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, LocalDispatcher dispatcher, String encoderType) {
+        return getOrderContentAsText(order, orderContentTypeId, locale, null, null, dispatcher, encoderType);
     }
 
-    public static String getOrderContentAsText(GenericValue order, String orderContentTypeId, Locale locale, String mimeTypeId, Delegator delegator, LocalDispatcher dispatcher) {
+    public static String getOrderContentAsText(GenericValue order, String orderContentTypeId, Locale locale, String mimeTypeId, Delegator delegator, LocalDispatcher dispatcher, String encoderType) {
         /* 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.
          */
+        UtilCodec.SimpleEncoder encoder = UtilCodec.getEncoder(encoderType);
+
         String orderItemSeqId = (order.getEntityName().equals("OrderItem")? order.getString("orderItemSeqId"): "_NA_");
 
         String cacheKey = orderContentTypeId + SEPARATOR + locale + SEPARATOR + mimeTypeId + SEPARATOR + order.get("orderId") + SEPARATOR + orderItemSeqId;
@@ -102,7 +107,7 @@ public class OrderContentWrapper {
             getOrderContentAsText(null, null, order, orderContentTypeId, locale, mimeTypeId, delegator, dispatcher, outWriter);
             String outString = outWriter.toString();
             if (outString.length() > 0) {
-                outString = orderContentCache.putIfAbsentAndGet(cacheKey, outString);
+                outString = orderContentCache.putIfAbsentAndGet(cacheKey, encoder.encode(outString));
             }
             return outString;