/** */ public void setHandlers(Handler[] handlers) { HandlerCollection collection; if (getHandler() instanceof HandlerCollection) collection=(HandlerCollection)getHandler(); else { collection=new HandlerCollection(); setHandler(collection); } collection.setHandlers(handlers); }
public void removeHandler(Handler handler) { Handler[] handlers = getHandlers(); if (handlers!=null && handlers.length>0 ) setHandlers((Handler[])LazyList.removeFromArray(handlers, handler)); }
/** */ public void addHandler(Handler handler) { if (getHandler() == null) setHandler(handler); else if (getHandler() instanceof HandlerCollection) ((HandlerCollection)getHandler()).addHandler(handler); else { HandlerCollection collection=new HandlerCollection(); collection.setHandlers(new Handler[]{getHandler(),handler}); setHandler(collection); } }
protected Object expandChildren(Object list, Class byClass) { Handler[] handlers = getHandlers(); for (int i=0;handlers!=null && i<handlers.length;i++) list=expandHandler(handlers[i], list, byClass); return list; }
public void setHandlers(Handler[] handlers) { _contextMap=null; super.setHandlers(handlers); if (isStarted()) mapContexts(); }
/** */ public Handler[] getHandlers() { if (getHandler() instanceof HandlerCollection) return ((HandlerCollection)getHandler()).getHandlers(); return null; }
/** * Starts the Jetty web context class. * * @param wac, * @throws Exception */ private void startWebAppContext(WebAppContext wac) throws Exception { HandlerCollection contexts = getJettyContexts(); // set the TCCL since it's used internally by Jetty Thread current = Thread.currentThread(); ClassLoader old = current.getContextClassLoader(); try { current.setContextClassLoader(wac.getClassLoader()); if (contexts != null) { contexts.addHandler(wac); } wac.start(); if (contexts != null) { contexts.start(); } } finally { current.setContextClassLoader(old); } }
public void setServer(Server server) { Server old_server=getServer(); super.setServer(server); Handler[] h=getHandlers(); for (int i=0;h!=null && i<h.length;i++) h[i].setServer(server); if (server!=null && server!=old_server) server.getContainer().update(this, null,_handlers, "handler"); }
/** */ public void removeHandler(Handler handler) { if (getHandler() instanceof HandlerCollection) ((HandlerCollection)getHandler()).removeHandler(handler); }
protected Collection<String> getContextPaths(LinkedHashSet<String> results, Handler... handlers) { if (handlers != null) { for (Handler handler : handlers) { if (handler instanceof HandlerCollection) { getContextPaths(results, ((HandlerCollection) handler).getHandlers()); } else if (handler instanceof ContextHandler) { results.add(((ContextHandler) handler).getContextPath()); } } } return results; }
/** * Starts the Jetty web context class. * * @param wac, * @throws Exception */ private void startWebAppContext(WebAppContext wac) throws Exception { HandlerCollection contexts = getJettyContexts(); // set the TCCL since it's used internally by Jetty Thread current = Thread.currentThread(); ClassLoader old = current.getContextClassLoader(); try { current.setContextClassLoader(wac.getClassLoader()); if (contexts != null) { contexts.addHandler(wac); } wac.start(); if (contexts != null) { contexts.start(); } } finally { current.setContextClassLoader(old); } }
wac.stop(); if (contexts != null) { contexts.removeHandler(wac);
HandlerCollection handlers = new HandlerCollection(); handlers.setHandlers(new Handler[] { webAppcontext, new DefaultHandler() }); this.server.setHandler(handlers);
public void addHandler(Handler handler) { setHandlers((Handler[])LazyList.addToArray(getHandlers(), handler, Handler.class)); }
protected Collection<String> getClassPathDescription(Collection<String> classPath, Handler... handlers) { if (handlers != null) { for (Handler handler : handlers) { if (handler instanceof HandlerCollection) { getClassPathDescription(classPath, ((HandlerCollection) handler).getHandlers()); } else if (handler instanceof WebAppContext) { String extraClasspath = ((WebAppContext) handler).getExtraClasspath(); if (extraClasspath != null) { // Collections.addAll(classPath, extraClasspath.split(File.pathSeparator)); // it seems, Jetty was built for Windows Collections.addAll(classPath, extraClasspath.split(";")); } } } } return classPath; } }
wac.stop(); if (contexts != null) { contexts.removeHandler(wac);
public static void main(String[] args) throws Exception { Server server = new Server(); Connector connector=new SelectChannelConnector(); connector.setPort(8080); server.setConnectors(new Connector[]{connector}); Handler param=new ParamHandler(); Handler hello=new HelloHandler(); HandlerCollection handlers = new HandlerCollection(); handlers.setHandlers(new Handler[]{param,hello}); server.setHandler(handlers); server.start(); server.join(); }
protected static WebAppContext findWAC(ServletContext context) { if (context instanceof ContextHandler.SContext) { ContextHandler.SContext sContext = (ContextHandler.SContext) context; ContextHandler contextHandler = sContext.getContextHandler(); Handler handler = contextHandler.getHandler(); if (handler instanceof ServletHandler) { ServletHandler servletHandler = (ServletHandler) handler; Server server = servletHandler.getServer(); Handler serverHandler = server.getHandler(); if (serverHandler instanceof HandlerCollection) { HandlerCollection hc = (HandlerCollection) serverHandler; for (Handler h : hc.getHandlers()) { if (h instanceof WebAppContext) { WebAppContext wac = (WebAppContext) h; if (wac.getServletHandler() == servletHandler) { return wac; } } } } } } return null; } }
RequestLogHandler requestLogHandler = new RequestLogHandler(); requestLogHandler.setRequestLog(requestLog); HandlerCollection handlers = new HandlerCollection(); handlers.setHandlers(new Handler[] { requestLogHandler, contexts }); webServer.setHandler(handlers); } else {
protected static WebAppContext findWAC(ServletContext context) { if (context instanceof ContextHandler.SContext) { ContextHandler.SContext sContext = (ContextHandler.SContext) context; ContextHandler contextHandler = sContext.getContextHandler(); Handler handler = contextHandler.getHandler(); if (handler instanceof ServletHandler) { ServletHandler servletHandler = (ServletHandler) handler; Server server = servletHandler.getServer(); Handler serverHandler = server.getHandler(); if (serverHandler instanceof HandlerCollection) { HandlerCollection hc = (HandlerCollection) serverHandler; for (Handler h : hc.getHandlers()) { if (h instanceof WebAppContext) { WebAppContext wac = (WebAppContext) h; if (wac.getServletHandler() == servletHandler) { return wac; } } } } } } return null; } }