*/
protected void parseFilters(Element element, Handler appender)
throws Exception
{
String clazz = subst(element.getAttribute(CLASS_ATTR));
Filter filter = (Filter) instantiateByClassName(clazz,
Filter.class, null);
if (filter != null)
{
Properties beanProps = new Properties();
NodeList children = element.getChildNodes();
final int length = children.getLength();
for (int loop = 0; loop < length; loop++)
{
Node currentNode = children.item(loop);
if (currentNode.getNodeType() == Node.ELEMENT_NODE)
{
Element currentElement = (Element) currentNode;
String tagName = currentElement.getTagName();
if (tagName.equals(PARAM_TAG))
{
setParameter(currentElement, beanProps);
}
}
}
PropertyEditors.mapJavaBeanProperties(filter, beanProps);
debug("Setting filter of type [" + filter.getClass()
+ "] to appender named [" + appender + "].");
appender.setFilter(filter);
}
}