private void subscribeToChanges(RouteRegistry routeRegistry) { subscribingRegistrations.add(routeRegistry.addRoutesChangeListener( event -> update(() -> applyChange(event)))); }
private void initErrorTargets() { if (!getConfiguration().getExceptionHandlers().isEmpty()) { return; } ServletContext osgiServletContext = OSGiAccess.getInstance() .getOsgiServletContext(); if (osgiServletContext == null || !OSGiAccess.getInstance().hasInitializers()) { return; } OSGiDataCollector registry = (OSGiDataCollector) getInstance( osgiServletContext); if (registry.errorNavigationTargets.get() != null) { setErrorNavigationTargets( registry.errorNavigationTargets.get()); } }
private void setRoutes(List<RouteData> routes) { routes.forEach(routeData -> { setRoute(routeData.getUrl(), routeData.getNavigationTarget(), routeData.getParentLayouts()); routeData.getRouteAliases() .forEach(routeAliasData -> setRoute( routeAliasData.getUrl(), routeAliasData.getNavigationTarget(), routeAliasData.getParentLayouts())); }); } }
private static ApplicationRouteRegistry createRegistry( ServletContext context) { if (context != null && context == OSGiAccess.getInstance() .getOsgiServletContext()) { return new OSGiDataCollector(); } else if (OSGiAccess.getInstance().getOsgiServletContext() == null) { return new ApplicationRouteRegistry(); } OSGiRouteRegistry osgiRouteRegistry = new OSGiRouteRegistry(); OSGiDataCollector osgiDataCollector = (OSGiDataCollector) getInstance( OSGiAccess.getInstance().getOsgiServletContext()); osgiRouteRegistry.setRoutes(osgiDataCollector.getRegisteredRoutes()); osgiRouteRegistry.subscribeToChanges(osgiDataCollector); return osgiRouteRegistry; } }
@Override public Class<?> getPwaConfigurationClass() { initPwa(); return super.getPwaConfigurationClass(); }
@Override public Optional<ErrorTargetEntry> getErrorNavigationTarget( Exception exception) { initErrorTargets(); return super.getErrorNavigationTarget(exception); }
private void initPwa() { if (getConfiguration().getRoutes().isEmpty()) { return; } if (OSGiAccess.getInstance().hasInitializers()) { OSGiDataCollector registry = (OSGiDataCollector) getInstance( OSGiAccess.getInstance().getOsgiServletContext()); setPwaConfigurationClass(registry.getPwaConfigurationClass()); } }