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]

Reply via email to