01: /*
02: * Copyright 2004-2007 the original author or authors.
03: *
04: * Licensed under the Apache License, Version 2.0 (the "License");
05: * you may not use this file except in compliance with the License.
06: * You may obtain a copy of the License at
07: *
08: * http://www.apache.org/licenses/LICENSE-2.0
09: *
10: * Unless required by applicable law or agreed to in writing, software
11: * distributed under the License is distributed on an "AS IS" BASIS,
12: * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13: * See the License for the specific language governing permissions and
14: * limitations under the License.
15: */
16: package org.springframework.webflow.executor;
17:
18: import org.springframework.binding.mapping.AttributeMapper;
19: import org.springframework.binding.mapping.MappingContext;
20: import org.springframework.webflow.context.ExternalContext;
21: import org.springframework.webflow.core.collection.MutableAttributeMap;
22:
23: /**
24: * Simple attribute mapper implementation that puts all entries in the
25: * request parameter map of a source {@link ExternalContext} into the
26: * FlowExecution inputMap. This makes request parameters available to launching
27: * flows for input mapping.
28: * <p>
29: * Used by {@link FlowExecutorImpl} as the default AttributeMapper
30: * implementation.
31: *
32: * @see ExternalContext#getRequestParameterMap()
33: * @see FlowExecutor#launch(String, ExternalContext)
34: *
35: * @author Keith Donald
36: */
37: public class RequestParameterInputMapper implements AttributeMapper {
38: public void map(Object source, Object target, MappingContext context) {
39: ExternalContext externalContext = (ExternalContext) source;
40: MutableAttributeMap inputMap = (MutableAttributeMap) target;
41: inputMap.putAll(externalContext.getRequestParameterMap()
42: .asAttributeMap());
43: }
44: }
|