Author: surajk
Date: Sat Apr 27 08:57:48 2019 New Revision: 1858256 URL: http://svn.apache.org/viewvc?rev=1858256&view=rev Log: Fixed: Unable to add survey product to cart in order entry form. (OFBIZ-10735) It was due to incorrect usage of param map, used UtilHttp.getCombinedMap instead with some code improvements. Thanks Amit Gadaley for reporting the issue and providing the patch. Modified: ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/survey/SurveyEvents.java Modified: ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/survey/SurveyEvents.java URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/survey/SurveyEvents.java?rev=1858256&r1=1858255&r2=1858256&view=diff ============================================================================== --- ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/survey/SurveyEvents.java (original) +++ ofbiz/ofbiz-framework/trunk/applications/content/src/main/java/org/apache/ofbiz/content/survey/SurveyEvents.java Sat Apr 27 08:57:48 2019 @@ -18,6 +18,7 @@ *******************************************************************************/ package org.apache.ofbiz.content.survey; +import java.util.HashMap; import java.util.Map; import javax.servlet.http.HttpServletRequest; @@ -25,6 +26,7 @@ import javax.servlet.http.HttpServletRes import org.apache.ofbiz.base.util.Debug; import org.apache.ofbiz.base.util.UtilHttp; +import org.apache.ofbiz.service.*; import org.apache.ofbiz.webapp.control.ConfigXMLReader; import org.apache.ofbiz.webapp.control.ConfigXMLReader.RequestMap; import org.apache.ofbiz.webapp.control.RequestHandler; @@ -39,29 +41,25 @@ public class SurveyEvents { public static final String module = SurveyEvents.class.getName(); public static String createSurveyResponseAndRestoreParameters(HttpServletRequest request, HttpServletResponse response) { - // Call createSurveyResponse as an event, easier to setup and ensures parameter security - ConfigXMLReader.Event createSurveyResponseEvent = new ConfigXMLReader.Event("service", null, "createSurveyResponse", true); - RequestHandler rh = (RequestHandler) request.getAttribute("_REQUEST_HANDLER_"); - ConfigXMLReader.ControllerConfig controllerConfig = rh.getControllerConfig(); - String requestUri = (String) request.getAttribute("thisRequestUri"); - RequestMap requestMap = null; - try { - requestMap = controllerConfig.getRequestMapMap().get(requestUri); - } catch (WebAppConfigurationException e) { - Debug.logError(e, "Exception thrown while parsing controller.xml file: ", module); - } - String eventResponse = null; + LocalDispatcher dispatcher = (LocalDispatcher) request.getAttribute("dispatcher"); + DispatchContext dctx = dispatcher.getDispatchContext(); + + Map<String, Object> combinedMap = UtilHttp.getCombinedMap(request); + try { - eventResponse = rh.runEvent(request, response, createSurveyResponseEvent, requestMap, null); - } catch (EventHandlerException e) { + Map<String, Object> surveyResponseMap = dctx.makeValidContext("createSurveyResponse", ModelService.IN_PARAM, combinedMap); + Map<String, Object> surveyResponseResult = dispatcher.runSync("createSurveyResponse", surveyResponseMap); + if (ServiceUtil.isError(surveyResponseResult)) { + Debug.logError(ServiceUtil.getErrorMessage(surveyResponseResult), module); + return "error"; + } + request.setAttribute("surveyResponseId", surveyResponseResult.get("surveyResponseId")); + } catch (GenericServiceException e) { Debug.logError(e, module); return "error"; } - if (!"success".equals(eventResponse)) { - return eventResponse; - } + // Check for an incoming _ORIG_PARAM_MAP_ID_, if present get the session stored parameter map and insert it's entries as request attributes - Map<String, Object> combinedMap = UtilHttp.getCombinedMap(request); if (combinedMap.containsKey("_ORIG_PARAM_MAP_ID_")) { String origParamMapId = (String) combinedMap.get("_ORIG_PARAM_MAP_ID_"); UtilHttp.restoreStashedParameterMap(request, origParamMapId); |
Free forum by Nabble | Edit this page |