masonjm 2005/01/11 10:01:16
Modified: src/share/org/apache/slide/search Tag:
SLIDE_2_1_RELEASE_BRANCH IndexTrigger.java
Log:
Backport from 2.2 to fix NPE during deletes
Revision Changes Path
No revision
No revision
1.3.2.1 +18 -9
jakarta-slide/src/share/org/apache/slide/search/IndexTrigger.java
Index: IndexTrigger.java
===================================================================
RCS file:
/home/cvs/jakarta-slide/src/share/org/apache/slide/search/IndexTrigger.java,v
retrieving revision 1.3
retrieving revision 1.3.2.1
diff -u -r1.3 -r1.3.2.1
--- IndexTrigger.java 28 Jul 2004 09:35:11 -0000 1.3
+++ IndexTrigger.java 11 Jan 2005 18:01:16 -0000 1.3.2.1
@@ -96,23 +96,32 @@
private synchronized void triggerIndexers(EventCollection collection,
boolean synchronous) throws IndexException {
ContentEvent[] update =
EventCollectionFilter.getChangedContents(collection);
for ( int i = 0; i < update.length; i++ ) {
- Indexer[] indexers =
getIndexers(update[i].getRevisionDescriptors(),
update[i].getRevisionDescriptor(), synchronous);
+ Indexer[] indexers =
getIndexers(update[i].getRevisionDescriptors(),
+ update[i].getRevisionDescriptor(), synchronous);
for ( int j = 0; j < indexers.length; j++ ) {
- indexers[j].updateIndex(new Uri(update[i].getNamespace(),
update[i].getUri()), update[i].getRevisionDescriptor(),
update[i].getRevisionContent());
+ indexers[j].updateIndex(new Uri(update[i].getNamespace(),
+ update[i].getUri()),
update[i].getRevisionDescriptor(),
+ update[i].getRevisionContent());
}
}
ContentEvent[] insert =
EventCollectionFilter.getCreatedContents(collection);
for ( int i = 0; i < insert.length; i++ ) {
- Indexer[] indexers =
getIndexers(insert[i].getRevisionDescriptors(),
insert[i].getRevisionDescriptor(), synchronous);
+ Indexer[] indexers =
getIndexers(insert[i].getRevisionDescriptors(),
+ insert[i].getRevisionDescriptor(), synchronous);
for ( int j = 0; j < indexers.length; j++ ) {
- indexers[j].createIndex(new Uri(insert[i].getNamespace(),
insert[i].getUri()), insert[i].getRevisionDescriptor(),
insert[i].getRevisionContent());
+ indexers[j].createIndex(new Uri(insert[i].getNamespace(),
+ insert[i].getUri()),
insert[i].getRevisionDescriptor(),
+ insert[i].getRevisionContent());
}
}
ContentEvent[] delete =
EventCollectionFilter.getRemovedContents(collection);
for ( int i = 0; i < delete.length; i++ ) {
Indexer[] indexers =
getIndexers(delete[i].getRevisionDescriptors(),
delete[i].getRevisionDescriptor(), synchronous);
for ( int j = 0; j < indexers.length; j++ ) {
- indexers[j].dropIndex(new Uri(delete[i].getNamespace(),
delete[i].getUri()), delete[i].getRevisionDescriptor().getRevisionNumber());
+ indexers[j].dropIndex(new Uri(delete[i].getNamespace(),
+ delete[i].getUri()),
+ delete[i].getRevisionDescriptor() == null ? null :
+
delete[i].getRevisionDescriptor().getRevisionNumber());
}
}
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]