org.apache.cocoon.transformation
Class LuceneIndexTransformer

java.lang.Object
  extended byorg.apache.avalon.framework.logger.AbstractLogEnabled
      extended byorg.apache.cocoon.xml.AbstractXMLProducer
          extended byorg.apache.cocoon.xml.AbstractXMLPipe
              extended byorg.apache.cocoon.transformation.AbstractTransformer
                  extended byorg.apache.cocoon.transformation.LuceneIndexTransformer
All Implemented Interfaces:
CacheableProcessingComponent, Configurable, ContentHandler, Contextualizable, LexicalHandler, LogEnabled, Poolable, Recyclable, SitemapModelComponent, Transformer, XMLConsumer, XMLConsumer, XMLPipe, XMLProducer

public class LuceneIndexTransformer
extends AbstractTransformer
implements CacheableProcessingComponent, Configurable, Contextualizable

A lucene index creation transformer.

See LuceneIndexTransformer documentation on the Cocoon Wiki.

TODO: Write more documentation.

Version:
CVS $Id: LuceneIndexTransformer.java 30941 2004-07-29 19:56:58Z vgritsenko $
Author:
Vadim Gritsenko, Conal Tuohy

Field Summary
static String ANALYZER_CLASSNAME_CONFIG
           
static String ANALYZER_CLASSNAME_DEFAULT
           
static String ANALYZER_CLASSNAME_PARAMETER
           
static String CDATA
           
static String DIRECTORY_CONFIG
           
static String DIRECTORY_DEFAULT
           
static String DIRECTORY_PARAMETER
           
static String LUCENE_DOCUMENT_ELEMENT
           
static String LUCENE_DOCUMENT_URL_ATTRIBUTE
           
static String LUCENE_ELAPSED_TIME_ATTRIBUTE
           
static String LUCENE_ELEMENT_ATTR_STORE_VALUE
           
static String LUCENE_ELEMENT_ATTR_TO_TEXT_ATTRIBUTE
           
static String LUCENE_QUERY_ANALYZER_ATTRIBUTE
           
static String LUCENE_QUERY_CREATE_ATTRIBUTE
           
static String LUCENE_QUERY_DIRECTORY_ATTRIBUTE
           
static String LUCENE_QUERY_ELEMENT
           
static String LUCENE_QUERY_MERGE_FACTOR_ATTRIBUTE
           
static String LUCENE_URI
           
static String MERGE_FACTOR_CONFIG
           
static int MERGE_FACTOR_DEFAULT
           
static String MERGE_FACTOR_PARAMETER
           
protected  File workDir
           
 
Fields inherited from class org.apache.cocoon.xml.AbstractXMLProducer
contentHandler, EMPTY_CONTENT_HANDLER, lexicalHandler, xmlConsumer
 
Fields inherited from interface org.apache.cocoon.transformation.Transformer
ROLE
 
Constructor Summary
LuceneIndexTransformer()
           
 
Method Summary
 void characters(char[] ch, int start, int length)
          Receive notification of character data.
 void configure(Configuration conf)
          Configure the transformer.
 void contextualize(Context context)
          Contextualize this class
 void endDocument()
          Receive notification of the end of a document.
 void endElement(String namespaceURI, String localName, String qName)
          Receive notification of the end of an element.
 void endPrefixMapping(String prefix)
          End the scope of a prefix-URI mapping.
 Serializable getKey()
          Generate the unique key.
 SourceValidity getValidity()
          Generate the validity object.
 void recycle()
          Recycle the producer by removing references, and resetting handlers to null (empty) implementations.
 void setup(SourceResolver resolver, Map objectModel, String src, Parameters parameters)
          Setup the transformer.
 void startDocument()
          Receive notification of the beginning of a document.
 void startElement(String namespaceURI, String localName, String qName, Attributes atts)
          Receive notification of the beginning of an element.
 void startPrefixMapping(String prefix, String uri)
          Begin the scope of a prefix-URI Namespace mapping.
 
Methods inherited from class org.apache.cocoon.xml.AbstractXMLPipe
comment, endCDATA, endDTD, endEntity, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startCDATA, startDTD, startEntity
 
Methods inherited from class org.apache.cocoon.xml.AbstractXMLProducer
setConsumer, setContentHandler, setLexicalHandler
 
Methods inherited from class org.apache.avalon.framework.logger.AbstractLogEnabled
enableLogging, getLogger, setupLogger, setupLogger, setupLogger
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.xml.sax.ContentHandler
ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity
 
Methods inherited from interface org.xml.sax.ext.LexicalHandler
comment, endCDATA, endDTD, endEntity, startCDATA, startDTD, startEntity
 
Methods inherited from interface org.apache.cocoon.xml.XMLProducer
setConsumer
 

Field Detail

ANALYZER_CLASSNAME_CONFIG

public static final String ANALYZER_CLASSNAME_CONFIG
See Also:
Constant Field Values

ANALYZER_CLASSNAME_PARAMETER

public static final String ANALYZER_CLASSNAME_PARAMETER
See Also:
Constant Field Values

ANALYZER_CLASSNAME_DEFAULT

public static final String ANALYZER_CLASSNAME_DEFAULT
See Also:
Constant Field Values

DIRECTORY_CONFIG

public static final String DIRECTORY_CONFIG
See Also:
Constant Field Values

DIRECTORY_PARAMETER

public static final String DIRECTORY_PARAMETER
See Also:
Constant Field Values

DIRECTORY_DEFAULT

public static final String DIRECTORY_DEFAULT
See Also:
Constant Field Values

MERGE_FACTOR_CONFIG

public static final String MERGE_FACTOR_CONFIG
See Also:
Constant Field Values

MERGE_FACTOR_PARAMETER

public static final String MERGE_FACTOR_PARAMETER
See Also:
Constant Field Values

MERGE_FACTOR_DEFAULT

public static final int MERGE_FACTOR_DEFAULT
See Also:
Constant Field Values

LUCENE_URI

public static final String LUCENE_URI
See Also:
Constant Field Values

LUCENE_QUERY_ELEMENT

public static final String LUCENE_QUERY_ELEMENT
See Also:
Constant Field Values

LUCENE_QUERY_ANALYZER_ATTRIBUTE

public static final String LUCENE_QUERY_ANALYZER_ATTRIBUTE
See Also:
Constant Field Values

LUCENE_QUERY_DIRECTORY_ATTRIBUTE

public static final String LUCENE_QUERY_DIRECTORY_ATTRIBUTE
See Also:
Constant Field Values

LUCENE_QUERY_CREATE_ATTRIBUTE

public static final String LUCENE_QUERY_CREATE_ATTRIBUTE
See Also:
Constant Field Values

LUCENE_QUERY_MERGE_FACTOR_ATTRIBUTE

public static final String LUCENE_QUERY_MERGE_FACTOR_ATTRIBUTE
See Also:
Constant Field Values

LUCENE_DOCUMENT_ELEMENT

public static final String LUCENE_DOCUMENT_ELEMENT
See Also:
Constant Field Values

LUCENE_DOCUMENT_URL_ATTRIBUTE

public static final String LUCENE_DOCUMENT_URL_ATTRIBUTE
See Also:
Constant Field Values

LUCENE_ELEMENT_ATTR_TO_TEXT_ATTRIBUTE

public static final String LUCENE_ELEMENT_ATTR_TO_TEXT_ATTRIBUTE
See Also:
Constant Field Values

LUCENE_ELEMENT_ATTR_STORE_VALUE

public static final String LUCENE_ELEMENT_ATTR_STORE_VALUE
See Also:
Constant Field Values

LUCENE_ELAPSED_TIME_ATTRIBUTE

public static final String LUCENE_ELAPSED_TIME_ATTRIBUTE
See Also:
Constant Field Values

CDATA

public static final String CDATA
See Also:
Constant Field Values

workDir

protected File workDir
Constructor Detail

LuceneIndexTransformer

public LuceneIndexTransformer()
Method Detail

configure

public void configure(Configuration conf)
               throws ConfigurationException
Configure the transformer. The configuration parameters are stored as general defaults, which may be over-ridden by parameters specified as parameters in the sitemap pipeline, or by attributes of the query element(s) in the XML input document.

Specified by:
configure in interface Configurable
Throws:
ConfigurationException

setup

public void setup(SourceResolver resolver,
                  Map objectModel,
                  String src,
                  Parameters parameters)
           throws ProcessingException,
                  SAXException,
                  IOException
Setup the transformer. Called when the pipeline is assembled. The parameters are those specified as child elements of the <map:transform> element in the sitemap. These parameters are optional: If no parameters are specified here then the defaults are supplied by the component configuration. Any parameters specified here may be over-ridden by attributes of the lucene:index element in the input document.

Specified by:
setup in interface SitemapModelComponent
Parameters:
resolver - The SourceResolver to find resources within your context.
objectModel - A java.util.Map that contains the request and session information.
src - The value of the "src" attribute in the sitemap.
parameters - The sitemap parameters passed into your component.
Throws:
ProcessingException - if there is any other unexpected problem.
IOException - if there is a problem reading files.
SAXException - if there is a problem reading a SAX stream.

contextualize

public void contextualize(Context context)
                   throws ContextException
Contextualize this class

Specified by:
contextualize in interface Contextualizable
Throws:
ContextException

recycle

public void recycle()
Description copied from class: AbstractXMLProducer
Recycle the producer by removing references, and resetting handlers to null (empty) implementations.

Specified by:
recycle in interface Recyclable
Overrides:
recycle in class AbstractXMLProducer

getKey

public Serializable getKey()
Generate the unique key. This key must be unique inside the space of this component.

Specified by:
getKey in interface CacheableProcessingComponent
Returns:
The generated key

getValidity

public SourceValidity getValidity()
Generate the validity object.

Specified by:
getValidity in interface CacheableProcessingComponent
Returns:
The generated validity object or null if the component is currently not cacheable.

startDocument

public void startDocument()
                   throws SAXException
Description copied from class: AbstractXMLPipe
Receive notification of the beginning of a document.

Specified by:
startDocument in interface ContentHandler
Overrides:
startDocument in class AbstractXMLPipe
Throws:
SAXException

endDocument

public void endDocument()
                 throws SAXException
Description copied from class: AbstractXMLPipe
Receive notification of the end of a document.

Specified by:
endDocument in interface ContentHandler
Overrides:
endDocument in class AbstractXMLPipe
Throws:
SAXException

startPrefixMapping

public void startPrefixMapping(String prefix,
                               String uri)
                        throws SAXException
Begin the scope of a prefix-URI Namespace mapping.

Specified by:
startPrefixMapping in interface ContentHandler
Overrides:
startPrefixMapping in class AbstractXMLPipe
Parameters:
prefix - The Namespace prefix being declared.
uri - The Namespace URI the prefix is mapped to.
Throws:
SAXException

endPrefixMapping

public void endPrefixMapping(String prefix)
                      throws SAXException
End the scope of a prefix-URI mapping.

Specified by:
endPrefixMapping in interface ContentHandler
Overrides:
endPrefixMapping in class AbstractXMLPipe
Parameters:
prefix - The prefix that was being mapping.
Throws:
SAXException

startElement

public void startElement(String namespaceURI,
                         String localName,
                         String qName,
                         Attributes atts)
                  throws SAXException
Description copied from class: AbstractXMLPipe
Receive notification of the beginning of an element.

Specified by:
startElement in interface ContentHandler
Overrides:
startElement in class AbstractXMLPipe
Parameters:
namespaceURI - The Namespace URI, or the empty string if the element has no Namespace URI or if Namespace processing is not being performed.
localName - The local name (without prefix), or the empty string if Namespace processing is not being performed.
qName - The raw XML 1.0 name (with prefix), or the empty string if raw names are not available.
atts - The attributes attached to the element. If there are no attributes, it shall be an empty Attributes object.
Throws:
SAXException

endElement

public void endElement(String namespaceURI,
                       String localName,
                       String qName)
                throws SAXException
Description copied from class: AbstractXMLPipe
Receive notification of the end of an element.

Specified by:
endElement in interface ContentHandler
Overrides:
endElement in class AbstractXMLPipe
Parameters:
namespaceURI - The Namespace URI, or the empty string if the element has no Namespace URI or if Namespace processing is not being performed.
localName - The local name (without prefix), or the empty string if Namespace processing is not being performed.
qName - The raw XML 1.0 name (with prefix), or the empty string if raw names are not available.
Throws:
SAXException

characters

public void characters(char[] ch,
                       int start,
                       int length)
                throws SAXException
Description copied from class: AbstractXMLPipe
Receive notification of character data.

Specified by:
characters in interface ContentHandler
Overrides:
characters in class AbstractXMLPipe
Parameters:
ch - The characters from the XML document.
start - The start position in the array.
length - The number of characters to read from the array.
Throws:
SAXException


Copyright ? 1999-2005 The Apache Software Foundation. All Rights Reserved.