From 6a90077cb1588e69a8161bb69fbb728b71b060e1 Mon Sep 17 00:00:00 2001 From: Graham Triggs Date: Mon, 17 Sep 2007 15:38:10 +0000 Subject: [PATCH] Ensure that the item is in the archive and eligible for indexing before adding it to Lucene git-svn-id: http://scm.dspace.org/svn/repo/trunk@2197 9c30dcfa-912a-0410-8fc2-9e0234be79fd --- .../java/org/dspace/search/DSIndexer.java | 25 +++++++++++-------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/dspace-api/src/main/java/org/dspace/search/DSIndexer.java b/dspace-api/src/main/java/org/dspace/search/DSIndexer.java index a41fd1b5c4..9389e4f82d 100644 --- a/dspace-api/src/main/java/org/dspace/search/DSIndexer.java +++ b/dspace-api/src/main/java/org/dspace/search/DSIndexer.java @@ -243,18 +243,23 @@ public class DSIndexer switch (dso.getType()) { case Constants.ITEM : - if(requiresIndexing(handle, ((Item)dso).getLastModified()) || force) + Item item = (Item)dso; + if (item.isArchived() && !item.isWithdrawn()) { - Document doc = buildDocument(context, (Item) dso); - - /* open inside stale block, after building doc - * to limit the total time spent in a lock. - */ - writer = openIndex(context, false); - writer.updateDocument(t, doc); - - log.info("Wrote Item: " + handle + " to Index"); + if(requiresIndexing(handle, ((Item)dso).getLastModified()) || force) + { + Document doc = buildDocument(context, (Item) dso); + + /* open inside stale block, after building doc + * to limit the total time spent in a lock. + */ + writer = openIndex(context, false); + writer.updateDocument(t, doc); + + log.info("Wrote Item: " + handle + " to Index"); + } } + break; case Constants.COLLECTION :