}
List<Handler> handlers = new ArrayList<Handler>();
for ( WebApp w : webApps )
{
WebAppContext webapp = new WebAppContext();
webapp.setWar( w.getWarFile() );
webapp.setContextPath( w.getContextPath() );
handlers.add( webapp );
webapp.setParentLoaderPriority( true );
}
// add web apps from the webapps directory inside directory service's working directory
// the exploded or archived wars
File webAppDir = new File( dirService.getInstanceLayout().getInstanceDirectory(), "webapps" );
FilenameFilter webAppFilter = new FilenameFilter()
{
public boolean accept( File dir, String name )
{
return name.endsWith( ".war" );
}
};
if ( webAppDir.exists() )
{
File[] appList = webAppDir.listFiles( webAppFilter );
for ( File app : appList )
{
WebAppContext webapp = new WebAppContext();
webapp.setWar( app.getAbsolutePath() );
String ctxName = app.getName();
int pos = ctxName.indexOf( '.' );
if ( pos > 0 )
{
ctxName = ctxName.substring( 0, pos );
}
webapp.setContextPath( "/" + ctxName );
handlers.add( webapp );
webapp.setParentLoaderPriority( true );
}
}
jetty.setHandlers( handlers.toArray( new Handler[handlers.size()] ) );