Author: jleroux
Date: Sat Oct 10 10:39:44 2015 New Revision: 1707858 URL: http://svn.apache.org/viewvc?rev=1707858&view=rev Log: "Applied fix from trunk for revision: 1707857 " ------------------------------------------------------------------------ r1707857 | jleroux | 2015-10-10 12:38:49 +0200 (sam. 10 oct. 2015) | 3 lignes Fixes "ecommerce screen exception" https://issues.apache.org/jira/browse/OFBIZ-6665 reported by Wai I missed this hidden ProductConfigItemContentWrapper class while working on r1705329 and sequels. I checked there are no other *ContentWrapper classes left now. ------------------------------------------------------------------------ Modified: ofbiz/branches/release14.12/ (props changed) ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/config/ProductConfigItemContentWrapper.java ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/config/ProductConfigWrapper.java ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/configproductdetail.ftl Propchange: ofbiz/branches/release14.12/ ------------------------------------------------------------------------------ --- svn:mergeinfo (original) +++ svn:mergeinfo Sat Oct 10 10:39:44 2015 @@ -8,4 +8,4 @@ /ofbiz/branches/json-integration-refactoring:1634077-1635900 /ofbiz/branches/multitenant20100310:921280-927264 /ofbiz/branches/release13.07:1547657 -/ofbiz/trunk:1649072,1649083-1649084,1649086,1649090,1649096,1649230,1649238-1649239,1649248,1649272,1649275,1649280-1649281,1649283,1649285-1649286,1649291,1649329,1649331,1649384,1649393,1649666,1649742,1650240,1650348,1650357,1650583,1650642,1650678,1650821,1650882,1650887,1650938,1651593,1652312,1652361,1652638,1652641,1652672,1652688,1652706,1652725,1652731,1652739,1652852,1653248,1653296,1653456,1653597,1653614,1654175,1654273,1654509,1654670,1654672-1654673,1654683-1654684,1654824,1655046,1655668,1655979,1656014,1656185,1656198,1656445,1656983,1657323,1657506-1657507,1657514,1657714,1657790,1657848,1658364,1658662,1658882,1659224,1659965,1660031,1660053,1660389,1660444,1660579,1661303,1661328,1661760,1661778,1661853,1661862,1661873,1661940,1661951,1661977,1662119-1662120,1662361,1662500,1662812,1662919,1663202,1663912,1663979,1664602,1664604,1664696,1665154,1665162,1665535,1666404,1666511,1666633,1666836,1666939,1666949,1666958,1667055,1667253,1667483,1667492,1667774,1668207, 1668214,1668236,1668246,1668258,1668263,1668265,1668270,1668277,1668314,1668657,1669317,1669588,1672427,1672430,1672846,1672853,1672856,1672862,1672873,1673764,1674447,1674464,1674491,1674496,1674908,1676674,1677123,1677597,1677769-1677770,1678294,1678882,1678911,1679689,1679697,1679709,1679720,1679728,1679732,1679957,1680155,1680288,1680304,1680671,1680675,1680733,1680840,1680881,1682272,1682295,1682415,1682633,1683998,1684094,1686360,1686536,1686545,1686566,1686569,1686574,1686583,1686635,1686651,1686970,1687427,1688772,1690086,1690581,1692357,1692458,1692600,1692604,1693393,1693579,1695017,1696018,1696234,1697590,1697647,1697993,1698259,1698261,1698263,1701164,1701441,1701819,1701825,1701936,1702002,1702548,1702704,1703121,1703586,1703945,1703954,1703965,1703971,1703976-1703977,1703981,1704000,1704014,1704018,1704036,1704043,1704052,1704082,1704140,1704230,1705004,1705329,1705405,1705412,1705417,1705427,1705532,1706159,1706162,1706316,1706531,1706549,1706553,1706561,1706569,17065 77,1706591,1706694,1707837 +/ofbiz/trunk:1649072,1649083-1649084,1649086,1649090,1649096,1649230,1649238-1649239,1649248,1649272,1649275,1649280-1649281,1649283,1649285-1649286,1649291,1649329,1649331,1649384,1649393,1649666,1649742,1650240,1650348,1650357,1650583,1650642,1650678,1650821,1650882,1650887,1650938,1651593,1652312,1652361,1652638,1652641,1652672,1652688,1652706,1652725,1652731,1652739,1652852,1653248,1653296,1653456,1653597,1653614,1654175,1654273,1654509,1654670,1654672-1654673,1654683-1654684,1654824,1655046,1655668,1655979,1656014,1656185,1656198,1656445,1656983,1657323,1657506-1657507,1657514,1657714,1657790,1657848,1658364,1658662,1658882,1659224,1659965,1660031,1660053,1660389,1660444,1660579,1661303,1661328,1661760,1661778,1661853,1661862,1661873,1661940,1661951,1661977,1662119-1662120,1662361,1662500,1662812,1662919,1663202,1663912,1663979,1664602,1664604,1664696,1665154,1665162,1665535,1666404,1666511,1666633,1666836,1666939,1666949,1666958,1667055,1667253,1667483,1667492,1667774,1668207, 1668214,1668236,1668246,1668258,1668263,1668265,1668270,1668277,1668314,1668657,1669317,1669588,1672427,1672430,1672846,1672853,1672856,1672862,1672873,1673764,1674447,1674464,1674491,1674496,1674908,1676674,1677123,1677597,1677769-1677770,1678294,1678882,1678911,1679689,1679697,1679709,1679720,1679728,1679732,1679957,1680155,1680288,1680304,1680671,1680675,1680733,1680840,1680881,1682272,1682295,1682415,1682633,1683998,1684094,1686360,1686536,1686545,1686566,1686569,1686574,1686583,1686635,1686651,1686970,1687427,1688772,1690086,1690581,1692357,1692458,1692600,1692604,1693393,1693579,1695017,1696018,1696234,1697590,1697647,1697993,1698259,1698261,1698263,1701164,1701441,1701819,1701825,1701936,1702002,1702548,1702704,1703121,1703586,1703945,1703954,1703965,1703971,1703976-1703977,1703981,1704000,1704014,1704018,1704036,1704043,1704052,1704082,1704140,1704230,1705004,1705329,1705405,1705412,1705417,1705427,1705532,1706159,1706162,1706316,1706531,1706549,1706553,1706561,1706569,17065 77,1706591,1706694,1707837,1707857 Modified: ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/config/ProductConfigItemContentWrapper.java URL: http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/config/ProductConfigItemContentWrapper.java?rev=1707858&r1=1707857&r2=1707858&view=diff ============================================================================== --- ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/config/ProductConfigItemContentWrapper.java (original) +++ ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/config/ProductConfigItemContentWrapper.java Sat Oct 10 10:39:44 2015 @@ -21,7 +21,6 @@ package org.ofbiz.product.config; import java.io.IOException; import java.io.StringWriter; import java.io.Writer; -import java.util.List; import java.util.Locale; import java.util.Map; @@ -31,10 +30,14 @@ import javolution.util.FastMap; import org.ofbiz.base.util.Debug; import org.ofbiz.base.util.GeneralException; +import org.ofbiz.base.util.StringUtil; +import org.ofbiz.base.util.StringUtil.StringWrapper; +import org.ofbiz.base.util.UtilCodec; import org.ofbiz.base.util.UtilHttp; import org.ofbiz.base.util.UtilMisc; import org.ofbiz.base.util.UtilValidate; import org.ofbiz.content.content.ContentWorker; +import org.ofbiz.content.content.ContentWrapper; import org.ofbiz.entity.Delegator; import org.ofbiz.entity.DelegatorFactory; import org.ofbiz.entity.GenericValue; @@ -49,7 +52,7 @@ import org.ofbiz.service.ServiceContaine * Product Config Item Content Worker: gets product content to display */ @SuppressWarnings("serial") -public class ProductConfigItemContentWrapper implements java.io.Serializable { +public class ProductConfigItemContentWrapper implements ContentWrapper { public static final String module = ProductConfigItemContentWrapper.class.getName(); @@ -86,8 +89,8 @@ public class ProductConfigItemContentWra this.mimeTypeId = "text/html"; } - public String get(String confItemContentTypeId) { - return getProductConfigItemContentAsText(productConfigItem, confItemContentTypeId, locale, mimeTypeId, getDelegator(), getDispatcher()); + public StringWrapper get(String confItemContentTypeId, String encoderType) { + return StringUtil.makeStringWrapper(getProductConfigItemContentAsText(productConfigItem, confItemContentTypeId, locale, mimeTypeId, getDelegator(), getDispatcher(), encoderType)); } public Delegator getDelegator() { @@ -104,32 +107,36 @@ public class ProductConfigItemContentWra return dispatcher; } - public static String getProductConfigItemContentAsText(GenericValue productConfigItem, String confItemContentTypeId, HttpServletRequest request) { + public static String getProductConfigItemContentAsText(GenericValue productConfigItem, String confItemContentTypeId, HttpServletRequest request, String encoderType) { LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher"); - return getProductConfigItemContentAsText(productConfigItem, confItemContentTypeId, UtilHttp.getLocale(request), "text/html", productConfigItem.getDelegator(), dispatcher); + return getProductConfigItemContentAsText(productConfigItem, confItemContentTypeId, UtilHttp.getLocale(request), "text/html", productConfigItem.getDelegator(), dispatcher, encoderType); } - 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, LocalDispatcher dispatcher, String encoderType) { + return getProductConfigItemContentAsText(productConfigItem, confItemContentTypeId, locale, null, null, dispatcher, encoderType); } - public static String getProductConfigItemContentAsText(GenericValue productConfigItem, String confItemContentTypeId, Locale locale, String mimeTypeId, Delegator delegator, LocalDispatcher dispatcher) { + public static String getProductConfigItemContentAsText(GenericValue productConfigItem, String confItemContentTypeId, Locale locale, String mimeTypeId, Delegator delegator, LocalDispatcher dispatcher, String encoderType) { + UtilCodec.SimpleEncoder encoder = UtilCodec.getEncoder(encoderType); String candidateFieldName = ModelUtil.dbNameToVarName(confItemContentTypeId); try { Writer outWriter = new StringWriter(); getProductConfigItemContentAsText(null, productConfigItem, confItemContentTypeId, locale, mimeTypeId, delegator, dispatcher, outWriter); String outString = outWriter.toString(); if (outString.length() > 0) { - return outString; + return encoder.encode(outString); } else { - return null; + String candidateOut = productConfigItem.getModelEntity().isField(candidateFieldName) ? productConfigItem.getString(candidateFieldName): ""; + return candidateOut == null? "" : encoder.encode(candidateOut); } } catch (GeneralException e) { Debug.logError(e, "Error rendering ProdConfItemContent, inserting empty String", module); - return productConfigItem.getString(candidateFieldName); + String candidateOut = productConfigItem.getModelEntity().isField(candidateFieldName) ? productConfigItem.getString(candidateFieldName): ""; + return candidateOut == null? "" : encoder.encode(candidateOut); } catch (IOException e) { Debug.logError(e, "Error rendering ProdConfItemContent, inserting empty String", module); - return productConfigItem.getString(candidateFieldName); + String candidateOut = productConfigItem.getModelEntity().isField(candidateFieldName) ? productConfigItem.getString(candidateFieldName): ""; + return candidateOut == null? "" : encoder.encode(candidateOut); } } Modified: ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/config/ProductConfigWrapper.java URL: http://svn.apache.org/viewvc/ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/config/ProductConfigWrapper.java?rev=1707858&r1=1707857&r2=1707858&view=diff ============================================================================== --- ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/config/ProductConfigWrapper.java (original) +++ ofbiz/branches/release14.12/applications/product/src/org/ofbiz/product/config/ProductConfigWrapper.java Sat Oct 10 10:39:44 2015 @@ -462,7 +462,7 @@ public class ProductConfigWrapper implem question = configItemAssoc.getString("description"); } else { if (content != null) { - question = content.get("DESCRIPTION"); + question = content.get("DESCRIPTION", "html").toString(); } else { question = (configItem.getString("description") != null? configItem.getString("description"): ""); } @@ -476,7 +476,7 @@ public class ProductConfigWrapper implem description = configItemAssoc.getString("longDescription"); } else { if (content != null) { - description = content.get("LONG_DESCRIPTION"); + description = content.get("LONG_DESCRIPTION", "html").toString(); } else { description = (configItem.getString("longDescription") != null? configItem.getString("longDescription"): ""); } @@ -669,7 +669,7 @@ public class ProductConfigWrapper implem } public String getOptionName(Locale locale) { - + return (configOption.getString("configOptionName") != null? (String) configOption.get("configOptionName", locale): "no option name"); } Modified: ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/configproductdetail.ftl URL: http://svn.apache.org/viewvc/ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/configproductdetail.ftl?rev=1707858&r1=1707857&r2=1707858&view=diff ============================================================================== --- ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/configproductdetail.ftl (original) +++ ofbiz/branches/release14.12/specialpurpose/ecommerce/webapp/ecommerce/catalog/configproductdetail.ftl Sat Oct 10 10:39:44 2015 @@ -456,8 +456,8 @@ function getConfigDetails(event) { <div>${question.question}</div> <#if question.isFirst()> <a name='#${question.getConfigItem().getString("configItemId")}'></a> - <div>${question.description!}</div> - <#assign instructions = question.content.get("INSTRUCTIONS")!> + <div>${StringUtil.wrapString(question.description!)}</div> + <#assign instructions = question.content.get("INSTRUCTIONS", "html")!> <#if instructions?has_content> <a href="javascript:showErrorAlert("${uiLabelMap.CommonErrorMessage2}","${instructions}");" class="buttontext">Instructions</a> </#if> |
Free forum by Nabble | Edit this page |