You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by jl...@apache.org on 2018/08/28 16:06:23 UTC
svn commit: r1839451 - in /ofbiz/ofbiz-framework/trunk/framework/webapp/src:
main/java/org/apache/ofbiz/webapp/control/RequestHandler.java
test/java/org/apache/ofbiz/webapp/control/RequestHandlerTests.java
Author: jleroux
Date: Tue Aug 28 16:06:23 2018
New Revision: 1839451
URL: http://svn.apache.org/viewvc?rev=1839451&view=rev
Log:
Fixed: Add method attribute to request-map to controll a uri can be called GET
or POST only
(OFBIZ-10438)
The problem was r1838081 prevented to serialise requests.
Like in ordermgr/control/updateCheckoutOptions/quickcheckout where
updateCheckoutOptions and quickcheckout are serialised to update the check out
after updateCheckoutOptions is done and then get back to the screen with
quickcheckout.
CheckoutOptions.ftl is a good example of this usage.
Thanks: Deepak Nigam for initial report and Mathieu for fixing it
Modified:
ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.java
ofbiz/ofbiz-framework/trunk/framework/webapp/src/test/java/org/apache/ofbiz/webapp/control/RequestHandlerTests.java
Modified: ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.java?rev=1839451&r1=1839450&r2=1839451&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/webapp/src/main/java/org/apache/ofbiz/webapp/control/RequestHandler.java Tue Aug 28 16:06:23 2018
@@ -194,7 +194,9 @@ public class RequestHandler {
String requestUri = getRequestUri(path);
String viewUri = getOverrideViewUri(path);
Collection<RequestMap> rmaps;
- if (requestMapMap.containsKey(requestUri) && !viewMapMap.containsKey(viewUri)) {
+ if (requestMapMap.containsKey(requestUri)
+ // Ensure that overridden view exists.
+ && (viewUri == null || viewMapMap.containsKey(viewUri))) {
rmaps = requestMapMap.get(requestUri);
} else if (defaultRequest != null) {
rmaps = requestMapMap.get(defaultRequest);
Modified: ofbiz/ofbiz-framework/trunk/framework/webapp/src/test/java/org/apache/ofbiz/webapp/control/RequestHandlerTests.java
URL: http://svn.apache.org/viewvc/ofbiz/ofbiz-framework/trunk/framework/webapp/src/test/java/org/apache/ofbiz/webapp/control/RequestHandlerTests.java?rev=1839451&r1=1839450&r2=1839451&view=diff
==============================================================================
--- ofbiz/ofbiz-framework/trunk/framework/webapp/src/test/java/org/apache/ofbiz/webapp/control/RequestHandlerTests.java (original)
+++ ofbiz/ofbiz-framework/trunk/framework/webapp/src/test/java/org/apache/ofbiz/webapp/control/RequestHandlerTests.java Tue Aug 28 16:06:23 2018
@@ -120,7 +120,7 @@ public class RequestHandlerTests {
}
@Test
- public void resolveURIOverrideView() throws Exception {
+ public void resolveURIBasicOverrideView() throws Exception {
RequestMap foo = new RequestMap(dummyElement);
RequestMap bar = new RequestMap(dummyElement);
reqMaps.putSingle("foo", foo);
@@ -130,6 +130,18 @@ public class RequestHandlerTests {
when(req.getPathInfo()).thenReturn("/foo/baz");
when(ccfg.getDefaultRequest()).thenReturn("bar");
+ assertThat(RequestHandler.resolveURI(ccfg, req), hasItem(foo));
+ }
+
+ @Test
+ public void resolveURIMissingOverrideView() throws Exception {
+ RequestMap foo = new RequestMap(dummyElement);
+ RequestMap bar = new RequestMap(dummyElement);
+ reqMaps.putSingle("foo", foo);
+ reqMaps.putSingle("bar", bar);
+
+ when(req.getPathInfo()).thenReturn("/foo/baz");
+ when(ccfg.getDefaultRequest()).thenReturn("bar");
assertThat(RequestHandler.resolveURI(ccfg, req), hasItem(bar));
}