org.apache.solr.servlet
Class SolrDispatchFilter

java.lang.Object
  extended by org.apache.solr.servlet.SolrDispatchFilter
All Implemented Interfaces:
javax.servlet.Filter

public class SolrDispatchFilter
extends Object
implements javax.servlet.Filter

This filter looks at the incoming URL maps them to handlers defined in solrconfig.xml

Since:
solr 1.2

Field Summary
protected  String abortErrorMessage
           
protected  CoreContainer cores
           
protected  Map<SolrConfig,SolrRequestParsers> parsers
           
protected  String pathPrefix
           
 
Constructor Summary
SolrDispatchFilter()
           
 
Method Summary
protected  CoreContainer createCoreContainer()
          Override this to change CoreContainer initialization
 void destroy()
           
 void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain)
           
 void doFilter(javax.servlet.ServletRequest request, javax.servlet.ServletResponse response, javax.servlet.FilterChain chain, boolean retry)
           
protected  void execute(javax.servlet.http.HttpServletRequest req, SolrRequestHandler handler, SolrQueryRequest sreq, SolrQueryResponse rsp)
           
 CoreContainer getCores()
           
 String getPathPrefix()
           
 void init(javax.servlet.FilterConfig config)
           
protected  void sendError(SolrCore core, SolrQueryRequest req, javax.servlet.ServletRequest request, javax.servlet.http.HttpServletResponse response, Throwable ex)
           
 void setPathPrefix(String pathPrefix)
          Set the prefix for all paths.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

cores

protected volatile CoreContainer cores

pathPrefix

protected String pathPrefix

abortErrorMessage

protected String abortErrorMessage

parsers

protected final Map<SolrConfig,SolrRequestParsers> parsers
Constructor Detail

SolrDispatchFilter

public SolrDispatchFilter()
Method Detail

init

public void init(javax.servlet.FilterConfig config)
          throws javax.servlet.ServletException
Specified by:
init in interface javax.servlet.Filter
Throws:
javax.servlet.ServletException

createCoreContainer

protected CoreContainer createCoreContainer()
Override this to change CoreContainer initialization

Returns:
a CoreContainer to hold this server's cores

getCores

public CoreContainer getCores()

destroy

public void destroy()
Specified by:
destroy in interface javax.servlet.Filter

doFilter

public void doFilter(javax.servlet.ServletRequest request,
                     javax.servlet.ServletResponse response,
                     javax.servlet.FilterChain chain)
              throws IOException,
                     javax.servlet.ServletException
Specified by:
doFilter in interface javax.servlet.Filter
Throws:
IOException
javax.servlet.ServletException

doFilter

public void doFilter(javax.servlet.ServletRequest request,
                     javax.servlet.ServletResponse response,
                     javax.servlet.FilterChain chain,
                     boolean retry)
              throws IOException,
                     javax.servlet.ServletException
Throws:
IOException
javax.servlet.ServletException

execute

protected void execute(javax.servlet.http.HttpServletRequest req,
                       SolrRequestHandler handler,
                       SolrQueryRequest sreq,
                       SolrQueryResponse rsp)

sendError

protected void sendError(SolrCore core,
                         SolrQueryRequest req,
                         javax.servlet.ServletRequest request,
                         javax.servlet.http.HttpServletResponse response,
                         Throwable ex)
                  throws IOException
Throws:
IOException

setPathPrefix

public void setPathPrefix(String pathPrefix)
Set the prefix for all paths. This is useful if you want to apply the filter to something other then /*, perhaps because you are merging this filter into a larger web application. For example, if web.xml specifies:
 <filter-mapping>
  <filter-name>SolrRequestFilter</filter-name>
  <url-pattern>/xxx/*</url-pattern>
 </filter-mapping>
 
Make sure to set the PathPrefix to "/xxx" either with this function or in web.xml.
 <init-param>
  <param-name>path-prefix</param-name>
  <param-value>/xxx</param-value>
 </init-param>
 


getPathPrefix

public String getPathPrefix()


Copyright © 2000-2013 Apache Software Foundation. All Rights Reserved.