package org.webpieces.devrouter.api; import org.webpieces.compiler.api.CompileConfig; import org.webpieces.router.api.RouterConfig; import org.webpieces.router.api.RouterSvcFactory; import org.webpieces.router.api.RouterService; import org.webpieces.util.file.VirtualFile; import org.webpieces.util.security.SecretKeyInfo; import com.google.inject.Guice; import com.google.inject.Injector; import com.google.inject.Module; import com.google.inject.util.Modules; public class DevRouterFactory { protected DevRouterFactory() {} public static RouterService create(VirtualFile routersFile, CompileConfig compileConfig) { return create(new RouterConfig().setMetaFile(routersFile).setSecretKey(SecretKeyInfo.generateForTest()), compileConfig); } public static RouterService create(RouterConfig config, CompileConfig compileConfig) { Module devModules = Modules.override(RouterSvcFactory.getModules(config)).with(new DevRouterModule(compileConfig)); Injector injector = Guice.createInjector(devModules); RouterService svc = injector.getInstance(RouterService.class); return svc; } }