public static void interceptorsForManagedService(AtmosphereFramework framework, List<Class<? extends AtmosphereInterceptor>> interceptors, List<AtmosphereInterceptor> l, boolean checkDuplicate) { for (Class<? extends AtmosphereInterceptor> i : interceptors) { if (!framework.excludedInterceptors().contains(i.getName()) && (!checkDuplicate || checkDefault(i))) { try { logger.info("Adding {}", i); l.add(framework.newClassInstance(AtmosphereInterceptor.class, i)); } catch (Throwable e) { logger.warn("", e); } } } }
public static void defaultManagedServiceInterceptors(AtmosphereFramework framework, List<AtmosphereInterceptor> l) { interceptorsForManagedService(framework, MANAGED_ATMOSPHERE_INTERCEPTORS, l, false); }
AnnotationUtil.defaultManagedServiceInterceptors(framework, l); atmosphereConfig(a.atmosphereConfig(), framework); filters(a.broadcastFilters(), framework); AtmosphereInterceptor aa = listeners(a.listeners(), framework); if (aa != null) { l.add(aa); AnnotationUtil.interceptorsForManagedService(framework, Arrays.asList(a.interceptors()), l); framework.addAtmosphereHandler(a.path(), handler, broadcaster(framework, a.broadcaster(), a.path()), l); } catch (Throwable e) { logger.warn("", e);
@Override public void handle(AtmosphereFramework framework, Class<Servlet> annotatedClass) { try { ReflectorServletProcessor r = framework.newClassInstance(ReflectorServletProcessor.class, ReflectorServletProcessor.class); r.setServletClassName(annotatedClass.getName()); LinkedList<AtmosphereInterceptor> l = new LinkedList<>(); MeteorService m = annotatedClass.getAnnotation(MeteorService.class); framework.setBroadcasterCacheClassName(m.broadcasterCache().getName()); String mapping = m.path(); atmosphereConfig(m.atmosphereConfig(), framework); filters(m.broadcastFilters(), framework); AtmosphereInterceptor aa = listeners(m.listeners(), framework); if (aa != null) { l.add(aa); } AnnotationUtil.interceptorsForHandler(framework, Arrays.asList(m.interceptors()), l); if (m.path().contains("{")) { l.addFirst(framework.newClassInstance(AtmosphereInterceptor.class, MeteorServiceInterceptor.class)); } framework.addAtmosphereHandler(mapping, r, broadcaster(framework, m.broadcaster(), m.path()), l); } catch (Throwable e) { logger.warn("", e); } }
@Override public void handle(AtmosphereFramework framework, Class<WebSocketHandler> annotatedClass) { try { WebSocketHandlerService m = annotatedClass.getAnnotation(WebSocketHandlerService.class); atmosphereConfig(m.atmosphereConfig(), framework); framework.addAtmosphereHandler(m.path(), AtmosphereFramework.REFLECTOR_ATMOSPHEREHANDLER).initWebSocket(); framework.setDefaultBroadcasterClassName(m.broadcaster().getName()); filters(m.broadcastFilters(), framework); final LinkedList<AtmosphereInterceptor> l = new LinkedList<AtmosphereInterceptor>(); AtmosphereInterceptor aa = listeners(m.listeners(), framework); if (aa != null) { l.add(aa); } AnnotationUtil.interceptorsForHandler(framework, Arrays.asList(m.interceptors()), l); framework.setBroadcasterCacheClassName(m.broadcasterCache().getName()); WebSocketProcessor p = WebSocketProcessorFactory.getDefault().getWebSocketProcessor(framework); framework.addAtmosphereHandler(m.path(), REFLECTOR_ATMOSPHEREHANDLER, l); p.registerWebSocketHandler(m.path(), new WebSocketProcessor.WebSocketHandlerProxy(broadcasterClass(framework, m.broadcaster()), framework.newClassInstance(WebSocketHandler.class, annotatedClass))); } catch (Throwable e) { logger.warn("", e); } }
framework.setBroadcasterCacheClassName(a.broadcasterCache().getName()); atmosphereConfig(a.atmosphereConfig(), framework); framework.setDefaultBroadcasterClassName(a.broadcaster().getName()); filters(a.broadcastFilters(), framework); AtmosphereInterceptor aa = listeners(a.listeners(), framework); if (aa != null) { l.add(aa); AnnotationUtil.interceptorsForHandler(framework, Arrays.asList(a.interceptors()), l); interceptors(a.interceptors(), framework);
webSocket.resource().setBroadcaster(AnnotationUtil.broadcaster(framework, p != null ? p.broadcasterClazz : w.broadcasterClazz, path)); } catch (Exception e) { logger.error("", e);
public static Broadcaster broadcaster(AtmosphereFramework framework, Class<? extends Broadcaster> broadcaster, String path) throws Exception { return framework.getBroadcasterFactory().lookup(broadcasterClass(framework, broadcaster), path, true); }
AtmosphereHandlerService a = annotatedClass.getAnnotation(AtmosphereHandlerService.class); atmosphereConfig(a.atmosphereConfig(), framework); filters(a.broadcastFilters(), framework); AtmosphereInterceptor aa = listeners(a.listeners(), framework); if (aa != null) { l.add(aa); AnnotationUtil.interceptorsForHandler(framework, Arrays.asList(a.interceptors()), l); framework.addAtmosphereHandler(a.path(), handler, broadcaster(framework, a.broadcaster(), a.path()), l); framework.setBroadcasterCacheClassName(a.broadcasterCache().getName()); } catch (Throwable e) {
public void handle(AtmosphereFramework framework, Class<Object> annotatedClass) { try { Class<?> aClass = annotatedClass; PushEndpoint a = aClass.getAnnotation(PushEndpoint.class); List<AtmosphereInterceptor> l = new ArrayList<AtmosphereInterceptor>(); Object c = framework.newClassInstance(Object.class, aClass); AtmosphereHandler handler = framework.newClassInstance( PushEndpointHandlerProxy.class, PushEndpointHandlerProxy.class).configure(framework.getAtmosphereConfig(), c); l.add(framework.newClassInstance(AtmosphereInterceptor.class, PushEndpointInterceptor.class)); Class<? extends Broadcaster> b = (Class<? extends Broadcaster>) IOUtils.loadClass( this.getClass(), framework.getDefaultBroadcasterClassName()); framework.addAtmosphereHandler(a.value(), handler, broadcaster(framework, b, a.value()), l); } catch (Throwable e) { LOG.warn("", e); } }
public static void interceptorsForManagedService(AtmosphereFramework framework, List<Class<? extends AtmosphereInterceptor>> interceptors, List<AtmosphereInterceptor> l) { interceptorsForManagedService(framework, interceptors, l, true); }