package org.wamblee.xmlrouter.impl; import java.util.logging.Level; import java.util.logging.Logger; import javax.xml.transform.dom.DOMSource; import org.wamblee.xmlrouter.common.Id; import org.wamblee.xmlrouter.config.Filter; public class RobustFilter implements Filter { private static final Logger LOGGER = Logger.getLogger(RobustFilter.class .getName()); private Id id; private Filter filter; public RobustFilter(Id aId, Filter aFilter) { id = aId; filter = aFilter; } @Override public boolean isAllowed(String aDocumentType, DOMSource aSource) { try { return filter.isAllowed(aDocumentType, aSource); } catch (Exception e) { LOGGER.log(Level.WARNING, "Filter " + id + " threw exception, assuming filter returns true", e); return true; } } }