}
private Record[] read(byte[] docstream, int usrOffset){
- ArrayList lst = new ArrayList();
- HashMap offset2id = new HashMap();
+ ArrayList<Integer> lst = new ArrayList<Integer>();
+ HashMap<Integer,Integer> offset2id = new HashMap<Integer,Integer>();
while (usrOffset != 0){
UserEditAtom usr = (UserEditAtom) Record.buildRecordAtOffset(docstream, usrOffset);
lst.add(Integer.valueOf(usrOffset));
PersistPtrHolder ptr = (PersistPtrHolder)Record.buildRecordAtOffset(docstream, psrOffset);
lst.add(Integer.valueOf(psrOffset));
- Hashtable entries = ptr.getSlideLocationsLookup();
- for (Iterator it = entries.keySet().iterator(); it.hasNext(); ) {
- Integer id = (Integer)it.next();
- Integer offset = (Integer)entries.get(id);
-
+ Hashtable<Integer,Integer> entries = ptr.getSlideLocationsLookup();
+ for(Integer id : entries.keySet()) {
+ Integer offset = entries.get(id);
lst.add(offset);
offset2id.put(offset, id);
}
}
//sort found records by offset.
//(it is not necessary but SlideShow.findMostRecentCoreRecords() expects them sorted)
- Object a[] = lst.toArray();
+ Integer a[] = lst.toArray(new Integer[lst.size()]);
Arrays.sort(a);
Record[] rec = new Record[lst.size()];
for (int i = 0; i < a.length; i++) {
- Integer offset = (Integer)a[i];
+ Integer offset = a[i];
rec[i] = Record.buildRecordAtOffset(docstream, offset.intValue());
if(rec[i] instanceof PersistRecord) {
PersistRecord psr = (PersistRecord)rec[i];
- Integer id = (Integer)offset2id.get(offset);
+ Integer id = offset2id.get(offset);
psr.setPersistId(id.intValue());
}
}
POIFSFileSystem outFS = new POIFSFileSystem();
// The list of entries we've written out
- List writtenEntries = new ArrayList(1);
+ List<String> writtenEntries = new ArrayList<String>(1);
// Write out the Property Streams
writeProperties(outFS, writtenEntries);
// For position dependent records, hold where they were and now are
// As we go along, update, and hand over, to any Position Dependent
// records we happen across
- Hashtable oldToNewPositions = new Hashtable();
+ Hashtable<Integer,Integer> oldToNewPositions = new Hashtable<Integer,Integer>();
// First pass - figure out where all the position dependent
// records are going to end up, in the new scheme
*/
public ObjectData[] getEmbeddedObjects() {
if (_objects == null) {
- List objects = new ArrayList();
+ List<ObjectData> objects = new ArrayList<ObjectData>();
for (int i = 0; i < _records.length; i++) {
if (_records[i] instanceof ExOleObjStg) {
objects.add(new ObjectData((ExOleObjStg) _records[i]));
}
}
- _objects = (ObjectData[]) objects.toArray(new ObjectData[objects.size()]);
+ _objects = objects.toArray(new ObjectData[objects.size()]);
}
return _objects;
}
private Record[] _mostRecentCoreRecords;
// Lookup between the PersitPtr "sheet" IDs, and the position
// in the mostRecentCoreRecords array
- private Hashtable _sheetIdToCoreRecordsLookup;
+ private Hashtable<Integer,Integer> _sheetIdToCoreRecordsLookup;
// Records that are interesting
private Document _documentRecord;
*/
private void findMostRecentCoreRecords() {
// To start with, find the most recent in the byte offset domain
- Hashtable mostRecentByBytes = new Hashtable();
+ Hashtable<Integer,Integer> mostRecentByBytes = new Hashtable<Integer,Integer>();
for (int i = 0; i < _records.length; i++) {
if (_records[i] instanceof PersistPtrHolder) {
PersistPtrHolder pph = (PersistPtrHolder) _records[i];
}
// Now, update the byte level locations with their latest values
- Hashtable thisSetOfLocations = pph.getSlideLocationsLookup();
+ Hashtable<Integer,Integer> thisSetOfLocations = pph.getSlideLocationsLookup();
for (int j = 0; j < ids.length; j++) {
Integer id = Integer.valueOf(ids[j]);
mostRecentByBytes.put(id, thisSetOfLocations.get(id));
// We'll also want to be able to turn the slide IDs into a position
// in this array
- _sheetIdToCoreRecordsLookup = new Hashtable();
+ _sheetIdToCoreRecordsLookup = new Hashtable<Integer,Integer>();
int[] allIDs = new int[_mostRecentCoreRecords.length];
- Enumeration ids = mostRecentByBytes.keys();
+ Enumeration<Integer> ids = mostRecentByBytes.keys();
for (int i = 0; i < allIDs.length; i++) {
- Integer id = (Integer) ids.nextElement();
+ Integer id = ids.nextElement();
allIDs[i] = id.intValue();
}
Arrays.sort(allIDs);
// Is it one we care about?
for (int j = 0; j < allIDs.length; j++) {
Integer thisID = Integer.valueOf(allIDs[j]);
- Integer thatRecordAt = (Integer) mostRecentByBytes.get(thisID);
+ Integer thatRecordAt = mostRecentByBytes.get(thisID);
if (thatRecordAt.equals(recordAt)) {
// Bingo. Now, where do we store it?
- Integer storeAtI = (Integer) _sheetIdToCoreRecordsLookup.get(thisID);
+ Integer storeAtI = _sheetIdToCoreRecordsLookup.get(thisID);
int storeAt = storeAtI.intValue();
// Tell it its Sheet ID, if it cares
* the refID
*/
private Record getCoreRecordForRefID(int refID) {
- Integer coreRecordId = (Integer) _sheetIdToCoreRecordsLookup.get(Integer.valueOf(refID));
+ Integer coreRecordId = _sheetIdToCoreRecordsLookup.get(Integer.valueOf(refID));
if (coreRecordId != null) {
Record r = _mostRecentCoreRecords[coreRecordId.intValue()];
return r;
if (masterSLWT != null) {
masterSets = masterSLWT.getSlideAtomsSets();
- ArrayList mmr = new ArrayList();
- ArrayList tmr = new ArrayList();
+ ArrayList<SlideMaster> mmr = new ArrayList<SlideMaster>();
+ ArrayList<TitleMaster> tmr = new ArrayList<TitleMaster>();
for (int i = 0; i < masterSets.length; i++) {
Record r = getCoreRecordForSAS(masterSets[i]);
_titleMasters = new TitleMaster[tmr.size()];
tmr.toArray(_titleMasters);
-
}
// Having sorted out the masters, that leaves the notes and slides
// notesSLWT
org.apache.poi.hslf.record.Notes[] notesRecords;
SlideAtomsSet[] notesSets = new SlideAtomsSet[0];
- Hashtable slideIdToNotes = new Hashtable();
+ Hashtable<Integer,Integer> slideIdToNotes = new Hashtable<Integer,Integer>();
if (notesSLWT == null) {
// None
notesRecords = new org.apache.poi.hslf.record.Notes[0];
} else {
// Match up the records and the SlideAtomSets
notesSets = notesSLWT.getSlideAtomsSets();
- ArrayList notesRecordsL = new ArrayList();
+ ArrayList<org.apache.poi.hslf.record.Notes> notesRecordsL =
+ new ArrayList<org.apache.poi.hslf.record.Notes>();
for (int i = 0; i < notesSets.length; i++) {
// Get the right core record
Record r = getCoreRecordForSAS(notesSets[i]);
}
}
notesRecords = new org.apache.poi.hslf.record.Notes[notesRecordsL.size()];
- notesRecords = (org.apache.poi.hslf.record.Notes[]) notesRecordsL.toArray(notesRecords);
+ notesRecords = notesRecordsL.toArray(notesRecords);
}
// Now, do the same thing for our slides
sas[oldSlideNumber - 1] = sas[newSlideNumber - 1];
sas[newSlideNumber - 1] = tmp;
- ArrayList lst = new ArrayList();
+ ArrayList<Record> lst = new ArrayList<Record>();
for (int i = 0; i < sas.length; i++) {
lst.add(sas[i].getSlidePersistAtom());
Record[] r = sas[i].getSlideRecords();
}
_slides[i].setSlideNumber(i + 1);
}
- Record[] r = (Record[]) lst.toArray(new Record[lst.size()]);
+ Record[] r = lst.toArray(new Record[lst.size()]);
slwt.setChildRecord(r);
}