r243 - in trunk/chorem-webmotion/src/main: java/org/wikitty/web/jsptag webapp/WEB-INF
Author: bpoussin Date: 2012-08-21 01:26:27 +0200 (Tue, 21 Aug 2012) New Revision: 243 Url: http://chorem.org/repositories/revision/chorem/243 Log: ajout du support de la presentation d'une collection de wikitty Modified: trunk/chorem-webmotion/src/main/java/org/wikitty/web/jsptag/WikittyDisplay.java trunk/chorem-webmotion/src/main/webapp/WEB-INF/wikitty.tld Modified: trunk/chorem-webmotion/src/main/java/org/wikitty/web/jsptag/WikittyDisplay.java =================================================================== --- trunk/chorem-webmotion/src/main/java/org/wikitty/web/jsptag/WikittyDisplay.java 2012-08-20 21:01:48 UTC (rev 242) +++ trunk/chorem-webmotion/src/main/java/org/wikitty/web/jsptag/WikittyDisplay.java 2012-08-20 23:26:27 UTC (rev 243) @@ -37,14 +37,18 @@ import java.math.BigDecimal; import java.text.DecimalFormat; import java.text.NumberFormat; +import java.util.ArrayList; +import java.util.Collection; import java.util.Date; import java.util.List; +import org.nuiton.wikitty.entities.BusinessEntityImpl; /** * Tag Support to display Wikitty fields. * * attribute: - * <li>wikitty: wikitty object + * <li>wikitty: wikitty object or BusinessEntityImpl + * <li>wikitties: Collection of wikitty object or BusinessEntityImpl (used if wikitty is null) * <li>fqfield: fully qualified field to display * <li>label: if not presente use field name, if empty or blank don't show label * <li>toString: String used to transforme Wikitty to string representation (overwrite default toString) @@ -57,16 +61,46 @@ public class WikittyDisplay extends SimpleTagSupport { protected Wikitty wikitty; + + protected Collection<Wikitty> wikitties; + protected String listStart = "<ul>"; + protected String listEnd = "</ul>"; + protected String listItemStart = "<li>"; + protected String listItemEnd = "</li>"; + protected String fqfield = ""; protected String label = null; protected String toString = null; protected String pattern = null; protected String subtype = null; - public void setWikitty(Wikitty wikitty) { - this.wikitty = wikitty; + public void setWikitty(Object o) { + this.wikitty = WikittyUtil.getWikitty(o); } + public void setWikitties(Collection<Object> os) { + wikitties = new ArrayList<Wikitty>(os.size()); + for (Object o : os) { + wikitties.add(WikittyUtil.getWikitty(o)); + } + } + + public void setListStart(String listStart) { + this.listStart = listStart; + } + + public void setListEnd(String listEnd) { + this.listEnd = listEnd; + } + + public void setListItemStart(String listItemStart) { + this.listItemStart = listItemStart; + } + + public void setListItemEnd(String listItemEnd) { + this.listItemEnd = listItemEnd; + } + public void setFqfield(String fqfield) { this.fqfield = fqfield; } @@ -89,16 +123,27 @@ @Override public void doTag() throws JspException, IOException { - if (wikitty == null) { - // si pas de wikitty, on a rien a faire - return; - } JspWriter output = getJspContext().getOut(); PageContext pageContext = (PageContext)getJspContext(); ServletContext servletContext = pageContext.getServletContext(); String contextPath = servletContext.getContextPath(); + if (wikitty != null) { + renderOneWikitty(output, contextPath, wikitty); + } else if (wikitties != null) { + /*{<%=listStart%>}*/ + for (Wikitty wikitty : wikitties) { + /*{<%=listItemStart%>}*/ + renderOneWikitty(output, contextPath, wikitty); + /*{<%=listItemEnd%>}*/ + } + /*{<%=listEnd%>}*/ + } + // si pas de wikitty, on a rien a faire + } + + protected void renderOneWikitty(JspWriter output, String contextPath, Wikitty wikitty) throws JspException, IOException { if (StringUtils.isBlank(fqfield)) { // pas de champs precisse, on doit afficher le wikitty lui meme if (StringUtils.isNotBlank(label)) { Modified: trunk/chorem-webmotion/src/main/webapp/WEB-INF/wikitty.tld =================================================================== (Binary files differ)
participants (1)
-
bpoussin@users.chorem.org