// -------------------------------------------------------------------
// load the bootstrap schemas to pre-load into the partition
// -------------------------------------------------------------------
// always include these core bootstrap schemas
BootstrapSchema schema = new SystemSchema();
schemas.put( schema.getSchemaName(), schema );
schema = new ApacheSchema();
schemas.put( schema.getSchemaName(), schema );
schema = new ApachemetaSchema();
schemas.put( schema.getSchemaName(), schema );
schema = new CoreSchema();
schemas.put( schema.getSchemaName(), schema );
getLog().info( "------------------------------------------------------------------------" );
getLog().info( "Found bootstrap schemas: " );
getLog().info( "------------------------------------------------------------------------" );
getLog().info( "" );
// start loading other schemas from the plugin's configuration section
ClassLoader parent = getClass().getClassLoader();
URL[] urls = new URL[classpathElements.size()];
int i = 0;
for ( String classpathElement : classpathElements )
{
try
{
urls[i++] = new File( classpathElement ).toURI().toURL();
}
catch ( MalformedURLException e )
{
throw ( MojoFailureException ) new MojoFailureException( "Could not construct classloader: " )
.initCause( e );
}
}
ClassLoader cl = new URLClassLoader( urls, parent );
for ( String bootstrapSchemaClass : bootstrapSchemaClasses )
{
try
{
Class<?> schemaClass = cl.loadClass( bootstrapSchemaClass );
schema = ( BootstrapSchema ) schemaClass.newInstance();
schemas.put( schema.getSchemaName(), schema );
}
catch ( ClassNotFoundException e )
{
getLog().info( "ClassLoader " + getClass().getClassLoader() );
getLog()