public void readConfig ( Reader reader ) throws IOException { try { XMLStreamReader xr = XMLInputFactory . newInstance ( ) . createXMLStreamReader ( reader ) ; try { while ( ! xr . isStartElement ( ) ) { xr . next ( ) ; } processStartElement ( xr , "simon-configuration" ) ; while ( true ) { if ( isStartTag ( xr , "callback" ) ) { manager . callback ( ) . addCallback ( processCallback ( xr ) ) ; } else if ( isStartTag ( xr , "filter-callback" ) ) { manager . callback ( ) . addCallback ( processFilterCallback ( xr ) ) ; } else if ( isStartTag ( xr , "simon" ) ) { processSimon ( xr ) ; } else { break ; } } assertEndTag ( xr , "simon-configuration" ) ; } finally { xr . close ( ) ; } } catch ( XMLStreamException e ) { manager . callback ( ) . onManagerWarning ( null , e ) ; } catch ( SimonException e ) { manager . callback ( ) . onManagerWarning ( e . getMessage ( ) , e ) ; } }
Reads config from provided buffered reader . Reader is not closed after this method finishes .