--- src/scratchpad/src/org/apache/poi/hslf/usermodel/SlideShow.java (revision 539839) +++ src/scratchpad/src/org/apache/poi/hslf/usermodel/SlideShow.java (working copy) @@ -32,6 +32,7 @@ import org.apache.poi.hslf.model.*; import org.apache.poi.hslf.record.Document; import org.apache.poi.hslf.record.DocumentAtom; +import org.apache.poi.hslf.record.NotesAtom; import org.apache.poi.hslf.record.FontCollection; import org.apache.poi.hslf.record.ParentAwareRecord; import org.apache.poi.hslf.record.PositionDependentRecordContainer; @@ -54,8 +55,6 @@ * This class is a friendly wrapper on top of the more scary HSLFSlideShow. * * TODO: - * - figure out how to match notes to their correct sheet - * (will involve understanding DocSlideList and DocNotesList) * - handle Slide creation cleaner * * @author Nick Burch @@ -363,12 +362,13 @@ Record r = getCoreRecordForSAS(notesSets[i]); // Ensure it really is a notes record - if(r != null && r instanceof org.apache.poi.hslf.record.Notes) { - notesRecordsL.add( (org.apache.poi.hslf.record.Notes)r ); + if(r instanceof org.apache.poi.hslf.record.Notes) { + org.apache.poi.hslf.record.Notes notesRecord = (org.apache.poi.hslf.record.Notes)r; + notesRecordsL.add(notesRecord); // Record the match between slide id and these notes - SlidePersistAtom spa = notesSets[i].getSlidePersistAtom(); - Integer slideId = new Integer(spa.getSlideIdentifier()); + NotesAtom na = notesRecord.getNotesAtom(); + Integer slideId = new Integer(na.getSlideID()); slideIdToNotes.put(slideId, new Integer(i)); } else { logger.log(POILogger.ERROR, "A Notes SlideAtomSet at " + i + " said its record was at refID " + notesSets[i].getSlidePersistAtom().getRefID() + ", but that was actually a " + r);