CalEvents are never removed from the index when they are deleted. You'll notice this since these deleted events will continue to show up in the search portlet... cloggin up your search results with bad indexes.
To fix this, just add these lines at the top of the deletEvent(..) method in CalEventLocalServiceImpl.java
// Indexer
try
{ Indexer.deleteEvent(event.getCompanyId(), event.getEventId()); }catch (SearchException se) { _log.error("Deleting index " + event.getEventId(), se); }
so that it looks like this:
public void deleteEvent(CalEvent event)
throws PortalException, SystemException {
// Indexer
try { Indexer.deleteEvent(event.getCompanyId(), event.getEventId()); }
catch (SearchException se)
{ _log.error("Deleting index " + event.getEventId(), se); }// Pool
CalEventLocalUtil.clearEventsPool(event.getGroupId());
thats it.
Scott