@ Override protected void processInclude ( InterpretationContext ic , URL url ) throws JoranException { InputStream in = openURL ( url ) ; try { if ( in != null ) { // add URL to watch list in case the "scan" flag is true, in // which case this URL is periodically checked for changes ConfigurationWatchListUtil . addToWatchList ( getContext ( ) , url ) ; // parse the include SaxEventRecorder recorder = createRecorder ( in , url ) ; recorder . setContext ( getContext ( ) ) ; recorder . recordEvents ( in ) ; // remove the leading/trailing tags (<included> or <configuration>) trimHeadAndTail ( recorder ) ; ic . getJoranInterpreter ( ) . getEventPlayer ( ) . addEventsDynamically ( recorder . getSaxEventList ( ) , this . eventOffset ) ; } } catch ( JoranException e ) { optionalWarning ( "Failed processing [" + url . toString ( ) + "]" , e ) ; } finally { close ( in ) ; } }
Processes an include