}
/**
- * Builds a RepositoryMetadata object from a Metadata object and its path
+ * Builds a RepositoryMetadata object from a Metadata object and its path.
*
* @param m Metadata
* @param metadataPath path
* @return RepositoryMetadata if the parameters represent one; null if not
+ * @todo should we just be using the path information, and loading it later when it is needed? (for reporting, etc)
*/
private RepositoryMetadata buildMetadata( Metadata m, String metadataPath )
{
{
RepositoryIndexRecord record = (RepositoryIndexRecord) i.next();
- Document document = converter.convert( record );
- document.add( new Field( FLD_PK, record.getPrimaryKey(), Field.Store.NO, Field.Index.UN_TOKENIZED ) );
+ if ( record != null )
+ {
+ Document document = converter.convert( record );
+ document.add(
+ new Field( FLD_PK, record.getPrimaryKey(), Field.Store.NO, Field.Index.UN_TOKENIZED ) );
- indexWriter.addDocument( document );
+ indexWriter.addDocument( document );
+ }
}
}
catch ( IOException e )
private Analyzer getAnalyzer()
{
- // TODO: investigate why changed in original!
+ // TODO: investigate why changed in original! Probably for MD5 and number querying.
return new StandardAnalyzer();
}
{
RepositoryIndexRecord record = (RepositoryIndexRecord) artifacts.next();
- Term term = new Term( FLD_PK, record.getPrimaryKey() );
+ if ( record != null )
+ {
+ Term term = new Term( FLD_PK, record.getPrimaryKey() );
- indexReader.deleteDocuments( term );
+ indexReader.deleteDocuments( term );
+ }
}
}
finally