public void visitListener(WebAppContext context, Descriptor descriptor, XmlParser.Node node) { String className = node.getString("listener-class", false, true); EventListener listener = null; try { if (className != null && className.length()> 0) { //Servlet Spec 3.0 p 74 //Duplicate listener declarations don't result in duplicate listener instances for (ListenerHolder holder : context.getServletHandler().getListeners()) { if (holder.getClassName().equals(className)) return; } ((WebDescriptor)descriptor).addClassName(className); ListenerHolder h = context.getServletHandler().newListenerHolder(new Source (Source.Origin.DESCRIPTOR, descriptor.getResource().toString())); h.setClassName(className); context.getServletHandler().addListener(h); context.getMetaData().setOrigin(className+".listener", descriptor); } } catch (Exception e) { LOG.warn("Could not instantiate listener " + className, e); return; } }
public void setListener(EventListener listener) { _listener = listener; setClassName(listener.getClass().getName()); setHeldClass(listener.getClass()); _extInstance=true; }
@Override public <T extends EventListener> void addListener(T t) { if (!isStarting()) throw new IllegalStateException(); if (!_enabled) throw new UnsupportedOperationException(); super.addListener(t); ListenerHolder holder = getServletHandler().newListenerHolder(Source.JAVAX_API); holder.setListener(t); getServletHandler().addListener(holder); }
public void setListeners(ListenerHolder[] listeners) { if (listeners!=null) for (ListenerHolder holder:listeners) holder.setServletHandler(this); updateBeans(_listeners,listeners); _listeners = listeners; }
public ListenerHolder newListenerHolder(Holder.Source source) { return new ListenerHolder(source); }
decorator.decorate(holder.getListener());
@Override public String toString() { return super.toString()+(_listener == null?"":": "+getClassName()); }
h.setHeldClass(clazz); _context.getServletHandler().addListener(h);
public void setListener(EventListener listener) { _listener = listener; setClassName(listener.getClass().getName()); setHeldClass(listener.getClass()); _extInstance=true; }
@Override public <T extends EventListener> void addListener(T t) { if (!isStarting()) throw new IllegalStateException(); if (!_enabled) throw new UnsupportedOperationException(); super.addListener(t); ListenerHolder holder = getServletHandler().newListenerHolder(Source.JAVAX_API); holder.setListener(t); getServletHandler().addListener(holder); }
public void setListeners(ListenerHolder[] listeners) { if (listeners!=null) for (ListenerHolder holder:listeners) holder.setServletHandler(this); updateBeans(_listeners,listeners); _listeners = listeners; }
public ListenerHolder newListenerHolder(Holder.Source source) { return new ListenerHolder(source); }
/** * Finish constructing handlers and link them together. * * @see org.eclipse.jetty.server.handler.ContextHandler#startContext() */ @Override protected void startContext() throws Exception { ServletContainerInitializerCaller sciBean = getBean(ServletContainerInitializerCaller.class); if (sciBean!=null) sciBean.start(); if (_servletHandler != null) { // Call decorators on all holders, and also on any EventListeners before // decorators are called on any other classes (like servlets and filters) if(_servletHandler.getListeners() != null) { for (ListenerHolder holder:_servletHandler.getListeners()) { _objFactory.decorate(holder.getListener()); } } } super.startContext(); // OK to Initialize servlet handler now that all relevant object trees have been started if (_servletHandler != null) _servletHandler.initialize(); }
out.openTag("listener",origin(md,e.getClassName() + ".listener")) .tag("listener-class",e.getClassName()) .closeTag();
public void setListener(EventListener listener) { _listener = listener; setClassName(listener.getClass().getName()); setHeldClass(listener.getClass()); _extInstance=true; }
@Override public <T extends EventListener> void addListener(T t) { if (!isStarting()) throw new IllegalStateException(); if (!_enabled) throw new UnsupportedOperationException(); super.addListener(t); ListenerHolder holder = getServletHandler().newListenerHolder(Source.JAVAX_API); holder.setListener(t); getServletHandler().addListener(holder); }
public void setListeners(ListenerHolder[] listeners) { if (listeners!=null) for (ListenerHolder holder:listeners) holder.setServletHandler(this); updateBeans(_listeners,listeners); _listeners = listeners; }