com.raritantechnologies.searchApp.dataCollection
Class NestedResultExtractorFilter

java.lang.Object
  extended bycom.raritantechnologies.searchApp.dataCollection.GatewayProcessorFilter
      extended bycom.raritantechnologies.searchApp.dataCollection.NestedResultExtractorFilter
All Implemented Interfaces:
ICollectionIndexer, IConfigurable, IGatewayOutputProcessor, IResultSetProcessor

public class NestedResultExtractorFilter
extends GatewayProcessorFilter

Extracts nested IResultSets from IResult objects. Can transfer fields from the parent IResult to the extracted child results.

XML Configuration Template:
 <GatewayOutputProcessor class="com.raritantechnologies.searchApp.dataCollection.NestedResultExtractorFilter"
                            nestedResultField="[name of field with nested result set]"
                            includeParent="[ true|false(default) - if true include parent Result in output result set ]"
                            copyParentFields="[ if includeParent == true: optional comma delimited set of fields to copy from parent Result to output results. If absent(default) = copy all]"
                            nestedFields="[ (optional) comma separated list of fields to copy from nested Results to output results. If absent(default) = copy all ]" >

    <!-- Set of fields that are copied from the parent IResult to nested IResults -->
    <!-- Enables links to be established between nested and parent results -->
    <ParentFieldMap>
      <!-- One or more Field Elements: -->
      <Field parentField="[ name of field in parent result ]" childField="[ name of field in extracted child result ]" />
      <!-- etc... -->
    </ParentFieldMap>

    <ResultMatcher class="[ result matcher class ]" >

    </ResultMatcher>

    <!-- One or more Proxy output processor that will get the filtered data set -->
    <OutputProcessor class="[IGatewayOutputProcessor class]" >
      <!-- OutputProcessor details -->
    </OutputProcessor>

    <!-- Additional result set filters that operate on the data after initial processing -->
    <PostProcessor class="[GatewayProcessorFilter class ]" >
      <!-- PostProcessor details -->
    </PostProcessor>
 </GatewayOutputProcessor>
 

Developed by Raritan Technologies .

Author:
Ted Sullivan, Pat Crabtree

Field Summary
 
Fields inherited from class com.raritantechnologies.searchApp.dataCollection.GatewayProcessorFilter
postProcessorFilters
 
Fields inherited from interface com.raritantechnologies.searchApp.dataCollection.ICollectionIndexer
ADD, CREATE, DELETE, UPDATE
 
Constructor Summary
NestedResultExtractorFilter()
           
 
Method Summary
protected  IResultSet filterData(IResultSet data)
           
 void initialize(org.w3c.dom.Element outputProcElem, ISearchFieldMap sfMap)
          Initialize the GatewayOutputProcessor from XML Configuration Element.
 
Methods inherited from class com.raritantechnologies.searchApp.dataCollection.GatewayProcessorFilter
addOutputProcessor, addPostProcessor, dataComplete, filterResultSet, getConfigurationXML, initialize, initialize, processData, processResultSet, sendToOutput, setIndexMode, setResultMatcher, setUserMatcher
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

NestedResultExtractorFilter

public NestedResultExtractorFilter()
Method Detail

filterData

protected IResultSet filterData(IResultSet data)
Overrides:
filterData in class GatewayProcessorFilter

initialize

public void initialize(org.w3c.dom.Element outputProcElem,
                       ISearchFieldMap sfMap)
Description copied from interface: IGatewayOutputProcessor
Initialize the GatewayOutputProcessor from XML Configuration Element.

Specified by:
initialize in interface IGatewayOutputProcessor
Overrides:
initialize in class GatewayProcessorFilter