private void configureTag(Tag tag, Map attributes) throws JellyException { if ( tag instanceof DynaTag ) { DynaTag dynaTag = (DynaTag) tag; for (Object o : attributes.entrySet()) { Entry entry = (Entry) o; String name = (String) entry.getKey(); if(name.equals("xmlns")) continue; // we'll process this by ourselves Object value = getValue(entry, dynaTag.getAttributeType(name)); dynaTag.setAttribute(name, value); } } else { // treat the tag as a bean DynaBean dynaBean = new ConvertingWrapDynaBean( tag ); for (Object o : attributes.entrySet()) { Entry entry = (Entry) o; String name = (String) entry.getKey(); if(name.equals("xmlns")) continue; // we'll process this by ourselves DynaProperty property = dynaBean.getDynaClass().getDynaProperty(name); if (property == null) { throw new JellyException("This tag does not understand the '" + name + "' attribute"); } dynaBean.set(name, getValue(entry,property.getType())); } } }
value = expression.evaluateRecurse(context); dynaTag.setAttribute(name, value);
dynaTag.setAttribute(name, value);
value = expression.evaluateRecurse(context); dynaTag.setAttribute(name, value);
value = expression.evaluateRecurse(context); dynaTag.setAttribute(name, value);
dynaTag.setAttribute(name, value);
value = expression.evaluateRecurse(context); dynaTag.setAttribute(name, value);
dynaTag.setAttribute(name, value);
dynaTag.setAttribute(name, value);