[Bedework-commit] indexer r43 - trunk/src/org/bedework/indexer
svnadmin at bedework.org
svnadmin at bedework.org
Tue Mar 2 15:39:08 EST 2010
Author: douglm
Date: 2010-03-02 15:39:07 -0500 (Tue, 02 Mar 2010)
New Revision: 43
Modified:
trunk/src/org/bedework/indexer/CalSys.java
trunk/src/org/bedework/indexer/MessageProcessor.java
Log:
Fix indexer to correctly index recurring events - without reindexing the mster for every instance.
BwIndexLuceneImpl had incorrect check for recurring entities - was treating every instance as a recurring event
Modified: trunk/src/org/bedework/indexer/CalSys.java
===================================================================
--- trunk/src/org/bedework/indexer/CalSys.java 2010-02-25 14:41:27 UTC (rev 42)
+++ trunk/src/org/bedework/indexer/CalSys.java 2010-03-02 20:39:07 UTC (rev 43)
@@ -29,6 +29,7 @@
import org.bedework.calfacade.BwEvent;
import org.bedework.calfacade.BwSystem;
import org.bedework.calfacade.RecurringRetrievalMode;
+import org.bedework.calfacade.RecurringRetrievalMode.Rmode;
import org.bedework.calfacade.exc.CalFacadeAccessException;
import org.bedework.calfacade.exc.CalFacadeException;
import org.bedework.calfacade.svc.EventInfo;
@@ -421,7 +422,7 @@
EventsI evhandler = svci.getEventsHandler();
Collection<EventInfo> evis = evhandler.get(colPath, uid, rid,
- new RecurringRetrievalMode(),
+ new RecurringRetrievalMode(Rmode.overrides),
false);
return evis;
Modified: trunk/src/org/bedework/indexer/MessageProcessor.java
===================================================================
--- trunk/src/org/bedework/indexer/MessageProcessor.java 2010-02-25 14:41:27 UTC (rev 42)
+++ trunk/src/org/bedework/indexer/MessageProcessor.java 2010-03-02 20:39:07 UTC (rev 43)
@@ -188,7 +188,7 @@
ece.getRecurrenceId());
for (EventInfo ei: eis) {
- add(ei);
+ add(ei, true);
}
} finally {
close();
@@ -213,14 +213,17 @@
getIndexer(val).indexEntity(val);
}
- private void add(final EventInfo val) throws CalFacadeException {
+ private void add(final EventInfo val,
+ final boolean firstRecurrence) throws CalFacadeException {
+ boolean first = true;
if (!Util.isEmpty(val.getOverrides())) {
for (EventInfo ei: val.getOverrides()) {
- add(ei);
+ add(ei, first);
+ first = false;
}
}
- if (val.getRecurrenceId() != null) {
+ if (firstRecurrence && (val.getRecurrenceId() != null)) {
// Indexing an override. Reindex the master event
BwEventProxy proxy = (BwEventProxy)val.getEvent();
More information about the Bedework-commit
mailing list