use of org.webpieces.router.api.routing.Plugin in project webpieces by deanhiller.
the class RouteLoader method createInjector.
public Injector createInjector(WebAppMeta routerModule) {
List<Module> guiceModules = routerModule.getGuiceModules();
if (guiceModules == null)
guiceModules = new ArrayList<>();
guiceModules.add(new EmptyPluginModule());
Module module = Modules.combine(guiceModules);
List<Plugin> plugins = routerModule.getPlugins();
if (plugins != null) {
for (Plugin plugin : plugins) {
List<Module> modules = new ArrayList<>();
modules.addAll(plugin.getGuiceModules());
modules.add(module);
module = Modules.combine(modules);
}
}
if (config.getWebappOverrides() != null)
module = Modules.override(module).with(config.getWebappOverrides());
Injector injector = Guice.createInjector(module);
return injector;
}
use of org.webpieces.router.api.routing.Plugin in project webpieces by deanhiller.
the class RouteLoader method loadAllRoutes.
//protected abstract void verifyRoutes(Collection<Route> allRoutes);
public void loadAllRoutes(WebAppMeta rm, Injector injector) {
log.info("adding routes");
ReverseRoutes reverseRoutes = new ReverseRoutes(config);
//routerBuilder = new RouterBuilder("", new AllRoutingInfo(), reverseRoutes, controllerFinder, config.getUrlEncoding());
LogicHolder holder = new LogicHolder(reverseRoutes, controllerFinder, injector, config);
routerBuilder = new R1RouterBuilder(new RouterInfo(null, ""), new L1AllRouting(), holder, false);
invoker.init(reverseRoutes);
List<Routes> all = new ArrayList<>();
//the core application routes
all.addAll(rm.getRouteModules());
List<Plugin> plugins = rm.getPlugins();
if (plugins != null) {
for (Plugin plugin : plugins) {
all.addAll(plugin.getRouteModules());
}
}
for (Routes module : all) {
AbstractRouteBuilder.currentPackage.set(new RouteModuleInfo(module));
module.configure(routerBuilder);
AbstractRouteBuilder.currentPackage.set(null);
}
log.info("added all routes to router. Applying Filters");
reverseRoutes.finalSetup();
routerBuilder.applyFilters(rm);
Collection<RouteMeta> metas = reverseRoutes.getAllRouteMetas();
for (RouteMeta m : metas) {
controllerFinder.loadFiltersIntoMeta(m, m.getFilters(), true);
}
routerBuilder.loadNotFoundAndErrorFilters();
log.info("all filters applied");
compressionCacheSetup.setupCache(routerBuilder.getStaticRoutes());
}
use of org.webpieces.router.api.routing.Plugin in project webpieces by deanhiller.
the class DeveloperMeta method getPlugins.
@Override
public List<Plugin> getPlugins() {
List<Plugin> prodPlugins = prodMeta.getPlugins();
List<Plugin> devPlugins = Lists.newArrayList(//This is only for the development server to expose a GUI to use http://localhost:9000/@db
new H2DbPlugin());
prodPlugins.addAll(devPlugins);
return prodPlugins;
}
Aggregations