You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2006/11/13 09:13:10 UTC
svn commit: r474185 - in /myfaces/tobago/trunk:
theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/
tobago-tool/gendoc/src/main/java/org/apache/myfaces/tobago/example/reference/
tobago-tool/gendoc/src/main...
Author: lofwyr
Date: Mon Nov 13 00:13:10 2006
New Revision: 474185
URL: http://svn.apache.org/viewvc?view=rev&rev=474185
Log:
Resolving TOBAGO-187
Added:
myfaces/tobago/trunk/tobago-tool/gendoc/src/main/java/org/apache/myfaces/tobago/example/reference/OnOffConverter.java
myfaces/tobago/trunk/tobago-tool/gendoc/src/main/java/org/apache/myfaces/tobago/example/reference/SelectBooleanCheckboxController.java
Modified:
myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectBooleanCheckboxRenderer.java
myfaces/tobago/trunk/tobago-tool/gendoc/src/main/webapp/WEB-INF/faces-config.xml
myfaces/tobago/trunk/tobago-tool/gendoc/src/main/webapp/screenshot/selectBooleanCheckbox.jsp
Modified: myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectBooleanCheckboxRenderer.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectBooleanCheckboxRenderer.java?view=diff&rev=474185&r1=474184&r2=474185
==============================================================================
--- myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectBooleanCheckboxRenderer.java (original)
+++ myfaces/tobago/trunk/theme/scarborough/src/main/java/org/apache/myfaces/tobago/renderkit/html/scarborough/standard/tag/SelectBooleanCheckboxRenderer.java Mon Nov 13 00:13:10 2006
@@ -31,34 +31,46 @@
import org.apache.myfaces.tobago.renderkit.html.HtmlConstants;
import org.apache.myfaces.tobago.renderkit.html.HtmlAttributes;
import org.apache.myfaces.tobago.webapp.TobagoResponseWriter;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
import javax.faces.component.UIComponent;
import javax.faces.component.UIInput;
import javax.faces.component.UISelectBoolean;
import javax.faces.context.FacesContext;
+import javax.faces.convert.ConverterException;
import java.io.IOException;
public class SelectBooleanCheckboxRenderer extends RendererBase {
+ private static final Log LOG = LogFactory.getLog(SelectBooleanCheckboxRenderer.class);
+
public void decode(FacesContext facesContext, UIComponent component) {
- if (ComponentUtil.isOutputOnly(component)) {
+
+ UIInput input = (UIInput) component;
+
+ if (ComponentUtil.isOutputOnly(input)) {
return;
}
- UIInput uiInput = (UIInput) component;
+ String newValue = (String) facesContext.getExternalContext()
+ .getRequestParameterMap().get(input.getClientId(facesContext));
- String newValue = (String)
- facesContext.getExternalContext().getRequestParameterMap()
- .get(uiInput.getClientId(facesContext));
- if (newValue != null
- && (newValue.equalsIgnoreCase("on") || newValue.equalsIgnoreCase("yes")
- || newValue.equalsIgnoreCase("true"))) {
- uiInput.setSubmittedValue(Boolean.TRUE);
- } else {
- uiInput.setSubmittedValue(Boolean.FALSE);
+ if (LOG.isDebugEnabled()) {
+ LOG.debug("new value = '" + newValue + "'");
}
+
+// input.setSubmittedValue("true".equals(newValue) ? Boolean.TRUE : Boolean.FALSE);
+ input.setSubmittedValue("true".equals(newValue) ? "true": "false");
}
+// public Object getConvertedValue(
+// FacesContext context, UIComponent component, Object submittedValue)
+// throws ConverterException {
+//
+// return Boolean.valueOf((String)submittedValue);
+// }
+//
public void encodeEnd(FacesContext facesContext,
UIComponent uiComponent) throws IOException {
@@ -84,8 +96,8 @@
writer.startElement(HtmlConstants.TD, null);
}
- Boolean currentValue = (Boolean) component.getValue();
- boolean checked = currentValue != null && currentValue.booleanValue();
+ String currentValue = getCurrentValue(facesContext, component);
+ boolean checked = "true".equals(currentValue);
writer.startElement(HtmlConstants.INPUT, component);
writer.writeAttribute(HtmlAttributes.TYPE, "checkbox", null);
Added: myfaces/tobago/trunk/tobago-tool/gendoc/src/main/java/org/apache/myfaces/tobago/example/reference/OnOffConverter.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-tool/gendoc/src/main/java/org/apache/myfaces/tobago/example/reference/OnOffConverter.java?view=auto&rev=474185
==============================================================================
--- myfaces/tobago/trunk/tobago-tool/gendoc/src/main/java/org/apache/myfaces/tobago/example/reference/OnOffConverter.java (added)
+++ myfaces/tobago/trunk/tobago-tool/gendoc/src/main/java/org/apache/myfaces/tobago/example/reference/OnOffConverter.java Mon Nov 13 00:13:10 2006
@@ -0,0 +1,28 @@
+package org.apache.myfaces.tobago.example.reference;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import javax.faces.convert.Converter;
+import javax.faces.convert.ConverterException;
+import javax.faces.context.FacesContext;
+import javax.faces.component.UIComponent;
+
+/**
+ * User: lofwyr
+ * Date: 07.11.2006 13:36:09
+ */
+public class OnOffConverter implements Converter {
+
+ private static final Log LOG = LogFactory.getLog(OnOffConverter.class);
+
+ public Object getAsObject(FacesContext context, UIComponent component, String value) throws ConverterException {
+ LOG.info("getAsObject" + value);
+ return Boolean.parseBoolean(value) ? "on" : "off";
+ }
+
+ public String getAsString(FacesContext context, UIComponent component, Object value) throws ConverterException {
+ LOG.info("getAsString" + value);
+ return "on".equals(value) ? Boolean.TRUE.toString() : Boolean.FALSE.toString();
+ }
+}
Added: myfaces/tobago/trunk/tobago-tool/gendoc/src/main/java/org/apache/myfaces/tobago/example/reference/SelectBooleanCheckboxController.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-tool/gendoc/src/main/java/org/apache/myfaces/tobago/example/reference/SelectBooleanCheckboxController.java?view=auto&rev=474185
==============================================================================
--- myfaces/tobago/trunk/tobago-tool/gendoc/src/main/java/org/apache/myfaces/tobago/example/reference/SelectBooleanCheckboxController.java (added)
+++ myfaces/tobago/trunk/tobago-tool/gendoc/src/main/java/org/apache/myfaces/tobago/example/reference/SelectBooleanCheckboxController.java Mon Nov 13 00:13:10 2006
@@ -0,0 +1,24 @@
+package org.apache.myfaces.tobago.example.reference;
+
+public class SelectBooleanCheckboxController {
+
+ private String onOffString = "on";
+ private boolean normalBoolean = true;
+
+ public String getOnOffString() {
+ return onOffString;
+ }
+
+ public void setOnOffString(String onOffString) {
+ this.onOffString = onOffString;
+ }
+
+ public boolean isNormalBoolean() {
+ return normalBoolean;
+ }
+
+ public void setNormalBoolean(boolean normalBoolean) {
+ this.normalBoolean = normalBoolean;
+ }
+
+}
Modified: myfaces/tobago/trunk/tobago-tool/gendoc/src/main/webapp/WEB-INF/faces-config.xml
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-tool/gendoc/src/main/webapp/WEB-INF/faces-config.xml?view=diff&rev=474185&r1=474184&r2=474185
==============================================================================
--- myfaces/tobago/trunk/tobago-tool/gendoc/src/main/webapp/WEB-INF/faces-config.xml (original)
+++ myfaces/tobago/trunk/tobago-tool/gendoc/src/main/webapp/WEB-INF/faces-config.xml Mon Nov 13 00:13:10 2006
@@ -25,6 +25,11 @@
<faces-config>
+ <converter>
+ <converter-id>org.apache.myfaces.tobago.example.reference.OnOffConverter</converter-id>
+ <converter-class>org.apache.myfaces.tobago.example.reference.OnOffConverter</converter-class>
+ </converter>
+
<application>
<locale-config>
<default-locale>en</default-locale>
@@ -48,6 +53,12 @@
<managed-bean>
<managed-bean-name>reference</managed-bean-name>
<managed-bean-class>org.apache.myfaces.tobago.example.reference.Controller</managed-bean-class>
+ <managed-bean-scope>session</managed-bean-scope>
+ </managed-bean>
+
+ <managed-bean>
+ <managed-bean-name>selectBooleanCheckboxController</managed-bean-name>
+ <managed-bean-class>org.apache.myfaces.tobago.example.reference.SelectBooleanCheckboxController</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean>
Modified: myfaces/tobago/trunk/tobago-tool/gendoc/src/main/webapp/screenshot/selectBooleanCheckbox.jsp
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-tool/gendoc/src/main/webapp/screenshot/selectBooleanCheckbox.jsp?view=diff&rev=474185&r1=474184&r2=474185
==============================================================================
--- myfaces/tobago/trunk/tobago-tool/gendoc/src/main/webapp/screenshot/selectBooleanCheckbox.jsp (original)
+++ myfaces/tobago/trunk/tobago-tool/gendoc/src/main/webapp/screenshot/selectBooleanCheckbox.jsp Mon Nov 13 00:13:10 2006
@@ -26,12 +26,15 @@
<jsp:body>
<tc:box>
<f:facet name="layout">
- <tc:gridLayout rows="fixed;fixed;fixed;fixed;1*"/>
+ <tc:gridLayout rows="fixed;fixed;fixed;fixed;fixed;fixed;fixed;fixed;1*"/>
</f:facet>
+ <tc:messages/>
+
<%-- code-sniplet-start id="selectBooleanCheckbox" --%>
- <tc:selectBooleanCheckbox label="_Letter"/>
+ <%--<tc:selectBooleanCheckbox label="_Letter"/>--%>
<%-- code-sniplet-end id="selectBooleanCheckbox" --%>
+<%--
<tc:selectBooleanCheckbox label="_Phone"/>
<tc:selectBooleanCheckbox label="_eMail"/>
<tc:selectBooleanCheckbox label="_Fax" >
@@ -39,6 +42,19 @@
<tc:command />
</f:facet>
</tc:selectBooleanCheckbox>
+--%>
+ <tc:cell/>
+ <tc:cell/>
+ <tc:cell/>
+ <tc:cell/>
+
+ <tc:selectBooleanCheckbox label="Value is Boolean" value="#{selectBooleanCheckboxController.normalBoolean}"/>
+
+ <tc:selectBooleanCheckbox label="Converter for Boolean" value="#{selectBooleanCheckboxController.onOffString}">
+ <f:converter converterId="org.apache.myfaces.tobago.example.reference.OnOffConverter"/>
+ </tc:selectBooleanCheckbox>
+
+ <tc:button label="submit" action="submit" />
<tc:cell/>