/** {@inheritDoc} */ public void doFilter(XMLObject metadata) throws FilterException { SignableXMLObject signableMetadata = (SignableXMLObject) metadata; if (!signableMetadata.isSigned()){ if (getRequireSignature()) { throw new FilterException("Metadata root element was unsigned and signatures are required."); } } if (signableMetadata instanceof EntityDescriptor) { processEntityDescriptor((EntityDescriptor) signableMetadata); } else if (signableMetadata instanceof EntitiesDescriptor) { processEntityGroup((EntitiesDescriptor) signableMetadata); } else { log.error("Internal error, metadata object was of an unsupported type: {}", metadata.getClass().getName()); } }
log.trace("Processing EntitiesDescriptor member: {}", entitiesChild.getName()); try { processEntityGroup(entitiesChild); } catch (FilterException e) { log.error("EntitiesDescriptor '{}' failed signature verification, removing from metadata provider",