SMILA (incubation) API documentation

org.eclipse.smila.search.servlet
Class ARequestParser

java.lang.Object
  extended by org.eclipse.smila.search.servlet.ARequestParser
Direct Known Subclasses:
HttpRequestParser, MultiPartRequestParser

public class ARequestParser
extends java.lang.Object

base class for request parsers.

Author:
jschumacher

Field Summary
protected  java.lang.String _defaultPipeline
          name of pipeline to use, if the request does not contain a pipeline parameter.
static java.lang.String PARAM_PIPELINE
          name of parameter specifying the pipelet name.
static java.lang.String PREFIX_ATTRIBUTE
          prefix for http parameter names specifying attribute values.
static java.lang.String PREFIX_FILTER
          prefix for filter mode parameter.
static java.lang.String PREFIX_FILTER_MAX
          prefix for range filter max values.
static java.lang.String PREFIX_FILTER_MIN
          prefix for range filter min values.
static java.lang.String PREFIX_FILTER_VAL
          prefix for enum filter values.
static java.lang.String PREFIX_ORDERBY
          prefix for OrderBy parameter.
static java.lang.String PREFIX_RANKING
          prefix for ranking annotations.
 
Constructor Summary
ARequestParser(java.lang.String defaultPipeline)
          create new instance with default pipeline.
 
Method Summary
protected  void processParameter(QueryBuilder builder, java.lang.String paramName, java.lang.String[] paramValues)
          process http param values.
protected  void setAttributeAnnotations(QueryBuilder builder, java.lang.String[] pathElements, java.lang.String[] paramValues)
           
protected  void setAttributeValues(QueryBuilder builder, java.lang.String attributeName, java.lang.String[] paramValues)
          set attribute values from http params.
protected  void setDefaultParameters(QueryBuilder builder)
          set default parameters for resultSize and resultOffset parameters, if no values where found in the request.
protected  void setParameterValues(QueryBuilder builder, java.lang.String paramName, java.lang.String[] paramValues)
          set query parameters from http params.
protected  void setupEnumFilter(QueryBuilder builder, java.lang.String attributeName)
          add an enum filter.
protected  void setupFilters(QueryBuilder builder)
          create filters from information collected during http parameter processing.
protected  void setupRangeFilter(QueryBuilder builder, java.lang.String attributeName)
          add a range filter.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

PREFIX_ATTRIBUTE

public static final java.lang.String PREFIX_ATTRIBUTE
prefix for http parameter names specifying attribute values. The attribute name is the rest of the parameter name after this prefix.

See Also:
Constant Field Values

PREFIX_ORDERBY

public static final java.lang.String PREFIX_ORDERBY
prefix for OrderBy parameter. After the prefix follows the attribute name, the value is either ASC or DESC.

See Also:
Constant Field Values

PREFIX_FILTER

public static final java.lang.String PREFIX_FILTER
prefix for filter mode parameter. Rest of parameter name is attribute name.

See Also:
Constant Field Values

PREFIX_FILTER_VAL

public static final java.lang.String PREFIX_FILTER_VAL
prefix for enum filter values. Rest of parameter name is attribute name.

See Also:
Constant Field Values

PREFIX_FILTER_MIN

public static final java.lang.String PREFIX_FILTER_MIN
prefix for range filter min values. Rest of parameter name is attribute name.

See Also:
Constant Field Values

PREFIX_FILTER_MAX

public static final java.lang.String PREFIX_FILTER_MAX
prefix for range filter max values. Rest of parameter name is attribute name.

See Also:
Constant Field Values

PREFIX_RANKING

public static final java.lang.String PREFIX_RANKING
prefix for ranking annotations. Rest of parameter name is value name dot attribute name.

See Also:
Constant Field Values

PARAM_PIPELINE

public static final java.lang.String PARAM_PIPELINE
name of parameter specifying the pipelet name.

See Also:
Constant Field Values

_defaultPipeline

protected java.lang.String _defaultPipeline
name of pipeline to use, if the request does not contain a pipeline parameter.

Constructor Detail

ARequestParser

public ARequestParser(java.lang.String defaultPipeline)
create new instance with default pipeline.

Parameters:
defaultPipeline - default pipeline name to use, if request does not contain a pipeline parameter.
Method Detail

setupFilters

protected void setupFilters(QueryBuilder builder)
create filters from information collected during http parameter processing.

Parameters:
builder - query builder

setupEnumFilter

protected void setupEnumFilter(QueryBuilder builder,
                               java.lang.String attributeName)
add an enum filter.

Parameters:
builder - query builder.
attributeName - attribute name.

setupRangeFilter

protected void setupRangeFilter(QueryBuilder builder,
                                java.lang.String attributeName)
add a range filter.

Parameters:
builder - query builder.
attributeName - attribute name.

setDefaultParameters

protected void setDefaultParameters(QueryBuilder builder)
set default parameters for resultSize and resultOffset parameters, if no values where found in the request. This is done mainly to make life easier for the XSL sheet processing the result.

Parameters:
builder - query builder created from http request.

processParameter

protected void processParameter(QueryBuilder builder,
                                java.lang.String paramName,
                                java.lang.String[] paramValues)
process http param values.

Parameters:
builder - query builder
paramName - parameter name
paramValues - parameter values, must not be null or empty.

setAttributeValues

protected void setAttributeValues(QueryBuilder builder,
                                  java.lang.String attributeName,
                                  java.lang.String[] paramValues)
set attribute values from http params.

Parameters:
builder - query builder
attributeName - attribute name (param name without PREFIX_ATTRIBUTE)
paramValues - parameter values, must not be null or empty.

setAttributeAnnotations

protected void setAttributeAnnotations(QueryBuilder builder,
                                       java.lang.String[] pathElements,
                                       java.lang.String[] paramValues)

setParameterValues

protected void setParameterValues(QueryBuilder builder,
                                  java.lang.String paramName,
                                  java.lang.String[] paramValues)
set query parameters from http params.

Parameters:
builder - query builder
paramName - parameter name
paramValues - parameter values, must not be null or empty.

SMILA (incubation) API documentation