Configuring Arbortext Publishing Engine > Setting Configuration Parameters > Specifying Request Selectors
  
Specifying Request Selectors
A RequestSelector has a class attribute specifying its associated Java class and an id attribute specifying its identifying name. Its purpose is to test an incoming HTTP request and help determine its routing. Each RequestSelector can have an associated list of parameters, as defined and used by the application that implements the com.arbortext.e3.E3RequestSelector interface.
An Arbortext PE sub-process pool can use one or more defined RequestSelector tests to determine whether it should handle the request. You can create sophisticated tests for routing a request to a specific Arbortext PE sub-process pool by combining them using And or Or logic in a Test Set configured in a sub-process pool.
There are several RequestSelector classes defined:
class com.arbortext.e3.TestHeaderMatch, ID test-text-xml
Determines if an HTTP request has a particular message header and that the header value matches a specified pattern.
The parameters header-name and header-pattern, defined as Content-type and text/xml, detect a Content-type: text/xml header.
class com.arbortext.e3.TestQueryMatch, ID test-f-java
Determines if an HTTP request has a query name and query pattern that match a specified name and pattern.
The parameters query-name and query-pattern, defined as f and java, detect f=java or f-java requests.
class com.arbortext.e3.TestQueryMatch, ID test-convert
Determines if an HTTP request has a query name and query pattern that match a specified name and pattern.
The parameters query-name and query-pattern, defined as f and convert, detect f=convert document conversion requests.
class com.arbortext.e3.TestQueryMatch, ID test-tie
Determines if an HTTP request has a query name and query pattern that match a specified name and pattern.
The parameters query-name and query-pattern, defined as class and com.arbortext.e3c.*, detect Arbortext Publishing Engine publishing requests that originate from Arbortext Editor clients.
class com.arbortext.e3.TestQueryMatch, ID test-wvs-class
Determines if an HTTP request has a query name and query pattern that match a specified name and pattern.
The parameters query-name and query-pattern, defined as class and com.arbortext.ptc.windchill.Compose, detect Arbortext Publishing Engine publishing requests that originate from Windchill Visualization Service (WVS). The WVS uses Arbortext Publishing Engine to publish XML and SGML documents stored in Windchill to outputs such as PDF and HTML.
For further information on WVS configuration and usage with Arbortext Publishing Engine, refer to Configuring Arbortext Publishing Engine for the Windchill Visualization Service. For more information about the WVS, refer to the Windchill Business Administrator's Guide.
class com.arbortext.e3.TestQueryMatch, ID test-archive-transaction
Determines if an HTTP request has a query name and query pattern that match a specified name and pattern.
The parameters query-name and query-pattern, defined as archive-transaction and yes, detect archive-transaction requests.
class com.arbortext.e3.TestQueryMatch, ID test-alternate-transaction-archive
Determines if an HTTP request has a query name and query pattern that match a specified name and pattern.
The parameters query-name and query-pattern, defined as alternate-transaction-archive and yes, detect alternate-transaction-archive requests.
* 
The Request Selector implemented by "com.arbortext.e3.TestQueryMatch" allows for regular expressions. The details of the regular expression syntax can be found in the java documentation for java.util.regex.Pattern. Prior to 7.0 M030, this Request Selector only supported simpler regular expressions with two wild cards. “*” matched 0 or more characters and “?” matched exactly one character. If Arbortext Publishing Engine finds a regular expression that is not a legal expression pattern, it assumes it is a pattern that uses the “*” and “?” wild cards.