diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/ContextNodeFields.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/ContextNodeFields.java index 24e368c9e..636a61e91 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/ContextNodeFields.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/ContextNodeFields.java @@ -51,7 +51,7 @@ public class ContextNodeFields implements DocumentModifier{ } @Override - public void modifyDocument(Individual individual, SearchInputDocument doc, StringBuffer addUri) { + public void modifyDocument(Individual individual, SearchInputDocument doc) { if( individual == null ) return; diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/DocumentModifier.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/DocumentModifier.java index 7b3b6194a..6806cff64 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/DocumentModifier.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/DocumentModifier.java @@ -4,13 +4,23 @@ package edu.cornell.mannlib.vitro.webapp.search.documentBuilding; import edu.cornell.mannlib.vitro.webapp.beans.Individual; import edu.cornell.mannlib.vitro.webapp.modules.searchEngine.SearchInputDocument; + /** * This interface represents an object that can add to a SearchInputDocument. */ public interface DocumentModifier { - public void modifyDocument(Individual individual, SearchInputDocument doc, StringBuffer addUri) throws SkipIndividualException; - - //called to inform the DocumentModifier that the system is shutting down - public void shutdown(); - + /** + * Use the rules contained within this class to modify this search document, + * according to the characteristics of this individual. + * + * @param individual + * The individual that is being indexed. Will not be null. + * @param doc + * The document as it stands so far. Will not be null. + */ + public void modifyDocument(Individual individual, SearchInputDocument doc); + + // called to inform the DocumentModifier that the system is shutting down + public void shutdown(); + } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/IndividualToSearchDocument.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/IndividualToSearchDocument.java index 6bb9986d9..78ce9c044 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/IndividualToSearchDocument.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/IndividualToSearchDocument.java @@ -97,7 +97,7 @@ public class IndividualToSearchDocument { log.debug(ind.getURI() + " pre mod boost: " + doc.getDocumentBoost()); - runAdditionalDocModifers(ind,doc,addUri); + runAdditionalDocModifers(ind,doc); log.debug(ind.getURI() + " post mod boost: " + doc.getDocumentBoost()); @@ -132,7 +132,7 @@ public class IndividualToSearchDocument { protected Map docModClassToTime = new HashMap(); protected long docModCount =0; - protected void runAdditionalDocModifers( Individual ind, SearchInputDocument doc, StringBuffer addUri ) + protected void runAdditionalDocModifers( Individual ind, SearchInputDocument doc ) throws SkipIndividualException{ //run the document modifiers if( documentModifiers != null && !documentModifiers.isEmpty()){ @@ -141,7 +141,7 @@ public class IndividualToSearchDocument { long start = System.currentTimeMillis(); - modifier.modifyDocument(ind, doc, addUri); + modifier.modifyDocument(ind, doc); if( log.isDebugEnabled()){ long delta = System.currentTimeMillis() - start; diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/NameBoost.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/NameBoost.java index 5a0da964b..67eaf66c1 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/NameBoost.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/NameBoost.java @@ -28,8 +28,7 @@ public class NameBoost implements DocumentModifier { } @Override - public void modifyDocument(Individual individual, SearchInputDocument doc, - StringBuffer addUri) { + public void modifyDocument(Individual individual, SearchInputDocument doc) { for( String fieldName : fieldsToBoost){ SearchInputField field = doc.getField(fieldName); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/NameFields.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/NameFields.java index 06b592d53..8728a86e2 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/NameFields.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/NameFields.java @@ -31,8 +31,7 @@ public class NameFields implements DocumentModifier { } @Override - public void modifyDocument(Individual ind, SearchInputDocument doc, - StringBuffer addUri) throws SkipIndividualException { + public void modifyDocument(Individual ind, SearchInputDocument doc) { if( ind == null || ind.getURI() == null ){ return; } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/SourceInstitution.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/SourceInstitution.java index ccd0c0ccc..85dfb40bd 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/SourceInstitution.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/SourceInstitution.java @@ -7,26 +7,25 @@ import edu.cornell.mannlib.vitro.webapp.modules.searchEngine.SearchInputDocument import edu.cornell.mannlib.vitro.webapp.search.VitroSearchTermNames; public class SourceInstitution implements DocumentModifier { - + private String siteURL; private String siteName; - + static VitroSearchTermNames term = new VitroSearchTermNames(); private String fieldForSiteURL = term.SITE_URL; private String fieldForSiteName = term.SITE_NAME; - - public SourceInstitution(String siteURL, String siteName){ + + public SourceInstitution(String siteURL, String siteName) { this.siteURL = siteURL; this.siteName = siteName; } - + @Override - public void modifyDocument(Individual individual, SearchInputDocument doc, - StringBuffer addUri) throws SkipIndividualException { - + public void modifyDocument(Individual individual, SearchInputDocument doc) { + doc.addField(VitroSearchTermNames.SITE_URL, siteURL); doc.addField(VitroSearchTermNames.SITE_NAME, siteURL); - + doc.addField(fieldForSiteName, siteName); } diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/ThumbnailImageURL.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/ThumbnailImageURL.java index bafcd761d..a82b3a661 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/ThumbnailImageURL.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/ThumbnailImageURL.java @@ -45,10 +45,8 @@ public class ThumbnailImageURL implements DocumentModifier { } @Override - public void modifyDocument(Individual individual, SearchInputDocument doc, - StringBuffer addUri) throws SkipIndividualException { - - //add a field for storing the location of thumbnail for the individual. + public void modifyDocument(Individual individual, SearchInputDocument doc) { + // add a field for storing the location of thumbnail for the individual. doc.addField(THUMBNAIL_URL, runQueryForThumbnailLocation(individual)); addThumbnailExistence(individual, doc); } diff --git a/webapp/test/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/ThumbnailImageURLTest.java b/webapp/test/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/ThumbnailImageURLTest.java index 1c963c99d..285152e8d 100644 --- a/webapp/test/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/ThumbnailImageURLTest.java +++ b/webapp/test/edu/cornell/mannlib/vitro/webapp/search/documentBuilding/ThumbnailImageURLTest.java @@ -29,8 +29,6 @@ import edu.cornell.mannlib.vitro.webapp.rdfservice.RDFServiceFactory; import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.RDFServiceFactorySingle; import edu.cornell.mannlib.vitro.webapp.rdfservice.impl.jena.model.RDFServiceModel; import edu.cornell.mannlib.vitro.webapp.search.VitroSearchTermNames; -import edu.cornell.mannlib.vitro.webapp.search.documentBuilding.SkipIndividualException; -import edu.cornell.mannlib.vitro.webapp.search.documentBuilding.ThumbnailImageURL; public class ThumbnailImageURLTest extends AbstractTestClass{ RDFServiceFactory testRDF; @@ -62,11 +60,7 @@ public class ThumbnailImageURLTest extends AbstractTestClass{ ind.setURI(personsURI); //make sure that the person is in the RDF - try { - testMe.modifyDocument(ind, doc, null); - } catch (SkipIndividualException e) { - Assert.fail("Test individual was skipped by classes that build the search document: " + e.getMessage()); - } + testMe.modifyDocument(ind, doc); //make sure that a search document field got created for the thumbnail image