1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.myfaces.tobago.renderkit;
21
22 import org.slf4j.Logger;
23 import org.slf4j.LoggerFactory;
24 import org.apache.myfaces.tobago.util.ComponentUtils;
25
26 import javax.faces.component.UIComponent;
27 import javax.faces.component.UIInput;
28 import javax.faces.context.FacesContext;
29 import java.util.Map;
30
31 public class InputRendererBase extends LayoutComponentRendererBase {
32
33 private static final Logger LOG = LoggerFactory.getLogger(InputRendererBase.class);
34
35 public void decode(FacesContext context, UIComponent component) {
36 UIInput uiInput;
37 if (component instanceof UIInput) {
38 uiInput = (UIInput) component;
39 } else {
40 return;
41 }
42
43 if (ComponentUtils.isOutputOnly(component)) {
44 return;
45 }
46
47 String clientId = component.getClientId(context);
48
49 Map requestParameterMap = context.getExternalContext()
50 .getRequestParameterMap();
51 if (requestParameterMap.containsKey(clientId)) {
52 if (LOG.isDebugEnabled()) {
53 LOG.debug("clientId = '" + clientId + "'");
54 LOG.debug("requestParameterMap.get(clientId) = '"
55 + requestParameterMap.get(clientId) + "'");
56 LOG.debug("requestParameterMap.get(clientId).getClass().getName() = '"
57 + requestParameterMap.get(clientId).getClass().getName() + "'");
58 }
59 String newValue = (String) requestParameterMap.get(clientId);
60 uiInput.setSubmittedValue(newValue);
61 }
62 }
63 }