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.UISelectOne;
28 import javax.faces.context.FacesContext;
29
30 public abstract class SelectOneRendererBase extends InputRendererBase {
31
32 private static final Logger LOG = LoggerFactory.getLogger(SelectOneRendererBase.class);
33
34 public void decode(FacesContext facesContext, UIComponent component) {
35 if (ComponentUtils.isOutputOnly(component)) {
36 return;
37 }
38 if (component instanceof UISelectOne) {
39 UISelectOne uiSelectOne = (UISelectOne) component;
40
41 String clientId = uiSelectOne.getClientId(facesContext);
42 Object newValue =
43 facesContext.getExternalContext().getRequestParameterMap().get(clientId);
44 if (LOG.isDebugEnabled()) {
45 LOG.debug("decode: key='" + clientId + "' value='" + newValue + "'");
46 }
47 uiSelectOne.setSubmittedValue(newValue);
48 }
49 }
50
51 }
52