package com.processpuzzle.application.domain; import java.lang.reflect.Constructor; import javax.servlet.ServletContext; import org.springframework.core.io.ResourceLoader; import org.springframework.web.context.support.ServletContextResourceLoader; public class WebApplicationFactory extends ApplicationFactory { public static <A extends Application> A create( Class<A> applicationClass, String configurationDescriptorPath, ServletContext servletContext ) { ServletContextResourceLoader resourceLoader = new ServletContextResourceLoader( servletContext ); Class[] argumentClasses = new Class[] { String.class, ResourceLoader.class }; Object[] arguments = new Object[] { configurationDescriptorPath, resourceLoader }; Constructor<?> applicationConstructor = null; A newApplication = null; newApplication = instantiateApplication( applicationClass, configurationDescriptorPath, argumentClasses, arguments, applicationConstructor, newApplication ); return newApplication; } }