use of org.webpieces.router.impl.model.RouterInfo 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());
}
Aggregations