Search in sources :

Example 1 with LogicHolder

use of org.webpieces.router.impl.model.LogicHolder 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());
}
Also used : RouterInfo(org.webpieces.router.impl.model.RouterInfo) ArrayList(java.util.ArrayList) Routes(org.webpieces.router.api.routing.Routes) R1RouterBuilder(org.webpieces.router.impl.model.R1RouterBuilder) L1AllRouting(org.webpieces.router.impl.model.L1AllRouting) RouteModuleInfo(org.webpieces.router.impl.model.RouteModuleInfo) LogicHolder(org.webpieces.router.impl.model.LogicHolder) Plugin(org.webpieces.router.api.routing.Plugin)

Aggregations

ArrayList (java.util.ArrayList)1 Plugin (org.webpieces.router.api.routing.Plugin)1 Routes (org.webpieces.router.api.routing.Routes)1 L1AllRouting (org.webpieces.router.impl.model.L1AllRouting)1 LogicHolder (org.webpieces.router.impl.model.LogicHolder)1 R1RouterBuilder (org.webpieces.router.impl.model.R1RouterBuilder)1 RouteModuleInfo (org.webpieces.router.impl.model.RouteModuleInfo)1 RouterInfo (org.webpieces.router.impl.model.RouterInfo)1