Changeset 193

Show
Ignore:
Timestamp:
03/08/06 15:47:13 (2 years ago)
Author:
dsandler
Message:

Defend against NPEs in Rome when publishing feeds.

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • feedtree/trunk/src/net/feedtree/publisher/Publisher.java

    r173 r193  
    345345                         
    346346                        if (isNew) { 
     347                            // Prepare a feed event for publication,  
     348                            // containing the new entry. 
     349                             
     350                            IFeedUpdateEvent feedEvent = null; 
    347351                            try { 
    348                                 // Prepare a feed event for publication,  
    349                                 // containing the new entry. 
    350                                  
    351                                 IFeedUpdateEvent feedEvent =  
    352                                     generateSignedEvent(feedTopic, feed, e); 
    353                                  
     352                                generateSignedEvent(feedTopic, feed, e); 
     353                            } catch (com.sun.syndication.io.FeedException exc) { 
     354                                Logger.global.warning("error: could not generate feed for SyndEntry " + e + ": " + exc.toString()); 
     355                            } catch (NullPointerException exc) { 
     356                                // Defend against brokenness in Rome feed 
     357                                // parsing or generation. 
     358                                StackTraceElement top = exc.getStackTrace()[0]; 
     359                                Logger.global.warning("error: could not generate feed for SyndEntry " + e + ": NPE at "  
     360                                        + top.getFileName() + ":" + top.getLineNumber() + " [" 
     361                                        + top.getClassName() + "." + top.getMethodName() + "]"); 
     362                            } 
     363 
     364                            if (feedEvent != null) { 
    354365                                toPublish.add(feedEvent); 
    355366                                 
     
    359370                                entriesSeen.put(entryId, newEntry); 
    360371                                newEntry.setEvent(feedEvent); 
    361  
    362                             } catch (com.sun.syndication.io.FeedException exc) { 
    363                                 Logger.global.warning("error: could not generate feed for SyndEntry " + e + ": " + exc.toString()); 
    364372                            } 
    365373                        }