public final List < Throwable > validate ( ) { List < Throwable > validationErrors = new ArrayList <> ( ) ; this . accessAssertion . validate ( validationErrors , this ) ; for ( String jdbcDriver : this . jdbcDrivers ) { try { Class . forName ( jdbcDriver ) ; } catch ( ClassNotFoundException e ) { try { Configuration . class . getClassLoader ( ) . loadClass ( jdbcDriver ) ; } catch ( ClassNotFoundException e1 ) { validationErrors . add ( new ConfigurationException ( String . format ( "Unable to load JDBC driver: %s ensure that the web application has the jar " + "on its classpath" , jdbcDriver ) ) ) ; } } } if ( this . configurationFile == null ) { validationErrors . add ( new ConfigurationException ( "Configuration file is field on configuration " + "object is null" ) ) ; } if ( this . templates . isEmpty ( ) ) { validationErrors . add ( new ConfigurationException ( "There are not templates defined." ) ) ; } for ( Template template : this . templates . values ( ) ) { template . validate ( validationErrors , this ) ; } for ( HttpProxy proxy : this . proxies ) { proxy . validate ( validationErrors , this ) ; } try { ColorParser . toColor ( this . opaqueTileErrorColor ) ; } catch ( RuntimeException ex ) { validationErrors . add ( new ConfigurationException ( "Cannot parse opaqueTileErrorColor" , ex ) ) ; } try { ColorParser . toColor ( this . transparentTileErrorColor ) ; } catch ( RuntimeException ex ) { validationErrors . add ( new ConfigurationException ( "Cannot parse transparentTileErrorColor" , ex ) ) ; } if ( smtp != null ) { smtp . validate ( validationErrors , this ) ; } return validationErrors ; }
Validate that the configuration is valid .