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 Handler[] getHandlers() { if (getHandler() instanceof HandlerCollection) return ((HandlerCollection)getHandler()).getHandlers(); return null; }
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) { setHandlers((Handler[])LazyList.addToArray(getHandlers(), handler, Handler.class)); }
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; }
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; } }
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"); }
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; } }
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; } }
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; } }