diff --git a/spring-webflow/src/main/java/org/springframework/webflow/mvc/portlet/FlowHandlerAdapter.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/portlet/FlowHandlerAdapter.java index 5d1efd58..9d82d7aa 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/mvc/portlet/FlowHandlerAdapter.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/portlet/FlowHandlerAdapter.java @@ -44,6 +44,14 @@ import org.springframework.webflow.execution.repository.NoSuchFlowExecutionExcep import org.springframework.webflow.executor.FlowExecutionResult; import org.springframework.webflow.executor.FlowExecutor; +/** + * A custom MVC HandlerAdapter that encapsulates the generic workflow associated with executing flows in a Portlet + * environment. Delegates to mapped {@link FlowHandler flow handlers} to manage the interaction with executions of + * specific flow definitions. + * + * @author Keith Donald + * @author Scott Andrews + */ public class FlowHandlerAdapter extends PortletApplicationObjectSupport implements HandlerAdapter, InitializingBean { private static final String ACTION_REQUEST_FLOW_EXCEPTION_ATTRIBUTE = "actionRequestFlowException"; @@ -152,8 +160,11 @@ public class FlowHandlerAdapter extends PortletApplicationObjectSupport implemen } protected MutableAttributeMap defaultCreateFlowExecutionInputMap(PortletRequest request) { - LocalAttributeMap inputMap = new LocalAttributeMap(); Map parameterMap = request.getParameterMap(); + if (parameterMap.size() == 0) { + return null; + } + LocalAttributeMap inputMap = new LocalAttributeMap(); Iterator it = parameterMap.entrySet().iterator(); while (it.hasNext()) { Map.Entry entry = (Map.Entry) it.next(); diff --git a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapter.java b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapter.java index 3fdd2751..357d2ab1 100644 --- a/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapter.java +++ b/spring-webflow/src/main/java/org/springframework/webflow/mvc/servlet/FlowHandlerAdapter.java @@ -45,8 +45,9 @@ import org.springframework.webflow.executor.FlowExecutionResult; import org.springframework.webflow.executor.FlowExecutor; /** - * A custom MVC HandlerAdapter that encapsulates the generic workflow associated with executing flows. Delegates to - * mapped {@link FlowHandler flow handlers} to manage the interaction with executions of specific flow definitions. + * A custom MVC HandlerAdapter that encapsulates the generic workflow associated with executing flows in a Servlet + * environment. Delegates to mapped {@link FlowHandler flow handlers} to manage the interaction with executions of + * specific flow definitions. * * @author Keith Donald */ diff --git a/spring-webflow/src/test/java/org/springframework/webflow/mvc/portlet/FlowHandlerAdapterTests.java b/spring-webflow/src/test/java/org/springframework/webflow/mvc/portlet/FlowHandlerAdapterTests.java index dc83c8e3..75ffba51 100644 --- a/spring-webflow/src/test/java/org/springframework/webflow/mvc/portlet/FlowHandlerAdapterTests.java +++ b/spring-webflow/src/test/java/org/springframework/webflow/mvc/portlet/FlowHandlerAdapterTests.java @@ -40,7 +40,7 @@ public class FlowHandlerAdapterTests extends TestCase { private PortletExternalContext actionContext; private PortletExternalContext renderContext; private FlowHandler flowHandler; - private LocalAttributeMap flowInput = new LocalAttributeMap(); + private LocalAttributeMap flowInput = null; private boolean handleException; private boolean handleExecutionOutcome; private boolean handleExecutionOutcomeCalled;