DLESE Tools
v1.2

org.dlese.dpc.index.writer
Class DleseIMSFileIndexingWriter

java.lang.Object
  extended byorg.dlese.dpc.index.writer.FileIndexingServiceWriter
      extended byorg.dlese.dpc.index.writer.XMLFileIndexingWriter
          extended byorg.dlese.dpc.index.writer.ItemFileIndexingWriter
              extended byorg.dlese.dpc.index.writer.DleseIMSFileIndexingWriter
All Implemented Interfaces:
DocWriter

public class DleseIMSFileIndexingWriter
extends ItemFileIndexingWriter

Creates a Lucene Document from a DLESE-IMS XML source file.

The Lucene Document fields that are created by this class are (in addition the the ones listed for FileIndexingServiceWriter):

doctype - Set to 'dlese_ims'. Stored. Note: the actual indexing of this field happens in the superclass FileIndexingServiceWriter.
additional fields - A number of additional fields are defined. See the Java code for method addFrameworkFields(Document, Document) for details.

Author:
John Weatherley, Ryan Deardorff

Field Summary
 
Fields inherited from class org.dlese.dpc.index.writer.XMLFileIndexingWriter
recordDataService
 
Constructor Summary
DleseIMSFileIndexingWriter(String collection, RecordDataService recordDataService)
          Create a DleseIMSFileIndexingWriter that indexes the given collection in field collection.
 
Method Summary
protected  void addFrameworkFields(Document newDoc, Document existingDoc)
          Adds custom fields to the index that are unique to DLESE-IMS
protected  void destroy()
          Release map resources for GC after processing.
protected  String getAccessionStatus()
          Returns the accession status of this record, for example 'accessioned'.
 String getCollection()
          Returns unique collection keys for the item being indexed, separated by spaces.
protected  String getCreator()
          Returns the items creator's full name.
protected  String getCreatorLastName()
          Returns the items creator's last name.
protected  String getDescription()
          Gets the description attribute of the DleseIMSFileIndexingWriter object
 String getDocType()
          Gets the docType attribute of the DleseIMSFileIndexingWriter, which is 'dlese_ims.'
protected  String getId()
          Gets the id attribute of the DleseIMSFileIndexingWriter object
protected  String getKeywords()
          Returns the items keywords.
 String getReaderClass()
          Gets the name of the concrete DocReader class that is used to read this type of Document, which is "ItemDocReader".
protected  String getTitle()
          Gets the title attribute of the DleseIMSFileIndexingWriter object
protected  String getUrl()
          Gets the url attribute of the DleseIMSFileIndexingWriter object
protected  String getValidationReport()
          Gets a report detailing any errors found in the validation of the data, or null if no error was found.
 void init(File source, Document existingDoc)
          Initialize the XML map prior to processing
 
Methods inherited from class org.dlese.dpc.index.writer.ItemFileIndexingWriter
addFields, getDeletedDoc
 
Methods inherited from class org.dlese.dpc.index.writer.XMLFileIndexingWriter
addCustomFields, getFieldContent, getFieldContent, getFieldName, getOaiModtime
 
Methods inherited from class org.dlese.dpc.index.writer.FileIndexingServiceWriter
abortIndexing, addToAdminDefaultField, addToDefaultField, create, getExistingDoc, getFileIndexingService, getSourceDir, getSourceFile, isValidationEnabled, prtln, prtlnErr, setDebug, setDefaultFieldName, setFileIndexingService, setValidationEnabled
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DleseIMSFileIndexingWriter

public DleseIMSFileIndexingWriter(String collection,
                                  RecordDataService recordDataService)
Create a DleseIMSFileIndexingWriter that indexes the given collection in field collection. The RecordDataService is used to get indexible data such as recordStatus, annotations, vocab ID mappings and associated IDs.

Parameters:
collection - A name for the collection
recordDataService - The recordData service used with writer.
Method Detail

getCollection

public String getCollection()
Description copied from class: XMLFileIndexingWriter
Returns unique collection keys for the item being indexed, separated by spaces. For example 'dcc,' 'comet' or 'dwel'.

Specified by:
getCollection in class XMLFileIndexingWriter
Returns:
The collection keys

init

public void init(File source,
                 Document existingDoc)
          throws Exception
Initialize the XML map prior to processing

Specified by:
init in class ItemFileIndexingWriter
Parameters:
source - The source file being indexed.
existingDoc - A Document that previously existed in the index for this item, if present
Throws:
Exception - Thrown if error reading the XML map

destroy

protected void destroy()
Release map resources for GC after processing.

Specified by:
destroy in class ItemFileIndexingWriter

getReaderClass

public String getReaderClass()
Gets the name of the concrete DocReader class that is used to read this type of Document, which is "ItemDocReader".

Specified by:
getReaderClass in interface DocWriter
Specified by:
getReaderClass in class ItemFileIndexingWriter
Returns:
The STring "ItemDocReader".

getValidationReport

protected String getValidationReport()
                              throws Exception
Gets a report detailing any errors found in the validation of the data, or null if no error was found.

Specified by:
getValidationReport in class ItemFileIndexingWriter
Returns:
Null if no data validation errors were found, otherwise a String that details the nature of the error.
Throws:
Exception - If error in performing the validation.

getDocType

public final String getDocType()
Gets the docType attribute of the DleseIMSFileIndexingWriter, which is 'dlese_ims.'

Specified by:
getDocType in interface DocWriter
Specified by:
getDocType in class ItemFileIndexingWriter
Returns:
The docType, which is 'dlese_ims.'

getId

protected final String getId()
                      throws Exception
Gets the id attribute of the DleseIMSFileIndexingWriter object

Specified by:
getId in class XMLFileIndexingWriter
Returns:
The id value
Throws:
Exception - If an error occurs

getTitle

protected final String getTitle()
                         throws Exception
Gets the title attribute of the DleseIMSFileIndexingWriter object

Specified by:
getTitle in class ItemFileIndexingWriter
Returns:
The title value
Throws:
Exception - If an error occurs

getDescription

protected final String getDescription()
                               throws Exception
Gets the description attribute of the DleseIMSFileIndexingWriter object

Specified by:
getDescription in class ItemFileIndexingWriter
Returns:
The description value
Throws:
Exception - If an error occurs

getKeywords

protected String getKeywords()
                      throws Exception
Returns the items keywords. An empty String or null is acceptable. The String is tokenized, stored and indexed under the field key 'keywords' and is also indexed in the 'default' field.

Specified by:
getKeywords in class ItemFileIndexingWriter
Returns:
The keywords String
Throws:
Exception - This method should throw and Exception with appropriate error message if an error occurs.

getCreatorLastName

protected String getCreatorLastName()
                             throws Exception
Returns the items creator's last name. An empty String or null is acceptable. The String is tokenized, stored and indexed under the field the 'default' field only.

Specified by:
getCreatorLastName in class ItemFileIndexingWriter
Returns:
The creator's last name String
Throws:
Exception - This method should throw and Exception with appropriate error message if an error occurs.

getCreator

protected String getCreator()
                     throws Exception
Returns the items creator's full name. An empty String or null is acceptable. The String is tokenized, stored and indexed under the field key 'creator' and is also indexed in the 'default' field.

Specified by:
getCreator in class ItemFileIndexingWriter
Returns:
Creator's full name
Throws:
Exception - This method should throw and Exception with appropriate error message if an error occurs.

getAccessionStatus

protected String getAccessionStatus()
                             throws Exception
Returns the accession status of this record, for example 'accessioned'. The String is tokenized, stored and indexed under the field key 'accessionstatus'.

Specified by:
getAccessionStatus in class ItemFileIndexingWriter
Returns:
The accession status.
Throws:
Exception - This method should throw and Exception with appropriate error message if an error occurs.

getUrl

protected final String getUrl()
                       throws Exception
Gets the url attribute of the DleseIMSFileIndexingWriter object

Specified by:
getUrl in class ItemFileIndexingWriter
Returns:
The url value
Throws:
Exception - If an error occurs

addFrameworkFields

protected final void addFrameworkFields(Document newDoc,
                                        Document existingDoc)
                                 throws Exception
Adds custom fields to the index that are unique to DLESE-IMS

Specified by:
addFrameworkFields in class ItemFileIndexingWriter
Parameters:
newDoc - The feature to be added to the FrameworkFields attribute
existingDoc - The feature to be added to the FrameworkFields attribute
Throws:
Exception - If an error occurs

DLESE Tools
v1.2