Author: ymartel Date: 2012-05-25 18:22:13 +0200 (Fri, 25 May 2012) New Revision: 161 Url: http://chorem.org/repositories/revision/chorem/161 Log: Use a select box for String Field with allowed Modified: trunk/chorem-webmotion/src/main/java/org/wikitty/web/jsptag/WikittyInput.java Modified: trunk/chorem-webmotion/src/main/java/org/wikitty/web/jsptag/WikittyInput.java =================================================================== --- trunk/chorem-webmotion/src/main/java/org/wikitty/web/jsptag/WikittyInput.java 2012-05-25 15:52:19 UTC (rev 160) +++ trunk/chorem-webmotion/src/main/java/org/wikitty/web/jsptag/WikittyInput.java 2012-05-25 16:22:13 UTC (rev 161) @@ -1,18 +1,6 @@ package org.wikitty.web.jsptag; -import java.io.IOException; -import java.math.BigDecimal; -import java.util.Date; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import javax.servlet.ServletContext; -import javax.servlet.jsp.JspException; -import javax.servlet.jsp.JspWriter; -import javax.servlet.jsp.PageContext; -import javax.servlet.jsp.tagext.DynamicAttributes; -import javax.servlet.jsp.tagext.SimpleTagSupport; import org.apache.commons.lang3.StringEscapeUtils; import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.time.DateFormatUtils; @@ -22,6 +10,19 @@ import org.nuiton.wikitty.entities.FieldType; import org.nuiton.wikitty.entities.Wikitty; +import javax.servlet.ServletContext; +import javax.servlet.jsp.JspException; +import javax.servlet.jsp.JspWriter; +import javax.servlet.jsp.PageContext; +import javax.servlet.jsp.tagext.DynamicAttributes; +import javax.servlet.jsp.tagext.SimpleTagSupport; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.Date; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + /** * * @author poussin @@ -96,6 +97,8 @@ case STRING: if (field.isCollection()) { inputCollectionString(output, contextPath, name, wikitty, field, extName, fieldName); + } else if (field.hasAllowed()){ + inputSelectString(output, contextPath, name, wikitty, field, extName, fieldName); } else { inputString(output, contextPath, name, wikitty, field, extName, fieldName); } @@ -162,7 +165,8 @@ Wikitty wikitty, FieldType field, String extName , String fieldName) throws JspException, IOException { String id = wikitty.getId() + "-" + extName + "-" + fieldName; - String value = wikitty.getFieldAsString(extName, fieldName); + String fieldValue = wikitty.getFieldAsString(extName, fieldName); + String value = fieldValue !=null ? fieldValue : ""; if ("monoline".equalsIgnoreCase(field.getSubtype())) { /*{<input id="text-<%=id%>" type="text" name="<%=name%>" value="<%=value%>"<%=getDynamicAttribute()%>/>}*/ if (field.hasChoiceQuery()) { @@ -183,6 +187,19 @@ } } + protected void inputSelectString(JspWriter output, String contextPath, String name, + Wikitty wikitty, FieldType field, String extName , String fieldName) + throws JspException, IOException { + String id = wikitty.getId() + "-" + extName + "-" + fieldName; + String value = wikitty.getFieldAsString(extName, fieldName); + /*{<select id="text-<%=id%>" type="text" name="<%=name%>" value="<%=value%>"<%=getDynamicAttribute()%> >}*/ + List<String> allowedValues = field.getAllowedAsList(); + for (String allowedValue : allowedValues) { + /*{<option value="<%=allowedValue%>"<%=getDynamicAttribute()%> ><%=allowedValue%></option>}*/ + } + /*{</select>}*/ + } + protected void inputCollectionString(JspWriter output, String contextPath, String name, Wikitty wikitty, FieldType field, String extName , String fieldName) throws JspException, IOException {