public void execute( Environment env, Map map, TemplateModel[] loopVars, TemplateDirectiveBody body) throws TemplateException, IOException { Iterator<?> it = map.entrySet().iterator(); String name = ""; String id = ""; String clazz = ""; String defaultvalue = ""; String nid = ""; String disabled = ""; String type = ""; String noselect = ""; int typeid = 0; boolean plantext = false; while (it.hasNext()) { Map.Entry<?, ?> entry = (Map.Entry) it.next(); String paramName = entry.getKey().toString(); TemplateModel paramValue = (TemplateModel) entry.getValue(); if (paramName.equals("plantext")) { if (!(paramValue instanceof TemplateBooleanModel)) { throw new TemplateModelException( "The \"" + plantext + "\" parameter " + "must be a boolean."); } plantext = ((TemplateBooleanModel) paramValue).getAsBoolean(); } if (paramName.equals("name")) { name = paramValue.toString(); } else if (paramName.equals("id")) { id = paramValue.toString(); } else if (paramName.equals("class")) { clazz = paramValue.toString(); } else if (paramName.equals("default")) { defaultvalue = paramValue.toString(); } else if (paramName.equals("nid")) { nid = paramValue.toString(); } else if (paramName.equals("disabled")) { disabled = paramValue.toString(); } else if (paramName.equals("noselect")) { noselect = paramValue.toString(); } else if (paramName.equals("type")) { type = paramValue.toString(); } else if (paramName.equals("typeid")) { if (!(paramValue instanceof TemplateNumberModel)) { throw new TemplateModelException("The \"typeid\" parameter must be a number."); } typeid = ((TemplateNumberModel) paramValue).getAsNumber().intValue(); } } String result = ""; if (plantext) result = plaintext(name, id, clazz, defaultvalue, typeid, nid, disabled, type, noselect); else { result = html(name, id, clazz, defaultvalue, typeid, nid, disabled, type, noselect); } Writer out = env.getOut(); out.write(result); }
public Collection<Entity<?>> convert(TemplateHashModelEx hash, String... ignore) { List<Entity<?>> entities = new LinkedList<Entity<?>>(); List<String> ignoreList = Arrays.asList(ignore); TemplateCollectionModel keys; try { keys = hash.keys(); for (TemplateModelIterator iterator = keys.iterator(); iterator.hasNext(); ) { TemplateModel model = iterator.next(); String key = model.toString(); if (!ignoreList.contains(key)) { entities.add(new SimpleEntityModel(key, hash.get(key).toString())); } } Collections.sort(entities, new EntityComparator()); return entities; } catch (TemplateModelException e) { throw new RuntimeException(e); } }