try
{
Class<ApplicationAssembler> appAssClass = ( Class<ApplicationAssembler> ) classloader.loadClass( appAssClassName );
ApplicationAssembler assembler = appAssClass.newInstance();
if( assembler instanceof SingletonAssembler )
{
controllersLayerName = PlayQiSingle.LAYER;
controllersModuleName = PlayQiSingle.MODULE;
}
RuntimeFactory runtimeFactory = ( RuntimeFactory ) classloader.loadClass(
RuntimeFactory.StandaloneApplicationRuntimeFactory.class.getName() ).newInstance();
qi4j = runtimeFactory.createRuntime();
if( qi4j == null )
{
throw new PlayQiException( "Can not create Qi4j without a Qi4j Runtime." );
}
ApplicationAssembly assembly = assembler.assemble( qi4j.applicationAssemblyFactory() );
if( assembly == null )
{
throw new PlayQiException( "Application assembler did not return any ApplicationAssembly" );
}