private List < MetadataResolver > buildSingleMetadataResolver ( final MetadataFilter metadataFilterChain , final Resource resource , final Document document ) { try { val metadataRoot = document . getDocumentElement ( ) ; val metadataProvider = new DOMMetadataResolver ( metadataRoot ) ; metadataProvider . setParserPool ( this . configBean . getParserPool ( ) ) ; metadataProvider . setFailFastInitialization ( true ) ; metadataProvider . setRequireValidMetadata ( this . requireValidMetadata ) ; metadataProvider . setId ( metadataProvider . getClass ( ) . getCanonicalName ( ) ) ; if ( metadataFilterChain != null ) { metadataProvider . setMetadataFilter ( metadataFilterChain ) ; } LOGGER . debug ( "Initializing metadata resolver for [{}]" , resource ) ; metadataProvider . initialize ( ) ; val resolvers = new ArrayList < MetadataResolver > ( ) ; resolvers . add ( metadataProvider ) ; return resolvers ; } catch ( final Exception ex ) { LOGGER . warn ( "Could not initialize metadata resolver. Resource will be ignored" , ex ) ; } return new ArrayList <> ( 0 ) ; }
Build single metadata resolver .