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; |
Free forum by Nabble | Edit this page |