fedora.server.resourceIndex
Class ResourceIndexModule

java.lang.Object
  extended by fedora.server.Parameterized
      extended by fedora.server.Pluggable
          extended by fedora.server.Module
              extended by fedora.server.resourceIndex.ResourceIndexModule
All Implemented Interfaces:
Constants, ResourceIndex, org.trippi.TriplestoreReader, org.trippi.TriplestoreWriter

public class ResourceIndexModule
extends Module
implements ResourceIndex

Fedora's ResourceIndex as a configurable module.

Version:
$Id: ResourceIndexModule.java 6347 2007-12-06 18:27:20Z cwilper $
Author:
cwilper@cs.cornell.edu

Nested Class Summary
 
Nested classes/interfaces inherited from interface fedora.common.Constants
Constants.FedoraHome
 
Field Summary
 
Fields inherited from interface fedora.server.resourceIndex.ResourceIndex
INDEX_LEVEL_OFF, INDEX_LEVEL_ON
 
Fields inherited from interface fedora.common.Constants
ACCESS, ACTION, API, AUDIT, AUDIT1_0, BATCH_MODIFY, BATCH_MODIFY1_1, BDEF, BE_SECURITY, BE_SECURITY1_0, BINDING_SPEC, BMECH, DATASTREAM, DC, DISSEMINATOR, DS_COMPOSITE_MODEL, DS_COMPOSITE_MODEL1_0, ENVIRONMENT, FCFG, FEDORA, FEDORA_HOME, FOXML, FOXML1_0, FOXML1_1, HTTP_REQUEST, MANAGEMENT, METHOD_MAP, METS, METS_EXT, METS_EXT1_0, METS_EXT1_1, MODEL, MULGARA, OAI_DC, OAI_DC2_0, OAI_FRIENDS, OAI_FRIENDS2_0, OAI_IDENTIFIER, OAI_IDENTIFIER2_0, OAI_PMH, OAI_PMH2_0, OAI_PROV, OAI_PROV2_0, OBJ_DATASTREAMS1_0, OBJ_HISTORY1_0, OBJ_ITEMS1_0, OBJ_METHODS1_0, OBJ_PROFILE1_0, OBJECT, OLD_XLINK, PID_LIST1_0, RDF, RDF_XSD, RECOVERY, RELS_EXT, REPO_DESC1_0, RESOURCE, SERVICE_PROFILE, SOAP, SOAP_ENC, SUBJECT, TYPES, VIEW, WSDL, WSDL_HTTP, WSDL_MIME, XLINK, XML_XSD, XMLNS, XSI
 
Constructor Summary
ResourceIndexModule(java.util.Map<java.lang.String,java.lang.String> parameters, Server server, java.lang.String role)
          Instantiate the module.
 
Method Summary
 void add(java.util.List<org.jrdf.graph.Triple> triples, boolean flush)
          
 void add(org.jrdf.graph.Triple triple, boolean flush)
          
 void add(org.trippi.TripleIterator triples, boolean flush)
          
 void addBDefObject(BDefReader reader)
          Adds a behavior definition object.
 void addCModelObject(DOReader reader)
          Adds a content model object.
 void addDataObject(DOReader reader)
          Adds a data object.
 void close()
          
 int countTriples(java.lang.String queryLang, java.lang.String tripleQuery, int limit, boolean distinct)
          
 int countTriples(java.lang.String queryLang, java.lang.String tupleQuery, java.lang.String tripleTemplate, int limit, boolean distinct)
          
 int countTriples(org.jrdf.graph.SubjectNode subject, org.jrdf.graph.PredicateNode predicate, org.jrdf.graph.ObjectNode object, int limit)
          
 int countTuples(java.lang.String queryLang, java.lang.String tupleQuery, int limit, boolean distinct)
          
 void delete(java.util.List<org.jrdf.graph.Triple> triples, boolean flush)
          
 void delete(org.jrdf.graph.Triple triple, boolean flush)
          
 void delete(org.trippi.TripleIterator triples, boolean flush)
          
 void deleteBDefObject(BDefReader oldReader)
          Deletes a behavior definition object.
 void deleteCModelObject(DOReader oldReader)
          Deletes a content model object.
 void deleteDataObject(DOReader oldReader)
          Deletes a data object.
 void export(java.io.OutputStream out, org.trippi.RDFFormat format)
          Exports all triples in the RI.
 java.util.List<org.trippi.TripleUpdate> findBufferedUpdates(org.jrdf.graph.SubjectNode subject, org.jrdf.graph.PredicateNode predicate, org.jrdf.graph.ObjectNode object, int updateType)
          
 org.trippi.TripleIterator findTriples(java.lang.String queryLang, java.lang.String tripleQuery, int limit, boolean distinct)
          
 org.trippi.TripleIterator findTriples(java.lang.String queryLang, java.lang.String tupleQuery, java.lang.String tripleTemplate, int limit, boolean distinct)
          
 org.trippi.TripleIterator findTriples(org.jrdf.graph.SubjectNode subject, org.jrdf.graph.PredicateNode predicate, org.jrdf.graph.ObjectNode object, int limit)
          
 org.trippi.TupleIterator findTuples(java.lang.String queryLang, java.lang.String tupleQuery, int limit, boolean distinct)
          
 void flushBuffer()
          
 java.util.Map<java.lang.String,java.lang.String> getAliasMap()
          
 int getBufferSize()
          
 int getIndexLevel()
          Gets the index level of the ResourceIndex.
 java.lang.String[] listTripleLanguages()
          
 java.lang.String[] listTupleLanguages()
          
 void modifyBDefObject(BDefReader oldReader, BDefReader newReader)
          Modifies a behavior definition object.
 void modifyCModelObject(DOReader oldReader, DOReader newReader)
          Modifies a CModel object.
 void modifyDataObject(DOReader oldReader, DOReader newReader)
          Modifies a data object.
 void postInitModule()
          Perform post-initialization of this module.
 void setAliasMap(java.util.Map<java.lang.String,java.lang.String> aliasToPrefix)
          
 void setFlushErrorHandler(org.trippi.FlushErrorHandler h)
          
 void shutdownModule()
          Shutdown the RI module by closing the wrapped ResourceIndex.
 
Methods inherited from class fedora.server.Module
getRole, getServer, initModule
 
Methods inherited from class fedora.server.Pluggable
getHelp, getOptionalParameters, getParameterHelp, getRequiredModuleRoles, getRequiredParameters
 
Methods inherited from class fedora.server.Parameterized
getParameter, getParameter, getParameters, parameterNames, setParameter, setParameters
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ResourceIndexModule

public ResourceIndexModule(java.util.Map<java.lang.String,java.lang.String> parameters,
                           Server server,
                           java.lang.String role)
                    throws ModuleInitializationException
Instantiate the module.

Throws:
ModuleInitializationException
Method Detail

postInitModule

public void postInitModule()
                    throws ModuleInitializationException
Perform post-initialization of this module. ResourceIndexModule takes the following parameters:

Overrides:
postInitModule in class Module
Throws:
ModuleInitializationException - If initialization values are invalid or initialization fails for some other reason.

shutdownModule

public void shutdownModule()
                    throws ModuleShutdownException
Shutdown the RI module by closing the wrapped ResourceIndex.

Overrides:
shutdownModule in class Module
Throws:
ModuleShutdownException - if any error occurs while closing.

getIndexLevel

public int getIndexLevel()
Gets the index level of the ResourceIndex.

Specified by:
getIndexLevel in interface ResourceIndex
Returns:
the current index level of the RI, which is either INDEX_LEVEL_OFF or INDEX_LEVEL_ON.

addBDefObject

public void addBDefObject(BDefReader reader)
                   throws ResourceIndexException
Adds a behavior definition object.

Specified by:
addBDefObject in interface ResourceIndex
Parameters:
reader - the behavior definition to add.
Throws:
ResourceIndexException - if the operation fails for any reason.

addDataObject

public void addDataObject(DOReader reader)
                   throws ResourceIndexException
Adds a data object.

Specified by:
addDataObject in interface ResourceIndex
Parameters:
reader - the data object to add.
Throws:
ResourceIndexException - if the operation fails for any reason.

addCModelObject

public void addCModelObject(DOReader reader)
                     throws ResourceIndexException
Adds a content model object.

Specified by:
addCModelObject in interface ResourceIndex
Parameters:
reader - the content model object to add.
Throws:
ResourceIndexException - if the operation fails for any reason.

modifyBDefObject

public void modifyBDefObject(BDefReader oldReader,
                             BDefReader newReader)
                      throws ResourceIndexException
Modifies a behavior definition object.

Specified by:
modifyBDefObject in interface ResourceIndex
Parameters:
oldReader - the original behavior definition.
newReader - the modified behavior definition.
Throws:
ResourceIndexException - if the operation fails for any reason.

modifyDataObject

public void modifyDataObject(DOReader oldReader,
                             DOReader newReader)
                      throws ResourceIndexException
Modifies a data object.

Specified by:
modifyDataObject in interface ResourceIndex
Parameters:
oldReader - the original data object.
newReader - the modified data object.
Throws:
ResourceIndexException - if the operation fails for any reason.

modifyCModelObject

public void modifyCModelObject(DOReader oldReader,
                               DOReader newReader)
                        throws ResourceIndexException
Modifies a CModel object.

Specified by:
modifyCModelObject in interface ResourceIndex
Parameters:
oldReader - the original content model object.
newReader - the modified content model object.
Throws:
ResourceIndexException - if the operation fails for any reason.

deleteBDefObject

public void deleteBDefObject(BDefReader oldReader)
                      throws ResourceIndexException
Deletes a behavior definition object.

Specified by:
deleteBDefObject in interface ResourceIndex
Parameters:
oldReader - the original behavior definition.
Throws:
ResourceIndexException

deleteDataObject

public void deleteDataObject(DOReader oldReader)
                      throws ResourceIndexException
Deletes a data object.

Specified by:
deleteDataObject in interface ResourceIndex
Parameters:
oldReader - the original data object.
Throws:
ResourceIndexException

deleteCModelObject

public void deleteCModelObject(DOReader oldReader)
                        throws ResourceIndexException
Deletes a content model object.

Specified by:
deleteCModelObject in interface ResourceIndex
Parameters:
oldReader - the original content model object.
Throws:
ResourceIndexException

export

public void export(java.io.OutputStream out,
                   org.trippi.RDFFormat format)
            throws ResourceIndexException
Exports all triples in the RI.

Specified by:
export in interface ResourceIndex
Parameters:
out - the output stream to which the RDF should be written. The caller is responsible for eventually closing this stream.
format - the output format (RDF_XML, TURTLE, N_TRIPLESs, etc).
Throws:
ResourceIndexException - if triples in the RI cannot be serialized for any reason.

setAliasMap

public void setAliasMap(java.util.Map<java.lang.String,java.lang.String> aliasToPrefix)
                 throws org.trippi.TrippiException

Specified by:
setAliasMap in interface org.trippi.TriplestoreReader
Throws:
org.trippi.TrippiException

getAliasMap

public java.util.Map<java.lang.String,java.lang.String> getAliasMap()
                                                             throws org.trippi.TrippiException

Specified by:
getAliasMap in interface org.trippi.TriplestoreReader
Throws:
org.trippi.TrippiException

findTuples

public org.trippi.TupleIterator findTuples(java.lang.String queryLang,
                                           java.lang.String tupleQuery,
                                           int limit,
                                           boolean distinct)
                                    throws org.trippi.TrippiException

Specified by:
findTuples in interface org.trippi.TriplestoreReader
Throws:
org.trippi.TrippiException

countTuples

public int countTuples(java.lang.String queryLang,
                       java.lang.String tupleQuery,
                       int limit,
                       boolean distinct)
                throws org.trippi.TrippiException

Specified by:
countTuples in interface org.trippi.TriplestoreReader
Throws:
org.trippi.TrippiException

findTriples

public org.trippi.TripleIterator findTriples(java.lang.String queryLang,
                                             java.lang.String tripleQuery,
                                             int limit,
                                             boolean distinct)
                                      throws org.trippi.TrippiException

Specified by:
findTriples in interface org.trippi.TriplestoreReader
Throws:
org.trippi.TrippiException

countTriples

public int countTriples(java.lang.String queryLang,
                        java.lang.String tripleQuery,
                        int limit,
                        boolean distinct)
                 throws org.trippi.TrippiException

Specified by:
countTriples in interface org.trippi.TriplestoreReader
Throws:
org.trippi.TrippiException

findTriples

public org.trippi.TripleIterator findTriples(org.jrdf.graph.SubjectNode subject,
                                             org.jrdf.graph.PredicateNode predicate,
                                             org.jrdf.graph.ObjectNode object,
                                             int limit)
                                      throws org.trippi.TrippiException

Specified by:
findTriples in interface org.trippi.TriplestoreReader
Throws:
org.trippi.TrippiException

countTriples

public int countTriples(org.jrdf.graph.SubjectNode subject,
                        org.jrdf.graph.PredicateNode predicate,
                        org.jrdf.graph.ObjectNode object,
                        int limit)
                 throws org.trippi.TrippiException

Specified by:
countTriples in interface org.trippi.TriplestoreReader
Throws:
org.trippi.TrippiException

findTriples

public org.trippi.TripleIterator findTriples(java.lang.String queryLang,
                                             java.lang.String tupleQuery,
                                             java.lang.String tripleTemplate,
                                             int limit,
                                             boolean distinct)
                                      throws org.trippi.TrippiException

Specified by:
findTriples in interface org.trippi.TriplestoreReader
Throws:
org.trippi.TrippiException

countTriples

public int countTriples(java.lang.String queryLang,
                        java.lang.String tupleQuery,
                        java.lang.String tripleTemplate,
                        int limit,
                        boolean distinct)
                 throws org.trippi.TrippiException

Specified by:
countTriples in interface org.trippi.TriplestoreReader
Throws:
org.trippi.TrippiException

listTupleLanguages

public java.lang.String[] listTupleLanguages()

Specified by:
listTupleLanguages in interface org.trippi.TriplestoreReader

listTripleLanguages

public java.lang.String[] listTripleLanguages()

Specified by:
listTripleLanguages in interface org.trippi.TriplestoreReader

close

public void close()
           throws org.trippi.TrippiException

Specified by:
close in interface org.trippi.TriplestoreReader
Throws:
org.trippi.TrippiException

add

public void add(java.util.List<org.jrdf.graph.Triple> triples,
                boolean flush)
         throws java.io.IOException,
                org.trippi.TrippiException

Specified by:
add in interface org.trippi.TriplestoreWriter
Throws:
java.io.IOException
org.trippi.TrippiException

add

public void add(org.trippi.TripleIterator triples,
                boolean flush)
         throws java.io.IOException,
                org.trippi.TrippiException

Specified by:
add in interface org.trippi.TriplestoreWriter
Throws:
java.io.IOException
org.trippi.TrippiException

add

public void add(org.jrdf.graph.Triple triple,
                boolean flush)
         throws java.io.IOException,
                org.trippi.TrippiException

Specified by:
add in interface org.trippi.TriplestoreWriter
Throws:
java.io.IOException
org.trippi.TrippiException

delete

public void delete(java.util.List<org.jrdf.graph.Triple> triples,
                   boolean flush)
            throws java.io.IOException,
                   org.trippi.TrippiException

Specified by:
delete in interface org.trippi.TriplestoreWriter
Throws:
java.io.IOException
org.trippi.TrippiException

delete

public void delete(org.trippi.TripleIterator triples,
                   boolean flush)
            throws java.io.IOException,
                   org.trippi.TrippiException

Specified by:
delete in interface org.trippi.TriplestoreWriter
Throws:
java.io.IOException
org.trippi.TrippiException

delete

public void delete(org.jrdf.graph.Triple triple,
                   boolean flush)
            throws java.io.IOException,
                   org.trippi.TrippiException

Specified by:
delete in interface org.trippi.TriplestoreWriter
Throws:
java.io.IOException
org.trippi.TrippiException

flushBuffer

public void flushBuffer()
                 throws java.io.IOException,
                        org.trippi.TrippiException

Specified by:
flushBuffer in interface org.trippi.TriplestoreWriter
Throws:
java.io.IOException
org.trippi.TrippiException

setFlushErrorHandler

public void setFlushErrorHandler(org.trippi.FlushErrorHandler h)

Specified by:
setFlushErrorHandler in interface org.trippi.TriplestoreWriter

getBufferSize

public int getBufferSize()

Specified by:
getBufferSize in interface org.trippi.TriplestoreWriter

findBufferedUpdates

public java.util.List<org.trippi.TripleUpdate> findBufferedUpdates(org.jrdf.graph.SubjectNode subject,
                                                                   org.jrdf.graph.PredicateNode predicate,
                                                                   org.jrdf.graph.ObjectNode object,
                                                                   int updateType)

Specified by:
findBufferedUpdates in interface org.trippi.TriplestoreWriter