- Revision
- 219
- Author
- gas
- Date
- 2007-07-03 08:56:46 -0500 (Tue, 03 Jul 2007)
Log Message
fixing bugs with null values
Modified Paths
- trunk/extensions/taglib/src/main/java/org/codehaus/waffle/taglib/form/BasicSelectTag.java
- trunk/extensions/taglib/src/main/java/org/codehaus/waffle/taglib/writer/ComboBoxTypeWriter.java
- trunk/extensions/taglib-acceptance/src/main/webapp/select.jsp
- trunk/extensions/taglib-acceptance/src/test/java/org/codehaus/waffle/taglib/acceptance/SelectTest.java
Diff
Modified: trunk/extensions/taglib/src/main/java/org/codehaus/waffle/taglib/form/BasicSelectTag.java (218 => 219)
--- trunk/extensions/taglib/src/main/java/org/codehaus/waffle/taglib/form/BasicSelectTag.java 2007-07-03 13:45:01 UTC (rev 218) +++ trunk/extensions/taglib/src/main/java/org/codehaus/waffle/taglib/form/BasicSelectTag.java 2007-07-03 13:56:46 UTC (rev 219) @@ -92,12 +92,16 @@ Object itemKey = entry.getKey(); Object value = entry.getValue(); boolean isSelected; - if (!(itemKey instanceof Number)) { + if(itemKey == null) { + isSelected = (selected == null); + } else if (!(itemKey instanceof Number)) { isSelected = itemKey.equals(selected); + } else if(selected == null) { + isSelected = (itemKey == null); } else { isSelected = ((Number) itemKey).longValue() == ((Number)selected).longValue(); } - addItem(out, itemKey.toString(), isSelected); + addItem(out, itemKey == null ? "" : itemKey.toString(), isSelected); pageContext.setAttribute(getIterationVarKey(), value); }
Modified: trunk/extensions/taglib/src/main/java/org/codehaus/waffle/taglib/writer/ComboBoxTypeWriter.java (218 => 219)
--- trunk/extensions/taglib/src/main/java/org/codehaus/waffle/taglib/writer/ComboBoxTypeWriter.java 2007-07-03 13:45:01 UTC (rev 218) +++ trunk/extensions/taglib/src/main/java/org/codehaus/waffle/taglib/writer/ComboBoxTypeWriter.java 2007-07-03 13:56:46 UTC (rev 219) @@ -2,39 +2,37 @@ import org.codehaus.waffle.taglib.form.Attributes; -public class ComboBoxTypeWriter implements TypeWriter{ +public class ComboBoxTypeWriter implements TypeWriter { public String getOpeningItem(String key, boolean selected) { - String output = "<option value=\"" + key + "\""; - if (selected) { - output += " selected"; - } - output += ">"; - return output; + String output = "<option value=\"" + key + "\""; + if (selected) { + output += " selected"; + } + output += ">"; + return output; } public String getEmptyTag() { - return ""; + return ""; } public String getOpeningTag(Attributes attributes) { - return "<select " + attributes.asString() + ">"; + return "<select " + attributes.asString() + ">"; } public String getClosingTag(boolean first) { - String output = ""; - if (!first) { - output += "</option>"; - } - output += "</select>"; - - return output; + String output = ""; + if (!first) { + output += "</option>"; + } + output += "</select>"; + + return output; } public String getClosingItem() { - return "</option>"; + return "</option>"; } - - }
Modified: trunk/extensions/taglib-acceptance/src/main/webapp/select.jsp (218 => 219)
--- trunk/extensions/taglib-acceptance/src/main/webapp/select.jsp 2007-07-03 13:45:01 UTC (rev 218) +++ trunk/extensions/taglib-acceptance/src/main/webapp/select.jsp 2007-07-03 13:56:46 UTC (rev 219) @@ -15,6 +15,7 @@ lista.add(new Product(1,"trabant")); lista.add(new Product(2,"wartburg")); lista.add(new Product(3,"skoda")); + lista.add(new Product(null, "nasty")); pageContext.setAttribute("lista",lista); %> @@ -33,6 +34,14 @@ <br> <br> +test selected=null <br> +<w:select var="produto" name="produto.id.selected.null" items="${lista}" value="id" selected="${null}"> + ${produto.name} +</w:select> + +<br> +<br> + w:select type="combo": <br> <w:select var="produto" name="produto.id" items="${lista}" value="id" selected="${2}" addEmpty="true"> ${produto.name}
Modified: trunk/extensions/taglib-acceptance/src/test/java/org/codehaus/waffle/taglib/acceptance/SelectTest.java (218 => 219)
--- trunk/extensions/taglib-acceptance/src/test/java/org/codehaus/waffle/taglib/acceptance/SelectTest.java 2007-07-03 13:45:01 UTC (rev 218) +++ trunk/extensions/taglib-acceptance/src/test/java/org/codehaus/waffle/taglib/acceptance/SelectTest.java 2007-07-03 13:56:46 UTC (rev 219) @@ -15,4 +15,9 @@ checkForVerificationErrors(); } + public void testAcceptsNullAsSelectedValue() { + open("select.jsp"); + assertEquals("", selenium.getSelectedId("produto.id.selected.null")); + } + }
To unsubscribe from this list please visit:
