Refine search
/** * Define a filter for a context and set up default url mappings. */ public static void defineFilter(ServletContextHandler handler, String name, String classname, Map<String,String> parameters, String[] urls) { FilterHolder holder = new FilterHolder(); holder.setName(name); holder.setClassName(classname); if (parameters != null) { holder.setInitParameters(parameters); } FilterMapping fmap = new FilterMapping(); fmap.setPathSpecs(urls); fmap.setDispatches(FilterMapping.ALL); fmap.setFilterName(name); handler.getServletHandler().addFilter(holder, fmap); }
/** * Add the path spec to the filter path mapping. * @param pathSpec The path spec * @param webAppCtx The WebApplicationContext to add to */ protected void addFilterPathMapping(String pathSpec, WebAppContext webAppCtx) { for(String name : filterNames) { FilterMapping fmap = new FilterMapping(); fmap.setPathSpec(pathSpec); fmap.setFilterName(name); fmap.setDispatches(FilterMapping.ALL); webAppCtx.getServletHandler().addFilterMapping(fmap); } }
public void addFilterMapping (String filterName, XmlParser.Node node, WebAppContext context, Descriptor descriptor) FilterMapping mapping = new FilterMapping(); mapping.setFilterName(filterName); context.getMetaData().setOrigin(filterName+".filter.mapping."+p, descriptor); mapping.setPathSpecs((String[]) paths.toArray(new String[paths.size()])); names.add(n); mapping.setServletNames((String[]) names.toArray(new String[names.size()])); dispatches.add(FilterMapping.dispatch(d)); mapping.setDispatcherTypes(EnumSet.copyOf(dispatches));
private static FilterMapping getFilterMapping(String name, String[] urls) { FilterMapping fmap = new FilterMapping(); fmap.setPathSpecs(urls); fmap.setDispatches(FilterMapping.ALL); fmap.setFilterName(name); return fmap; }
FilterHolder[] holders = getFilters(); if (holders!=null) holders = (FilterHolder[])holders.clone(); setFilters((FilterHolder[])LazyList.addToArray(holders, holder, FilterHolder.class)); FilterMapping mapping = new FilterMapping(); mapping.setFilterName(holder.getName()); mapping.setPathSpec(pathSpec); mapping.setDispatcherTypes(dispatches); addFilterMapping(mapping);
public void addFilter( final String pathSpec, final Filter filter ) { String name = "filter" + filterCount++; FilterMapping fm = new FilterMapping(); fm.setPathSpec( pathSpec ); fm.setFilterName( name ); FilterHolder fh = new FilterHolder( filter ); fh.setName( name ); webappContext.getServletHandler().addFilter( fh, fm ); }
public void addMappingForUrlPatterns(EnumSet<DispatcherType> dispatcherTypes, boolean isMatchAfter, String... urlPatterns) { illegalStateIfContextStarted(); FilterMapping mapping = new FilterMapping(); mapping.setFilterHolder(FilterHolder.this); mapping.setPathSpecs(urlPatterns); mapping.setDispatcherTypes(dispatcherTypes); if (isMatchAfter) _servletHandler.addFilterMapping(mapping); else _servletHandler.prependFilterMapping(mapping); }
ServletContextHandler context = new ServletContextHandler( ServletContextHandler.SESSIONS); FilterMapping mapping = new FilterMapping(); mapping.setFilterName( "Foobar Filter" ); mapping.setPathSpecs( new String[] { "/foo/*", "/bar/*" } ); mapping.setServletNames( new String[] { "foobar" } ); mapping.setDispatcherTypes( EnumSet.of( DispatcherType.INCLUDE,DispatcherType.REQUEST ) ) ); FilterHolder holder = new FilterHolder( FoobarFilter.class ); holder.setName( "Foobar Filter" ); context .getServletHandler().addFilter( holder, mapping );
public void addMappingForServletNames(EnumSet<DispatcherType> dispatcherTypes, boolean isMatchAfter, String... servletNames) { illegalStateIfContextStarted(); FilterMapping mapping = new FilterMapping(); mapping.setFilterHolder(FilterHolder.this); mapping.setServletNames(servletNames); mapping.setDispatcherTypes(dispatcherTypes); if (isMatchAfter) _servletHandler.addFilterMapping(mapping); else _servletHandler.prependFilterMapping(mapping); }
for (int i=0;i<_filterMappings.length;i++) FilterHolder filter_holder = (FilterHolder)_filterNameMap.get(_filterMappings[i].getFilterName()); if (filter_holder==null) throw new IllegalStateException("No filter named "+_filterMappings[i].getFilterName()); _filterMappings[i].setFilterHolder(filter_holder); if (_filterMappings[i].getPathSpecs()!=null) _filterPathMappings.add(_filterMappings[i]); if (_filterMappings[i].getServletNames()!=null) String[] names=_filterMappings[i].getServletNames(); for (int j=0;j<names.length;j++) if (_contextHandler!=null && _contextHandler.isStarted() || _contextHandler==null && isStarted()) initialize();
WebApplication.servletContext().setInitParameter(entry.getKey(), entry.getValue()); ServletMapping[] servletMappings = servletContextHandler.getServletHandler().getServletMappings(); for (ServletMapping servletMapping : servletMappings) { String servletName = servletMapping.getServletName(); logger.info("Servlet mapping [" + servletName + "->" + print(isContextPrefixed(servletName) ? prefixedPathSpecs(contextPath, servletPathSpecs): servletPathSpecs) + "] detected ..." ); ServletHolder[] servlets = servletContextHandler.getServletHandler().getServlets(); for (ServletHolder servletHolder : servlets) { String servletName = servletHolder.getName(); FilterMapping[] filterMappings = servletContextHandler.getServletHandler().getFilterMappings(); for (FilterMapping filterMapping : filterMappings) { logger.info("Filter mapping [" + filterMapping.getFilterName() + "->" + print(prefixedPathSpecs(contextPath,filterMapping.getPathSpecs())) + "] detected ..." ); if (filterName.equals(filterMapping.getFilterName())) { prefixedPathSpecs(contextPath, filterMapping.getPathSpecs())); break;
webAppContext.getServletHandler().getServletMappings(); for (int i = 0; i < servletMappings.length; i++) { if (servletMappings[i].containsPathSpec(pathSpec)) { ArrayUtil.removeFromArray(servletMappings, servletMappings[i]); webAppContext.getServletHandler() .setServletMappings(newServletMappings); break; LOG.info("Adding Kerberos (SPNEGO) filter to " + name); ServletHandler handler = webAppContext.getServletHandler(); FilterMapping fmap = new FilterMapping(); fmap.setPathSpec(pathSpec); fmap.setFilterName(SPNEGO_FILTER); fmap.setDispatches(FilterMapping.ALL); handler.addFilterMapping(fmap);
public Collection<String> getUrlPatternMappings() { FilterMapping[] mappings =_servletHandler.getFilterMappings(); List<String> patterns=new ArrayList<String>(); for (FilterMapping mapping : mappings) { if (mapping.getFilterHolder()!=FilterHolder.this) continue; String[] specs=mapping.getPathSpecs(); patterns.addAll(TypeUtil.asList(specs)); } return patterns; } }
.getFilterMappings(); final List<FilterMapping> newFilterMappings = new ArrayList<>(); for (FilterMapping filterMapping : filterMappings) { if (filterMapping.getFilterName().equals(model.getName())) { if (newFilterMappings.isEmpty()) { Collections.addAll(newFilterMappings, filterMappings); final FilterHolder filterHolder = servletHandler.getFilter(model .getName()); if (filterHolder == null) { return; // The filter has already been removed so nothing do to anymore final FilterHolder[] filterHolders = servletHandler.getFilters(); final FilterHolder[] newFilterHolders = ArrayUtil.removeFromArray(filterHolders, filterHolder); servletHandler.setFilters(newFilterHolders); if (filterHolder.isStarted()) { try { ContextClassLoaderUtils.doWithClassLoader( + filterHolder.getFilter() + "]");
try { _filters[i].stop(); }catch(Exception e){LOG.warn(Log.EXCEPTION,e);} if (_filters[i].getSource() != Source.EMBEDDED) _filterNameMap.remove(_filters[i].getName()); if (fm.getFilterName().equals(_filters[i].getName())) fmitor.remove();
/** * @param holder The holder to set. */ void setFilterHolder(FilterHolder holder) { _holder = holder; setFilterName(holder.getName()); }
protected FilterChain getFilterChain(Request baseRequest, String pathInContext, ServletHolder servletHolder) int dispatch = FilterMapping.dispatch(baseRequest.getDispatcherType()); if (mapping.appliesTo(pathInContext, dispatch)) filters= LazyList.add(filters, mapping.getFilterHolder()); if (mapping.appliesTo(dispatch)) filters=LazyList.add(filters,mapping.getFilterHolder()); if (mapping.appliesTo(dispatch)) filters=LazyList.add(filters,mapping.getFilterHolder()); chain = newCachedChain(filters, servletHolder);
private FilterChain getFilterChain(Request baseRequest, String pathInContext, ServletHolder servletHolder) int dispatch = FilterMapping.dispatch(baseRequest.getDispatcherType()); if (filterPathMapping.appliesTo(pathInContext, dispatch)) filters.add(filterPathMapping.getFilterHolder()); if (mapping.appliesTo(dispatch)) filters.add(mapping.getFilterHolder()); if (mapping.appliesTo(dispatch)) filters.add(mapping.getFilterHolder());
public String getObjectNameBasis() { if (_managed != null && _managed instanceof FilterMapping) { FilterMapping mapping = (FilterMapping)_managed; String name = mapping.getFilterName(); if (name != null) return name; } return super.getObjectNameBasis(); } }