com.google.enterprise.adaptor.examples
Class FileSystemAdaptor

java.lang.Object
  extended by com.google.enterprise.adaptor.AbstractAdaptor
      extended by com.google.enterprise.adaptor.examples.FileSystemAdaptor
All Implemented Interfaces:
Adaptor

public class FileSystemAdaptor
extends AbstractAdaptor

Simple example adaptor that serves files from the local filesystem.


Constructor Summary
FileSystemAdaptor()
           
 
Method Summary
 void getDocContent(Request req, Response resp)
          Provides contents and metadata of particular document.
 void getDocIds(DocIdPusher pusher)
          Pushes all the DocIds that are suppose to be indexed by the GSA.
 void init(AdaptorContext context)
          Initialize adaptor with the current context.
 void initConfig(Config config)
          Provides the opportunity for the Adaptor to create new configuration values or override default values.
static void main(String[] args)
          Call default main for adaptors.
 
Methods inherited from class com.google.enterprise.adaptor.AbstractAdaptor
destroy, main
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FileSystemAdaptor

public FileSystemAdaptor()
Method Detail

initConfig

public void initConfig(Config config)
Description copied from class: AbstractAdaptor
Provides the opportunity for the Adaptor to create new configuration values or override default values. Only Config.addKey(java.lang.String, java.lang.String) should likely be called. The user's configuration will override any values set in this way. This method is called by AbstractAdaptor.main(com.google.enterprise.adaptor.Adaptor, java.lang.String[]) before Adaptor.init(com.google.enterprise.adaptor.AdaptorContext) is called.

This implementation does nothing.

Specified by:
initConfig in interface Adaptor
Overrides:
initConfig in class AbstractAdaptor

init

public void init(AdaptorContext context)
          throws Exception
Description copied from class: AbstractAdaptor
Initialize adaptor with the current context. This is the ideal time to start any threads to do extra behind-the-scenes work. The context points to other useful objects that can be used at any time. For example, methods on DocIdPusher provided via AdaptorContext.getDocIdPusher() are allowed to be called whenever the Adaptor wishes. This allows doing event-based incremental pushes at any time.

The method is called at the end of GsaCommunicationHandler.start().

If you experience a fatal error during initialization, feel free to throw an Exception to cancel the startup process.

This implementation does nothing.

Specified by:
init in interface Adaptor
Overrides:
init in class AbstractAdaptor
Throws:
Exception

getDocIds

public void getDocIds(DocIdPusher pusher)
               throws IOException,
                      InterruptedException
Description copied from interface: Adaptor
Pushes all the DocIds that are suppose to be indexed by the GSA. This will frequently involve re-sending DocIds to the GSA, but this allows healing previous errors and cache inconsistencies. Re-sending DocIds is very fast and should be considered free on the GSA. This method should determine a list of DocIds to push and call DocIdPusher.pushDocIds(java.lang.Iterable) one or more times and DocIdPusher.pushNamedResources(java.util.Map) if using named resources.

pusher is provided as convenience and is the same object provided to Adaptor.init(com.google.enterprise.adaptor.AdaptorContext) previously. This method may take a while and implementations are free to call Thread.sleep(long) occasionally to reduce load.

If you experience a fatal error, feel free to throw an IOException or RuntimeException. In the case of an error, the ExceptionHandler in use in AdaptorContext will determine if and when to retry.

Throws:
IOException
InterruptedException

getDocContent

public void getDocContent(Request req,
                          Response resp)
                   throws IOException
Description copied from interface: Adaptor
Provides contents and metadata of particular document. This method should be highly parallelizable and support twenty or more concurrent calls. Two to three concurrent calls may be average during initial GSA crawling, but twenty or more concurrent calls is typical when the GSA is recrawling unmodified content.

If you experience a fatal error, feel free to throw an IOException or RuntimeException. In the case of an error, the GSA will determine if and when to retry.

Throws:
IOException

main

public static void main(String[] args)
Call default main for adaptors.