r976 - in trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts: component tag
Author: mfortun Date: 2011-06-24 18:06:02 +0200 (Fri, 24 Jun 2011) New Revision: 976 Url: http://nuiton.org/repositories/revision/wikitty/976 Log: * preparation to completely support wikitty field Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/ExtensionFieldStrutsBean.java trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/WikittyFieldHandler.java trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/WikittyFieldTagBean.java trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/WikittyFieldTag.java Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/ExtensionFieldStrutsBean.java =================================================================== --- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/ExtensionFieldStrutsBean.java 2011-06-24 15:13:20 UTC (rev 975) +++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/ExtensionFieldStrutsBean.java 2011-06-24 16:06:02 UTC (rev 976) @@ -1,5 +1,8 @@ package org.nuiton.wikitty.struts.component; +import java.util.Collection; +import java.util.LinkedList; + public class ExtensionFieldStrutsBean { @@ -7,10 +10,17 @@ protected String type; protected Object value; protected String label; - - - - + protected Collection<Option> listOption; + + public ExtensionFieldStrutsBean() { + listOption = new LinkedList<ExtensionFieldStrutsBean.Option>(); + } + public Collection<Option> getListOption() { + return listOption; + } + public void setListOption(Collection<Option> listOption) { + this.listOption = listOption; + } public String getLabel() { return label; } @@ -36,4 +46,30 @@ this.value = value; } + + + public class Option { + + protected String valeur; + protected String description; + public String getValeur() { + return valeur; + } + public void setValeur(String valeur) { + this.valeur = valeur; + } + public String getDescription() { + return description; + } + public void setDescription(String description) { + this.description = description; + } + + public void addOption(Option opt){ + listOption.add(opt); + } + + + } + } Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/WikittyFieldHandler.java =================================================================== --- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/WikittyFieldHandler.java 2011-06-24 15:13:20 UTC (rev 975) +++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/WikittyFieldHandler.java 2011-06-24 16:06:02 UTC (rev 976) @@ -91,54 +91,14 @@ * included and excluded, it will not appear in the result */ - // parse include and exclude - String[] excludeTab = StringUtil.split(exclude, ","); - String[] includeTab = StringUtil.split(include, ","); - + + + //delegate construction of map + Map<String, List<String>> excludeMap = constructIncludeExcludeMap(exclude); + Map<String, List<String>> includeMap = constructIncludeExcludeMap(include); // if include is enable it change how to construct result - boolean includeEnable = includeTab.length != 0; + boolean includeEnable = includeMap.size() != 0; - Map<String, List<String>> excludeMap = new HashMap<String, List<String>>(); - Map<String, List<String>> includeMap = new HashMap<String, List<String>>(); - - // prepare list of excluded field and extension - for (String excludeIt : excludeTab) { - String[] extfield = StringUtil.split(excludeIt, "."); - if (extfield.length == 2) { - List<String> listFields = excludeMap.get(extfield[0]); - if (listFields == null) { - listFields = new LinkedList<String>(); - } - listFields.add(extfield[1]); - excludeMap.put(extfield[0], listFields); - - } else { - // TODO mfortun-2011-06-24 exception - } - - } - - // prepare list of included field and extension - if (includeEnable) { - - for (String includeIt : includeTab) { - String[] extfield = StringUtil.split(includeIt, "."); - if (extfield.length == 2) { - List<String> listFields = includeMap.get(extfield[0]); - if (listFields == null) { - listFields = new LinkedList<String>(); - } - listFields.add(extfield[1]); - includeMap.put(extfield[0], listFields); - - } else { - // TODO mfortun-2011-06-24 exception - } - - } - - } - for (WikittyExtension ext : wikitty.getExtensions()) { String extName = ext.getName(); @@ -215,6 +175,27 @@ } } + + for (Map.Entry<String, FieldSpecialisation> speEntry : field.entrySet()){ + ExtensionFieldStrutsBean obj = mapField.get(speEntry.getKey()); + FieldSpecialisation spe = speEntry.getValue(); + if( obj != null){ + + if (!"".equals(spe.getLabel())) { + obj.setLabel(spe.getLabel()); + } + if (!"".equals(spe.getType())){ + obj.setType(spe.getType()); + } + + + + } + + } + + + String[] fieldOrder = StringUtil.split(order, ","); /* @@ -240,4 +221,43 @@ return mapField.values(); } + protected enum fieldTypeSpecialization{ + wikitty, + fixed; + } + + + /** + * construct map for exclude or include template + * + * @param entry the attribut of the wikitty field tag exemple include="machin.*, truc.bob, truc.tt" + * @return a map with key the string before the dot and a list with the value after the dot example: + * [machin:[*], truc:[tt,bob]] + */ + protected Map<String,List<String>> constructIncludeExcludeMap(String entry){ + + String [] entryTab = StringUtil.split(entry,","); + + + Map<String,List<String>> result= new HashMap<String, List<String>>(); + + // prepare list of excluded field and extension + for (String excludeIt : entryTab) { + String[] extfield = StringUtil.split(excludeIt, "."); + if (extfield.length == 2) { + List<String> listFields = result.get(extfield[0]); + if (listFields == null) { + listFields = new LinkedList<String>(); + } + listFields.add(extfield[1]); + result.put(extfield[0], listFields); + + } else { + // TODO mfortun-2011-06-24 exception + } + + } + return result; + } + } Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/WikittyFieldTagBean.java =================================================================== --- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/WikittyFieldTagBean.java 2011-06-24 15:13:20 UTC (rev 975) +++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/component/WikittyFieldTagBean.java 2011-06-24 16:06:02 UTC (rev 976) @@ -49,12 +49,6 @@ this.specialize = specialize; } - public String getLabel() { - return label; - } - public void setLabel(String label) { - this.label = label; - } } Modified: trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/WikittyFieldTag.java =================================================================== --- trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/WikittyFieldTag.java 2011-06-24 15:13:20 UTC (rev 975) +++ trunk/wikitty-struts/src/main/java/org/nuiton/wikitty/struts/tag/WikittyFieldTag.java 2011-06-24 16:06:02 UTC (rev 976) @@ -82,6 +82,7 @@ spe.setCriteria(criteria); spe.setFixvalues(fixvalues); spe.setDescfields(descfields); + spe.setLabel(label); fieldtag.setSpecialize(spe); }
participants (1)
-
mfortun@users.nuiton.org