From 995d8fe73ff910a43bfa61bdbd095c10a4455635 Mon Sep 17 00:00:00 2001
From: Josh Micich
Date: Tue, 18 Aug 2009 02:41:45 +0000
Subject: [PATCH] Fixed unused imports compiler warnings (and some others)
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@805262 13f79535-47bb-0310-9956-ffa450edef68
---
src/java/org/apache/poi/hssf/dev/EFHSSF.java | 195 --
.../apache/poi/hssf/model/CommentShape.java | 36 +-
.../org/apache/poi/hssf/model/Workbook.java | 121 +-
.../apache/poi/hssf/record/CFRuleRecord.java | 67 +-
.../poi/hssf/record/ContinueRecord.java | 1 -
.../apache/poi/hssf/record/RecordFactory.java | 1 -
.../poi/hssf/record/SelectionRecord.java | 5 +-
.../org/apache/poi/hssf/record/SubRecord.java | 19 +-
.../poi/hssf/record/formula/ArrayPtg.java | 35 +-
.../poi/hssf/record/formula/RefPtgBase.java | 3 +-
.../record/formula/atp/ParityFunction.java | 1 -
.../poi/hssf/record/formula/atp/YearFrac.java | 3 +-
.../poi/hssf/usermodel/HSSFChildAnchor.java | 8 +-
.../hssf/usermodel/HSSFCreationHelper.java | 52 +-
.../poi/hssf/usermodel/HSSFDataFormatter.java | 15 +-
.../poi/hssf/usermodel/HSSFTextbox.java | 3 -
.../org/apache/poi/poifs/dev/POIFSLister.java | 119 +-
.../poi/poifs/property/DirectoryProperty.java | 70 +-
.../poi/poifs/property/PropertyTable.java | 49 +-
.../poi/poifs/property/RootProperty.java | 20 +-
.../apache/poi/poifs/storage/BATBlock.java | 8 +-
.../storage/BlockAllocationTableReader.java | 40 +-
.../storage/BlockAllocationTableWriter.java | 38 +-
.../poi/poifs/storage/BlockListImpl.java | 37 +-
.../poifs/storage/HeaderBlockConstants.java | 7 -
.../poi/poifs/storage/PropertyBlock.java | 16 +-
.../poifs/storage/SmallBlockTableReader.java | 13 +-
src/java/org/apache/poi/util/IntList.java | 23 +-
src/java/org/apache/poi/util/NullLogger.java | 11 +-
src/java/org/apache/poi/util/ShortList.java | 4 -
.../java/org/apache/poi/POIXMLDocument.java | 1 -
.../apache/poi/xssf/model/StylesTable.java | 196 +-
.../xssf/usermodel/XSSFCreationHelper.java | 57 +-
.../poi/xssf/usermodel/XSSFWorkbook.java | 21 +-
.../extensions/XSSFHeaderFooter.java | 309 ++--
.../apache/poi/openxml4j/opc/TestPackage.java | 37 +-
.../apache/poi/xssf/io/TestLoadSaveXSSF.java | 12 +-
.../poi/xssf/usermodel/TestXSSFBugs.java | 12 +-
.../xssf/usermodel/TestXSSFDataFormat.java | 17 +-
.../poi/xssf/usermodel/TestXSSFFont.java | 20 +-
.../poi/xssf/usermodel/TestXSSFName.java | 7 +-
.../poi/xssf/usermodel/TestXSSFPicture.java | 1 -
.../xssf/usermodel/TestXSSFPictureData.java | 12 +-
.../xssf/usermodel/TestXSSFPrintSetup.java | 8 +-
.../usermodel/TestXSSFRichTextString.java | 26 +-
.../poi/xssf/usermodel/TestXSSFRow.java | 14 +-
.../poi/xssf/usermodel/TestXSSFSheet.java | 51 +-
.../poi/xssf/usermodel/TestXSSFWorkbook.java | 235 ++-
.../poi/xssf/util/TestCTColComparator.java | 8 +-
.../poi/xwpf/usermodel/TestXWPFParagraph.java | 45 +-
.../apache/poi/hdf/extractor/StyleSheet.java | 6 +-
.../poi/hdf/model/HDFObjectFactory.java | 71 +-
.../model/hdftypes/FileInformationBlock.java | 3 -
.../poi/hdf/model/hdftypes/StyleSheet.java | 5 +-
.../hdftypes/definitions/CHPAbstractType.java | 4 -
.../hdftypes/definitions/DOPAbstractType.java | 1 -
.../hdftypes/definitions/FIBAbstractType.java | 2 -
.../hdftypes/definitions/PAPAbstractType.java | 4 -
.../hdftypes/definitions/SEPAbstractType.java | 5 -
.../hdftypes/definitions/TAPAbstractType.java | 6 -
.../hdftypes/definitions/TCAbstractType.java | 5 -
.../apache/poi/hslf/EncryptedSlideShow.java | 7 +-
.../src/org/apache/poi/hslf/blip/EMF.java | 1 -
.../org/apache/poi/hslf/blip/Metafile.java | 1 -
.../src/org/apache/poi/hslf/blip/PICT.java | 12 +-
.../src/org/apache/poi/hslf/blip/WMF.java | 1 -
.../apache/poi/hslf/dev/SlideShowDumper.java | 2 -
.../poi/hslf/dev/SlideShowRecordDumper.java | 1 -
.../apache/poi/hslf/dev/TextStyleListing.java | 1 -
.../hslf/dev/UserEditAndPersistListing.java | 15 +-
.../QuickButCruddyTextExtractor.java | 2 -
.../org/apache/poi/hslf/model/Freeform.java | 1 -
.../apache/poi/hslf/model/MasterSheet.java | 4 -
.../org/apache/poi/hslf/model/Picture.java | 2 -
.../apache/poi/hslf/model/Placeholder.java | 1 -
.../src/org/apache/poi/hslf/model/Shape.java | 1 -
.../src/org/apache/poi/hslf/model/Sheet.java | 1 -
.../org/apache/poi/hslf/model/TableCell.java | 1 -
.../apache/poi/hslf/model/TextPainter.java | 32 +-
.../org/apache/poi/hslf/model/TextRun.java | 1 -
.../org/apache/poi/hslf/model/TextShape.java | 24 +-
.../poi/hslf/record/AnimationInfoAtom.java | 5 +-
.../hslf/record/DocumentEncryptionAtom.java | 5 +-
.../apache/poi/hslf/record/ExAviMovie.java | 6 -
.../org/apache/poi/hslf/record/ExControl.java | 5 -
.../poi/hslf/record/ExHyperlinkAtom.java | 15 +-
.../apache/poi/hslf/record/ExMediaAtom.java | 2 -
.../poi/hslf/record/FontEntityAtom.java | 1 -
.../poi/hslf/record/InteractiveInfoAtom.java | 17 +-
.../apache/poi/hslf/record/MainMaster.java | 45 +-
.../apache/poi/hslf/record/OEShapeAtom.java | 2 -
.../org/apache/poi/hslf/record/PPDrawing.java | 83 +-
.../poi/hslf/record/PPDrawingGroup.java | 1 -
.../hslf/record/RoundTripHFPlaceholder12.java | 8 +-
.../poi/hslf/record/SlideListWithText.java | 58 +-
.../poi/hslf/record/SoundCollection.java | 2 -
.../org/apache/poi/hslf/record/SoundData.java | 3 -
.../apache/poi/hslf/record/TextRulerAtom.java | 3 -
.../apache/poi/hslf/usermodel/SlideShow.java | 1641 +++++++++--------
.../poi/hwpf/model/DocumentProperties.java | 12 +-
.../poi/hwpf/model/PAPFormattedDiskPage.java | 4 +-
.../org/apache/poi/hwpf/model/StyleSheet.java | 5 +-
.../apache/poi/hwpf/model/TextPieceTable.java | 424 ++---
.../poi/hwpf/model/types/CHPAbstractType.java | 9 +-
.../poi/hwpf/model/types/DOPAbstractType.java | 12 +-
.../poi/hwpf/model/types/FIBAbstractType.java | 12 +-
.../poi/hwpf/model/types/PAPAbstractType.java | 14 +-
.../poi/hwpf/model/types/SEPAbstractType.java | 14 +-
.../poi/hwpf/model/types/TAPAbstractType.java | 15 +-
.../poi/hwpf/model/types/TCAbstractType.java | 7 +-
.../hwpf/sprm/CharacterSprmCompressor.java | 2 -
.../hwpf/sprm/CharacterSprmUncompressor.java | 1 -
.../hwpf/sprm/ParagraphSprmCompressor.java | 2 +-
.../hwpf/sprm/ParagraphSprmUncompressor.java | 1 -
.../poi/hwpf/sprm/SectionSprmCompressor.java | 220 ---
.../poi/hwpf/sprm/TableSprmCompressor.java | 1 -
.../apache/poi/hwpf/usermodel/BorderCode.java | 6 +-
.../apache/poi/hwpf/usermodel/HWPFList.java | 5 +-
.../hwpf/usermodel/ParagraphProperties.java | 12 +-
.../poi/hwpf/usermodel/TableIterator.java | 3 -
.../apache/poi/hslf/TestEncryptedFile.java | 53 +-
.../apache/poi/hslf/model/TestFreeform.java | 23 +-
.../poi/hslf/model/TestImagePainter.java | 26 +-
.../org/apache/poi/hslf/model/TestLine.java | 14 +-
.../apache/poi/hslf/model/TestMovieShape.java | 12 +-
.../apache/poi/hslf/model/TestPicture.java | 21 +-
.../poi/hslf/model/TestSlideChangeNotes.java | 18 +-
.../poi/hslf/model/TestSlideMaster.java | 18 +-
.../org/apache/poi/hslf/model/TestTable.java | 14 +-
.../hslf/record/TestAnimationInfoAtom.java | 5 +-
.../poi/hslf/record/TestCurrentUserAtom.java | 5 -
.../poi/hslf/record/TestExHyperlink.java | 81 +-
.../poi/hslf/record/TestExHyperlinkAtom.java | 41 +-
.../apache/poi/hslf/record/TestExObjList.java | 28 +-
.../poi/hslf/record/TestExObjListAtom.java | 51 +-
.../poi/hslf/record/TestExOleObjStg.java | 2 -
.../hslf/record/TestInteractiveInfoAtom.java | 61 +-
.../org/apache/poi/hslf/record/TestSound.java | 78 +-
.../hslf/record/TestStyleTextPropAtom.java | 53 +-
.../poi/hslf/record/TestTextRulerAtom.java | 70 +-
.../poi/hslf/record/TestTextSpecInfoAtom.java | 20 +-
.../record/TestTxInteractiveInfoAtom.java | 36 +-
.../hslf/record/TestTxMasterStyleAtom.java | 41 +-
.../apache/poi/hslf/usermodel/TestBugs.java | 53 +-
.../poi/hslf/usermodel/TestRecordSetup.java | 1 -
.../poi/hslf/usermodel/TestSoundData.java | 13 +-
.../poi/hwpf/model/TestSavedByTable.java | 10 +-
.../poi/hwpf/usermodel/TestPictures.java | 206 +--
.../apache/poi/hwpf/usermodel/TestShapes.java | 14 +-
.../apache/poi/ddf/TestEscherOptRecord.java | 83 +-
.../poi/hssf/record/TestDrawingRecord.java | 19 +-
.../hssf/record/TestTextObjectBaseRecord.java | 8 +-
.../aggregates/TestSharedValueManager.java | 67 +-
.../record/formula/AbstractPtgTestCase.java | 8 -
.../poi/hssf/record/formula/TestArrayPtg.java | 44 +-
.../formula/eval/TestCircularReferences.java | 53 +-
.../functions/NumericFunctionInvoker.java | 1 -
.../poi/hssf/usermodel/TestCloneSheet.java | 44 +-
.../TestHSSFConditionalFormatting.java | 27 +-
.../poi/hssf/usermodel/TestHSSFDateUtil.java | 3 +-
.../poi/hssf/usermodel/TestHSSFFont.java | 23 +-
.../poi/hssf/usermodel/TestHSSFOptimiser.java | 137 +-
.../poi/hssf/usermodel/TestHSSFPicture.java | 35 +-
.../poi/hssf/usermodel/TestHSSFRow.java | 6 +-
.../poi/hssf/usermodel/TestHSSFWorkbook.java | 3 +-
.../hssf/usermodel/TestPOIFSProperties.java | 2 -
.../poi/hssf/usermodel/TestWorkbook.java | 5 +-
.../poifs/filesystem/TestPropertySorter.java | 22 +-
.../poifs/storage/LocalRawDataBlockList.java | 43 +-
.../poi/poifs/storage/TestBlockListImpl.java | 17 +-
170 files changed, 2860 insertions(+), 3873 deletions(-)
delete mode 100644 src/java/org/apache/poi/hssf/dev/EFHSSF.java
diff --git a/src/java/org/apache/poi/hssf/dev/EFHSSF.java b/src/java/org/apache/poi/hssf/dev/EFHSSF.java
deleted file mode 100644
index 0c3ab00ef..000000000
--- a/src/java/org/apache/poi/hssf/dev/EFHSSF.java
+++ /dev/null
@@ -1,195 +0,0 @@
-/* ====================================================================
- Licensed to the Apache Software Foundation (ASF) under one or more
- contributor license agreements. See the NOTICE file distributed with
- this work for additional information regarding copyright ownership.
- The ASF licenses this file to You under the Apache License, Version 2.0
- (the "License"); you may not use this file except in compliance with
- the License. You may obtain a copy of the License at
-
- http://www.apache.org/licenses/LICENSE-2.0
-
- Unless required by applicable law or agreed to in writing, software
- distributed under the License is distributed on an "AS IS" BASIS,
- WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- See the License for the specific language governing permissions and
- limitations under the License.
-==================================================================== */
-
-
-package org.apache.poi.hssf.dev;
-
-import java.io.FileInputStream;
-import java.io.FileOutputStream;
-import java.io.InputStream;
-import java.io.IOException;
-
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.poi.hssf.record.*;
-import org.apache.poi.hssf.eventmodel.*;
-import org.apache.poi.hssf.eventusermodel.*;
-import org.apache.poi.hssf.usermodel.*;
-
-import org.apache.poi.hssf.eventusermodel.HSSFRequest;
-import org.apache.poi.hssf.eventusermodel.HSSFListener;
-import org.apache.poi.hssf.eventusermodel.HSSFEventFactory;
-
-/**
- * Event Factory version of HSSF test class.
- * @author andy
- */
-//JMH
-//public class EFHSSF
-//{
-// String infile;
-// String outfile;
-// HSSFWorkbook workbook = null;
-// HSSFSheet cursheet = null;
-//
-// /** Creates a new instance of EFHSSF */
-//
-// public EFHSSF()
-// {
-// }
-//
-// public void setInputFile(String infile)
-// {
-// this.infile = infile;
-// }
-//
-// public void setOutputFile(String outfile)
-// {
-// this.outfile = outfile;
-// }
-//
-// public void run()
-// throws IOException
-// {
-// FileInputStream fin = new FileInputStream(infile);
-// POIFSFileSystem poifs = new POIFSFileSystem(fin);
-// InputStream din = poifs.createDocumentInputStream("Workbook");
-// HSSFRequest req = new HSSFRequest();
-//
-// req.addListenerForAllRecords(new EFHSSFListener(this));
-// HSSFEventFactory factory = new HSSFEventFactory();
-//
-// factory.processEvents(req, din);
-// fin.close();
-// din.close();
-// FileOutputStream fout = new FileOutputStream(outfile);
-//
-// workbook.write(fout);
-// fout.close();
-// System.out.println("done.");
-// }
-//
-// public void recordHandler(Record record)
-// {
-// HSSFRow row = null;
-// HSSFCell cell = null;
-// int sheetnum = -1;
-//
-// switch (record.getSid())
-// {
-//
-// case BOFRecord.sid :
-// BOFRecord bof = ( BOFRecord ) record;
-//
-// if (bof.getType() == bof.TYPE_WORKBOOK)
-// {
-// workbook = new HSSFWorkbook();
-// }
-// else if (bof.getType() == bof.TYPE_WORKSHEET)
-// {
-// sheetnum++;
-// cursheet = workbook.getSheetAt(sheetnum);
-// }
-// break;
-//
-// case BoundSheetRecord.sid :
-// BoundSheetRecord bsr = ( BoundSheetRecord ) record;
-//
-// workbook.createSheet(bsr.getSheetname());
-// break;
-//
-// case RowRecord.sid :
-// RowRecord rowrec = ( RowRecord ) record;
-//
-// cursheet.createRow(rowrec.getRowNumber());
-// break;
-//
-// case NumberRecord.sid :
-// NumberRecord numrec = ( NumberRecord ) record;
-//
-// row = cursheet.getRow(numrec.getRow());
-// cell = row.createCell(numrec.getColumn(),
-// HSSFCell.CELL_TYPE_NUMERIC);
-// cell.setCellValue(numrec.getValue());
-// break;
-//
-// case SSTRecord.sid :
-// SSTRecord sstrec = ( SSTRecord ) record;
-//
-// for (int k = 0; k < sstrec.getNumUniqueStrings(); k++)
-// {
-// workbook.addSSTString(new UnicodeString(sstrec.getString(k)));
-// }
-// break;
-//
-// case LabelSSTRecord.sid :
-// LabelSSTRecord lrec = ( LabelSSTRecord ) record;
-//
-// row = cursheet.getRow(lrec.getRow());
-// cell = row.createCell(lrec.getColumn(),
-// HSSFCell.CELL_TYPE_STRING);
-// cell.setCellValue(workbook.getSSTString(lrec.getSSTIndex()));
-// break;
-// }
-// }
-//
-// public static void main(String [] args)
-// {
-// if ((args.length < 2) || !args[ 0 ].equals("--help"))
-// {
-// try
-// {
-// EFHSSF viewer = new EFHSSF();
-//
-// viewer.setInputFile(args[ 0 ]);
-// viewer.setOutputFile(args[ 1 ]);
-// viewer.run();
-// }
-// catch (IOException e)
-// {
-// e.printStackTrace();
-// }
-// }
-// else
-// {
-// System.out.println("EFHSSF");
-// System.out.println(
-// "General testbed for HSSFEventFactory based testing and "
-// + "Code examples");
-// System.out.println("Usage: java org.apache.poi.hssf.dev.EFHSSF "
-// + "file1 file2");
-// System.out.println(
-// " --will rewrite the file reading with the event api");
-// System.out.println("and writing with the standard API");
-// }
-// }
-//}
-//
-//class EFHSSFListener
-// implements HSSFListener
-//{
-// EFHSSF efhssf;
-//
-// public EFHSSFListener(EFHSSF efhssf)
-// {
-// this.efhssf = efhssf;
-// }
-//
-// public void processRecord(Record record)
-// {
-// efhssf.recordHandler(record);
-// }
-//}
diff --git a/src/java/org/apache/poi/hssf/model/CommentShape.java b/src/java/org/apache/poi/hssf/model/CommentShape.java
index 49f52e0e8..23242d56d 100644
--- a/src/java/org/apache/poi/hssf/model/CommentShape.java
+++ b/src/java/org/apache/poi/hssf/model/CommentShape.java
@@ -14,16 +14,23 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
+
package org.apache.poi.hssf.model;
-import org.apache.poi.hssf.record.*;
+import java.util.Iterator;
+import java.util.List;
+
+import org.apache.poi.ddf.EscherOptRecord;
+import org.apache.poi.ddf.EscherProperties;
+import org.apache.poi.ddf.EscherProperty;
+import org.apache.poi.ddf.EscherSimpleProperty;
+import org.apache.poi.hssf.record.CommonObjectDataSubRecord;
+import org.apache.poi.hssf.record.NoteRecord;
+import org.apache.poi.hssf.record.NoteStructureSubRecord;
+import org.apache.poi.hssf.record.ObjRecord;
+import org.apache.poi.hssf.record.SubRecord;
import org.apache.poi.hssf.usermodel.HSSFComment;
import org.apache.poi.hssf.usermodel.HSSFShape;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.ddf.*;
-
-import java.util.List;
-import java.util.Iterator;
/**
* Represents a cell comment.
@@ -32,9 +39,9 @@ import java.util.Iterator;
*
* @author Yegor Kozlov
*/
-public class CommentShape extends TextboxShape {
+public final class CommentShape extends TextboxShape {
- private NoteRecord note;
+ private NoteRecord _note;
/**
* Creates the low-level records for a comment.
@@ -46,10 +53,10 @@ public class CommentShape extends TextboxShape {
{
super(hssfShape, shapeId);
- note = createNoteRecord(hssfShape, shapeId);
+ _note = createNoteRecord(hssfShape, shapeId);
ObjRecord obj = getObjRecord();
- List records = obj.getSubRecords();
+ List records = obj.getSubRecords();
int cmoIdx = 0;
for (int i = 0; i < records.size(); i++) {
Object r = records.get(i);
@@ -96,9 +103,9 @@ public class CommentShape extends TextboxShape {
super.addStandardOptions(shape, opt);
//remove unnecessary properties inherited from TextboxShape
- java.util.List props = opt.getEscherProperties();
- for ( Iterator iterator = props.iterator(); iterator.hasNext(); ) {
- EscherProperty prop = (EscherProperty) iterator.next();
+ List props = opt.getEscherProperties();
+ for (Iterator iterator = props.iterator(); iterator.hasNext(); ) {
+ EscherProperty prop = iterator.next();
switch (prop.getId()){
case EscherProperties.TEXT__TEXTLEFT:
case EscherProperties.TEXT__TEXTRIGHT:
@@ -127,7 +134,6 @@ public class CommentShape extends TextboxShape {
*/
public NoteRecord getNoteRecord()
{
- return note;
+ return _note;
}
-
}
diff --git a/src/java/org/apache/poi/hssf/model/Workbook.java b/src/java/org/apache/poi/hssf/model/Workbook.java
index 4378779cc..91cbaf4c6 100644
--- a/src/java/org/apache/poi/hssf/model/Workbook.java
+++ b/src/java/org/apache/poi/hssf/model/Workbook.java
@@ -72,7 +72,6 @@ import org.apache.poi.hssf.record.StyleRecord;
import org.apache.poi.hssf.record.SupBookRecord;
import org.apache.poi.hssf.record.TabIdRecord;
import org.apache.poi.hssf.record.UnicodeString;
-import org.apache.poi.hssf.record.UnknownRecord;
import org.apache.poi.hssf.record.UseSelFSRecord;
import org.apache.poi.hssf.record.WindowOneRecord;
import org.apache.poi.hssf.record.WindowProtectRecord;
@@ -271,19 +270,19 @@ public final class Workbook implements Model {
case WindowOneRecord.sid:
if (log.check( POILogger.DEBUG ))
log.log(DEBUG, "found WindowOneRecord at " + k);
- retval.windowOne = (WindowOneRecord) rec;
+ retval.windowOne = (WindowOneRecord) rec;
break;
- case WriteAccessRecord.sid:
+ case WriteAccessRecord.sid:
if (log.check( POILogger.DEBUG ))
log.log(DEBUG, "found WriteAccess at " + k);
retval.writeAccess = (WriteAccessRecord) rec;
break;
- case WriteProtectRecord.sid:
+ case WriteProtectRecord.sid:
if (log.check( POILogger.DEBUG ))
log.log(DEBUG, "found WriteProtect at " + k);
retval.writeProtect = (WriteProtectRecord) rec;
break;
- case FileSharingRecord.sid:
+ case FileSharingRecord.sid:
if (log.check( POILogger.DEBUG ))
log.log(DEBUG, "found FileSharing at " + k);
retval.fileShare = (FileSharingRecord) rec;
@@ -296,7 +295,7 @@ public final class Workbook implements Model {
// retval.records.supbookpos = retval.records.bspos + 1;
// retval.records.namepos = retval.records.supbookpos + 1;
// }
-
+
// Look for other interesting values that
// follow the EOFRecord
for ( ; k < recs.size(); k++) {
@@ -307,7 +306,7 @@ public final class Workbook implements Model {
break;
}
}
-
+
if (retval.windowOne == null) {
retval.windowOne = createWindowOne();
}
@@ -388,7 +387,7 @@ public final class Workbook implements Model {
retval.records.setBspos(records.size() - 1);
}
records.add( retval.createCountry() );
- for ( int k = 0; k < nBoundSheets; k++ ) {
+ for ( int k = 0; k < nBoundSheets; k++ ) {
retval.getOrCreateLinkTable().checkExternSheet(k);
}
retval.sst = new SSTRecord();
@@ -452,7 +451,7 @@ public final class Workbook implements Model {
return retval;
}
-
+
/**
* Retrieves the index of the given font
*/
@@ -468,7 +467,7 @@ public final class Workbook implements Model {
return i;
}
}
- throw new IllegalArgumentException("Could not find that font!");
+ throw new IllegalArgumentException("Could not find that font!");
}
/**
@@ -487,10 +486,10 @@ public final class Workbook implements Model {
numfonts++;
return rec;
}
-
+
/**
* Removes the given font record from the
- * file's list. This will make all
+ * file's list. This will make all
* subsequent font indicies drop by one,
* so you'll need to update those yourself!
*/
@@ -553,7 +552,7 @@ public final class Workbook implements Model {
}
/**
- * Determines whether a workbook contains the provided sheet name. For the purpose of
+ * Determines whether a workbook contains the provided sheet name. For the purpose of
* comparison, long names are truncated to 31 chars.
*
* @param name the name to test (case insensitive match)
@@ -580,18 +579,18 @@ public final class Workbook implements Model {
}
return false;
}
-
+
/**
* sets the order of appearance for a given sheet.
*
* @param sheetname the name of the sheet to reorder
* @param pos the position that we want to insert the sheet into (0 based)
*/
-
+
public void setSheetOrder(String sheetname, int pos ) {
int sheetNumber = getSheetIndex(sheetname);
//remove the sheet that needs to be reordered and place it in the spot we want
- boundsheets.add(pos, boundsheets.remove(sheetNumber));
+ boundsheets.add(pos, boundsheets.remove(sheetNumber));
}
/**
@@ -606,7 +605,7 @@ public final class Workbook implements Model {
/**
* Gets the hidden flag for a given sheet.
- * Note that a sheet could instead be
+ * Note that a sheet could instead be
* set to be very hidden, which is different
* ({@link #isSheetVeryHidden(int)})
*
@@ -619,8 +618,8 @@ public final class Workbook implements Model {
/**
* Gets the very hidden flag for a given sheet.
- * This is different from the normal
- * hidden flag
+ * This is different from the normal
+ * hidden flag
* ({@link #isSheetHidden(int)})
*
* @param sheetnum the sheet number (0 based)
@@ -632,20 +631,20 @@ public final class Workbook implements Model {
/**
* Hide or unhide a sheet
- *
+ *
* @param sheetnum The sheet number
* @param hidden True to mark the sheet as hidden, false otherwise
*/
public void setSheetHidden(int sheetnum, boolean hidden) {
getBoundSheetRec(sheetnum).setHidden(hidden);
}
-
+
/**
* Hide or unhide a sheet.
* 0 = not hidden
* 1 = hidden
* 2 = very hidden.
- *
+ *
* @param sheetnum The sheet number
* @param hidden 0 for not hidden, 1 for hidden, 2 for very hidden
*/
@@ -664,8 +663,8 @@ public final class Workbook implements Model {
bsr.setHidden(h);
bsr.setVeryHidden(vh);
}
-
-
+
+
/**
* get the sheet's index
* @param name sheet name
@@ -713,18 +712,18 @@ public final class Workbook implements Model {
boundsheets.remove(sheetIndex);
fixTabIdRecord();
}
-
+
// Within NameRecords, it's ok to have the formula
// part point at deleted sheets. It's also ok to
// have the ExternSheetNumber point at deleted
- // sheets.
+ // sheets.
// However, the sheet index must be adjusted, or
// excel will break. (Sheet index is either 0 for
// global, or 1 based index to sheet)
int sheetNum1Based = sheetIndex + 1;
for(int i=0; i Short.MAX_VALUE) {
throw new IllegalArgumentException("Sheet number ["+sheetNumber+"]is not valid ");
}
-
+
NameRecord name = new NameRecord(builtInName, sheetNumber);
-
+
while(linkTable.nameAlreadyExists(name)) {
- throw new RuntimeException("Builtin (" + builtInName
+ throw new RuntimeException("Builtin (" + builtInName
+ ") already exists for sheet (" + sheetNumber + ")");
}
addName(name);
@@ -1853,7 +1852,7 @@ public final class Workbook implements Model {
* @param nameIndex name index
*/
public void removeName(int nameIndex){
-
+
if (linkTable.getNumNames() > nameIndex) {
int idx = findFirstRecordLocBySid(NameRecord.sid);
records.remove(idx + nameIndex);
@@ -1912,7 +1911,7 @@ public final class Workbook implements Model {
return maxformatid;
}
-
+
/**
* Returns the first occurance of a record matching a particular sid.
@@ -1920,7 +1919,7 @@ public final class Workbook implements Model {
public Record findFirstRecordBySid(short sid) {
for (Iterator iterator = records.iterator(); iterator.hasNext(); ) {
Record record = ( Record ) iterator.next();
-
+
if (record.getSid() == sid) {
return record;
}
@@ -1966,7 +1965,7 @@ public final class Workbook implements Model {
{
return hyperlinks;
}
-
+
public List getRecords() {
return records.getRecords();
}
@@ -1980,7 +1979,7 @@ public final class Workbook implements Model {
public boolean isUsing1904DateWindowing() {
return uses1904datewindowing;
}
-
+
/**
* Returns the custom palette in use for this workbook; if a custom palette record
* does not exist, then it is created.
@@ -2004,7 +2003,7 @@ public final class Workbook implements Model {
}
return palette;
}
-
+
/**
* Finds the primary drawing group, if one already exists
*/
@@ -2060,7 +2059,7 @@ public final class Workbook implements Model {
}
/**
- * Creates a primary drawing group record. If it already
+ * Creates a primary drawing group record. If it already
* exists then it's modified.
*/
public void createDrawingGroup() {
@@ -2124,7 +2123,7 @@ public final class Workbook implements Model {
}
}
-
+
public WindowOneRecord getWindowOne() {
return windowOne;
}
@@ -2172,8 +2171,8 @@ public final class Workbook implements Model {
if (writeProtect == null) {
writeProtect = new WriteProtectRecord();
int i = 0;
- for (i = 0;
- i < records.size() && !(records.get(i) instanceof BOFRecord);
+ for (i = 0;
+ i < records.size() && !(records.get(i) instanceof BOFRecord);
i++) {
}
records.add(i+1, writeProtect);
@@ -2185,8 +2184,8 @@ public final class Workbook implements Model {
if (writeAccess == null) {
writeAccess = createWriteAccess();
int i = 0;
- for (i = 0;
- i < records.size() && !(records.get(i) instanceof InterfaceEndRecord);
+ for (i = 0;
+ i < records.size() && !(records.get(i) instanceof InterfaceEndRecord);
i++) {
}
records.add(i+1, writeAccess);
@@ -2198,15 +2197,15 @@ public final class Workbook implements Model {
if (fileShare == null) {
fileShare = new FileSharingRecord();
int i = 0;
- for (i = 0;
- i < records.size() && !(records.get(i) instanceof WriteAccessRecord);
+ for (i = 0;
+ i < records.size() && !(records.get(i) instanceof WriteAccessRecord);
i++) {
}
records.add(i+1, fileShare);
}
return fileShare;
}
-
+
/**
* is the workbook protected with a password (not encrypted)?
*/
diff --git a/src/java/org/apache/poi/hssf/record/CFRuleRecord.java b/src/java/org/apache/poi/hssf/record/CFRuleRecord.java
index 040b45c29..8bf669d81 100644
--- a/src/java/org/apache/poi/hssf/record/CFRuleRecord.java
+++ b/src/java/org/apache/poi/hssf/record/CFRuleRecord.java
@@ -22,7 +22,6 @@ import org.apache.poi.hssf.record.cf.BorderFormatting;
import org.apache.poi.hssf.record.cf.FontFormatting;
import org.apache.poi.hssf.record.cf.PatternFormatting;
import org.apache.poi.hssf.record.formula.Ptg;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.ss.formula.Formula;
import org.apache.poi.ss.formula.FormulaType;
@@ -32,7 +31,7 @@ import org.apache.poi.util.LittleEndianOutput;
/**
* Conditional Formatting Rule Record (0x01B1).
- *
+ *
* @author Dmitriy Kumshayev
*/
public final class CFRuleRecord extends StandardRecord {
@@ -101,10 +100,10 @@ public final class CFRuleRecord extends StandardRecord {
private BorderFormatting borderFormatting;
private PatternFormatting patternFormatting;
-
+
private Formula field_17_formula1;
private Formula field_18_formula2;
-
+
/** Creates new CFRuleRecord */
private CFRuleRecord(byte conditionType, byte comparisonOperation)
{
@@ -124,9 +123,9 @@ public final class CFRuleRecord extends StandardRecord {
field_17_formula1=Formula.create(Ptg.EMPTY_PTG_ARRAY);
field_18_formula2=Formula.create(Ptg.EMPTY_PTG_ARRAY);
}
-
+
private CFRuleRecord(byte conditionType, byte comparisonOperation, Ptg[] formula1, Ptg[] formula2) {
- this(conditionType, comparisonOperation);
+ this(conditionType, comparisonOperation);
field_17_formula1 = Formula.create(formula1);
field_18_formula2 = Formula.create(formula2);
}
@@ -199,7 +198,7 @@ public final class CFRuleRecord extends StandardRecord {
return null;
}
}
-
+
public boolean containsAlignFormattingBlock()
{
return getOptionFlag(align);
@@ -208,7 +207,7 @@ public final class CFRuleRecord extends StandardRecord {
{
setOptionFlag(false,align);
}
-
+
public boolean containsBorderFormattingBlock()
{
return getOptionFlag(bord);
@@ -229,7 +228,7 @@ public final class CFRuleRecord extends StandardRecord {
return null;
}
}
-
+
public boolean containsPatternFormattingBlock()
{
return getOptionFlag(patt);
@@ -250,7 +249,7 @@ public final class CFRuleRecord extends StandardRecord {
return null;
}
}
-
+
public boolean containsProtectionFormattingBlock()
{
return getOptionFlag(prot);
@@ -259,7 +258,7 @@ public final class CFRuleRecord extends StandardRecord {
{
setOptionFlag(false,prot);
}
-
+
public void setComparisonOperation(byte operation)
{
field_2_comparison_operator = operation;
@@ -269,7 +268,7 @@ public final class CFRuleRecord extends StandardRecord {
{
return field_2_comparison_operator;
}
-
+
/**
* get the option flags
@@ -279,7 +278,7 @@ public final class CFRuleRecord extends StandardRecord {
public int getOptions()
{
return field_5_options;
- }
+ }
private boolean isModified(BitField field)
{
@@ -290,7 +289,7 @@ public final class CFRuleRecord extends StandardRecord {
{
field_5_options = field.setBoolean(field_5_options, !modified);
}
-
+
public boolean isLeftBorderModified()
{
return isModified(bordLeft);
@@ -300,7 +299,7 @@ public final class CFRuleRecord extends StandardRecord {
{
setModified(modified,bordLeft);
}
-
+
public boolean isRightBorderModified()
{
return isModified(bordRight);
@@ -310,7 +309,7 @@ public final class CFRuleRecord extends StandardRecord {
{
setModified(modified,bordRight);
}
-
+
public boolean isTopBorderModified()
{
return isModified(bordTop);
@@ -320,7 +319,7 @@ public final class CFRuleRecord extends StandardRecord {
{
setModified(modified,bordTop);
}
-
+
public boolean isBottomBorderModified()
{
return isModified(bordBot);
@@ -330,7 +329,7 @@ public final class CFRuleRecord extends StandardRecord {
{
setModified(modified,bordBot);
}
-
+
public boolean isTopLeftBottomRightBorderModified()
{
return isModified(bordTlBr);
@@ -340,7 +339,7 @@ public final class CFRuleRecord extends StandardRecord {
{
setModified(modified,bordTlBr);
}
-
+
public boolean isBottomLeftTopRightBorderModified()
{
return isModified(bordBlTr);
@@ -350,7 +349,7 @@ public final class CFRuleRecord extends StandardRecord {
{
setModified(modified,bordBlTr);
}
-
+
public boolean isPatternStyleModified()
{
return isModified(pattStyle);
@@ -360,7 +359,7 @@ public final class CFRuleRecord extends StandardRecord {
{
setModified(modified,pattStyle);
}
-
+
public boolean isPatternColorModified()
{
return isModified(pattCol);
@@ -370,7 +369,7 @@ public final class CFRuleRecord extends StandardRecord {
{
setModified(modified,pattCol);
}
-
+
public boolean isPatternBackgroundColorModified()
{
return isModified(pattBgCol);
@@ -380,7 +379,7 @@ public final class CFRuleRecord extends StandardRecord {
{
setModified(modified,pattBgCol);
}
-
+
private boolean getOptionFlag(BitField field)
{
return field.isSet(field_5_options);
@@ -390,12 +389,12 @@ public final class CFRuleRecord extends StandardRecord {
{
field_5_options = field.setBoolean(field_5_options, flag);
}
-
+
/**
* get the stack of the 1st expression as a list
*
* @return list of tokens (casts stack to a list and returns it!)
- * this method can return null is we are unable to create Ptgs from
+ * this method can return null is we are unable to create Ptgs from
* existing excel file
* callers should check for null!
*/
@@ -432,7 +431,7 @@ public final class CFRuleRecord extends StandardRecord {
private static int getFormulaSize(Formula formula) {
return formula.getEncodedTokenSize();
}
-
+
/**
* called by the class that is responsible for writing this sucker.
* Subclasses should implement this so that their data is passed back in a
@@ -441,30 +440,30 @@ public final class CFRuleRecord extends StandardRecord {
* @param out the stream to write to
*/
public void serialize(LittleEndianOutput out) {
-
+
int formula1Len=getFormulaSize(field_17_formula1);
int formula2Len=getFormulaSize(field_18_formula2);
-
+
out.writeByte(field_1_condition_type);
out.writeByte(field_2_comparison_operator);
out.writeShort(formula1Len);
out.writeShort(formula2Len);
out.writeInt(field_5_options);
out.writeShort(field_6_not_used);
-
+
if (containsFontFormattingBlock()) {
byte[] fontFormattingRawRecord = fontFormatting.getRawRecord();
out.write(fontFormattingRawRecord);
}
-
+
if (containsBorderFormattingBlock()) {
borderFormatting.serialize(out);
}
-
+
if (containsPatternFormattingBlock()) {
patternFormatting.serialize(out);
}
-
+
field_17_formula1.serializeTokens(out);
field_18_formula2.serializeTokens(out);
}
@@ -499,7 +498,7 @@ public final class CFRuleRecord extends StandardRecord {
}
return buffer.toString();
}
-
+
public Object clone() {
CFRuleRecord rec = new CFRuleRecord(field_1_condition_type, field_2_comparison_operator);
rec.field_5_options = field_5_options;
@@ -524,7 +523,7 @@ public final class CFRuleRecord extends StandardRecord {
* this call will produce the wrong results if the formula contains any cell references
* One approach might be to apply the inverse of SharedFormulaRecord.convertSharedFormulas(Stack, int, int)
* Note - two extra parameters (rowIx & colIx) will be required. They probably come from one of the Region objects.
- *
+ *
* @return null
if formula was null.
*/
private static Ptg[] parseFormula(String formula, HSSFSheet sheet) {
diff --git a/src/java/org/apache/poi/hssf/record/ContinueRecord.java b/src/java/org/apache/poi/hssf/record/ContinueRecord.java
index cbf28b580..d43df86c6 100644
--- a/src/java/org/apache/poi/hssf/record/ContinueRecord.java
+++ b/src/java/org/apache/poi/hssf/record/ContinueRecord.java
@@ -18,7 +18,6 @@
package org.apache.poi.hssf.record;
import org.apache.poi.util.HexDump;
-import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianOutput;
/**
diff --git a/src/java/org/apache/poi/hssf/record/RecordFactory.java b/src/java/org/apache/poi/hssf/record/RecordFactory.java
index f933d4bcd..904ed17e4 100644
--- a/src/java/org/apache/poi/hssf/record/RecordFactory.java
+++ b/src/java/org/apache/poi/hssf/record/RecordFactory.java
@@ -17,7 +17,6 @@
package org.apache.poi.hssf.record;
-import java.io.IOException;
import java.io.InputStream;
import java.lang.reflect.Constructor;
import java.lang.reflect.InvocationTargetException;
diff --git a/src/java/org/apache/poi/hssf/record/SelectionRecord.java b/src/java/org/apache/poi/hssf/record/SelectionRecord.java
index 2a7499268..3539ba57d 100644
--- a/src/java/org/apache/poi/hssf/record/SelectionRecord.java
+++ b/src/java/org/apache/poi/hssf/record/SelectionRecord.java
@@ -19,7 +19,6 @@ package org.apache.poi.hssf.record;
import org.apache.poi.hssf.util.CellRangeAddress8Bit;
import org.apache.poi.util.HexDump;
-import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianOutput;
/**
@@ -59,7 +58,7 @@ public final class SelectionRecord extends StandardRecord {
field_3_col_active_cell = in.readShort();
field_4_active_cell_ref_index = in.readShort();
int field_5_num_refs = in.readUShort();
-
+
field_6_refs = new CellRangeAddress8Bit[field_5_num_refs];
for (int i = 0; i < field_6_refs.length; i++) {
field_6_refs[i] = new CellRangeAddress8Bit(in);
@@ -141,7 +140,7 @@ public final class SelectionRecord extends StandardRecord {
return sb.toString();
}
protected int getDataSize() {
- return 9 // 1 byte + 4 shorts
+ return 9 // 1 byte + 4 shorts
+ CellRangeAddress8Bit.getEncodedSize(field_6_refs.length);
}
public void serialize(LittleEndianOutput out) {
diff --git a/src/java/org/apache/poi/hssf/record/SubRecord.java b/src/java/org/apache/poi/hssf/record/SubRecord.java
index 78bcb4eee..689e4fcd5 100644
--- a/src/java/org/apache/poi/hssf/record/SubRecord.java
+++ b/src/java/org/apache/poi/hssf/record/SubRecord.java
@@ -17,7 +17,6 @@
package org.apache.poi.hssf.record;
-import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import org.apache.poi.hssf.record.formula.Area3DPtg;
@@ -26,7 +25,6 @@ import org.apache.poi.hssf.record.formula.Ptg;
import org.apache.poi.hssf.record.formula.Ref3DPtg;
import org.apache.poi.hssf.record.formula.RefPtg;
import org.apache.poi.util.HexDump;
-import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianByteArrayInputStream;
import org.apache.poi.util.LittleEndianInput;
import org.apache.poi.util.LittleEndianOutput;
@@ -37,6 +35,7 @@ import org.apache.poi.util.LittleEndianOutputStream;
*/
public abstract class SubRecord {
protected SubRecord() {
+ // no fields to initialise
}
public static SubRecord createSubRecord(LittleEndianInput in) {
@@ -78,8 +77,8 @@ public abstract class SubRecord {
public abstract void serialize(LittleEndianOutput out);
public abstract Object clone();
-
-
+
+
private static final class UnknownSubRecord extends SubRecord {
private final int _sid;
@@ -118,7 +117,7 @@ public abstract class SubRecord {
private static final class LbsDataSubRecord extends SubRecord {
public static final int sid = 0x0013;
-
+
private int _unknownShort1;
private int _unknownInt4;
private Ptg _linkPtg;
@@ -137,8 +136,8 @@ public abstract class SubRecord {
if (linkSize > 0) {
int formulaSize = in.readUShort();
_unknownInt4 = in.readInt();
-
-
+
+
byte[] buf = new byte[formulaSize];
in.readFully(buf);
_linkPtg = readRefPtg(buf);
@@ -152,7 +151,7 @@ public abstract class SubRecord {
default:
throw new RecordFormatException("Unexpected leftover bytes");
}
-
+
} else {
_unknownInt4 = 0;
_linkPtg = null;
@@ -165,11 +164,11 @@ public abstract class SubRecord {
_comboStyle = in.readUShort();
_lineCount = in.readUShort();
_unknownShort13 = in.readUShort();
-
+
}
protected int getDataSize() {
int result = 2; // 2 initial shorts
-
+
// optional link formula
if (_linkPtg != null) {
result += 2; // encoded Ptg size
diff --git a/src/java/org/apache/poi/hssf/record/formula/ArrayPtg.java b/src/java/org/apache/poi/hssf/record/formula/ArrayPtg.java
index 7d4f65acd..fd34081e6 100644
--- a/src/java/org/apache/poi/hssf/record/formula/ArrayPtg.java
+++ b/src/java/org/apache/poi/hssf/record/formula/ArrayPtg.java
@@ -17,7 +17,6 @@
package org.apache.poi.hssf.record.formula;
-import org.apache.poi.hssf.record.UnicodeString;
import org.apache.poi.hssf.record.constant.ConstantValueParser;
import org.apache.poi.hssf.record.constant.ErrorConstant;
import org.apache.poi.util.LittleEndianInput;
@@ -25,20 +24,20 @@ import org.apache.poi.util.LittleEndianOutput;
/**
* ArrayPtg - handles arrays
- *
+ *
* The ArrayPtg is a little weird, the size of the Ptg when parsing initially only
* includes the Ptg sid and the reserved bytes. The next Ptg in the expression then follows.
* It is only after the "size" of all the Ptgs is met, that the ArrayPtg data is actually
- * held after this. So Ptg.createParsedExpression keeps track of the number of
+ * held after this. So Ptg.createParsedExpression keeps track of the number of
* ArrayPtg elements and need to parse the data upto the FORMULA record size.
- *
+ *
* @author Jason Height (jheight at chariot dot net dot au)
*/
public final class ArrayPtg extends Ptg {
public static final byte sid = 0x20;
private static final int RESERVED_FIELD_LEN = 7;
- /**
+ /**
* The size of the plain tArray token written within the standard formula tokens
* (not including the data which comes after all formula tokens)
*/
@@ -48,7 +47,7 @@ public final class ArrayPtg extends Ptg {
// TODO - fix up field visibility and subclasses
private final byte[] field_1_reserved;
-
+
// data from these fields comes after the Ptg data of all tokens in current formula
private int token_1_columns;
private short token_2_rows;
@@ -78,7 +77,7 @@ public final class ArrayPtg extends Ptg {
vv[getValueIndex(c, r)] = rowData[c];
}
}
-
+
token_3_arrayValues = vv;
field_1_reserved = DEFAULT_RESERVED_DATA;
}
@@ -98,13 +97,13 @@ public final class ArrayPtg extends Ptg {
}
return result;
}
-
+
public boolean isBaseToken() {
return false;
}
-
- /**
- * Read in the actual token (array) values. This occurs
+
+ /**
+ * Read in the actual token (array) values. This occurs
* AFTER the last Ptg in the expression.
* See page 304-305 of Excel97-2007BinaryFileFormat(xls)Specification.pdf
*/
@@ -116,10 +115,10 @@ public final class ArrayPtg extends Ptg {
//Which is not explicitly documented.
nColumns++;
nRows++;
-
+
token_1_columns = nColumns;
token_2_rows = nRows;
-
+
int totalCount = nRows * nColumns;
token_3_arrayValues = ConstantValueParser.parse(in, totalCount);
}
@@ -143,11 +142,11 @@ public final class ArrayPtg extends Ptg {
*/
/* package */ int getValueIndex(int colIx, int rowIx) {
if(colIx < 0 || colIx >= token_1_columns) {
- throw new IllegalArgumentException("Specified colIx (" + colIx
+ throw new IllegalArgumentException("Specified colIx (" + colIx
+ ") is outside the allowed range (0.." + (token_1_columns-1) + ")");
}
if(rowIx < 0 || rowIx >= token_2_rows) {
- throw new IllegalArgumentException("Specified rowIx (" + rowIx
+ throw new IllegalArgumentException("Specified rowIx (" + rowIx
+ ") is outside the allowed range (0.." + (token_2_rows-1) + ")");
}
return rowIx * token_1_columns + colIx;
@@ -176,7 +175,7 @@ public final class ArrayPtg extends Ptg {
/** This size includes the size of the array Ptg plus the Array Ptg Token value size*/
public int getSize() {
- return PLAIN_TOKEN_SIZE
+ return PLAIN_TOKEN_SIZE
// data written after the all tokens:
+ 1 + 2 // column, row
+ ConstantValueParser.getEncodedSize(token_3_arrayValues);
@@ -200,7 +199,7 @@ public final class ArrayPtg extends Ptg {
b.append("}");
return b.toString();
}
-
+
private static String getConstantText(Object o) {
if (o == null) {
@@ -220,7 +219,7 @@ public final class ArrayPtg extends Ptg {
}
throw new IllegalArgumentException("Unexpected constant class (" + o.getClass().getName() + ")");
}
-
+
public byte getDefaultOperandClass() {
return Ptg.CLASS_ARRAY;
}
diff --git a/src/java/org/apache/poi/hssf/record/formula/RefPtgBase.java b/src/java/org/apache/poi/hssf/record/formula/RefPtgBase.java
index 1bef14d90..70ed4da87 100644
--- a/src/java/org/apache/poi/hssf/record/formula/RefPtgBase.java
+++ b/src/java/org/apache/poi/hssf/record/formula/RefPtgBase.java
@@ -22,11 +22,10 @@ import org.apache.poi.util.BitField;
import org.apache.poi.util.BitFieldFactory;
import org.apache.poi.util.LittleEndianInput;
import org.apache.poi.util.LittleEndianOutput;
-import org.apache.poi.ss.SpreadsheetVersion;
/**
* ReferencePtgBase - handles references (such as A1, A2, IA4)
- *
+ *
* @author Andrew C. Oliver (acoliver@apache.org)
* @author Jason Height (jheight at chariot dot net dot au)
*/
diff --git a/src/java/org/apache/poi/hssf/record/formula/atp/ParityFunction.java b/src/java/org/apache/poi/hssf/record/formula/atp/ParityFunction.java
index 602710e98..9235d15b1 100644
--- a/src/java/org/apache/poi/hssf/record/formula/atp/ParityFunction.java
+++ b/src/java/org/apache/poi/hssf/record/formula/atp/ParityFunction.java
@@ -19,7 +19,6 @@ package org.apache.poi.hssf.record.formula.atp;
import org.apache.poi.hssf.record.formula.eval.BoolEval;
import org.apache.poi.hssf.record.formula.eval.ErrorEval;
-import org.apache.poi.hssf.record.formula.eval.ValueEval;
import org.apache.poi.hssf.record.formula.eval.EvaluationException;
import org.apache.poi.hssf.record.formula.eval.OperandResolver;
import org.apache.poi.hssf.record.formula.eval.ValueEval;
diff --git a/src/java/org/apache/poi/hssf/record/formula/atp/YearFrac.java b/src/java/org/apache/poi/hssf/record/formula/atp/YearFrac.java
index baab17991..4b2ba8907 100644
--- a/src/java/org/apache/poi/hssf/record/formula/atp/YearFrac.java
+++ b/src/java/org/apache/poi/hssf/record/formula/atp/YearFrac.java
@@ -22,15 +22,14 @@ import java.util.GregorianCalendar;
import java.util.regex.Pattern;
import org.apache.poi.hssf.record.formula.eval.ErrorEval;
-import org.apache.poi.hssf.record.formula.eval.ValueEval;
import org.apache.poi.hssf.record.formula.eval.EvaluationException;
import org.apache.poi.hssf.record.formula.eval.NumberEval;
import org.apache.poi.hssf.record.formula.eval.OperandResolver;
import org.apache.poi.hssf.record.formula.eval.StringEval;
import org.apache.poi.hssf.record.formula.eval.ValueEval;
import org.apache.poi.hssf.record.formula.functions.FreeRefFunction;
-import org.apache.poi.ss.usermodel.DateUtil;
import org.apache.poi.ss.formula.EvaluationWorkbook;
+import org.apache.poi.ss.usermodel.DateUtil;
/**
* Implementation of Excel 'Analysis ToolPak' function YEARFRAC()
*
diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFChildAnchor.java b/src/java/org/apache/poi/hssf/usermodel/HSSFChildAnchor.java
index e8e13bb63..513ac619f 100644
--- a/src/java/org/apache/poi/hssf/usermodel/HSSFChildAnchor.java
+++ b/src/java/org/apache/poi/hssf/usermodel/HSSFChildAnchor.java
@@ -17,13 +17,8 @@
package org.apache.poi.hssf.usermodel;
-import org.apache.poi.ddf.EscherRecord;
-import org.apache.poi.ddf.EscherClientAnchorRecord;
-import org.apache.poi.ddf.EscherChildAnchorRecord;
-public class HSSFChildAnchor
- extends HSSFAnchor
-{
+public final class HSSFChildAnchor extends HSSFAnchor {
public HSSFChildAnchor()
{
}
@@ -50,5 +45,4 @@ public class HSSFChildAnchor
{
return dy1 > dy2;
}
-
}
diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFCreationHelper.java b/src/java/org/apache/poi/hssf/usermodel/HSSFCreationHelper.java
index 569ad6ff0..faee42b83 100644
--- a/src/java/org/apache/poi/hssf/usermodel/HSSFCreationHelper.java
+++ b/src/java/org/apache/poi/hssf/usermodel/HSSFCreationHelper.java
@@ -14,54 +14,50 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
+
package org.apache.poi.hssf.usermodel;
import org.apache.poi.ss.usermodel.CreationHelper;
-import org.apache.poi.ss.usermodel.Sheet;
public class HSSFCreationHelper implements CreationHelper {
private HSSFWorkbook workbook;
- private HSSFDataFormat dataFormat;
-
+ private HSSFDataFormat dataFormat;
+
HSSFCreationHelper(HSSFWorkbook wb) {
workbook = wb;
-
+
// Create the things we only ever need one of
dataFormat = new HSSFDataFormat(workbook.getWorkbook());
}
-
- /**
- * Creates a new HSSFRichTextString for you.
- */
+
public HSSFRichTextString createRichTextString(String text) {
return new HSSFRichTextString(text);
}
-
+
public HSSFDataFormat createDataFormat() {
return dataFormat;
}
-
+
public HSSFHyperlink createHyperlink(int type) {
return new HSSFHyperlink(type);
}
- /**
- * Creates a HSSFFormulaEvaluator, the object that evaluates formula cells.
- *
- * @return a HSSFFormulaEvaluator instance
- */
- public HSSFFormulaEvaluator createFormulaEvaluator(){
- return new HSSFFormulaEvaluator(workbook);
- }
-
- /**
- * Creates a HSSFClientAnchor. Use this object to position drawing object in a sheet
- *
- * @return a HSSFClientAnchor instance
- * @see org.apache.poi.ss.usermodel.Drawing
- */
- public HSSFClientAnchor createClientAnchor(){
- return new HSSFClientAnchor();
- }
+ /**
+ * Creates a HSSFFormulaEvaluator, the object that evaluates formula cells.
+ *
+ * @return a HSSFFormulaEvaluator instance
+ */
+ public HSSFFormulaEvaluator createFormulaEvaluator(){
+ return new HSSFFormulaEvaluator(workbook);
+ }
+ /**
+ * Creates a HSSFClientAnchor. Use this object to position drawing object in a sheet
+ *
+ * @return a HSSFClientAnchor instance
+ * @see org.apache.poi.ss.usermodel.Drawing
+ */
+ public HSSFClientAnchor createClientAnchor(){
+ return new HSSFClientAnchor();
+ }
}
diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFDataFormatter.java b/src/java/org/apache/poi/hssf/usermodel/HSSFDataFormatter.java
index 4eead2a5b..6396492d8 100644
--- a/src/java/org/apache/poi/hssf/usermodel/HSSFDataFormatter.java
+++ b/src/java/org/apache/poi/hssf/usermodel/HSSFDataFormatter.java
@@ -17,21 +17,11 @@
package org.apache.poi.hssf.usermodel;
-import org.apache.poi.ss.usermodel.DataFormatter;
-
import java.text.DecimalFormat;
-import java.text.FieldPosition;
import java.text.Format;
-import java.text.ParsePosition;
import java.text.SimpleDateFormat;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
+
+import org.apache.poi.ss.usermodel.DataFormatter;
/**
* HSSFDataFormatter contains methods for formatting the value stored in an
@@ -73,7 +63,6 @@ import java.util.regex.Pattern;
* cell's data format string.
*
* @author James May (james dot may at fmr dot com)
- *
*/
public final class HSSFDataFormatter extends DataFormatter {
diff --git a/src/java/org/apache/poi/hssf/usermodel/HSSFTextbox.java b/src/java/org/apache/poi/hssf/usermodel/HSSFTextbox.java
index 34a5a1584..2548bf511 100644
--- a/src/java/org/apache/poi/hssf/usermodel/HSSFTextbox.java
+++ b/src/java/org/apache/poi/hssf/usermodel/HSSFTextbox.java
@@ -19,9 +19,6 @@ package org.apache.poi.hssf.usermodel;
import org.apache.poi.ss.usermodel.RichTextString;
-import org.apache.poi.util.BitField;
-import org.apache.poi.util.BitFieldFactory;
-
/**
* A textbox is a shape that may hold a rich text string.
*
diff --git a/src/java/org/apache/poi/poifs/dev/POIFSLister.java b/src/java/org/apache/poi/poifs/dev/POIFSLister.java
index cdd9902c4..691df5a04 100644
--- a/src/java/org/apache/poi/poifs/dev/POIFSLister.java
+++ b/src/java/org/apache/poi/poifs/dev/POIFSLister.java
@@ -21,78 +21,69 @@ import java.io.FileInputStream;
import java.io.IOException;
import java.util.Iterator;
-import org.apache.poi.poifs.filesystem.DirectoryEntry;
import org.apache.poi.poifs.filesystem.DirectoryNode;
-import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.DocumentNode;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
/**
* A lister of the entries in POIFS files.
- *
+ *
* Much simpler than {@link POIFSViewer}
*/
public class POIFSLister {
- /**
- * Display the entries of multiple POIFS files
- *
- * @param args the names of the files to be displayed
- */
- public static void main(final String args[]) throws IOException {
- if (args.length == 0)
- {
- System.err.println("Must specify at least one file to view");
- System.exit(1);
- }
+ /**
+ * Display the entries of multiple POIFS files
+ *
+ * @param args the names of the files to be displayed
+ */
+ public static void main(final String args[]) throws IOException {
+ if (args.length == 0) {
+ System.err.println("Must specify at least one file to view");
+ System.exit(1);
+ }
- boolean withSizes = false;
- for (int j = 0; j < args.length; j++) {
- if(args[j].equalsIgnoreCase("-size") ||
- args[j].equalsIgnoreCase("-sizes")) {
- withSizes = true;
- } else {
- viewFile(args[j], withSizes);
- }
- }
- }
+ boolean withSizes = false;
+ for (int j = 0; j < args.length; j++) {
+ if (args[j].equalsIgnoreCase("-size") || args[j].equalsIgnoreCase("-sizes")) {
+ withSizes = true;
+ } else {
+ viewFile(args[j], withSizes);
+ }
+ }
+ }
- public static void viewFile(final String filename, boolean withSizes) throws IOException
- {
- POIFSFileSystem fs = new POIFSFileSystem(
- new FileInputStream(filename)
- );
- displayDirectory(fs.getRoot(), "", withSizes);
- }
-
- public static void displayDirectory(DirectoryNode dir, String indent, boolean withSizes) {
- System.out.println(indent + dir.getName() + " -");
- String newIndent = indent + " ";
-
- boolean hadChildren = false;
- for(Iterator it = dir.getEntries(); it.hasNext(); ) {
- hadChildren = true;
- Object entry = it.next();
- if(entry instanceof DirectoryNode) {
- displayDirectory((DirectoryNode)entry, newIndent, withSizes);
- } else {
- DocumentNode doc = (DocumentNode)entry;
- String name = doc.getName();
- String size = "";
- if(name.charAt(0) < 10) {
- String altname = "(0x0" + (int)name.charAt(0) + ")" + name.substring(1);
- name = name.substring(1) + " <" + altname + ">";
- }
- if(withSizes) {
- size = " [" +
- doc.getSize() + " / 0x" +
- Integer.toHexString(doc.getSize()) +
- "]";
- }
- System.out.println(newIndent + name + size);
- }
- }
- if(!hadChildren) {
- System.out.println(newIndent + "(no children)");
- }
- }
-}
\ No newline at end of file
+ public static void viewFile(final String filename, boolean withSizes) throws IOException {
+ POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(filename));
+ displayDirectory(fs.getRoot(), "", withSizes);
+ }
+
+ public static void displayDirectory(DirectoryNode dir, String indent, boolean withSizes) {
+ System.out.println(indent + dir.getName() + " -");
+ String newIndent = indent + " ";
+
+ boolean hadChildren = false;
+ for (Iterator it = dir.getEntries(); it.hasNext();) {
+ hadChildren = true;
+ Object entry = it.next();
+ if (entry instanceof DirectoryNode) {
+ displayDirectory((DirectoryNode) entry, newIndent, withSizes);
+ } else {
+ DocumentNode doc = (DocumentNode) entry;
+ String name = doc.getName();
+ String size = "";
+ if (name.charAt(0) < 10) {
+ String altname = "(0x0" + (int) name.charAt(0) + ")" + name.substring(1);
+ name = name.substring(1) + " <" + altname + ">";
+ }
+ if (withSizes) {
+ size = " [" + doc.getSize() + " / 0x" + Integer.toHexString(doc.getSize())
+ + "]";
+ }
+ System.out.println(newIndent + name + size);
+ }
+ }
+ if (!hadChildren) {
+ System.out.println(newIndent + "(no children)");
+ }
+ }
+}
diff --git a/src/java/org/apache/poi/poifs/property/DirectoryProperty.java b/src/java/org/apache/poi/poifs/property/DirectoryProperty.java
index ece87efd4..f26341991 100644
--- a/src/java/org/apache/poi/poifs/property/DirectoryProperty.java
+++ b/src/java/org/apache/poi/poifs/property/DirectoryProperty.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,44 +14,35 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.poifs.property;
-import java.util.*;
-
import java.io.IOException;
-
-import org.apache.poi.poifs.storage.SmallDocumentBlock;
+import java.util.*;
/**
* Directory property
*
* @author Marc Johnson (mjohnson at apache dot org)
*/
+public class DirectoryProperty extends Property implements Parent { // TODO - fix instantiable superclass
-public class DirectoryProperty
- extends Property
- implements Parent
-{
+ /** List of Property instances */
+ private List _children;
- // List of Property instances
- private List _children;
-
- // set of children's names
- private Set _children_names;
+ /** set of children's names */
+ private Set _children_names;
/**
* Default constructor
*
* @param name the name of the directory
*/
-
public DirectoryProperty(String name)
{
super();
- _children = new ArrayList();
- _children_names = new HashSet();
+ _children = new ArrayList();
+ _children_names = new HashSet();
setName(name);
setSize(0);
setPropertyType(PropertyConstants.DIRECTORY_TYPE);
@@ -67,13 +57,12 @@ public class DirectoryProperty
* @param array byte data
* @param offset offset into byte data
*/
-
protected DirectoryProperty(final int index, final byte [] array,
final int offset)
{
super(index, array, offset);
- _children = new ArrayList();
- _children_names = new HashSet();
+ _children = new ArrayList();
+ _children_names = new HashSet();
}
/**
@@ -84,8 +73,7 @@ public class DirectoryProperty
*
* @return true if the name change could be made, else false
*/
-
- public boolean changeName(final Property property, final String newName)
+ public boolean changeName(Property property, String newName)
{
boolean result;
String oldName = property.getName();
@@ -116,8 +104,7 @@ public class DirectoryProperty
*
* @return true if the Property could be deleted, else false
*/
-
- public boolean deleteChild(final Property property)
+ public boolean deleteChild(Property property)
{
boolean result = _children.remove(property);
@@ -128,9 +115,7 @@ public class DirectoryProperty
return result;
}
- public static class PropertyComparator
- implements Comparator
- {
+ public static class PropertyComparator implements Comparator {
/**
* Object equality, implemented as object identity
@@ -139,7 +124,6 @@ public class DirectoryProperty
*
* @return true if identical, else false
*/
-
public boolean equals(Object o)
{
return this == o;
@@ -160,12 +144,11 @@ public class DirectoryProperty
* zero if o1 == o2,
* positive value if o1 > o2.
*/
-
- public int compare(Object o1, Object o2)
+ public int compare(Property o1, Property o2)
{
String VBA_PROJECT = "_VBA_PROJECT";
- String name1 = (( Property ) o1).getName();
- String name2 = (( Property ) o2).getName();
+ String name1 = o1.getName();
+ String name2 = o2.getName();
int result = name1.length() - name2.length();
if (result == 0)
@@ -200,14 +183,11 @@ public class DirectoryProperty
}
return result;
}
- } // end private class PropertyComparator
-
- /* ********** START extension of Property ********** */
+ }
/**
* @return true if a directory type Property
*/
-
public boolean isDirectory()
{
return true;
@@ -217,13 +197,11 @@ public class DirectoryProperty
* Perform whatever activities need to be performed prior to
* writing
*/
-
protected void preWrite()
{
if (_children.size() > 0)
{
- Property[] children =
- ( Property [] ) _children.toArray(new Property[ 0 ]);
+ Property[] children = _children.toArray(new Property[ 0 ]);
Arrays.sort(children, new PropertyComparator());
int midpoint = children.length / 2;
@@ -259,17 +237,13 @@ public class DirectoryProperty
}
}
- /* ********** END extension of Property ********** */
- /* ********** START implementation of Parent ********** */
-
/**
* Get an iterator over the children of this Parent; all elements
* are instances of Property.
*
* @return Iterator of children; may refer to an empty collection
*/
-
- public Iterator getChildren()
+ public Iterator getChildren()
{
return _children.iterator();
}
@@ -282,7 +256,6 @@ public class DirectoryProperty
* @exception IOException if we already have a child with the same
* name
*/
-
public void addChild(final Property property)
throws IOException
{
@@ -295,7 +268,4 @@ public class DirectoryProperty
_children_names.add(name);
_children.add(property);
}
-
- /* ********** END implementation of Parent ********** */
-} // end public class DirectoryProperty
-
+}
diff --git a/src/java/org/apache/poi/poifs/property/PropertyTable.java b/src/java/org/apache/poi/poifs/property/PropertyTable.java
index 00b306b79..09e447b05 100644
--- a/src/java/org/apache/poi/poifs/property/PropertyTable.java
+++ b/src/java/org/apache/poi/poifs/property/PropertyTable.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,20 +14,19 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.poifs.property;
import java.io.IOException;
import java.io.OutputStream;
-
-import java.util.*;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Stack;
import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.poifs.filesystem.BATManaged;
import org.apache.poi.poifs.storage.BlockWritable;
import org.apache.poi.poifs.storage.PropertyBlock;
-import org.apache.poi.poifs.storage.RawDataBlock;
import org.apache.poi.poifs.storage.RawDataBlockList;
/**
@@ -38,22 +36,15 @@ import org.apache.poi.poifs.storage.RawDataBlockList;
*
* @author Marc Johnson (mjohnson at apache dot org)
*/
-
-public class PropertyTable
- implements BATManaged, BlockWritable
-{
+public final class PropertyTable implements BATManaged, BlockWritable {
private int _start_block;
- private List _properties;
+ private List _properties;
private BlockWritable[] _blocks;
- /**
- * Default constructor
- */
-
public PropertyTable()
{
_start_block = POIFSConstants.END_OF_CHAIN;
- _properties = new ArrayList();
+ _properties = new ArrayList();
addProperty(new RootProperty());
_blocks = null;
}
@@ -69,7 +60,6 @@ public class PropertyTable
* @exception IOException if anything goes wrong (which should be
* a result of the input being NFG)
*/
-
public PropertyTable(final int startBlock,
final RawDataBlockList blockList)
throws IOException
@@ -87,8 +77,7 @@ public class PropertyTable
*
* @param property the new Property to manage
*/
-
- public void addProperty(final Property property)
+ public void addProperty(Property property)
{
_properties.add(property);
}
@@ -98,7 +87,6 @@ public class PropertyTable
*
* @param property the Property to be removed
*/
-
public void removeProperty(final Property property)
{
_properties.remove(property);
@@ -109,7 +97,6 @@ public class PropertyTable
*
* @return the root property
*/
-
public RootProperty getRoot()
{
@@ -120,11 +107,9 @@ public class PropertyTable
/**
* Prepare to be written
*/
-
public void preWrite()
{
- Property[] properties =
- ( Property [] ) _properties.toArray(new Property[ 0 ]);
+ Property[] properties = _properties.toArray(new Property[ 0 ]);
// give each property its index
for (int k = 0; k < properties.length; k++)
@@ -147,7 +132,6 @@ public class PropertyTable
*
* @return start block index
*/
-
public int getStartBlock()
{
return _start_block;
@@ -164,12 +148,12 @@ public class PropertyTable
// property has no children
return;
}
- Stack children = new Stack();
+ Stack children = new Stack();
children.push(_properties.get(index));
while (!children.empty())
{
- Property property = ( Property ) children.pop();
+ Property property = children.pop();
root.addChild(property);
if (property.isDirectory())
@@ -189,14 +173,11 @@ public class PropertyTable
}
}
- /* ********** START implementation of BATManaged ********** */
-
/**
* Return the number of BigBlock's this instance uses
*
* @return count of BigBlock instances
*/
-
public int countBlocks()
{
return (_blocks == null) ? 0
@@ -209,15 +190,11 @@ public class PropertyTable
* @param index index into the array of BigBlock instances making
* up the the filesystem
*/
-
public void setStartBlock(final int index)
{
_start_block = index;
}
- /* ********** END implementation of BATManaged ********** */
- /* ********** START implementation of BlockWritable ********** */
-
/**
* Write the storage to an OutputStream
*
@@ -227,7 +204,6 @@ public class PropertyTable
* @exception IOException on problems writing to the specified
* stream
*/
-
public void writeBlocks(final OutputStream stream)
throws IOException
{
@@ -239,7 +215,4 @@ public class PropertyTable
}
}
}
-
- /* ********** END implementation of BlockWritable ********** */
-} // end public class PropertyTable
-
+}
diff --git a/src/java/org/apache/poi/poifs/property/RootProperty.java b/src/java/org/apache/poi/poifs/property/RootProperty.java
index afa82ed1a..cb4b66e61 100644
--- a/src/java/org/apache/poi/poifs/property/RootProperty.java
+++ b/src/java/org/apache/poi/poifs/property/RootProperty.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,14 +14,9 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.poifs.property;
-import java.util.*;
-
-import java.io.IOException;
-
import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.poifs.storage.SmallDocumentBlock;
@@ -31,14 +25,7 @@ import org.apache.poi.poifs.storage.SmallDocumentBlock;
*
* @author Marc Johnson (mjohnson at apache dot org)
*/
-
-public class RootProperty
- extends DirectoryProperty
-{
-
- /**
- * Default constructor
- */
+public final class RootProperty extends DirectoryProperty {
RootProperty()
{
@@ -57,7 +44,6 @@ public class RootProperty
* @param array byte data
* @param offset offset into byte data
*/
-
protected RootProperty(final int index, final byte [] array,
final int offset)
{
@@ -69,10 +55,8 @@ public class RootProperty
*
* @param size size in terms of small blocks
*/
-
public void setSize(int size)
{
super.setSize(SmallDocumentBlock.calcSize(size));
}
-} // end public class RootProperty
-
+}
diff --git a/src/java/org/apache/poi/poifs/storage/BATBlock.java b/src/java/org/apache/poi/poifs/storage/BATBlock.java
index 5aa4678b6..949a5254a 100644
--- a/src/java/org/apache/poi/poifs/storage/BATBlock.java
+++ b/src/java/org/apache/poi/poifs/storage/BATBlock.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,7 +14,6 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.poifs.storage;
@@ -26,7 +24,6 @@ import java.util.Arrays;
import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.util.IntegerField;
-import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianConsts;
/**
@@ -35,10 +32,7 @@ import org.apache.poi.util.LittleEndianConsts;
*
* @author Marc Johnson (mjohnson at apache dot org)
*/
-
-public class BATBlock
- extends BigBlock
-{
+public final class BATBlock extends BigBlock {
private static final int _entries_per_block =
POIFSConstants.BIG_BLOCK_SIZE / LittleEndianConsts.INT_SIZE;
private static final int _entries_per_xbat_block = _entries_per_block
diff --git a/src/java/org/apache/poi/poifs/storage/BlockAllocationTableReader.java b/src/java/org/apache/poi/poifs/storage/BlockAllocationTableReader.java
index 60ce199ee..0fb3b4899 100644
--- a/src/java/org/apache/poi/poifs/storage/BlockAllocationTableReader.java
+++ b/src/java/org/apache/poi/poifs/storage/BlockAllocationTableReader.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,7 +14,6 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.poifs.storage;
@@ -43,9 +41,7 @@ import org.apache.poi.util.LittleEndianConsts;
*
* @author Marc Johnson (mjohnson at apache dot org)
*/
-
-public class BlockAllocationTableReader
-{
+public final class BlockAllocationTableReader {
private IntList _entries;
/**
@@ -154,12 +150,6 @@ public class BlockAllocationTableReader
setEntries(blocks, raw_block_list);
}
- /**
- * Constructor BlockAllocationTableReader
- *
- *
- */
-
BlockAllocationTableReader()
{
_entries = new IntList();
@@ -177,17 +167,16 @@ public class BlockAllocationTableReader
*
* @exception IOException if there is a problem acquiring the blocks
*/
-
ListManagedBlock [] fetchBlocks(final int startBlock,
final int headerPropertiesStartBlock,
final BlockList blockList)
throws IOException
{
- List blocks = new ArrayList();
+ List blocks = new ArrayList();
int currentBlock = startBlock;
boolean firstPass = true;
ListManagedBlock dataBlock = null;
-
+
// Process the chain from the start to the end
// Normally we have header, data, end
// Sometimes we have data, header, end
@@ -216,9 +205,8 @@ public class BlockAllocationTableReader
}
}
}
-
- return ( ListManagedBlock [] ) blocks
- .toArray(new ListManagedBlock[ blocks.size() ]);
+
+ return blocks.toArray(new ListManagedBlock[blocks.size()]);
}
// methods for debugging reader
@@ -230,7 +218,6 @@ public class BlockAllocationTableReader
*
* @return true if the specific block is used, else false
*/
-
boolean isUsed(final int index)
{
boolean rval = false;
@@ -238,9 +225,8 @@ public class BlockAllocationTableReader
try
{
rval = _entries.get(index) != -1;
- }
- catch (IndexOutOfBoundsException ignored)
- {
+ } catch (IndexOutOfBoundsException e) {
+ // ignored
}
return rval;
}
@@ -256,7 +242,6 @@ public class BlockAllocationTableReader
*
* @exception IOException if the current block is unused
*/
-
int getNextBlockIndex(final int index)
throws IOException
{
@@ -264,10 +249,7 @@ public class BlockAllocationTableReader
{
return _entries.get(index);
}
- else
- {
- throw new IOException("index " + index + " is unused");
- }
+ throw new IOException("index " + index + " is unused");
}
/**
@@ -276,10 +258,7 @@ public class BlockAllocationTableReader
* @param blocks the array of blocks containing the indices
* @param raw_blocks the list of blocks being managed. Unused
* blocks will be eliminated from the list
- *
- * @exception IOException
*/
-
private void setEntries(final ListManagedBlock [] blocks,
final BlockList raw_blocks)
throws IOException
@@ -308,5 +287,4 @@ public class BlockAllocationTableReader
}
raw_blocks.setBAT(this);
}
-} // end class BlockAllocationTableReader
-
+}
diff --git a/src/java/org/apache/poi/poifs/storage/BlockAllocationTableWriter.java b/src/java/org/apache/poi/poifs/storage/BlockAllocationTableWriter.java
index b2f6af2c6..e2adcb766 100644
--- a/src/java/org/apache/poi/poifs/storage/BlockAllocationTableWriter.java
+++ b/src/java/org/apache/poi/poifs/storage/BlockAllocationTableWriter.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,20 +14,15 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.poifs.storage;
import java.io.IOException;
import java.io.OutputStream;
-import java.util.*;
-
import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.poifs.filesystem.BATManaged;
import org.apache.poi.util.IntList;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.LittleEndianConsts;
/**
* This class manages and creates the Block Allocation Table, which is
@@ -45,10 +39,7 @@ import org.apache.poi.util.LittleEndianConsts;
*
* @author Marc Johnson (mjohnson at apache dot org)
*/
-
-public class BlockAllocationTableWriter
- implements BlockWritable, BATManaged
-{
+public final class BlockAllocationTableWriter implements BlockWritable, BATManaged {
private IntList _entries;
private BATBlock[] _blocks;
private int _start_block;
@@ -56,7 +47,6 @@ public class BlockAllocationTableWriter
/**
* create a BlockAllocationTableWriter
*/
-
public BlockAllocationTableWriter()
{
_start_block = POIFSConstants.END_OF_CHAIN;
@@ -69,7 +59,6 @@ public class BlockAllocationTableWriter
*
* @return start block index of BAT blocks
*/
-
public int createBlocks()
{
int xbat_blocks = 0;
@@ -92,11 +81,8 @@ public class BlockAllocationTableWriter
// stable ... we're OK
break;
}
- else
- {
- bat_blocks = calculated_bat_blocks;
- xbat_blocks = calculated_xbat_blocks;
- }
+ bat_blocks = calculated_bat_blocks;
+ xbat_blocks = calculated_xbat_blocks;
}
int startBlock = allocateSpace(bat_blocks);
@@ -112,7 +98,6 @@ public class BlockAllocationTableWriter
*
* @return the starting index of the blocks
*/
-
public int allocateSpace(final int blockCount)
{
int startBlock = _entries.size();
@@ -136,7 +121,6 @@ public class BlockAllocationTableWriter
*
* @return the starting block index
*/
-
public int getStartBlock()
{
return _start_block;
@@ -145,14 +129,11 @@ public class BlockAllocationTableWriter
/**
* create the BATBlocks
*/
-
void simpleCreateBlocks()
{
_blocks = BATBlock.createBATBlocks(_entries.toArray());
}
- /* ********** START implementation of BlockWritable ********** */
-
/**
* Write the storage to an OutputStream
*
@@ -162,7 +143,6 @@ public class BlockAllocationTableWriter
* @exception IOException on problems writing to the specified
* stream
*/
-
public void writeBlocks(final OutputStream stream)
throws IOException
{
@@ -172,15 +152,11 @@ public class BlockAllocationTableWriter
}
}
- /* ********** END implementation of BlockWritable ********** */
- /* ********** START implementation of BATManaged ********** */
-
/**
* Return the number of BigBlock's this instance uses
*
* @return count of BigBlock instances
*/
-
public int countBlocks()
{
return _blocks.length;
@@ -188,15 +164,9 @@ public class BlockAllocationTableWriter
/**
* Set the start block for this instance
- *
- * @param start_block
*/
-
public void setStartBlock(int start_block)
{
_start_block = start_block;
}
-
- /* ********** END implementation of BATManaged ********** */
-} // end class BlockAllocationTableWriter
-
+}
diff --git a/src/java/org/apache/poi/poifs/storage/BlockListImpl.java b/src/java/org/apache/poi/poifs/storage/BlockListImpl.java
index a5472d353..df7de493a 100644
--- a/src/java/org/apache/poi/poifs/storage/BlockListImpl.java
+++ b/src/java/org/apache/poi/poifs/storage/BlockListImpl.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,30 +14,20 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.poifs.storage;
-import java.io.*;
-
-import java.util.*;
+import java.io.IOException;
/**
* A simple implementation of BlockList
*
* @author Marc Johnson (mjohnson at apache dot org
*/
-
-class BlockListImpl
- implements BlockList
-{
+abstract class BlockListImpl implements BlockList {
private ListManagedBlock[] _blocks;
private BlockAllocationTableReader _bat;
- /**
- * Constructor BlockListImpl
- */
-
protected BlockListImpl()
{
_blocks = new ListManagedBlock[ 0 ];
@@ -50,21 +39,17 @@ class BlockListImpl
*
* @param blocks blocks to be managed
*/
-
protected void setBlocks(final ListManagedBlock [] blocks)
{
_blocks = blocks;
}
- /* ********** START implementation of BlockList ********** */
-
/**
* remove the specified block from the list
*
* @param index the index of the specified block; if the index is
* out of range, that's ok
*/
-
public void zap(final int index)
{
if ((index >= 0) && (index < _blocks.length))
@@ -72,13 +57,13 @@ class BlockListImpl
_blocks[ index ] = null;
}
}
-
+
/**
* Unit testing method. Gets, without sanity checks or
* removing.
*/
- protected ListManagedBlock get(final int index) throws IOException {
- return _blocks[index];
+ protected ListManagedBlock get(final int index) {
+ return _blocks[index];
}
/**
@@ -91,7 +76,6 @@ class BlockListImpl
* @exception IOException if the index is out of range or has
* already been removed
*/
-
public ListManagedBlock remove(final int index)
throws IOException
{
@@ -112,7 +96,7 @@ class BlockListImpl
catch (ArrayIndexOutOfBoundsException ignored)
{
throw new IOException("Cannot remove block[ " + index
- + " ]; out of range[ 0 - " +
+ + " ]; out of range[ 0 - " +
(_blocks.length-1) + " ]");
}
return result;
@@ -128,7 +112,6 @@ class BlockListImpl
*
* @exception IOException if blocks are missing
*/
-
public ListManagedBlock [] fetchBlocks(final int startBlock, final int headerPropertiesStartBlock)
throws IOException
{
@@ -144,10 +127,7 @@ class BlockListImpl
* set the associated BlockAllocationTable
*
* @param bat the associated BlockAllocationTable
- *
- * @exception IOException
*/
-
public void setBAT(final BlockAllocationTableReader bat)
throws IOException
{
@@ -158,7 +138,4 @@ class BlockListImpl
}
_bat = bat;
}
-
- /* ********** END implementation of BlockList ********** */
-} // end package-scope class BlockListImpl
-
+}
diff --git a/src/java/org/apache/poi/poifs/storage/HeaderBlockConstants.java b/src/java/org/apache/poi/poifs/storage/HeaderBlockConstants.java
index 075a224fa..eebb504b4 100644
--- a/src/java/org/apache/poi/poifs/storage/HeaderBlockConstants.java
+++ b/src/java/org/apache/poi/poifs/storage/HeaderBlockConstants.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,23 +14,17 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.poifs.storage;
import org.apache.poi.poifs.common.POIFSConstants;
-import org.apache.poi.util.IntegerField;
-import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianConsts;
-import org.apache.poi.util.LongField;
-import org.apache.poi.util.ShortField;
/**
* Constants used in reading/writing the Header block
*
* @author Marc Johnson (mjohnson at apache dot org)
*/
-
public interface HeaderBlockConstants
{
public static final long _signature = 0xE11AB1A1E011CFD0L;
diff --git a/src/java/org/apache/poi/poifs/storage/PropertyBlock.java b/src/java/org/apache/poi/poifs/storage/PropertyBlock.java
index 5dfaac5b7..c0400a552 100644
--- a/src/java/org/apache/poi/poifs/storage/PropertyBlock.java
+++ b/src/java/org/apache/poi/poifs/storage/PropertyBlock.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,29 +14,22 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.poifs.storage;
-import java.io.*;
-
-import java.util.*;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.util.List;
import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.poifs.property.Property;
-import org.apache.poi.util.IntegerField;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.LittleEndianConsts;
/**
* A block of Property instances
*
* @author Marc Johnson (mjohnson at apache dot org)
*/
-
-public class PropertyBlock
- extends BigBlock
-{
+public final class PropertyBlock extends BigBlock {
private static final int _properties_per_block =
POIFSConstants.BIG_BLOCK_SIZE / POIFSConstants.PROPERTY_SIZE;
private Property[] _properties;
diff --git a/src/java/org/apache/poi/poifs/storage/SmallBlockTableReader.java b/src/java/org/apache/poi/poifs/storage/SmallBlockTableReader.java
index 4da79e71f..c77b8fc1a 100644
--- a/src/java/org/apache/poi/poifs/storage/SmallBlockTableReader.java
+++ b/src/java/org/apache/poi/poifs/storage/SmallBlockTableReader.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,25 +14,20 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.poifs.storage;
+import java.io.IOException;
+
import org.apache.poi.poifs.property.RootProperty;
-import java.util.*;
-
-import java.io.*;
-
/**
* This class implements reading the small document block list from an
* existing file
*
* @author Marc Johnson (mjohnson at apache dot org)
*/
-
-public class SmallBlockTableReader
-{
+public final class SmallBlockTableReader {
/**
* fetch the small document block list from an existing file
@@ -48,7 +42,6 @@ public class SmallBlockTableReader
*
* @exception IOException
*/
-
public static BlockList getSmallDocumentBlocks(
final RawDataBlockList blockList, final RootProperty root,
final int sbatStart)
diff --git a/src/java/org/apache/poi/util/IntList.java b/src/java/org/apache/poi/util/IntList.java
index 30498cf43..3fee8dd57 100644
--- a/src/java/org/apache/poi/util/IntList.java
+++ b/src/java/org/apache/poi/util/IntList.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,12 +14,9 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.util;
-import java.util.*;
-
/**
* A List of int's; as full an implementation of the java.util.List
* interface as possible, with an eye toward minimal creation of
@@ -47,7 +43,6 @@ import java.util.*;
*
* @author Marc Johnson
*/
-
public class IntList
{
private int[] _array;
@@ -62,14 +57,14 @@ public class IntList
public IntList()
{
this(_default_size);
- }
+ }
public IntList(final int initialCapacity)
{
this(initialCapacity,0);
}
-
-
+
+
/**
* create a copy of an existing IntList
*
@@ -94,17 +89,17 @@ public class IntList
_array = new int[ initialCapacity ];
if (fillval != 0) {
fillval = fillvalue;
- fillArray(fillval, _array, 0);
+ fillArray(fillval, _array, 0);
}
_limit = 0;
}
private void fillArray(int val, int[] array, int index) {
for (int k = index; k < array.length; k++) {
- array[k] = val;
+ array[k] = val;
}
}
-
+
/**
* add the specfied value at the specified index
*
@@ -653,11 +648,11 @@ public class IntList
int size = (new_size == _array.length) ? new_size + 1
: new_size;
int[] new_array = new int[ size ];
-
+
if (fillval != 0) {
- fillArray(fillval, new_array, _array.length);
+ fillArray(fillval, new_array, _array.length);
}
-
+
System.arraycopy(_array, 0, new_array, 0, _limit);
_array = new_array;
}
diff --git a/src/java/org/apache/poi/util/NullLogger.java b/src/java/org/apache/poi/util/NullLogger.java
index d58c9789e..a2cdbf786 100644
--- a/src/java/org/apache/poi/util/NullLogger.java
+++ b/src/java/org/apache/poi/util/NullLogger.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,12 +14,9 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.util;
-import java.util.*;
-
/**
* A logger class that strives to make it as easy as possible for
* developers to write log calls, while simultaneously making those
@@ -31,14 +27,13 @@ import java.util.*;
* @author Glen Stampoultzis (glens at apache.org)
* @author Nicola Ken Barozzi (nicolaken at apache.org)
*/
-
public class NullLogger extends POILogger
{
public void initialize(final String cat)
{
- //do nothing
+ //do nothing
}
-
+
/**
* Log a message
*
@@ -462,5 +457,5 @@ public class NullLogger extends POILogger
//do nothing
}
-}
+}
diff --git a/src/java/org/apache/poi/util/ShortList.java b/src/java/org/apache/poi/util/ShortList.java
index c06a9c714..3a6cfb8d9 100644
--- a/src/java/org/apache/poi/util/ShortList.java
+++ b/src/java/org/apache/poi/util/ShortList.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,12 +14,9 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.util;
-import java.util.*;
-
/**
* A List of short's; as full an implementation of the java.util.List
* interface as possible, with an eye toward minimal creation of
diff --git a/src/ooxml/java/org/apache/poi/POIXMLDocument.java b/src/ooxml/java/org/apache/poi/POIXMLDocument.java
index 9e716e4cc..ee4bb53c7 100644
--- a/src/ooxml/java/org/apache/poi/POIXMLDocument.java
+++ b/src/ooxml/java/org/apache/poi/POIXMLDocument.java
@@ -22,7 +22,6 @@ import java.util.*;
import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.util.IOUtils;
import org.apache.poi.util.PackageHelper;
-import org.apache.xmlbeans.XmlException;
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
import org.apache.poi.openxml4j.opc.*;
diff --git a/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java b/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java
index 0844f4518..0be0142d4 100644
--- a/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java
+++ b/src/ooxml/java/org/apache/poi/xssf/model/StylesTable.java
@@ -26,7 +26,6 @@ import java.util.Map.Entry;
import org.apache.poi.ss.usermodel.FontFamily;
import org.apache.poi.ss.usermodel.FontScheme;
import org.apache.poi.ss.usermodel.BuiltinFormats;
-import org.apache.poi.ss.usermodel.Font;
import org.apache.poi.xssf.usermodel.XSSFCellStyle;
import org.apache.poi.xssf.usermodel.XSSFFont;
import org.apache.poi.xssf.usermodel.extensions.XSSFCellBorder;
@@ -80,17 +79,17 @@ public class StylesTable extends POIXMLDocumentPart {
* Create a new, empty StylesTable
*/
public StylesTable() {
- super();
+ super();
doc = StyleSheetDocument.Factory.newInstance();
doc.addNewStyleSheet();
// Initialization required in order to make the document readable by MSExcel
initialize();
}
- public StylesTable(PackagePart part, PackageRelationship rel) throws IOException {
- super(part, rel);
- readFrom(part.getInputStream());
- }
+ public StylesTable(PackagePart part, PackageRelationship rel) throws IOException {
+ super(part, rel);
+ readFrom(part.getInputStream());
+ }
/**
* Read this shared styles table from an XML file.
@@ -107,13 +106,13 @@ public class StylesTable extends POIXMLDocumentPart {
numberFormats.put((int)nfmt.getNumFmtId(), nfmt.getFormatCode());
}
if(doc.getStyleSheet().getFonts() != null){
- int idx = 0;
- for (CTFont font : doc.getStyleSheet().getFonts().getFontArray()) {
- XSSFFont f = new XSSFFont(font, idx);
- fonts.add(f);
- idx++;
- }
- }
+ int idx = 0;
+ for (CTFont font : doc.getStyleSheet().getFonts().getFontArray()) {
+ XSSFFont f = new XSSFFont(font, idx);
+ fonts.add(f);
+ idx++;
+ }
+ }
if(doc.getStyleSheet().getFills() != null)
for (CTFill fill : doc.getStyleSheet().getFills().getFillArray()) {
fills.add(new XSSFCellFill(fill));
@@ -149,7 +148,7 @@ public class StylesTable extends POIXMLDocumentPart {
return numberFormats.get(idx);
}
- public int putNumberFormat(String fmt) {
+ public int putNumberFormat(String fmt) {
if (numberFormats.containsValue(fmt)) {
// Find the key, and return that
for(Integer key : numberFormats.keySet() ) {
@@ -174,12 +173,12 @@ public class StylesTable extends POIXMLDocumentPart {
}
public int putFont(XSSFFont font) {
- int idx = fonts.indexOf(font);
- if (idx != -1) {
- return idx;
- }
- fonts.add(font);
- return fonts.size() - 1;
+ int idx = fonts.indexOf(font);
+ if (idx != -1) {
+ return idx;
+ }
+ fonts.add(font);
+ return fonts.size() - 1;
}
public XSSFCellStyle getStyleAt(int idx) {
@@ -205,42 +204,42 @@ public class StylesTable extends POIXMLDocumentPart {
return borders.get(idx);
}
- public int putBorder(XSSFCellBorder border) {
- int idx = borders.indexOf(border);
- if (idx != -1) {
- return idx;
- }
- borders.add(border);
- return borders.size() - 1;
+ public int putBorder(XSSFCellBorder border) {
+ int idx = borders.indexOf(border);
+ if (idx != -1) {
+ return idx;
+ }
+ borders.add(border);
+ return borders.size() - 1;
}
- public XSSFCellFill getFillAt(int idx) {
- return fills.get(idx);
- }
+ public XSSFCellFill getFillAt(int idx) {
+ return fills.get(idx);
+ }
- public List getBorders(){
- return borders;
- }
+ public List getBorders(){
+ return borders;
+ }
- public List getFills(){
- return fills;
- }
+ public List getFills(){
+ return fills;
+ }
- public List getFonts(){
- return fonts;
- }
+ public List getFonts(){
+ return fonts;
+ }
- public Map getNumberFormats(){
- return numberFormats;
- }
+ public Map getNumberFormats(){
+ return numberFormats;
+ }
- public int putFill(XSSFCellFill fill) {
- int idx = fills.indexOf(fill);
- if (idx != -1) {
- return idx;
- }
- fills.add(fill);
- return fills.size() - 1;
+ public int putFill(XSSFCellFill fill) {
+ int idx = fills.indexOf(fill);
+ if (idx != -1) {
+ return idx;
+ }
+ fills.add(fill);
+ return fills.size() - 1;
}
public CTXf getCellXfAt(int idx) {
@@ -315,31 +314,31 @@ public class StylesTable extends POIXMLDocumentPart {
}
doc.getStyleSheet().setNumFmts(formats);
- int idx;
+ int idx;
// Fonts
CTFonts ctFonts = CTFonts.Factory.newInstance();
ctFonts.setCount(fonts.size());
- CTFont[] ctfnt = new CTFont[fonts.size()];
- idx = 0;
- for(XSSFFont f : fonts) ctfnt[idx++] = f.getCTFont();
- ctFonts.setFontArray(ctfnt);
+ CTFont[] ctfnt = new CTFont[fonts.size()];
+ idx = 0;
+ for(XSSFFont f : fonts) ctfnt[idx++] = f.getCTFont();
+ ctFonts.setFontArray(ctfnt);
doc.getStyleSheet().setFonts(ctFonts);
// Fills
CTFills ctFills = CTFills.Factory.newInstance();
ctFills.setCount(fills.size());
- CTFill[] ctf = new CTFill[fills.size()];
- idx = 0;
- for(XSSFCellFill f : fills) ctf[idx++] = f.getCTFill();
- ctFills.setFillArray(ctf);
+ CTFill[] ctf = new CTFill[fills.size()];
+ idx = 0;
+ for(XSSFCellFill f : fills) ctf[idx++] = f.getCTFill();
+ ctFills.setFillArray(ctf);
doc.getStyleSheet().setFills(ctFills);
// Borders
CTBorders ctBorders = CTBorders.Factory.newInstance();
ctBorders.setCount(borders.size());
- CTBorder[] ctb = new CTBorder[borders.size()];
- idx = 0;
- for(XSSFCellBorder b : borders) ctb[idx++] = b.getCTBorder();
+ CTBorder[] ctb = new CTBorder[borders.size()];
+ idx = 0;
+ for(XSSFCellBorder b : borders) ctb[idx++] = b.getCTBorder();
ctBorders.setBorderArray(ctb);
doc.getStyleSheet().setBorders(ctBorders);
@@ -376,13 +375,13 @@ public class StylesTable extends POIXMLDocumentPart {
doc.save(out, options);
}
- @Override
- protected void commit() throws IOException {
- PackagePart part = getPackagePart();
- OutputStream out = part.getOutputStream();
- writeTo(out);
- out.close();
- }
+ @Override
+ protected void commit() throws IOException {
+ PackagePart part = getPackagePart();
+ OutputStream out = part.getOutputStream();
+ writeTo(out);
+ out.close();
+ }
private void initialize() {
//CTFont ctFont = createDefaultFont();
@@ -452,36 +451,35 @@ public class StylesTable extends POIXMLDocumentPart {
return this.dxfs.size();
}
- public XSSFCellStyle createCellStyle() {
- CTXf xf = CTXf.Factory.newInstance();
- xf.setNumFmtId(0);
- xf.setFontId(0);
- xf.setFillId(0);
- xf.setBorderId(0);
- xf.setXfId(0);
- int xfSize = styleXfs.size();
- int indexXf = putCellXf(xf);
- return new XSSFCellStyle(indexXf - 1, xfSize - 1, this);
- }
-
- /**
- * Finds a font that matches the one with the supplied attributes
- */
- public XSSFFont findFont(short boldWeight, short color, short fontHeight, String name, boolean italic, boolean strikeout, short typeOffset, byte underline) {
- for (XSSFFont font : fonts) {
- if ( (font.getBoldweight() == boldWeight)
- && font.getColor() == color
- && font.getFontHeight() == fontHeight
- && font.getFontName().equals(name)
- && font.getItalic() == italic
- && font.getStrikeout() == strikeout
- && font.getTypeOffset() == typeOffset
- && font.getUnderline() == underline)
- {
- return font;
- }
- }
- return null;
- }
+ public XSSFCellStyle createCellStyle() {
+ CTXf xf = CTXf.Factory.newInstance();
+ xf.setNumFmtId(0);
+ xf.setFontId(0);
+ xf.setFillId(0);
+ xf.setBorderId(0);
+ xf.setXfId(0);
+ int xfSize = styleXfs.size();
+ int indexXf = putCellXf(xf);
+ return new XSSFCellStyle(indexXf - 1, xfSize - 1, this);
+ }
+ /**
+ * Finds a font that matches the one with the supplied attributes
+ */
+ public XSSFFont findFont(short boldWeight, short color, short fontHeight, String name, boolean italic, boolean strikeout, short typeOffset, byte underline) {
+ for (XSSFFont font : fonts) {
+ if ( (font.getBoldweight() == boldWeight)
+ && font.getColor() == color
+ && font.getFontHeight() == fontHeight
+ && font.getFontName().equals(name)
+ && font.getItalic() == italic
+ && font.getStrikeout() == strikeout
+ && font.getTypeOffset() == typeOffset
+ && font.getUnderline() == underline)
+ {
+ return font;
+ }
+ }
+ return null;
+ }
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCreationHelper.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCreationHelper.java
index 88b9d9a87..177cad89a 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCreationHelper.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFCreationHelper.java
@@ -17,49 +17,48 @@
package org.apache.poi.xssf.usermodel;
import org.apache.poi.ss.usermodel.CreationHelper;
-import org.apache.poi.ss.usermodel.DataFormat;
-import org.apache.poi.ss.usermodel.Hyperlink;
-import org.apache.poi.ss.usermodel.RichTextString;
public class XSSFCreationHelper implements CreationHelper {
private XSSFWorkbook workbook;
+
XSSFCreationHelper(XSSFWorkbook wb) {
workbook = wb;
}
-
- /**
- * Creates a new XSSFRichTextString for you.
- */
+
+ /**
+ * Creates a new XSSFRichTextString for you.
+ */
public XSSFRichTextString createRichTextString(String text) {
- XSSFRichTextString rt = new XSSFRichTextString(text);
- rt.setStylesTableReference(workbook.getStylesSource());
- return rt;
+ XSSFRichTextString rt = new XSSFRichTextString(text);
+ rt.setStylesTableReference(workbook.getStylesSource());
+ return rt;
}
-
+
public XSSFDataFormat createDataFormat() {
return workbook.createDataFormat();
}
-
+
public XSSFHyperlink createHyperlink(int type) {
return new XSSFHyperlink(type);
}
- /**
- * Creates a XSSFFormulaEvaluator, the object that evaluates formula cells.
- *
- * @return a XSSFFormulaEvaluator instance
- */
- public XSSFFormulaEvaluator createFormulaEvaluator(){
- return new XSSFFormulaEvaluator(workbook);
- }
+ /**
+ * Creates a XSSFFormulaEvaluator, the object that evaluates formula cells.
+ *
+ * @return a XSSFFormulaEvaluator instance
+ */
+ public XSSFFormulaEvaluator createFormulaEvaluator() {
+ return new XSSFFormulaEvaluator(workbook);
+ }
- /**
- * Creates a XSSFClientAnchor. Use this object to position drawing object in a sheet
- *
- * @return a XSSFClientAnchor instance
- * @see org.apache.poi.ss.usermodel.Drawing
- */
- public XSSFClientAnchor createClientAnchor(){
- return new XSSFClientAnchor();
- }
+ /**
+ * Creates a XSSFClientAnchor. Use this object to position drawing object in
+ * a sheet
+ *
+ * @return a XSSFClientAnchor instance
+ * @see org.apache.poi.ss.usermodel.Drawing
+ */
+ public XSSFClientAnchor createClientAnchor() {
+ return new XSSFClientAnchor();
+ }
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
index 1daf33d52..622104e8a 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
@@ -53,7 +53,6 @@ import org.apache.poi.xssf.model.CalculationChain;
import org.apache.poi.xssf.model.SharedStringsTable;
import org.apache.poi.xssf.model.StylesTable;
import org.apache.poi.xssf.model.MapInfo;
-import org.apache.poi.xssf.extractor.XSSFExportToXml;
import org.apache.xmlbeans.XmlException;
import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.XmlOptions;
@@ -570,7 +569,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Iterable nNames) {
- throw new IllegalArgumentException("Specified name index " + nameIndex
+ throw new IllegalArgumentException("Specified name index " + nameIndex
+ " is outside the allowable range (0.." + (nNames-1) + ").");
}
return namedRanges.get(nameIndex);
@@ -636,7 +635,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Iterable 0 && r.length() > 0) rng.append(',');
@@ -1243,7 +1242,7 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Iterable
* The calculation chain object specifies the order in which the cells in a workbook were last calculated
*
- *
+ *
* @return the CalculationChain
object or null
if not defined
*/
public CalculationChain getCalculationChain(){
@@ -1302,19 +1301,19 @@ public class XSSFWorkbook extends POIXMLDocument implements Workbook, Iterable getCustomXMLMappings(){
return mapInfo == null ? new ArrayList() : mapInfo.getAllXSSFMaps();
}
-
+
/**
- *
+ *
* @return the helper class used to query the custom XML mapping defined in this workbook
*/
public MapInfo getMapInfo(){
return mapInfo;
}
-
+
}
diff --git a/src/ooxml/java/org/apache/poi/xssf/usermodel/extensions/XSSFHeaderFooter.java b/src/ooxml/java/org/apache/poi/xssf/usermodel/extensions/XSSFHeaderFooter.java
index 32d9dc62a..9bf8243dd 100644
--- a/src/ooxml/java/org/apache/poi/xssf/usermodel/extensions/XSSFHeaderFooter.java
+++ b/src/ooxml/java/org/apache/poi/xssf/usermodel/extensions/XSSFHeaderFooter.java
@@ -18,119 +18,151 @@
package org.apache.poi.xssf.usermodel.extensions;
import org.apache.poi.ss.usermodel.HeaderFooter;
-import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.helpers.HeaderFooterHelper;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTHeaderFooter;
/**
* Parent class of all XSSF headers and footers.
- *
- * For a list of all the different fields that can be
- * placed into a header or footer, such as page number,
- * bold, underline etc, see the follow formatting syntax
- *
+ *
+ * For a list of all the different fields that can be placed into a header or
+ * footer, such as page number, bold, underline etc, see the follow formatting
+ * syntax
+ *
* Header/Footer Formatting Syntax
*
- * There are a number of formatting codes that can be written inline with the actual header / footer text, which
- * affect the formatting in the header or footer.
+ * There are a number of formatting codes that can be written inline with the
+ * actual header / footer text, which affect the formatting in the header or
+ * footer.
*
*
- * This example shows the text "Center Bold Header" on the first line (center section), and the date on the second
- * line (center section).
- * &CCenter &"-,Bold"Bold &"-,Regular"Header_x000A_&D
- *
- * General Rules:
- * There is no required order in which these codes must appear.
- * The first occurrence of the following codes turns the formatting ON, the second occurrence turns it OFF again:
- *
+ * This example shows the text "Center Bold Header" on the first line (center
+ * section), and the date on the second line (center section). &CCenter
+ * &"-,Bold"Bold &"-,Regular"Header_x000A_&D
+ *
+ * General Rules: There is no required order in which these codes must
+ * appear. The first occurrence of the following codes turns the formatting ON,
+ * the second occurrence turns it OFF again:
+ *
*
- * - &L
- code for "left section" (there are three header / footer locations, "left", "center", and "right"). When
- * two or more occurrences of this section marker exist, the contents from all markers are concatenated, in the
- * order of appearance, and placed into the left section.
- * - &P
- code for "current page #"
- * - &N
- code for "total pages"
- * - &font size
- code for "text font size", where font size is a font size in points.
- * - &K
- code for "text font color"
- * RGB Color is specified as RRGGBB
- * Theme Color is specifed as TTSNN where TT is the theme color Id, S is either "+" or "-" of the tint/shade
- * value, NN is the tint/shade value.
- * - &S
- code for "text strikethrough" on / off
- * - &X
- code for "text super script" on / off
- * - &Y
- code for "text subscript" on / off
- * - &C
- code for "center section". When two or more occurrences of this section marker exist, the contents
- * from all markers are concatenated, in the order of appearance, and placed into the center section.
- * SpreadsheetML Reference Material - Worksheets 1966
- * - &D
- code for "date"
- * - &T
- code for "time"
- * - &G
- code for "picture as background"
- * - &U
- code for "text single underline"
- * - &E
- code for "double underline"
- * - &R
- code for "right section". When two or more occurrences of this section marker exist, the contents
- * from all markers are concatenated, in the order of appearance, and placed into the right section.
- * - &Z
- code for "this workbook's file path"
- * - &F
- code for "this workbook's file name"
- * - &A
- code for "sheet tab name"
- * - &+
- code for add to page #.
- * - &-
- code for subtract from page #.
- * - &"font name,font type" - code for "text font name" and "text font type", where font name and font type
- * are strings specifying the name and type of the font, separated by a comma. When a hyphen appears in font
- * name, it means "none specified". Both of font name and font type can be localized values.
- *
- &"-,Bold"
- code for "bold font style"
- * - &B
- also means "bold font style"
- * - &"-,Regular"
- code for "regular font style"
- * - &"-,Italic"
- code for "italic font style"
- * - &I
- also means "italic font style"
- * - &"-,Bold Italic"
- code for "bold italic font style"
- * - &O
- code for "outline style"
- * - &H
- code for "shadow style"
+ * - &L
+ * - code for "left section" (there are three header / footer locations,
+ * "left", "center", and "right"). When two or more occurrences of this section
+ * marker exist, the contents from all markers are concatenated, in the order of
+ * appearance, and placed into the left section.
+ * - &P
+ * - code for "current page #"
+ * - &N
+ * - code for "total pages"
+ * - &font size
+ * - code for "text font size", where font size is a font size in points.
+ * - &K
+ * - code for "text font color" RGB Color is specified as RRGGBB Theme Color
+ * is specifed as TTSNN where TT is the theme color Id, S is either "+" or "-"
+ * of the tint/shade value, NN is the tint/shade value.
+ * - &S
+ * - code for "text strikethrough" on / off
+ * - &X
+ * - code for "text super script" on / off
+ * - &Y
+ * - code for "text subscript" on / off
+ * - &C
+ * - code for "center section". When two or more occurrences of this section
+ * marker exist, the contents from all markers are concatenated, in the order of
+ * appearance, and placed into the center section. SpreadsheetML Reference
+ * Material - Worksheets 1966
+ * - &D
+ * - code for "date"
+ * - &T
+ * - code for "time"
+ * - &G
+ * - code for "picture as background"
+ * - &U
+ * - code for "text single underline"
+ * - &E
+ * - code for "double underline"
+ * - &R
+ * - code for "right section". When two or more occurrences of this section
+ * marker exist, the contents from all markers are concatenated, in the order of
+ * appearance, and placed into the right section.
+ * - &Z
+ * - code for "this workbook's file path"
+ * - &F
+ * - code for "this workbook's file name"
+ * - &A
+ * - code for "sheet tab name"
+ * - &+
+ * - code for add to page #.
+ * - &-
+ * - code for subtract from page #.
+ * - &"font name,font type" - code for "text font name" and "text font type",
+ * where font name and font type are strings specifying the name and type of the
+ * font, separated by a comma. When a hyphen appears in font name, it means
+ * "none specified". Both of font name and font type can be localized
+ * values.
+ *
- &"-,Bold"
+ * - code for "bold font style"
+ * - &B
+ * - also means "bold font style"
+ * - &"-,Regular"
+ * - code for "regular font style"
+ * - &"-,Italic"
+ * - code for "italic font style"
+ * - &I
+ * - also means "italic font style"
+ * - &"-,Bold Italic"
+ * - code for "bold italic font style"
+ * - &O
+ * - code for "outline style"
+ * - &H
+ * - code for "shadow style"
*
- *
- *
+ *
+ *
*/
public abstract class XSSFHeaderFooter implements HeaderFooter {
- private HeaderFooterHelper helper;
- private CTHeaderFooter headerFooter;
+ private HeaderFooterHelper helper;
+ private CTHeaderFooter headerFooter;
private boolean stripFields = false;
/**
* Create an instance of XSSFHeaderFooter from the supplied XML bean
+ *
* @param headerFooter
*/
- public XSSFHeaderFooter(CTHeaderFooter headerFooter) {
- this.headerFooter = headerFooter;
- this.helper = new HeaderFooterHelper();
- }
-
- /**
- * Returns the underlying CTHeaderFooter xml bean
- *
- * @return the underlying CTHeaderFooter xml bean
- */
- public CTHeaderFooter getHeaderFooter() {
- return this.headerFooter;
- }
+ public XSSFHeaderFooter(CTHeaderFooter headerFooter) {
+ this.headerFooter = headerFooter;
+ this.helper = new HeaderFooterHelper();
+ }
- public String getValue() {
- String value = getText();
- if(value == null)
- return "";
- return value;
- }
-
-
/**
- * Are fields currently being stripped from
- * the text that this {@link XSSFHeaderFooter} returns?
- * Default is false, but can be changed
+ * Returns the underlying CTHeaderFooter xml bean
+ *
+ * @return the underlying CTHeaderFooter xml bean
+ */
+ public CTHeaderFooter getHeaderFooter() {
+ return this.headerFooter;
+ }
+
+ public String getValue() {
+ String value = getText();
+ if (value == null)
+ return "";
+ return value;
+ }
+
+ /**
+ * Are fields currently being stripped from the text that this
+ * {@link XSSFHeaderFooter} returns? Default is false, but can be changed
*/
public boolean areFieldsStripped() {
return stripFields;
}
+
/**
- * Should fields (eg macros) be stripped from
- * the text that this class returns?
- * Default is not to strip.
+ * Should fields (eg macros) be stripped from the text that this class
+ * returns? Default is not to strip.
+ *
* @param stripFields
*/
public void setAreFieldsStripped(boolean stripFields) {
@@ -138,69 +170,66 @@ public abstract class XSSFHeaderFooter implements HeaderFooter {
}
/**
- * Removes any fields (eg macros, page markers etc)
- * from the string.
- * Normally used to make some text suitable for showing
- * to humans, and the resultant text should not normally
- * be saved back into the document!
+ * Removes any fields (eg macros, page markers etc) from the string.
+ * Normally used to make some text suitable for showing to humans, and the
+ * resultant text should not normally be saved back into the document!
*/
public static String stripFields(String text) {
return org.apache.poi.hssf.usermodel.HeaderFooter.stripFields(text);
}
-
- public abstract String getText();
-
- protected abstract void setText(String text);
+ public abstract String getText();
- /**
- * get the text representing the center part of this element
- */
- public String getCenter() {
- String text = helper.getCenterSection(getText());
- if(stripFields)
- return stripFields(text);
- return text;
- }
+ protected abstract void setText(String text);
- /**
- * get the text representing the left part of this element
- */
- public String getLeft() {
- String text = helper.getLeftSection(getText());
- if(stripFields)
- return stripFields(text);
- return text;
- }
+ /**
+ * get the text representing the center part of this element
+ */
+ public String getCenter() {
+ String text = helper.getCenterSection(getText());
+ if (stripFields)
+ return stripFields(text);
+ return text;
+ }
- /**
- * get the text representing the right part of this element
- */
- public String getRight() {
- String text = helper.getRightSection(getText());
- if(stripFields)
- return stripFields(text);
- return text;
- }
+ /**
+ * get the text representing the left part of this element
+ */
+ public String getLeft() {
+ String text = helper.getLeftSection(getText());
+ if (stripFields)
+ return stripFields(text);
+ return text;
+ }
- /**
- * set a centered string value for this element
- */
- public void setCenter(String newCenter) {
- setText(helper.setCenterSection(getText(), newCenter));
- }
+ /**
+ * get the text representing the right part of this element
+ */
+ public String getRight() {
+ String text = helper.getRightSection(getText());
+ if (stripFields)
+ return stripFields(text);
+ return text;
+ }
- /**
- * set a left string value for this element
- */
- public void setLeft(String newLeft) {
- setText(helper.setLeftSection(getText(), newLeft));
- }
+ /**
+ * set a centered string value for this element
+ */
+ public void setCenter(String newCenter) {
+ setText(helper.setCenterSection(getText(), newCenter));
+ }
- /**
- * set a right string value for this element
- */
- public void setRight(String newRight) {
- setText(helper.setRightSection(getText(), newRight));
- }
+ /**
+ * set a left string value for this element
+ */
+ public void setLeft(String newLeft) {
+ setText(helper.setLeftSection(getText(), newLeft));
+ }
+
+ /**
+ * set a right string value for this element
+ */
+ public void setRight(String newRight) {
+ setText(helper.setRightSection(getText(), newRight));
+ }
}
diff --git a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java
index 90e7d5445..a4c813924 100755
--- a/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java
+++ b/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java
@@ -17,7 +17,6 @@
package org.apache.poi.openxml4j.opc;
-import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.io.File;
import java.io.FileInputStream;
@@ -37,8 +36,6 @@ import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.apache.poi.openxml4j.opc.internal.ContentTypeManager;
import org.apache.poi.openxml4j.opc.internal.FileHelper;
import org.apache.poi.util.TempFile;
-import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.POILogger;
import org.dom4j.Document;
import org.dom4j.DocumentHelper;
import org.dom4j.Element;
@@ -64,19 +61,19 @@ public final class TestPackage extends TestCase {
//ZipFileAssert.assertEquals(originalFile, targetFile);
assertTrue(targetFile.delete());
}
-
+
/**
* Test that when we create a new Package, we give it
* the correct default content types
*/
public void testCreateGetsContentTypes() throws Exception {
File targetFile = OpenXML4JTestDataSamples.getOutputFile("TestCreatePackageTMP.docx");
-
+
// Zap the target file, in case of an earlier run
if(targetFile.exists()) targetFile.delete();
-
+
OPCPackage pkg = OPCPackage.create(targetFile);
-
+
// Check it has content types for rels and xml
ContentTypeManager ctm = getContentTypeManager(pkg);
assertEquals(
@@ -108,7 +105,7 @@ public final class TestPackage extends TestCase {
// Zap the target file, in case of an earlier run
if(targetFile.exists()) targetFile.delete();
-
+
// Create a package
OPCPackage pkg = OPCPackage.create(targetFile);
PackagePartName corePartName = PackagingURIHelper
@@ -142,7 +139,7 @@ public final class TestPackage extends TestCase {
//ZipFileAssert.assertEquals(expectedFile, targetFile);
assertTrue(targetFile.delete());
}
-
+
/**
* Tests that we can create a new package, add a core
* document and another part, save and re-load and
@@ -151,7 +148,7 @@ public final class TestPackage extends TestCase {
public void testCreatePackageWithCoreDocument() throws Exception {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
OPCPackage pkg = OPCPackage.create(baos);
-
+
// Add a core document
PackagePartName corePartName = PackagingURIHelper.createPartName("/xl/workbook.xml");
// Create main part relationship
@@ -162,7 +159,7 @@ public final class TestPackage extends TestCase {
OutputStream coreOut = corePart.getOutputStream();
coreOut.write("".getBytes());
coreOut.close();
-
+
// And another bit
PackagePartName sheetPartName = PackagingURIHelper.createPartName("/xl/worksheets/sheet1.xml");
PackageRelationship rel =
@@ -184,8 +181,8 @@ public final class TestPackage extends TestCase {
assertEquals("/", coreRel.getSourceURI().toString());
assertEquals("/xl/workbook.xml", coreRel.getTargetURI().toString());
assertNotNull(pkg.getPart(coreRel));
-
-
+
+
// Save and re-load
pkg.close();
File tmp = TempFile.createTempFile("testCreatePackageWithCoreDocument", ".zip");
@@ -290,7 +287,7 @@ public final class TestPackage extends TestCase {
//ZipFileAssert.assertEquals(expectedFile, targetFile);
assertTrue(targetFile.delete());
}
-
+
/**
* Checks that we can write a package to a simple
* OutputStream, in addition to the normal writing
@@ -318,15 +315,15 @@ public final class TestPackage extends TestCase {
*/
public void testOpenFromInputStream() throws Exception {
String originalFile = OpenXML4JTestDataSamples.getSampleFileName("TestPackageCommon.docx");
-
+
FileInputStream finp = new FileInputStream(originalFile);
-
+
OPCPackage p = OPCPackage.open(finp);
-
+
assertNotNull(p);
assertNotNull(p.getRelationships());
assertEquals(12, p.getParts().size());
-
+
// Check it has the usual bits
assertTrue(p.hasRelationships());
assertTrue(p.containPart(PackagingURIHelper.createPartName("/_rels/.rels")));
@@ -407,7 +404,7 @@ public final class TestPackage extends TestCase {
// Don't save modifications
p.revert();
}
-
+
public void testDeletePartRecursive() throws InvalidFormatException {
TreeMap expectedValues;
TreeMap values;
@@ -445,7 +442,7 @@ public final class TestPackage extends TestCase {
// Don't save modifications
p.revert();
}
-
+
private static ContentTypeManager getContentTypeManager(OPCPackage pkg) throws Exception {
Field f = OPCPackage.class.getDeclaredField("contentTypeManager");
f.setAccessible(true);
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/io/TestLoadSaveXSSF.java b/src/ooxml/testcases/org/apache/poi/xssf/io/TestLoadSaveXSSF.java
index 94e8c0900..0f739f750 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/io/TestLoadSaveXSSF.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/io/TestLoadSaveXSSF.java
@@ -24,7 +24,6 @@ import junit.framework.TestCase;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellStyle;
-import org.apache.poi.ss.usermodel.PictureData;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
@@ -35,8 +34,8 @@ public class TestLoadSaveXSSF extends TestCase {
String filename;
- protected void setUp() throws Exception {
- super.setUp();
+ protected void setUp() {
+
System.setProperty("org.apache.poi.util.POILogger", org.apache.poi.util.CommonsLogger.class.getName());
filename = System.getProperty("XSSF.testdata.path");
if (filename == null) {
@@ -52,12 +51,12 @@ public class TestLoadSaveXSSF extends TestCase {
Row row = sheet.getRow(0);
Cell cell = row.getCell((short) 1);
assertNotNull(cell);
- assertEquals(111.0, cell.getNumericCellValue());
+ assertEquals(111.0, cell.getNumericCellValue(), 0.0);
cell = row.getCell((short) 0);
assertEquals("Lorem", cell.getRichStringCellValue().getString());
}
- // TODO filename string hard coded in XSSFWorkbook constructor in order to make ant test-ooxml target be successfull.
+ // TODO filename string hard coded in XSSFWorkbook constructor in order to make ant test-ooxml target be successful.
public void testLoadStyles() throws Exception {
XSSFWorkbook workbook = new XSSFWorkbook(new File(filename, "styles.xlsx").getAbsolutePath());
Sheet sheet = workbook.getSheetAt(0);
@@ -67,11 +66,10 @@ public class TestLoadSaveXSSF extends TestCase {
// assertNotNull(style);
}
- // TODO filename string hard coded in XSSFWorkbook constructor in order to make ant test-ooxml target be successfull.
+ // TODO filename string hard coded in XSSFWorkbook constructor in order to make ant test-ooxml target be successful.
public void testLoadPictures() throws Exception {
XSSFWorkbook workbook = new XSSFWorkbook(new File(filename, "picture.xlsx").getAbsolutePath());
List pictures = workbook.getAllPictures();
assertEquals(1, pictures.size());
}
-
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
index bda438994..ed4953b2c 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFBugs.java
@@ -17,21 +17,17 @@
package org.apache.poi.xssf.usermodel;
-import java.io.File;
import java.util.List;
-import junit.framework.TestCase;
-
-import org.apache.poi.openxml4j.opc.OPCPackage;
+import org.apache.poi.POIXMLDocumentPart;
import org.apache.poi.openxml4j.opc.OPCPackage;
import org.apache.poi.openxml4j.opc.PackagePart;
import org.apache.poi.openxml4j.opc.PackagingURIHelper;
-import org.apache.poi.xssf.XSSFTestDataSamples;
-import org.apache.poi.xssf.XSSFITestDataProvider;
import org.apache.poi.ss.usermodel.BaseTestBugzillaIssues;
-import org.apache.poi.POIXMLDocumentPart;
+import org.apache.poi.xssf.XSSFITestDataProvider;
+import org.apache.poi.xssf.XSSFTestDataSamples;
-public class TestXSSFBugs extends BaseTestBugzillaIssues {
+public final class TestXSSFBugs extends BaseTestBugzillaIssues {
@Override
protected XSSFITestDataProvider getTestDataProvider(){
return XSSFITestDataProvider.getInstance();
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDataFormat.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDataFormat.java
index 5a8b0fb3a..95cc8ac06 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDataFormat.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFDataFormat.java
@@ -17,29 +17,16 @@
package org.apache.poi.xssf.usermodel;
-import java.util.Calendar;
-import java.util.Date;
-import java.util.Map;
-
-import junit.framework.TestCase;
-
-import org.apache.poi.hssf.usermodel.HSSFCell;
-import org.apache.poi.hssf.usermodel.HSSFRichTextString;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.ITestDataProvider;
-import org.apache.poi.xssf.XSSFTestDataSamples;
+import org.apache.poi.ss.usermodel.BaseTestDataFormat;
import org.apache.poi.xssf.XSSFITestDataProvider;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCell;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.STCellType;
/**
* Tests for {@link XSSFDataFormat}
*
*/
public final class TestXSSFDataFormat extends BaseTestDataFormat {
-
+
@Override
protected ITestDataProvider getTestDataProvider(){
return XSSFITestDataProvider.getInstance();
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java
index bb541e54c..288ffca69 100755
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFFont.java
@@ -17,12 +17,8 @@
package org.apache.poi.xssf.usermodel;
-import junit.framework.TestCase;
-
import org.apache.poi.ss.usermodel.*;
-import org.apache.poi.xssf.XSSFTestDataSamples;
import org.apache.poi.xssf.XSSFITestDataProvider;
-import org.apache.poi.xssf.usermodel.XSSFColor;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBooleanProperty;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTColor;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTFont;
@@ -38,14 +34,14 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.STVerticalAlignRun;
public final class TestXSSFFont extends BaseTestFont{
- @Override
- protected XSSFITestDataProvider getTestDataProvider(){
- return XSSFITestDataProvider.getInstance();
- }
+ @Override
+ protected XSSFITestDataProvider getTestDataProvider() {
+ return XSSFITestDataProvider.getInstance();
+ }
- public void testDefaultFont() {
- baseTestDefaultFont("Calibri", (short)220, IndexedColors.BLACK.getIndex());
- }
+ public void testDefaultFont() {
+ baseTestDefaultFont("Calibri", (short) 220, IndexedColors.BLACK.getIndex());
+ }
public void testConstructor() {
XSSFFont xssfFont=new XSSFFont();
@@ -160,7 +156,7 @@ public final class TestXSSFFont extends BaseTestFont{
xssfFont.setUnderline(Font.U_DOUBLE);
assertEquals(ctFont.getUArray().length,1);
assertEquals(STUnderlineValues.DOUBLE,ctFont.getUArray(0).getVal());
-
+
xssfFont.setUnderline(FontUnderline.DOUBLE_ACCOUNTING);
assertEquals(ctFont.getUArray().length,1);
assertEquals(STUnderlineValues.DOUBLE_ACCOUNTING,ctFont.getUArray(0).getVal());
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFName.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFName.java
index f2e8ecddc..230dc50af 100755
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFName.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFName.java
@@ -17,7 +17,6 @@
package org.apache.poi.xssf.usermodel;
-import junit.framework.TestCase;
import org.apache.poi.xssf.XSSFTestDataSamples;
import org.apache.poi.xssf.XSSFITestDataProvider;
import org.apache.poi.ss.usermodel.BaseTestNamedRange;
@@ -37,7 +36,7 @@ public final class TestXSSFName extends BaseTestNamedRange {
// First test that setting RR&C for same sheet more than once only creates a
// single Print_Titles built-in record
XSSFWorkbook wb = getTestDataProvider().createWorkbook();
- XSSFSheet sheet = wb.createSheet("First Sheet");
+ wb.createSheet("First Sheet");
wb.setRepeatingRowsAndColumns(0, -1, -1, -1, -1);
@@ -77,7 +76,7 @@ public final class TestXSSFName extends BaseTestNamedRange {
// check that setting RR&C on a second sheet causes a new Print_Titles built-in
// name to be created
- sheet = nwb.createSheet("SecondSheet");
+ nwb.createSheet("SecondSheet");
nwb.setRepeatingRowsAndColumns(1, 1, 2, 0, 0);
assertEquals(2, nwb.getNumberOfNames());
@@ -88,6 +87,4 @@ public final class TestXSSFName extends BaseTestNamedRange {
nwb.setRepeatingRowsAndColumns(1, -1, -1, -1, -1);
}
-
-
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java
index 1aa6d8e11..2437767bf 100755
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPicture.java
@@ -17,7 +17,6 @@
package org.apache.poi.xssf.usermodel;
-import junit.framework.TestCase;
import org.apache.poi.ss.usermodel.ClientAnchor;
import org.apache.poi.ss.usermodel.BaseTestPicture;
import org.apache.poi.xssf.XSSFITestDataProvider;
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPictureData.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPictureData.java
index 1fb96061b..06868d837 100755
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPictureData.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPictureData.java
@@ -17,14 +17,12 @@
package org.apache.poi.xssf.usermodel;
-import junit.framework.TestCase;
-import org.apache.poi.xssf.XSSFTestDataSamples;
-import org.apache.poi.POIXMLDocumentPart;
-import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.CTDrawing;
-
-import java.util.List;
import java.util.Arrays;
-import java.io.IOException;
+import java.util.List;
+
+import junit.framework.TestCase;
+
+import org.apache.poi.xssf.XSSFTestDataSamples;
/**
* @author Yegor Kozlov
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPrintSetup.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPrintSetup.java
index 599aa96d2..c3cee3953 100755
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPrintSetup.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFPrintSetup.java
@@ -187,13 +187,13 @@ public class TestXSSFPrintSetup extends TestCase {
pMargins.setHeader(1.5);
pMargins.setFooter(2);
XSSFPrintSetup printSetup = new XSSFPrintSetup(worksheet);
- assertEquals(1.5, printSetup.getHeaderMargin());
- assertEquals(2.0, printSetup.getFooterMargin());
+ assertEquals(1.5, printSetup.getHeaderMargin(), 0.0);
+ assertEquals(2.0, printSetup.getFooterMargin(), 0.0);
printSetup.setHeaderMargin(5);
printSetup.setFooterMargin(3.5);
- assertEquals(5.0, pMargins.getHeader());
- assertEquals(3.5, pMargins.getFooter());
+ assertEquals(5.0, pMargins.getHeader(), 0.0);
+ assertEquals(3.5, pMargins.getFooter(), 0.0);
}
public void testSetGetCopies() {
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRichTextString.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRichTextString.java
index 4ae39fe21..427a56ddd 100755
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRichTextString.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRichTextString.java
@@ -17,23 +17,9 @@
package org.apache.poi.xssf.usermodel;
-import java.io.*;
-import java.util.ArrayList;
-import java.util.Calendar;
-import java.util.Date;
-
import junit.framework.TestCase;
-import org.apache.poi.ss.usermodel.Cell;
-import org.apache.poi.ss.usermodel.CellStyle;
-import org.apache.poi.ss.usermodel.Comment;
-import org.apache.poi.ss.usermodel.CreationHelper;
-import org.apache.poi.ss.usermodel.Row;
-import org.apache.poi.ss.usermodel.Sheet;
-import org.apache.poi.ss.usermodel.Workbook;
-import org.apache.poi.xssf.model.CommentsTable;
-import org.apache.xmlbeans.XmlOptions;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRst;
/**
* Tests functionality of the XSSFRichTextRun object
@@ -42,7 +28,7 @@ import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
*/
public final class TestXSSFRichTextString extends TestCase {
- public void testCreate() throws Exception {
+ public void testCreate() {
XSSFRichTextString rt = new XSSFRichTextString("Apache POI");
assertEquals("Apache POI", rt.getString());
@@ -59,7 +45,7 @@ public final class TestXSSFRichTextString extends TestCase {
}
- public void testApplyFont() throws Exception {
+ public void testApplyFont() {
XSSFRichTextString rt = new XSSFRichTextString();
rt.append("123");
@@ -85,7 +71,7 @@ public final class TestXSSFRichTextString extends TestCase {
assertEquals(1, rt.getLengthOfFormattingRun(3));
}
- public void testClearFormatting() throws Exception {
+ public void testClearFormatting() {
XSSFRichTextString rt = new XSSFRichTextString("Apache POI");
assertEquals("Apache POI", rt.getString());
@@ -105,10 +91,9 @@ public final class TestXSSFRichTextString extends TestCase {
rt.clearFormatting();
assertEquals("Apache POI", rt.getString());
assertEquals(0, rt.numFormattingRuns());
-
}
- public void testGetFonts() throws Exception {
+ public void testGetFonts() {
XSSFRichTextString rt = new XSSFRichTextString();
@@ -129,6 +114,5 @@ public final class TestXSSFRichTextString extends TestCase {
XSSFFont font2$ = rt.getFontOfFormattingRun(1);
assertEquals(font2.getBold(), font2$.getBold());
assertEquals(font2.getFontName(), font2$.getFontName());
-
}
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRow.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRow.java
index 11a430a47..5ac850e6a 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRow.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFRow.java
@@ -17,21 +17,9 @@
package org.apache.poi.xssf.usermodel;
-import java.io.FileNotFoundException;
-import java.io.FileOutputStream;
-import java.util.Iterator;
-
-import junit.framework.TestCase;
-
-import org.apache.poi.ss.usermodel.*;
import org.apache.poi.ss.SpreadsheetVersion;
-import org.apache.poi.xssf.model.SharedStringsTable;
-import org.apache.poi.xssf.XSSFTestDataSamples;
+import org.apache.poi.ss.usermodel.BaseTestRow;
import org.apache.poi.xssf.XSSFITestDataProvider;
-import org.apache.poi.hssf.usermodel.HSSFSheet;
-import org.apache.poi.hssf.usermodel.HSSFRow;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.hssf.usermodel.HSSFCell;
/**
* Tests for XSSFRow
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
index 487c9e968..bebfe3082 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFSheet.java
@@ -18,19 +18,23 @@
package org.apache.poi.xssf.usermodel;
import java.io.File;
-import java.util.Iterator;
-import junit.framework.TestCase;
-import org.apache.poi.ss.usermodel.*;
+import org.apache.poi.ss.usermodel.BaseTestSheet;
+import org.apache.poi.ss.usermodel.Cell;
+import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.util.CellRangeAddress;
+import org.apache.poi.xssf.XSSFITestDataProvider;
+import org.apache.poi.xssf.XSSFTestDataSamples;
import org.apache.poi.xssf.model.CommentsTable;
import org.apache.poi.xssf.model.StylesTable;
-import org.apache.poi.xssf.model.CalculationChain;
import org.apache.poi.xssf.usermodel.helpers.ColumnHelper;
-import org.apache.poi.xssf.XSSFTestDataSamples;
-import org.apache.poi.xssf.XSSFITestDataProvider;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTComments;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTRow;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorksheet;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTXf;
+import org.openxmlformats.schemas.spreadsheetml.x2006.main.STPane;
public class TestXSSFSheet extends BaseTestSheet {
@@ -205,14 +209,14 @@ public class TestXSSFSheet extends BaseTestSheet {
CTWorksheet ctWorksheet = sheet.getCTWorksheet();
sheet.createFreezePane(2, 4);
- assertEquals((double) 2, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getXSplit());
+ assertEquals(2.0, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getXSplit(), 0.0);
assertEquals(STPane.BOTTOM_RIGHT, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getActivePane());
sheet.createFreezePane(3, 6, 10, 10);
- assertEquals((double) 3, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getXSplit());
+ assertEquals(3.0, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getXSplit(), 0.0);
// assertEquals(10, sheet.getTopRow());
// assertEquals(10, sheet.getLeftCol());
sheet.createSplitPane(4, 8, 12, 12, 1);
- assertEquals((double) 8, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getYSplit());
+ assertEquals(8.0, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getYSplit(), 0.0);
assertEquals(STPane.BOTTOM_RIGHT, ctWorksheet.getSheetViews().getSheetViewArray(0).getPane().getActivePane());
}
@@ -375,15 +379,15 @@ public class TestXSSFSheet extends BaseTestSheet {
public void testSetColumnGroupCollapsed(){
Workbook wb = new XSSFWorkbook();
XSSFSheet sheet1 =(XSSFSheet) wb.createSheet();
-
+
CTCols cols=sheet1.getCTWorksheet().getColsArray(0);
assertEquals(0,cols.sizeOfColArray());
-
+
sheet1.groupColumn( (short)4, (short)7 );
sheet1.groupColumn( (short)9, (short)12 );
assertEquals(2,cols.sizeOfColArray());
-
+
assertEquals(false,cols.getColArray(0).isSetHidden());
assertEquals(true, cols.getColArray(0).isSetCollapsed());
assertEquals(5, cols.getColArray(0).getMin()); // 1 based
@@ -395,7 +399,7 @@ public class TestXSSFSheet extends BaseTestSheet {
sheet1.groupColumn( (short)10, (short)11 );
assertEquals(4,cols.sizeOfColArray());
-
+
assertEquals(false,cols.getColArray(0).isSetHidden());
assertEquals(true, cols.getColArray(0).isSetCollapsed());
assertEquals(5, cols.getColArray(0).getMin()); // 1 based
@@ -412,11 +416,11 @@ public class TestXSSFSheet extends BaseTestSheet {
assertEquals(true, cols.getColArray(3).isSetCollapsed());
assertEquals(13, cols.getColArray(3).getMin()); // 1 based
assertEquals(13, cols.getColArray(3).getMax()); // 1 based
-
+
// collapse columns - 1
sheet1.setColumnGroupCollapsed( (short)5, true );
assertEquals(5,cols.sizeOfColArray());
-
+
assertEquals(true, cols.getColArray(0).isSetHidden());
assertEquals(true, cols.getColArray(0).isSetCollapsed());
assertEquals(5, cols.getColArray(0).getMin()); // 1 based
@@ -501,7 +505,7 @@ public class TestXSSFSheet extends BaseTestSheet {
//outline level 2: the line under ==> collapsed==True
assertEquals(2,cols.getColArray(3).getOutlineLevel());
assertEquals(true,cols.getColArray(4).isSetCollapsed());
-
+
assertEquals(false,cols.getColArray(0).isSetHidden());
assertEquals(true, cols.getColArray(0).isSetCollapsed());
assertEquals(5, cols.getColArray(0).getMin()); // 1 based
@@ -610,7 +614,7 @@ public class TestXSSFSheet extends BaseTestSheet {
sheet1.groupRow( 7, 14 );
sheet1.groupRow( 16, 19 );
- assertEquals(14,sheet1.getPhysicalNumberOfRows());
+ assertEquals(14,sheet1.getPhysicalNumberOfRows());
assertEquals(false,sheet1.getRow(6).getCTRow().isSetCollapsed());
assertEquals(false,sheet1.getRow(6).getCTRow().isSetHidden());
assertEquals(false,sheet1.getRow(7).getCTRow().isSetCollapsed());
@@ -625,7 +629,7 @@ public class TestXSSFSheet extends BaseTestSheet {
assertEquals(false,sheet1.getRow(18).getCTRow().isSetHidden());
//collapsed
- sheet1.setRowGroupCollapsed( 7, true );
+ sheet1.setRowGroupCollapsed( 7, true );
assertEquals(false,sheet1.getRow(6).getCTRow().isSetCollapsed());
assertEquals(false,sheet1.getRow(6).getCTRow().isSetHidden());
@@ -698,7 +702,7 @@ public class TestXSSFSheet extends BaseTestSheet {
// XML is 1 based, POI is 0 based
assertEquals(2, col.getMin());
assertEquals(2, col.getMax());
- assertEquals(22.0, col.getWidth());
+ assertEquals(22.0, col.getWidth(), 0.0);
// Now set another
sheet.setColumnWidth(3, 33 * 256);
@@ -711,12 +715,11 @@ public class TestXSSFSheet extends BaseTestSheet {
col = cols.getColArray(0);
assertEquals(2, col.getMin()); // POI 1
assertEquals(2, col.getMax());
- assertEquals(22.0, col.getWidth());
+ assertEquals(22.0, col.getWidth(), 0.0);
col = cols.getColArray(1);
assertEquals(4, col.getMin()); // POI 3
assertEquals(4, col.getMax());
- assertEquals(33.0, col.getWidth());
+ assertEquals(33.0, col.getWidth(), 0.0);
}
-
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
index e2dbb27fa..3014bcf90 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/usermodel/TestXSSFWorkbook.java
@@ -20,31 +20,26 @@ package org.apache.poi.xssf.usermodel;
import java.io.File;
import java.io.FileOutputStream;
import java.io.OutputStream;
-import java.util.zip.CRC32;
import java.util.List;
+import java.util.zip.CRC32;
-import junit.framework.TestCase;
-
+import org.apache.poi.POIXMLProperties;
import org.apache.poi.hssf.HSSFTestDataSamples;
-import org.apache.poi.ss.usermodel.*;
-import org.apache.poi.ss.util.CellRangeAddress;
-import org.apache.poi.xssf.XSSFTestDataSamples;
-import org.apache.poi.xssf.XSSFITestDataProvider;
-import org.apache.poi.xssf.model.StylesTable;
import org.apache.poi.openxml4j.opc.*;
import org.apache.poi.openxml4j.opc.internal.PackagePropertiesPart;
+import org.apache.poi.ss.usermodel.*;
import org.apache.poi.util.TempFile;
-import org.apache.poi.POIXMLProperties;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTSheet;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbook;
+import org.apache.poi.xssf.XSSFITestDataProvider;
+import org.apache.poi.xssf.XSSFTestDataSamples;
+import org.apache.poi.xssf.model.StylesTable;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTWorkbookPr;
public final class TestXSSFWorkbook extends BaseTestWorkbook {
- @Override
- protected XSSFITestDataProvider getTestDataProvider(){
- return XSSFITestDataProvider.getInstance();
- }
+ @Override
+ protected XSSFITestDataProvider getTestDataProvider(){
+ return XSSFITestDataProvider.getInstance();
+ }
/**
@@ -53,94 +48,94 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
public void testSaveLoadNew() throws Exception {
XSSFWorkbook workbook = new XSSFWorkbook();
- //check that the default date system is set to 1900
- CTWorkbookPr pr = workbook.getCTWorkbook().getWorkbookPr();
- assertNotNull(pr);
- assertTrue(pr.isSetDate1904());
- assertFalse("XSSF must use the 1900 date system", pr.getDate1904());
+ //check that the default date system is set to 1900
+ CTWorkbookPr pr = workbook.getCTWorkbook().getWorkbookPr();
+ assertNotNull(pr);
+ assertTrue(pr.isSetDate1904());
+ assertFalse("XSSF must use the 1900 date system", pr.getDate1904());
- Sheet sheet1 = workbook.createSheet("sheet1");
+ Sheet sheet1 = workbook.createSheet("sheet1");
Sheet sheet2 = workbook.createSheet("sheet2");
workbook.createSheet("sheet3");
-
+
RichTextString rts = workbook.getCreationHelper().createRichTextString("hello world");
-
+
sheet1.createRow(0).createCell((short)0).setCellValue(1.2);
sheet1.createRow(1).createCell((short)0).setCellValue(rts);
sheet2.createRow(0);
-
+
assertEquals(0, workbook.getSheetAt(0).getFirstRowNum());
assertEquals(1, workbook.getSheetAt(0).getLastRowNum());
assertEquals(0, workbook.getSheetAt(1).getFirstRowNum());
assertEquals(0, workbook.getSheetAt(1).getLastRowNum());
assertEquals(0, workbook.getSheetAt(2).getFirstRowNum());
assertEquals(0, workbook.getSheetAt(2).getLastRowNum());
-
+
File file = TempFile.createTempFile("poi-", ".xlsx");
OutputStream out = new FileOutputStream(file);
workbook.write(out);
out.close();
-
+
// Check the package contains what we'd expect it to
OPCPackage pkg = OPCPackage.open(file.toString());
- PackagePart wbRelPart =
+ PackagePart wbRelPart =
pkg.getPart(PackagingURIHelper.createPartName("/xl/_rels/workbook.xml.rels"));
assertNotNull(wbRelPart);
assertTrue(wbRelPart.isRelationshipPart());
assertEquals(ContentTypes.RELATIONSHIPS_PART, wbRelPart.getContentType());
-
- PackagePart wbPart =
+
+ PackagePart wbPart =
pkg.getPart(PackagingURIHelper.createPartName("/xl/workbook.xml"));
// Links to the three sheets, shared strings and styles
assertTrue(wbPart.hasRelationships());
assertEquals(5, wbPart.getRelationships().size());
-
+
// Load back the XSSFWorkbook
workbook = new XSSFWorkbook(pkg);
assertEquals(3, workbook.getNumberOfSheets());
assertNotNull(workbook.getSheetAt(0));
assertNotNull(workbook.getSheetAt(1));
assertNotNull(workbook.getSheetAt(2));
-
+
assertNotNull(workbook.getSharedStringSource());
assertNotNull(workbook.getStylesSource());
-
+
assertEquals(0, workbook.getSheetAt(0).getFirstRowNum());
assertEquals(1, workbook.getSheetAt(0).getLastRowNum());
assertEquals(0, workbook.getSheetAt(1).getFirstRowNum());
assertEquals(0, workbook.getSheetAt(1).getLastRowNum());
assertEquals(0, workbook.getSheetAt(2).getFirstRowNum());
assertEquals(0, workbook.getSheetAt(2).getLastRowNum());
-
+
sheet1 = workbook.getSheetAt(0);
assertEquals(1.2, sheet1.getRow(0).getCell(0).getNumericCellValue(), 0.0001);
assertEquals("hello world", sheet1.getRow(1).getCell(0).getRichStringCellValue().getString());
}
-
+
public void testExisting() throws Exception {
-
+
XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("Formatting.xlsx");
assertNotNull(workbook.getSharedStringSource());
assertNotNull(workbook.getStylesSource());
-
+
// And check a few low level bits too
OPCPackage pkg = OPCPackage.open(HSSFTestDataSamples.openSampleFileStream("Formatting.xlsx"));
- PackagePart wbPart =
+ PackagePart wbPart =
pkg.getPart(PackagingURIHelper.createPartName("/xl/workbook.xml"));
-
+
// Links to the three sheets, shared, styles and themes
assertTrue(wbPart.hasRelationships());
assertEquals(6, wbPart.getRelationships().size());
}
-
+
public void testGetCellStyleAt(){
XSSFWorkbook workbook = new XSSFWorkbook();
short i = 0;
//get default style
CellStyle cellStyleAt = workbook.getCellStyleAt(i);
assertNotNull(cellStyleAt);
-
+
//get custom style
StylesTable styleSource = workbook.getStylesSource();
XSSFCellStyle customStyle = new XSSFCellStyle(styleSource);
@@ -149,9 +144,9 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
customStyle.setFont(font);
int x = styleSource.putStyle(customStyle);
cellStyleAt = workbook.getCellStyleAt((short)x);
- assertNotNull(cellStyleAt);
+ assertNotNull(cellStyleAt);
}
-
+
public void testGetFontAt(){
XSSFWorkbook workbook = new XSSFWorkbook();
StylesTable styleSource = workbook.getStylesSource();
@@ -159,7 +154,7 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
//get default font
Font fontAt = workbook.getFontAt(i);
assertNotNull(fontAt);
-
+
//get customized font
XSSFFont customFont = new XSSFFont();
customFont.setItalic(true);
@@ -167,23 +162,23 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
fontAt = workbook.getFontAt((short)x);
assertNotNull(fontAt);
}
-
+
public void testGetNumCellStyles(){
XSSFWorkbook workbook = new XSSFWorkbook();
short i = workbook.getNumCellStyles();
//get default cellStyles
assertEquals(1, i);
//get wrong value
- assertNotSame(2, i);
+ assertNotSame(2, i);
}
-
+
public void testLoadSave() {
XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("Formatting.xlsx");
assertEquals(3, workbook.getNumberOfSheets());
assertEquals("dd/mm/yyyy", workbook.getSheetAt(0).getRow(1).getCell(0).getRichStringCellValue().getString());
assertNotNull(workbook.getSharedStringSource());
assertNotNull(workbook.getStylesSource());
-
+
// Write out, and check
// Load up again, check all still there
XSSFWorkbook wb2 = XSSFTestDataSamples.writeOutAndReadBack(workbook);
@@ -191,7 +186,7 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
assertNotNull(wb2.getSheetAt(0));
assertNotNull(wb2.getSheetAt(1));
assertNotNull(wb2.getSheetAt(2));
-
+
assertEquals("dd/mm/yyyy", wb2.getSheetAt(0).getRow(1).getCell(0).getRichStringCellValue().getString());
assertEquals("yyyy/mm/dd", wb2.getSheetAt(0).getRow(2).getCell(0).getRichStringCellValue().getString());
assertEquals("yyyy-mm-dd", wb2.getSheetAt(0).getRow(3).getCell(0).getRichStringCellValue().getString());
@@ -199,14 +194,14 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
assertNotNull(wb2.getSharedStringSource());
assertNotNull(wb2.getStylesSource());
}
-
+
public void testStyles() {
XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("Formatting.xlsx");
-
+
StylesTable ss = workbook.getStylesSource();
assertNotNull(ss);
StylesTable st = ss;
-
+
// Has 8 number formats
assertEquals(8, st._getNumberFormatSize());
// Has 2 fonts
@@ -215,20 +210,20 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
assertEquals(2, st.getFills().size());
// Has 1 border
assertEquals(1, st.getBorders().size());
-
+
// Add two more styles
- assertEquals(StylesTable.FIRST_CUSTOM_STYLE_ID + 8,
+ assertEquals(StylesTable.FIRST_CUSTOM_STYLE_ID + 8,
st.putNumberFormat("testFORMAT"));
- assertEquals(StylesTable.FIRST_CUSTOM_STYLE_ID + 8,
+ assertEquals(StylesTable.FIRST_CUSTOM_STYLE_ID + 8,
st.putNumberFormat("testFORMAT"));
- assertEquals(StylesTable.FIRST_CUSTOM_STYLE_ID + 9,
+ assertEquals(StylesTable.FIRST_CUSTOM_STYLE_ID + 9,
st.putNumberFormat("testFORMAT2"));
assertEquals(10, st._getNumberFormatSize());
-
-
+
+
// Save, load back in again, and check
workbook = XSSFTestDataSamples.writeOutAndReadBack(workbook);
-
+
ss = workbook.getStylesSource();
assertNotNull(ss);
@@ -238,77 +233,77 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
assertEquals(1, st.getBorders().size());
}
- public void testIncrementSheetId() throws Exception {
- XSSFWorkbook wb = getTestDataProvider().createWorkbook();
- int sheetId = (int)wb.createSheet().sheet.getSheetId();
- assertEquals(1, sheetId);
- sheetId = (int)wb.createSheet().sheet.getSheetId();
- assertEquals(2, sheetId);
+ public void testIncrementSheetId() {
+ XSSFWorkbook wb = getTestDataProvider().createWorkbook();
+ int sheetId = (int)wb.createSheet().sheet.getSheetId();
+ assertEquals(1, sheetId);
+ sheetId = (int)wb.createSheet().sheet.getSheetId();
+ assertEquals(2, sheetId);
- //test file with gaps in the sheetId sequence
- wb = getTestDataProvider().openSampleWorkbook("47089.xlsm");
- int lastSheetId = (int)wb.getSheetAt(wb.getNumberOfSheets() - 1).sheet.getSheetId();
- sheetId = (int)wb.createSheet().sheet.getSheetId();
- assertEquals(lastSheetId+1, sheetId);
- }
+ //test file with gaps in the sheetId sequence
+ wb = getTestDataProvider().openSampleWorkbook("47089.xlsm");
+ int lastSheetId = (int)wb.getSheetAt(wb.getNumberOfSheets() - 1).sheet.getSheetId();
+ sheetId = (int)wb.createSheet().sheet.getSheetId();
+ assertEquals(lastSheetId+1, sheetId);
+ }
- /**
- * Test setting of core properties such as Title and Author
- */
- public void testWorkbookProperties() throws Exception {
- XSSFWorkbook workbook = new XSSFWorkbook();
- POIXMLProperties props = workbook.getProperties();
- assertNotNull(props);
- //the Application property must be set for new workbooks, see Bugzilla #47559
- assertEquals("Apache POI", props.getExtendedProperties().getUnderlyingProperties().getApplication());
+ /**
+ * Test setting of core properties such as Title and Author
+ */
+ public void testWorkbookProperties() {
+ XSSFWorkbook workbook = new XSSFWorkbook();
+ POIXMLProperties props = workbook.getProperties();
+ assertNotNull(props);
+ //the Application property must be set for new workbooks, see Bugzilla #47559
+ assertEquals("Apache POI", props.getExtendedProperties().getUnderlyingProperties().getApplication());
- PackagePropertiesPart opcProps = props.getCoreProperties().getUnderlyingProperties();
- assertNotNull(opcProps);
+ PackagePropertiesPart opcProps = props.getCoreProperties().getUnderlyingProperties();
+ assertNotNull(opcProps);
- opcProps.setTitleProperty("Testing Bugzilla #47460");
- assertEquals("Apache POI", opcProps.getCreatorProperty().getValue());
- opcProps.setCreatorProperty("poi-dev@poi.apache.org");
+ opcProps.setTitleProperty("Testing Bugzilla #47460");
+ assertEquals("Apache POI", opcProps.getCreatorProperty().getValue());
+ opcProps.setCreatorProperty("poi-dev@poi.apache.org");
- workbook = XSSFTestDataSamples.writeOutAndReadBack(workbook);
- assertEquals("Apache POI", workbook.getProperties().getExtendedProperties().getUnderlyingProperties().getApplication());
- opcProps = workbook.getProperties().getCoreProperties().getUnderlyingProperties();
- assertEquals("Testing Bugzilla #47460", opcProps.getTitleProperty().getValue());
- assertEquals("poi-dev@poi.apache.org", opcProps.getCreatorProperty().getValue());
- }
+ workbook = XSSFTestDataSamples.writeOutAndReadBack(workbook);
+ assertEquals("Apache POI", workbook.getProperties().getExtendedProperties().getUnderlyingProperties().getApplication());
+ opcProps = workbook.getProperties().getCoreProperties().getUnderlyingProperties();
+ assertEquals("Testing Bugzilla #47460", opcProps.getTitleProperty().getValue());
+ assertEquals("poi-dev@poi.apache.org", opcProps.getCreatorProperty().getValue());
+ }
- /**
- * Verify that the attached test data was not modified. If this test method
- * fails, the test data is not working properly.
- */
- public void test47668() throws Exception {
- XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("47668.xlsx");
- List allPictures = workbook.getAllPictures();
- assertEquals(2, allPictures.size());
+ /**
+ * Verify that the attached test data was not modified. If this test method
+ * fails, the test data is not working properly.
+ */
+ public void test47668() throws Exception {
+ XSSFWorkbook workbook = XSSFTestDataSamples.openSampleWorkbook("47668.xlsx");
+ List allPictures = workbook.getAllPictures();
+ assertEquals(2, allPictures.size());
- PackagePartName imagePartName = PackagingURIHelper
- .createPartName("/xl/media/image1.jpeg");
- PackagePart imagePart = workbook.getPackage().getPart(imagePartName);
- assertNotNull(imagePart);
+ PackagePartName imagePartName = PackagingURIHelper
+ .createPartName("/xl/media/image1.jpeg");
+ PackagePart imagePart = workbook.getPackage().getPart(imagePartName);
+ assertNotNull(imagePart);
- for (XSSFPictureData pictureData : allPictures) {
- PackagePart picturePart = pictureData.getPackagePart();
- assertSame(imagePart, picturePart);
- }
+ for (XSSFPictureData pictureData : allPictures) {
+ PackagePart picturePart = pictureData.getPackagePart();
+ assertSame(imagePart, picturePart);
+ }
- XSSFSheet sheet0 = workbook.getSheetAt(0);
- XSSFDrawing drawing0 = sheet0.createDrawingPatriarch();
- XSSFPictureData pictureData0 = (XSSFPictureData) drawing0.getRelations().get(0);
- byte[] data0 = pictureData0.getData();
- CRC32 crc0 = new CRC32();
- crc0.update(data0);
+ XSSFSheet sheet0 = workbook.getSheetAt(0);
+ XSSFDrawing drawing0 = sheet0.createDrawingPatriarch();
+ XSSFPictureData pictureData0 = (XSSFPictureData) drawing0.getRelations().get(0);
+ byte[] data0 = pictureData0.getData();
+ CRC32 crc0 = new CRC32();
+ crc0.update(data0);
- XSSFSheet sheet1 = workbook.getSheetAt(1);
- XSSFDrawing drawing1 = sheet1.createDrawingPatriarch();
- XSSFPictureData pictureData1 = (XSSFPictureData) drawing1.getRelations().get(0);
- byte[] data1 = pictureData1.getData();
- CRC32 crc1 = new CRC32();
- crc1.update(data1);
+ XSSFSheet sheet1 = workbook.getSheetAt(1);
+ XSSFDrawing drawing1 = sheet1.createDrawingPatriarch();
+ XSSFPictureData pictureData1 = (XSSFPictureData) drawing1.getRelations().get(0);
+ byte[] data1 = pictureData1.getData();
+ CRC32 crc1 = new CRC32();
+ crc1.update(data1);
- assertEquals(crc0.getValue(), crc1.getValue());
- }
+ assertEquals(crc0.getValue(), crc1.getValue());
+ }
}
diff --git a/src/ooxml/testcases/org/apache/poi/xssf/util/TestCTColComparator.java b/src/ooxml/testcases/org/apache/poi/xssf/util/TestCTColComparator.java
index 099d268ab..64f43c4a7 100644
--- a/src/ooxml/testcases/org/apache/poi/xssf/util/TestCTColComparator.java
+++ b/src/ooxml/testcases/org/apache/poi/xssf/util/TestCTColComparator.java
@@ -22,11 +22,10 @@ import java.util.Arrays;
import junit.framework.TestCase;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCol;
-import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTCols;
-public class TestCTColComparator extends TestCase {
-
+public final class TestCTColComparator extends TestCase {
+
public void testCompare() {
CTColComparator comparator = new CTColComparator();
CTCol o1 = CTCol.Factory.newInstance();
@@ -44,7 +43,7 @@ public class TestCTColComparator extends TestCase {
o4.setMax(80);
assertEquals(-1, comparator.compare(o3, o4));
}
-
+
public void testArraysSort() {
CTColComparator comparator = new CTColComparator();
CTCol o1 = CTCol.Factory.newInstance();
@@ -73,5 +72,4 @@ public class TestCTColComparator extends TestCase {
assertEquals(8, cols[1].getMax());
assertEquals(80, cols[2].getMax());
}
-
}
diff --git a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java
index e7e90c447..f02135afa 100644
--- a/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java
+++ b/src/ooxml/testcases/org/apache/poi/xwpf/usermodel/TestXWPFParagraph.java
@@ -21,7 +21,7 @@ import java.math.BigInteger;
import junit.framework.TestCase;
-import org.openxmlformats.schemas.officeDocument.x2006.math.STSpacingRule;
+import org.apache.poi.POIXMLDocument;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBorder;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTInd;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTJc;
@@ -40,29 +40,27 @@ import org.openxmlformats.schemas.wordprocessingml.x2006.main.STTextAlignment;
/**
* Tests for XWPF Paragraphs
*/
-public class TestXWPFParagraph extends TestCase {
+public final class TestXWPFParagraph extends TestCase {
/**
* A simple file
*/
private XWPFDocument xml;
- private File file;
-/*
+
protected void setUp() throws Exception {
super.setUp();
- file = new File(
+ File file = new File(
System.getProperty("HWPF.testdata.path") +
File.separator + "ThreeColHead.docx"
);
assertTrue(file.exists());
xml = new XWPFDocument(POIXMLDocument.openPackage(file.toString()));
}
-*/
+
/**
* Check that we get the right paragraph from the header
*/
- /*
- public void testHeaderParagraph() throws Exception {
+ public void disabled_testHeaderParagraph() {
XWPFHeader hdr = xml.getHeaderFooterPolicy().getDefaultHeader();
assertNotNull(hdr);
@@ -74,12 +72,11 @@ public class TestXWPFParagraph extends TestCase {
assertEquals("First header column!\tMid header\tRight header!", p
.getText());
}
-*/
+
/**
* Check that we get the right paragraphs from the document
*/
- /*
- public void testDocumentParagraph() throws Exception {
+ public void disabled_testDocumentParagraph() {
XWPFParagraph[] ps = xml.getParagraphs();
assertEquals(10, ps.length);
@@ -100,23 +97,23 @@ public class TestXWPFParagraph extends TestCase {
assertFalse(ps[4].isEmpty());
assertEquals("More on page one", ps[4].getText());
}
-*/
+
public void testSetGetBorderTop() {
//new clean instance of paragraph
XWPFDocument doc = new XWPFDocument();
XWPFParagraph p = doc.createParagraph();
assertEquals(STBorder.NONE.intValue(), p.getBorderTop().getValue());
-
+
CTP ctp = p.getCTP();
CTPPr ppr = ctp.getPPr()== null? ctp.addNewPPr() : ctp.getPPr();
-
+
//bordi
CTPBdr bdr = ppr.addNewPBdr();
CTBorder borderTop = bdr.addNewTop();
borderTop.setVal(STBorder.DOUBLE);
bdr.setTop(borderTop);
-
+
assertEquals(Borders.DOUBLE, p.getBorderTop());
p.setBorderTop(Borders.SINGLE);
assertEquals(STBorder.SINGLE, borderTop.getVal());
@@ -128,7 +125,7 @@ public class TestXWPFParagraph extends TestCase {
XWPFParagraph p = doc.createParagraph();
assertEquals(STJc.LEFT.intValue(), p.getAlignment().getValue());
-
+
CTP ctp = p.getCTP();
CTPPr ppr = ctp.getPPr()== null? ctp.addNewPPr() : ctp.getPPr();
@@ -140,7 +137,7 @@ public class TestXWPFParagraph extends TestCase {
assertEquals(STJc.BOTH, ppr.getJc().getVal());
}
-
+
public void testSetGetSpacing() {
XWPFDocument doc = new XWPFDocument();
XWPFParagraph p = doc.createParagraph();
@@ -149,7 +146,7 @@ public class TestXWPFParagraph extends TestCase {
CTPPr ppr = ctp.getPPr()== null? ctp.addNewPPr() : ctp.getPPr();
assertEquals(-1, p.getSpacingAfter());
-
+
CTSpacing spacing = ppr.addNewSpacing();
spacing.setAfter(new BigInteger("10"));
assertEquals(10, p.getSpacingAfter());
@@ -166,7 +163,7 @@ public class TestXWPFParagraph extends TestCase {
CTPPr ppr = ctp.getPPr()== null? ctp.addNewPPr() : ctp.getPPr();
assertEquals(STLineSpacingRule.INT_AUTO, p.getSpacingLineRule().getValue());
-
+
CTSpacing spacing = ppr.addNewSpacing();
spacing.setLineRule(STLineSpacingRule.AT_LEAST);
assertEquals(LineSpacingRule.AT_LEAST, p.getSpacingLineRule());
@@ -174,18 +171,18 @@ public class TestXWPFParagraph extends TestCase {
p.setSpacingAfter(100);
assertEquals(100, spacing.getAfter().intValue());
}
-
+
public void testSetGetIndentation() {
XWPFDocument doc = new XWPFDocument();
XWPFParagraph p = doc.createParagraph();
assertEquals(-1, p.getIndentationLeft());
-
+
CTP ctp = p.getCTP();
CTPPr ppr = ctp.getPPr()== null? ctp.addNewPPr() : ctp.getPPr();
assertEquals(-1, p.getIndentationLeft());
-
+
CTInd ind = ppr.addNewInd();
ind.setLeft(new BigInteger("10"));
assertEquals(10, p.getIndentationLeft());
@@ -193,7 +190,7 @@ public class TestXWPFParagraph extends TestCase {
p.setIndentationLeft(100);
assertEquals(100, ind.getLeft().intValue());
}
-
+
public void testSetGetVerticalAlignment() {
//new clean instance of paragraph
XWPFDocument doc = new XWPFDocument();
@@ -240,6 +237,4 @@ public class TestXWPFParagraph extends TestCase {
p.setPageBreak(true);
assertEquals(STOnOff.TRUE, ppr.getPageBreakBefore().getVal());
}
-
-
}
diff --git a/src/scratchpad/src/org/apache/poi/hdf/extractor/StyleSheet.java b/src/scratchpad/src/org/apache/poi/hdf/extractor/StyleSheet.java
index 751b03666..9dc5925e9 100644
--- a/src/scratchpad/src/org/apache/poi/hdf/extractor/StyleSheet.java
+++ b/src/scratchpad/src/org/apache/poi/hdf/extractor/StyleSheet.java
@@ -17,16 +17,12 @@
package org.apache.poi.hdf.extractor;
-import java.util.*;
-
/**
* Comment me
*
* @author Ryan Ackley
*/
-
-public final class StyleSheet
-{
+public final class StyleSheet {
private static final int NIL_STYLE = 4095;
private static final int PAP_TYPE = 1;
diff --git a/src/scratchpad/src/org/apache/poi/hdf/model/HDFObjectFactory.java b/src/scratchpad/src/org/apache/poi/hdf/model/HDFObjectFactory.java
index f08bd0deb..1b61045d7 100644
--- a/src/scratchpad/src/org/apache/poi/hdf/model/HDFObjectFactory.java
+++ b/src/scratchpad/src/org/apache/poi/hdf/model/HDFObjectFactory.java
@@ -17,37 +17,25 @@
package org.apache.poi.hdf.model;
-
-//import java.io;
-
-import java.util.ArrayList;
-import java.io.InputStream;
import java.io.FileInputStream;
import java.io.IOException;
+import java.io.InputStream;
+import java.util.ArrayList;
import java.util.List;
-import java.util.TreeSet;
-
-import org.apache.poi.hdf.model.hdftypes.*;
import org.apache.poi.hdf.event.HDFLowLevelParsingListener;
-import org.apache.poi.hdf.model.util.BTreeSet;
+import org.apache.poi.hdf.model.hdftypes.*;
import org.apache.poi.hdf.model.util.ParsingState;
-
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.poi.poifs.filesystem.POIFSDocument;
import org.apache.poi.poifs.filesystem.DocumentEntry;
+import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.util.LittleEndian;
-
-
-
/**
* The Object Factory takes in a stream and creates the low level objects
* that represent the data.
* @author andy
*/
-public final class HDFObjectFactory
-{
+public final class HDFObjectFactory {
/** OLE stuff*/
private POIFSFileSystem _filesystem;
@@ -193,36 +181,26 @@ public final class HDFObjectFactory
{
throw new IOException("The text piece table is corrupted");
}
- else
- {
- //parse out the text pieces
- int pieceTableSize = LittleEndian.getInt(_tableBuffer, ++pos);
- pos += 4;
- int pieces = (pieceTableSize - 4) / 12;
- for (int x = 0; x < pieces; x++)
- {
- int filePos = LittleEndian.getInt(_tableBuffer, pos + ((pieces + 1) * 4) + (x * 8) + 2);
- boolean unicode = false;
- if ((filePos & 0x40000000) == 0)
- {
- unicode = true;
- }
- else
- {
- unicode = false;
- filePos &= ~(0x40000000);//gives me FC in doc stream
- filePos /= 2;
- }
- int totLength = LittleEndian.getInt(_tableBuffer, pos + (x + 1) * 4) -
- LittleEndian.getInt(_tableBuffer, pos + (x * 4));
-
- TextPiece piece = new TextPiece(filePos, totLength, unicode);
- _listener.text(piece);
-
+ //parse out the text pieces
+ int pieceTableSize = LittleEndian.getInt(_tableBuffer, ++pos);
+ pos += 4;
+ int pieces = (pieceTableSize - 4) / 12;
+ for (int x = 0; x < pieces; x++) {
+ int filePos = LittleEndian.getInt(_tableBuffer, pos + ((pieces + 1) * 4) + (x * 8) + 2);
+ boolean unicode = false;
+ if ((filePos & 0x40000000) == 0) {
+ unicode = true;
+ } else {
+ unicode = false;
+ filePos &= ~(0x40000000);//gives me FC in doc stream
+ filePos /= 2;
}
+ int totLength = LittleEndian.getInt(_tableBuffer, pos + (x + 1) * 4) -
+ LittleEndian.getInt(_tableBuffer, pos + (x * 4));
+ TextPiece piece = new TextPiece(filePos, totLength, unicode);
+ _listener.text(piece);
}
-
}
/**
* initializes all of the formatting properties for a Word Document
@@ -532,10 +510,7 @@ public final class HDFObjectFactory
{
break;
}
- else
- {
- x++;
- }
+ x++;
}
//do the header sections
for (; x < arraySize; x++)// && sectionEnd <= end; x++)
diff --git a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/FileInformationBlock.java b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/FileInformationBlock.java
index 23409b547..bd3bfb326 100644
--- a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/FileInformationBlock.java
+++ b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/FileInformationBlock.java
@@ -17,9 +17,6 @@
package org.apache.poi.hdf.model.hdftypes;
-import org.apache.poi.util.BitField;
-import org.apache.poi.util.LittleEndian;
-
import org.apache.poi.hdf.model.hdftypes.definitions.FIBAbstractType;
diff --git a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/StyleSheet.java b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/StyleSheet.java
index 99607f837..1bee95245 100644
--- a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/StyleSheet.java
+++ b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/StyleSheet.java
@@ -17,7 +17,6 @@
package org.apache.poi.hdf.model.hdftypes;
-import java.util.*;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.hdf.model.hdftypes.definitions.TCAbstractType;
@@ -29,9 +28,7 @@ import org.apache.poi.hdf.model.hdftypes.definitions.TCAbstractType;
*
* @author Ryan Ackley
*/
-
-public final class StyleSheet implements HDFType
-{
+public final class StyleSheet implements HDFType {
private static final int NIL_STYLE = 4095;
private static final int PAP_TYPE = 1;
diff --git a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/CHPAbstractType.java b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/CHPAbstractType.java
index d49c46f85..12d5fd2ce 100644
--- a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/CHPAbstractType.java
+++ b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/CHPAbstractType.java
@@ -18,12 +18,8 @@
package org.apache.poi.hdf.model.hdftypes.definitions;
-
import org.apache.poi.util.BitField;
import org.apache.poi.util.BitFieldFactory;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
-import org.apache.poi.util.HexDump;
import org.apache.poi.hdf.model.hdftypes.HDFType;
/**
diff --git a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/DOPAbstractType.java b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/DOPAbstractType.java
index 0853175e4..289300029 100644
--- a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/DOPAbstractType.java
+++ b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/DOPAbstractType.java
@@ -22,7 +22,6 @@ package org.apache.poi.hdf.model.hdftypes.definitions;
import org.apache.poi.util.BitField;
import org.apache.poi.util.BitFieldFactory;
import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
import org.apache.poi.util.HexDump;
import org.apache.poi.hdf.model.hdftypes.HDFType;
diff --git a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/FIBAbstractType.java b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/FIBAbstractType.java
index 6a0f92025..f60221eee 100644
--- a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/FIBAbstractType.java
+++ b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/FIBAbstractType.java
@@ -18,11 +18,9 @@
package org.apache.poi.hdf.model.hdftypes.definitions;
-
import org.apache.poi.util.BitField;
import org.apache.poi.util.BitFieldFactory;
import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
import org.apache.poi.util.HexDump;
import org.apache.poi.hdf.model.hdftypes.HDFType;
diff --git a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/PAPAbstractType.java b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/PAPAbstractType.java
index f0bb7b856..0d825e49f 100644
--- a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/PAPAbstractType.java
+++ b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/PAPAbstractType.java
@@ -18,12 +18,8 @@
package org.apache.poi.hdf.model.hdftypes.definitions;
-
import org.apache.poi.util.BitField;
import org.apache.poi.util.BitFieldFactory;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
-import org.apache.poi.util.HexDump;
import org.apache.poi.hdf.model.hdftypes.HDFType;
/**
diff --git a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/SEPAbstractType.java b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/SEPAbstractType.java
index 3de980e7d..e790f8d3b 100644
--- a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/SEPAbstractType.java
+++ b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/SEPAbstractType.java
@@ -18,11 +18,6 @@
package org.apache.poi.hdf.model.hdftypes.definitions;
-
-import org.apache.poi.util.BitField;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
-import org.apache.poi.util.HexDump;
import org.apache.poi.hdf.model.hdftypes.HDFType;
/**
diff --git a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/TAPAbstractType.java b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/TAPAbstractType.java
index d7d189627..512dd3761 100644
--- a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/TAPAbstractType.java
+++ b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/TAPAbstractType.java
@@ -17,12 +17,6 @@
package org.apache.poi.hdf.model.hdftypes.definitions;
-
-
-import org.apache.poi.util.BitField;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
-import org.apache.poi.util.HexDump;
import org.apache.poi.hdf.model.hdftypes.HDFType;
/**
diff --git a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/TCAbstractType.java b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/TCAbstractType.java
index 014958afc..a365d65e5 100644
--- a/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/TCAbstractType.java
+++ b/src/scratchpad/src/org/apache/poi/hdf/model/hdftypes/definitions/TCAbstractType.java
@@ -17,13 +17,8 @@
package org.apache.poi.hdf.model.hdftypes.definitions;
-
-
import org.apache.poi.util.BitField;
import org.apache.poi.util.BitFieldFactory;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
-import org.apache.poi.util.HexDump;
import org.apache.poi.hdf.model.hdftypes.HDFType;
/**
diff --git a/src/scratchpad/src/org/apache/poi/hslf/EncryptedSlideShow.java b/src/scratchpad/src/org/apache/poi/hslf/EncryptedSlideShow.java
index 05d85fe6e..c5e01646a 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/EncryptedSlideShow.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/EncryptedSlideShow.java
@@ -26,9 +26,6 @@ import org.apache.poi.hslf.record.PersistPtrHolder;
import org.apache.poi.hslf.record.Record;
import org.apache.poi.hslf.record.UserEditAtom;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.poi.poifs.filesystem.DocumentEntry;
-import org.apache.poi.poifs.filesystem.DocumentInputStream;
-import org.apache.poi.util.LittleEndian;
/**
* This class provides helper functions for determining if a
@@ -95,7 +92,9 @@ public final class EncryptedSlideShow
hss.getUnderlyingBytes(),
(int)cua.getCurrentEditOffset()
);
- } catch(ArrayIndexOutOfBoundsException e) {}
+ } catch (ArrayIndexOutOfBoundsException e) {
+ return null;
+ }
if(r == null) { return null; }
if(! (r instanceof UserEditAtom)) { return null; }
UserEditAtom uea = (UserEditAtom)r;
diff --git a/src/scratchpad/src/org/apache/poi/hslf/blip/EMF.java b/src/scratchpad/src/org/apache/poi/hslf/blip/EMF.java
index 1f1b13370..182e96a44 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/blip/EMF.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/blip/EMF.java
@@ -26,7 +26,6 @@ import java.io.InputStream;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.util.zip.InflaterInputStream;
-import java.util.zip.DeflaterOutputStream;
/**
* Represents EMF (Windows Enhanced Metafile) picture data.
diff --git a/src/scratchpad/src/org/apache/poi/hslf/blip/Metafile.java b/src/scratchpad/src/org/apache/poi/hslf/blip/Metafile.java
index 8a4d5aeb8..c05d19acb 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/blip/Metafile.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/blip/Metafile.java
@@ -23,7 +23,6 @@ import org.apache.poi.hslf.usermodel.PictureData;
import java.awt.*;
import java.io.*;
import java.util.zip.DeflaterOutputStream;
-import java.util.zip.InflaterInputStream;
/**
* Represents a metafile picture which can be one of the following types: EMF, WMF, or PICT.
diff --git a/src/scratchpad/src/org/apache/poi/hslf/blip/PICT.java b/src/scratchpad/src/org/apache/poi/hslf/blip/PICT.java
index 5fe6bccec..0796db855 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/blip/PICT.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/blip/PICT.java
@@ -17,14 +17,14 @@
package org.apache.poi.hslf.blip;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.IOException;
+import java.util.zip.InflaterInputStream;
+
+import org.apache.poi.hslf.exceptions.HSLFException;
import org.apache.poi.hslf.model.Picture;
import org.apache.poi.hslf.model.Shape;
-import org.apache.poi.hslf.exceptions.HSLFException;
-import org.apache.poi.util.LittleEndian;
-
-import java.io.*;
-import java.util.zip.InflaterInputStream;
-import java.util.zip.DeflaterOutputStream;
/**
* Represents Macintosh PICT picture data.
diff --git a/src/scratchpad/src/org/apache/poi/hslf/blip/WMF.java b/src/scratchpad/src/org/apache/poi/hslf/blip/WMF.java
index acc74276a..4400c9559 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/blip/WMF.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/blip/WMF.java
@@ -25,7 +25,6 @@ import org.apache.poi.hslf.exceptions.HSLFException;
import java.io.*;
import java.util.zip.InflaterInputStream;
-import java.util.zip.DeflaterOutputStream;
/**
* Represents a WMF (Windows Metafile) picture data.
diff --git a/src/scratchpad/src/org/apache/poi/hslf/dev/SlideShowDumper.java b/src/scratchpad/src/org/apache/poi/hslf/dev/SlideShowDumper.java
index 300016327..d9c1a2ae9 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/dev/SlideShowDumper.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/dev/SlideShowDumper.java
@@ -17,11 +17,9 @@
package org.apache.poi.hslf.dev;
-import java.util.*;
import java.io.*;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.poi.poifs.filesystem.POIFSDocument;
import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.ddf.*;
diff --git a/src/scratchpad/src/org/apache/poi/hslf/dev/SlideShowRecordDumper.java b/src/scratchpad/src/org/apache/poi/hslf/dev/SlideShowRecordDumper.java
index 87662aded..f2e7b36dc 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/dev/SlideShowRecordDumper.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/dev/SlideShowRecordDumper.java
@@ -33,7 +33,6 @@ import org.apache.poi.hslf.record.EscherTextboxWrapper;
import org.apache.poi.hslf.record.TextCharsAtom;
import org.apache.poi.hslf.record.TextBytesAtom;
import org.apache.poi.hslf.record.StyleTextPropAtom;
-import org.apache.poi.hslf.record.Record;
/**
* This class provides a way to view the contents of a powerpoint file.
diff --git a/src/scratchpad/src/org/apache/poi/hslf/dev/TextStyleListing.java b/src/scratchpad/src/org/apache/poi/hslf/dev/TextStyleListing.java
index 0ee4fbd0d..a919f61cd 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/dev/TextStyleListing.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/dev/TextStyleListing.java
@@ -22,7 +22,6 @@ import org.apache.poi.hslf.model.textproperties.BitMaskTextProp;
import org.apache.poi.hslf.model.textproperties.TextProp;
import org.apache.poi.hslf.model.textproperties.TextPropCollection;
import org.apache.poi.hslf.record.*;
-import org.apache.poi.hslf.record.StyleTextPropAtom.*;
import java.util.LinkedList;
diff --git a/src/scratchpad/src/org/apache/poi/hslf/dev/UserEditAndPersistListing.java b/src/scratchpad/src/org/apache/poi/hslf/dev/UserEditAndPersistListing.java
index 73fd29604..2d93a0678 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/dev/UserEditAndPersistListing.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/dev/UserEditAndPersistListing.java
@@ -17,18 +17,13 @@
package org.apache.poi.hslf.dev;
-import org.apache.poi.hslf.*;
-import org.apache.poi.hslf.record.*;
-
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.poi.poifs.filesystem.POIFSDocument;
-import org.apache.poi.poifs.filesystem.DocumentEntry;
-import org.apache.poi.poifs.filesystem.DocumentInputStream;
-import org.apache.poi.util.LittleEndian;
-
-import java.io.*;
+import java.io.ByteArrayOutputStream;
import java.util.Hashtable;
+import org.apache.poi.hslf.HSLFSlideShow;
+import org.apache.poi.hslf.record.*;
+import org.apache.poi.util.LittleEndian;
+
/**
* Uses record level code to locate UserEditAtom records, and other
* persistence related atoms. Tries to match them together, to help
diff --git a/src/scratchpad/src/org/apache/poi/hslf/extractor/QuickButCruddyTextExtractor.java b/src/scratchpad/src/org/apache/poi/hslf/extractor/QuickButCruddyTextExtractor.java
index 9dfa6ce9d..b2182edcd 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/extractor/QuickButCruddyTextExtractor.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/extractor/QuickButCruddyTextExtractor.java
@@ -21,9 +21,7 @@ import java.io.*;
import java.util.Vector;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
-import org.apache.poi.poifs.filesystem.POIFSDocument;
import org.apache.poi.poifs.filesystem.DocumentEntry;
-import org.apache.poi.poifs.filesystem.DocumentInputStream;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.hslf.record.CString;
diff --git a/src/scratchpad/src/org/apache/poi/hslf/model/Freeform.java b/src/scratchpad/src/org/apache/poi/hslf/model/Freeform.java
index 545ffdffe..302415068 100755
--- a/src/scratchpad/src/org/apache/poi/hslf/model/Freeform.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/model/Freeform.java
@@ -20,7 +20,6 @@ package org.apache.poi.hslf.model;
import org.apache.poi.ddf.*;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.POILogger;
-import org.apache.poi.util.HexDump;
import java.awt.geom.*;
import java.util.ArrayList;
diff --git a/src/scratchpad/src/org/apache/poi/hslf/model/MasterSheet.java b/src/scratchpad/src/org/apache/poi/hslf/model/MasterSheet.java
index f3968448c..c3cfaba90 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/model/MasterSheet.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/model/MasterSheet.java
@@ -18,9 +18,6 @@
package org.apache.poi.hslf.model;
import org.apache.poi.hslf.record.SheetContainer;
-import org.apache.poi.hslf.record.Record;
-import org.apache.poi.hslf.record.RecordTypes;
-import org.apache.poi.hslf.record.OEPlaceholderAtom;
import org.apache.poi.hslf.model.textproperties.TextProp;
/**
@@ -55,5 +52,4 @@ public abstract class MasterSheet extends Sheet {
TextShape tx = (TextShape)shape;
return tx.getPlaceholderAtom() != null;
}
-
}
diff --git a/src/scratchpad/src/org/apache/poi/hslf/model/Picture.java b/src/scratchpad/src/org/apache/poi/hslf/model/Picture.java
index 72fcbd6af..408dfc47e 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/model/Picture.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/model/Picture.java
@@ -28,13 +28,11 @@ import org.apache.poi.util.POILogger;
import javax.imageio.ImageIO;
import java.awt.image.BufferedImage;
import java.awt.*;
-import java.awt.geom.Rectangle2D;
import java.awt.geom.AffineTransform;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.List;
-import java.util.Arrays;
/**
diff --git a/src/scratchpad/src/org/apache/poi/hslf/model/Placeholder.java b/src/scratchpad/src/org/apache/poi/hslf/model/Placeholder.java
index 71716fe4b..945d3195c 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/model/Placeholder.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/model/Placeholder.java
@@ -21,7 +21,6 @@ import org.apache.poi.ddf.*;
import org.apache.poi.hslf.record.OEPlaceholderAtom;
import org.apache.poi.hslf.exceptions.HSLFException;
-import java.util.List;
import java.io.ByteArrayOutputStream;
/**
diff --git a/src/scratchpad/src/org/apache/poi/hslf/model/Shape.java b/src/scratchpad/src/org/apache/poi/hslf/model/Shape.java
index 3971d5216..49cc01f64 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/model/Shape.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/model/Shape.java
@@ -19,7 +19,6 @@ package org.apache.poi.hslf.model;
import org.apache.poi.ddf.*;
import org.apache.poi.hslf.record.ColorSchemeAtom;
-import org.apache.poi.hslf.record.PPDrawing;
import org.apache.poi.util.POILogger;
import org.apache.poi.util.POILogFactory;
diff --git a/src/scratchpad/src/org/apache/poi/hslf/model/Sheet.java b/src/scratchpad/src/org/apache/poi/hslf/model/Sheet.java
index 6ce6368e5..f42eb8429 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/model/Sheet.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/model/Sheet.java
@@ -20,7 +20,6 @@ package org.apache.poi.hslf.model;
import org.apache.poi.ddf.*;
import org.apache.poi.hslf.record.*;
import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.util.POILogger;
import java.util.ArrayList;
import java.util.Iterator;
diff --git a/src/scratchpad/src/org/apache/poi/hslf/model/TableCell.java b/src/scratchpad/src/org/apache/poi/hslf/model/TableCell.java
index d8198283b..d03fc1db1 100755
--- a/src/scratchpad/src/org/apache/poi/hslf/model/TableCell.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/model/TableCell.java
@@ -18,7 +18,6 @@
package org.apache.poi.hslf.model;
import org.apache.poi.ddf.*;
-import org.apache.poi.hslf.record.TextHeaderAtom;
import java.awt.*;
diff --git a/src/scratchpad/src/org/apache/poi/hslf/model/TextPainter.java b/src/scratchpad/src/org/apache/poi/hslf/model/TextPainter.java
index f297ff026..6ae232392 100755
--- a/src/scratchpad/src/org/apache/poi/hslf/model/TextPainter.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/model/TextPainter.java
@@ -17,22 +17,24 @@
package org.apache.poi.hslf.model;
-import org.apache.poi.hslf.usermodel.RichTextRun;
-import org.apache.poi.hslf.record.TextRulerAtom;
-import org.apache.poi.util.POILogger;
-import org.apache.poi.util.POILogFactory;
-
-import java.text.AttributedString;
-import java.text.AttributedCharacterIterator;
-import java.text.BreakIterator;
-import java.awt.font.TextAttribute;
-import java.awt.font.LineBreakMeasurer;
-import java.awt.font.TextLayout;
+import java.awt.Color;
+import java.awt.Font;
+import java.awt.Graphics2D;
import java.awt.font.FontRenderContext;
-import java.awt.*;
-import java.awt.geom.Rectangle2D;
+import java.awt.font.LineBreakMeasurer;
+import java.awt.font.TextAttribute;
+import java.awt.font.TextLayout;
import java.awt.geom.Point2D;
+import java.awt.geom.Rectangle2D;
+import java.text.AttributedCharacterIterator;
+import java.text.AttributedString;
import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.poi.hslf.record.TextRulerAtom;
+import org.apache.poi.hslf.usermodel.RichTextRun;
+import org.apache.poi.util.POILogFactory;
+import org.apache.poi.util.POILogger;
/**
* Paint text into java.awt.Graphics2D
@@ -162,7 +164,7 @@ public final class TextPainter {
int paragraphStart = it.getBeginIndex();
int paragraphEnd = it.getEndIndex();
- ArrayList lines = new ArrayList();
+ List lines = new ArrayList();
LineBreakMeasurer measurer = new LineBreakMeasurer(it, frc);
measurer.setPosition(paragraphStart);
while (measurer.getPosition() < paragraphEnd) {
@@ -296,7 +298,7 @@ public final class TextPainter {
//finally draw the text fragments
TextElement[] elems = new TextElement[lines.size()];
- return (TextElement[])lines.toArray(elems);
+ return lines.toArray(elems);
}
public static class TextElement {
diff --git a/src/scratchpad/src/org/apache/poi/hslf/model/TextRun.java b/src/scratchpad/src/org/apache/poi/hslf/model/TextRun.java
index 6260c62ca..aa24b6c3d 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/model/TextRun.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/model/TextRun.java
@@ -19,7 +19,6 @@ package org.apache.poi.hslf.model;
import java.util.LinkedList;
import java.util.Vector;
-import java.util.List;
import org.apache.poi.hslf.model.textproperties.TextPropCollection;
import org.apache.poi.hslf.record.*;
diff --git a/src/scratchpad/src/org/apache/poi/hslf/model/TextShape.java b/src/scratchpad/src/org/apache/poi/hslf/model/TextShape.java
index a4d823be5..5724e270f 100755
--- a/src/scratchpad/src/org/apache/poi/hslf/model/TextShape.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/model/TextShape.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -30,7 +29,6 @@ import java.awt.geom.AffineTransform;
import java.awt.font.FontRenderContext;
import java.awt.font.TextLayout;
import java.io.IOException;
-import java.util.Iterator;
/**
* A common superclass of all shapes that can hold text.
@@ -88,7 +86,7 @@ public abstract class TextShape extends SimpleShape {
/**
* Create a TextBox object and initialize it from the supplied Record container.
- *
+ *
* @param escherRecord EscherSpContainer
container which holds information about this shape
* @param parent the parent of the shape
*/
@@ -230,23 +228,23 @@ public abstract class TextShape extends SimpleShape {
String fntname = rt.getFontName();
Font font = new Font(fntname, style, size);
- float width = 0, height = 0, leading = 0;
- String[] lines = txt.split("\n");
+ float width = 0, height = 0, leading = 0;
+ String[] lines = txt.split("\n");
for (int i = 0; i < lines.length; i++) {
if(lines[i].length() == 0) continue;
-
+
TextLayout layout = new TextLayout(lines[i], font, _frc);
-
- leading = Math.max(leading, layout.getLeading());
+
+ leading = Math.max(leading, layout.getLeading());
width = Math.max(width, layout.getAdvance());
height = Math.max(height, (height + (layout.getDescent() + layout.getAscent())));
- }
-
+ }
+
// add one character to width
- Rectangle2D charBounds = font.getMaxCharBounds(_frc);
+ Rectangle2D charBounds = font.getMaxCharBounds(_frc);
width += getMarginLeft() + getMarginRight() + charBounds.getWidth();
-
- // add leading to height
+
+ // add leading to height
height += getMarginTop() + getMarginBottom() + leading;
Rectangle2D anchor = getAnchor2D();
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/AnimationInfoAtom.java b/src/scratchpad/src/org/apache/poi/hslf/record/AnimationInfoAtom.java
index 731a3b51c..a2ed09c79 100755
--- a/src/scratchpad/src/org/apache/poi/hslf/record/AnimationInfoAtom.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/AnimationInfoAtom.java
@@ -19,9 +19,7 @@ package org.apache.poi.hslf.record;
import java.io.IOException;
import java.io.OutputStream;
-import java.util.Date;
-import org.apache.poi.hslf.util.SystemTimeUtils;
import org.apache.poi.util.LittleEndian;
/**
@@ -29,8 +27,7 @@ import org.apache.poi.util.LittleEndian;
*
* @author Yegor Kozlov
*/
-public final class AnimationInfoAtom extends RecordAtom
-{
+public final class AnimationInfoAtom extends RecordAtom {
/**
* whether the animation plays in the reverse direction
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/DocumentEncryptionAtom.java b/src/scratchpad/src/org/apache/poi/hslf/record/DocumentEncryptionAtom.java
index bf7860454..c473feace 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/record/DocumentEncryptionAtom.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/DocumentEncryptionAtom.java
@@ -17,7 +17,6 @@
package org.apache.poi.hslf.record;
-import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.StringUtil;
import java.io.IOException;
@@ -29,9 +28,7 @@ import java.io.OutputStream;
*
* @author Nick Burch
*/
-
-public final class DocumentEncryptionAtom extends RecordAtom
-{
+public final class DocumentEncryptionAtom extends RecordAtom {
private byte[] _header;
private static long _type = 12052l;
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/ExAviMovie.java b/src/scratchpad/src/org/apache/poi/hslf/record/ExAviMovie.java
index 5d09e53a1..62a5c4bbe 100755
--- a/src/scratchpad/src/org/apache/poi/hslf/record/ExAviMovie.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/ExAviMovie.java
@@ -17,11 +17,6 @@
package org.apache.poi.hslf.record;
-import java.io.IOException;
-import java.io.OutputStream;
-
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogger;
/**
* A container record that specifies information about a movie stored externally.
@@ -50,5 +45,4 @@ public final class ExAviMovie extends ExMCIMovie {
public long getRecordType() {
return RecordTypes.ExAviMovie.typeID;
}
-
}
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/ExControl.java b/src/scratchpad/src/org/apache/poi/hslf/record/ExControl.java
index 7df5a903d..2b0d1e2c3 100755
--- a/src/scratchpad/src/org/apache/poi/hslf/record/ExControl.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/ExControl.java
@@ -17,11 +17,6 @@
package org.apache.poi.hslf.record;
-import java.io.OutputStream;
-import java.io.IOException;
-
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.POILogger;
/**
* A container record that specifies information about an ActiveX control. It contains:
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/ExHyperlinkAtom.java b/src/scratchpad/src/org/apache/poi/hslf/record/ExHyperlinkAtom.java
index 14c37076b..99deafdbf 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/record/ExHyperlinkAtom.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/ExHyperlinkAtom.java
@@ -14,15 +14,12 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.hslf.record;
import java.io.IOException;
import java.io.OutputStream;
-import java.util.Date;
-import org.apache.poi.hslf.util.SystemTimeUtils;
import org.apache.poi.util.LittleEndian;
/**
@@ -31,9 +28,7 @@ import org.apache.poi.util.LittleEndian;
*
* @author Nick Burch
*/
-
-public class ExHyperlinkAtom extends RecordAtom
-{
+public final class ExHyperlinkAtom extends RecordAtom {
/**
* Record header.
*/
@@ -53,7 +48,7 @@ public class ExHyperlinkAtom extends RecordAtom
LittleEndian.putShort(_header, 2, (short)getRecordType());
LittleEndian.putInt(_header, 4, _data.length);
-
+
// It is fine for the other values to be zero
}
@@ -69,11 +64,11 @@ public class ExHyperlinkAtom extends RecordAtom
// Get the header.
_header = new byte[8];
System.arraycopy(source,start,_header,0,8);
-
+
// Get the record data.
_data = new byte[len-8];
System.arraycopy(source,start+8,_data,0,len-8);
-
+
// Must be at least 4 bytes long
if(_data.length < 4) {
throw new IllegalArgumentException("The length of the data for a ExHyperlinkAtom must be at least 4 bytes, but was only " + _data.length);
@@ -96,7 +91,7 @@ public class ExHyperlinkAtom extends RecordAtom
public void setNumber(int number) {
LittleEndian.putInt(_data,0,number);
}
-
+
/**
* Gets the record type.
* @return the record type.
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/ExMediaAtom.java b/src/scratchpad/src/org/apache/poi/hslf/record/ExMediaAtom.java
index ee38bece7..058f27ea5 100755
--- a/src/scratchpad/src/org/apache/poi/hslf/record/ExMediaAtom.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/ExMediaAtom.java
@@ -19,9 +19,7 @@ package org.apache.poi.hslf.record;
import java.io.IOException;
import java.io.OutputStream;
-import java.util.Date;
-import org.apache.poi.hslf.util.SystemTimeUtils;
import org.apache.poi.util.LittleEndian;
/**
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/FontEntityAtom.java b/src/scratchpad/src/org/apache/poi/hslf/record/FontEntityAtom.java
index 54284e028..40ddc569b 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/record/FontEntityAtom.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/FontEntityAtom.java
@@ -18,7 +18,6 @@
package org.apache.poi.hslf.record;
import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
import java.io.IOException;
import java.io.OutputStream;
import java.io.UnsupportedEncodingException;
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/InteractiveInfoAtom.java b/src/scratchpad/src/org/apache/poi/hslf/record/InteractiveInfoAtom.java
index 0ee8cd883..6dd8fccf6 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/record/InteractiveInfoAtom.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/InteractiveInfoAtom.java
@@ -14,15 +14,12 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.hslf.record;
import java.io.IOException;
import java.io.OutputStream;
-import java.util.Date;
-import org.apache.poi.hslf.util.SystemTimeUtils;
import org.apache.poi.util.LittleEndian;
/**
@@ -32,9 +29,7 @@ import org.apache.poi.util.LittleEndian;
* @author Nick Burch
* @author Yegor Kozlov
*/
-
-public class InteractiveInfoAtom extends RecordAtom
-{
+public class InteractiveInfoAtom extends RecordAtom {
/**
* Action Table
@@ -92,7 +87,7 @@ public class InteractiveInfoAtom extends RecordAtom
LittleEndian.putShort(_header, 2, (short)getRecordType());
LittleEndian.putInt(_header, 4, _data.length);
-
+
// It is fine for the other values to be zero
}
@@ -108,16 +103,16 @@ public class InteractiveInfoAtom extends RecordAtom
// Get the header.
_header = new byte[8];
System.arraycopy(source,start,_header,0,8);
-
+
// Get the record data.
_data = new byte[len-8];
System.arraycopy(source,start+8,_data,0,len-8);
-
+
// Must be at least 16 bytes long
if(_data.length < 16) {
throw new IllegalArgumentException("The length of the data for a InteractiveInfoAtom must be at least 16 bytes, but was only " + _data.length);
}
-
+
// First 4 bytes - no idea, normally 0
// Second 4 bytes - the id of the link (from 1 onwards)
// Third 4 bytes - no idea, normally 4
@@ -141,7 +136,7 @@ public class InteractiveInfoAtom extends RecordAtom
public void setHyperlinkID(int number) {
LittleEndian.putInt(_data,4,number);
}
-
+
/**
* a reference to a sound in the sound collection.
*/
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/MainMaster.java b/src/scratchpad/src/org/apache/poi/hslf/record/MainMaster.java
index 0c1f02b38..4424e2db7 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/record/MainMaster.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/MainMaster.java
@@ -21,25 +21,21 @@ import java.io.IOException;
import java.io.OutputStream;
import java.util.ArrayList;
-import org.apache.poi.util.LittleEndian;
-
/**
* Master slide
*
* @author Yegor Kozlov
*/
-
-public final class MainMaster extends SheetContainer
-{
+public final class MainMaster extends SheetContainer {
private byte[] _header;
private static long _type = 1016;
// Links to our more interesting children
private SlideAtom slideAtom;
private PPDrawing ppDrawing;
- private TxMasterStyleAtom[] txmasters;
- private ColorSchemeAtom[] clrscheme;
- private ColorSchemeAtom _colorScheme;
+ private TxMasterStyleAtom[] txmasters;
+ private ColorSchemeAtom[] clrscheme;
+ private ColorSchemeAtom _colorScheme;
/**
* Returns the SlideAtom of this Slide
@@ -52,9 +48,9 @@ public final class MainMaster extends SheetContainer
*/
public PPDrawing getPPDrawing() { return ppDrawing; }
- public TxMasterStyleAtom[] getTxMasterStyleAtoms() { return txmasters; }
+ public TxMasterStyleAtom[] getTxMasterStyleAtoms() { return txmasters; }
- public ColorSchemeAtom[] getColorSchemeAtoms() { return clrscheme; }
+ public ColorSchemeAtom[] getColorSchemeAtoms() { return clrscheme; }
/**
* Set things up, and find our more interesting children
@@ -67,27 +63,27 @@ public final class MainMaster extends SheetContainer
// Find our children
_children = Record.findChildRecords(source,start+8,len-8);
- ArrayList tx = new ArrayList();
- ArrayList clr = new ArrayList();
+ ArrayList tx = new ArrayList();
+ ArrayList clr = new ArrayList();
// Find the interesting ones in there
for(int i=0; i<_children.length; i++) {
if(_children[i] instanceof SlideAtom) {
slideAtom = (SlideAtom)_children[i];
} else if(_children[i] instanceof PPDrawing) {
ppDrawing = (PPDrawing)_children[i];
- } else if(_children[i] instanceof TxMasterStyleAtom) {
- tx.add(_children[i]);
- } else if(_children[i] instanceof ColorSchemeAtom) {
- clr.add(_children[i]);
+ } else if(_children[i] instanceof TxMasterStyleAtom) {
+ tx.add(_children[i]);
+ } else if(_children[i] instanceof ColorSchemeAtom) {
+ clr.add(_children[i]);
}
- if(ppDrawing != null && _children[i] instanceof ColorSchemeAtom) {
- _colorScheme = (ColorSchemeAtom)_children[i];
- }
+ if(ppDrawing != null && _children[i] instanceof ColorSchemeAtom) {
+ _colorScheme = (ColorSchemeAtom)_children[i];
+ }
}
- txmasters = (TxMasterStyleAtom[])tx.toArray(new TxMasterStyleAtom[tx.size()]);
- clrscheme = (ColorSchemeAtom[])clr.toArray(new ColorSchemeAtom[clr.size()]);
+ txmasters = (TxMasterStyleAtom[])tx.toArray(new TxMasterStyleAtom[tx.size()]);
+ clrscheme = (ColorSchemeAtom[])clr.toArray(new ColorSchemeAtom[clr.size()]);
}
/**
@@ -103,8 +99,7 @@ public final class MainMaster extends SheetContainer
writeOut(_header[0],_header[1],_type,_children,out);
}
- public ColorSchemeAtom getColorScheme(){
- return _colorScheme;
- }
-
+ public ColorSchemeAtom getColorScheme(){
+ return _colorScheme;
+ }
}
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/OEShapeAtom.java b/src/scratchpad/src/org/apache/poi/hslf/record/OEShapeAtom.java
index f0975a152..00b873f6d 100755
--- a/src/scratchpad/src/org/apache/poi/hslf/record/OEShapeAtom.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/OEShapeAtom.java
@@ -19,9 +19,7 @@ package org.apache.poi.hslf.record;
import java.io.IOException;
import java.io.OutputStream;
-import java.util.Date;
-import org.apache.poi.hslf.util.SystemTimeUtils;
import org.apache.poi.util.LittleEndian;
/**
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/PPDrawing.java b/src/scratchpad/src/org/apache/poi/hslf/record/PPDrawing.java
index 519154c5b..b77be59c2 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/record/PPDrawing.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/PPDrawing.java
@@ -22,7 +22,6 @@ import org.apache.poi.util.POILogger;
import org.apache.poi.ddf.*;
import org.apache.poi.hslf.model.ShapeTypes;
-import org.apache.poi.hslf.model.Shape;
import java.io.IOException;
import java.io.OutputStream;
@@ -44,16 +43,15 @@ import java.util.Iterator;
// For now, pretending to be an atom. Might not always be, but that
// would require a wrapping class
-public final class PPDrawing extends RecordAtom
-{
+public final class PPDrawing extends RecordAtom {
private byte[] _header;
private long _type;
private EscherRecord[] childRecords;
private EscherTextboxWrapper[] textboxWrappers;
- //cached EscherDgRecord
- private EscherDgRecord dg;
+ //cached EscherDgRecord
+ private EscherDgRecord dg;
/**
* Get access to the underlying Escher Records
@@ -110,7 +108,7 @@ public final class PPDrawing extends RecordAtom
public PPDrawing(){
_header = new byte[8];
LittleEndian.putUShort(_header, 0, 15);
- LittleEndian.putUShort(_header, 2, (int)RecordTypes.PPDrawing.typeID);
+ LittleEndian.putUShort(_header, 2, RecordTypes.PPDrawing.typeID);
LittleEndian.putInt(_header, 4, 0);
textboxWrappers = new EscherTextboxWrapper[]{};
@@ -122,7 +120,7 @@ public final class PPDrawing extends RecordAtom
*/
private void findEscherChildren(DefaultEscherRecordFactory erf, byte[] source, int startPos, int lenToGo, Vector found) {
- int escherBytes = LittleEndian.getInt( source, startPos + 4 ) + 8;
+ int escherBytes = LittleEndian.getInt( source, startPos + 4 ) + 8;
// Find the record
EscherRecord r = erf.createRecord(source,startPos);
@@ -137,16 +135,16 @@ public final class PPDrawing extends RecordAtom
logger.log(POILogger.WARN, "Hit short DDF record at " + startPos + " - " + size);
}
- /**
- * Sanity check. Always advance the cursor by the correct value.
- *
- * getRecordSize() must return exatcly the same number of bytes that was written in fillFields.
- * Sometimes it is not so, see an example in bug #44770. Most likely reason is that one of ddf records calculates wrong size.
- */
- if(size != escherBytes){
- logger.log(POILogger.WARN, "Record length=" + escherBytes + " but getRecordSize() returned " + r.getRecordSize() + "; record: " + r.getClass());
- size = escherBytes;
- }
+ /**
+ * Sanity check. Always advance the cursor by the correct value.
+ *
+ * getRecordSize() must return exatcly the same number of bytes that was written in fillFields.
+ * Sometimes it is not so, see an example in bug #44770. Most likely reason is that one of ddf records calculates wrong size.
+ */
+ if(size != escherBytes){
+ logger.log(POILogger.WARN, "Record length=" + escherBytes + " but getRecordSize() returned " + r.getRecordSize() + "; record: " + r.getClass());
+ size = escherBytes;
+ }
startPos += size;
lenToGo -= size;
if(lenToGo >= 8) {
@@ -163,13 +161,13 @@ public final class PPDrawing extends RecordAtom
EscherTextboxRecord tbr = (EscherTextboxRecord)toSearch[i];
EscherTextboxWrapper w = new EscherTextboxWrapper(tbr);
found.add(w);
- for (int j = i; j >= 0; j--) {
- if(toSearch[j] instanceof EscherSpRecord){
- EscherSpRecord sp = (EscherSpRecord)toSearch[j];
- w.setShapeId(sp.getShapeId());
- break;
- }
- }
+ for (int j = i; j >= 0; j--) {
+ if(toSearch[j] instanceof EscherSpRecord){
+ EscherSpRecord sp = (EscherSpRecord)toSearch[j];
+ w.setShapeId(sp.getShapeId());
+ break;
+ }
+ }
} else {
// If it has children, walk them
if(toSearch[i].isContainerRecord()) {
@@ -297,23 +295,22 @@ public final class PPDrawing extends RecordAtom
textboxWrappers = tw;
}
- /**
- * Return EscherDgRecord which keeps track of the number of shapes and shapeId in this drawing group
- *
- * @return EscherDgRecord
- */
- public EscherDgRecord getEscherDgRecord(){
- if(dg == null){
- EscherContainerRecord dgContainer = (EscherContainerRecord)childRecords[0];
- for(Iterator it = dgContainer.getChildIterator(); it.hasNext();){
- EscherRecord r = it.next();
- if(r instanceof EscherDgRecord){
- dg = (EscherDgRecord)r;
- break;
- }
- }
- }
- return dg;
- }
-
+ /**
+ * Return EscherDgRecord which keeps track of the number of shapes and shapeId in this drawing group
+ *
+ * @return EscherDgRecord
+ */
+ public EscherDgRecord getEscherDgRecord(){
+ if(dg == null){
+ EscherContainerRecord dgContainer = (EscherContainerRecord)childRecords[0];
+ for(Iterator it = dgContainer.getChildIterator(); it.hasNext();){
+ EscherRecord r = it.next();
+ if(r instanceof EscherDgRecord){
+ dg = (EscherDgRecord)r;
+ break;
+ }
+ }
+ }
+ return dg;
+ }
}
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/PPDrawingGroup.java b/src/scratchpad/src/org/apache/poi/hslf/record/PPDrawingGroup.java
index 08d523c3e..ee414bba9 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/record/PPDrawingGroup.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/PPDrawingGroup.java
@@ -23,7 +23,6 @@ import org.apache.poi.util.LittleEndian;
import java.io.OutputStream;
import java.io.IOException;
import java.io.ByteArrayOutputStream;
-import java.util.List;
import java.util.Iterator;
/**
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/RoundTripHFPlaceholder12.java b/src/scratchpad/src/org/apache/poi/hslf/record/RoundTripHFPlaceholder12.java
index 26b9e95f1..412beb1fc 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/record/RoundTripHFPlaceholder12.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/RoundTripHFPlaceholder12.java
@@ -19,10 +19,6 @@ package org.apache.poi.hslf.record;
import java.io.IOException;
import java.io.OutputStream;
-import java.util.Date;
-
-import org.apache.poi.hslf.util.SystemTimeUtils;
-import org.apache.poi.util.LittleEndian;
/**
* An atom record that specifies that a shape is a header or footer placeholder shape
@@ -30,9 +26,7 @@ import org.apache.poi.util.LittleEndian;
* @since PowerPoint 2007
* @author Yegor Kozlov
*/
-
-public final class RoundTripHFPlaceholder12 extends RecordAtom
-{
+public final class RoundTripHFPlaceholder12 extends RecordAtom {
/**
* Record header.
*/
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/SlideListWithText.java b/src/scratchpad/src/org/apache/poi/hslf/record/SlideListWithText.java
index 11bd4752c..45fbd7247 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/record/SlideListWithText.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/SlideListWithText.java
@@ -17,7 +17,6 @@
package org.apache.poi.hslf.record;
-import org.apache.poi.util.ArrayUtil;
import org.apache.poi.util.LittleEndian;
import java.io.IOException;
@@ -46,26 +45,25 @@ import java.util.Vector;
*/
// For now, pretend to be an atom
-public final class SlideListWithText extends RecordContainer
-{
+public final class SlideListWithText extends RecordContainer {
- /**
- * Instance filed of the record header indicates that this SlideListWithText stores
- * references to slides
- */
- public static final int SLIDES = 0;
- /**
- * Instance filed of the record header indicates that this SlideListWithText stores
- * references to master slides
- */
- public static final int MASTER = 1;
- /**
- * Instance filed of the record header indicates that this SlideListWithText stores
- * references to notes
- */
- public static final int NOTES = 2;
+ /**
+ * Instance filed of the record header indicates that this SlideListWithText stores
+ * references to slides
+ */
+ public static final int SLIDES = 0;
+ /**
+ * Instance filed of the record header indicates that this SlideListWithText stores
+ * references to master slides
+ */
+ public static final int MASTER = 1;
+ /**
+ * Instance filed of the record header indicates that this SlideListWithText stores
+ * references to notes
+ */
+ public static final int NOTES = 2;
- private byte[] _header;
+ private byte[] _header;
private static long _type = 4080;
private SlideAtomsSet[] slideAtomsSets;
@@ -148,23 +146,23 @@ public final class SlideListWithText extends RecordContainer
slideAtomsSets = sas;
}
- public int getInstance(){
- return LittleEndian.getShort(_header, 0) >> 4;
- }
+ public int getInstance(){
+ return LittleEndian.getShort(_header, 0) >> 4;
+ }
- public void setInstance(int inst){
- LittleEndian.putShort(_header, (short)((inst << 4) | 0xF));
- }
+ public void setInstance(int inst){
+ LittleEndian.putShort(_header, (short)((inst << 4) | 0xF));
+ }
- /**
+ /**
* Get access to the SlideAtomsSets of the children of this record
*/
public SlideAtomsSet[] getSlideAtomsSets() { return slideAtomsSets; }
- /**
- * Get access to the SlideAtomsSets of the children of this record
- */
- public void setSlideAtomsSets( SlideAtomsSet[] sas ) { slideAtomsSets = sas; }
+ /**
+ * Get access to the SlideAtomsSets of the children of this record
+ */
+ public void setSlideAtomsSets( SlideAtomsSet[] sas ) { slideAtomsSets = sas; }
/**
* Return the value we were given at creation
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/SoundCollection.java b/src/scratchpad/src/org/apache/poi/hslf/record/SoundCollection.java
index 8d86b175e..abea3887f 100755
--- a/src/scratchpad/src/org/apache/poi/hslf/record/SoundCollection.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/SoundCollection.java
@@ -17,8 +17,6 @@
package org.apache.poi.hslf.record;
-import org.apache.poi.util.POILogger;
-
import java.io.OutputStream;
import java.io.IOException;
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/SoundData.java b/src/scratchpad/src/org/apache/poi/hslf/record/SoundData.java
index 6492d0175..32aa9592d 100755
--- a/src/scratchpad/src/org/apache/poi/hslf/record/SoundData.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/SoundData.java
@@ -17,11 +17,8 @@
package org.apache.poi.hslf.record;
-import java.io.ByteArrayInputStream;
import java.io.IOException;
-import java.io.InputStream;
import java.io.OutputStream;
-import java.util.zip.InflaterInputStream;
import org.apache.poi.util.LittleEndian;
diff --git a/src/scratchpad/src/org/apache/poi/hslf/record/TextRulerAtom.java b/src/scratchpad/src/org/apache/poi/hslf/record/TextRulerAtom.java
index 052126e12..84f03b472 100755
--- a/src/scratchpad/src/org/apache/poi/hslf/record/TextRulerAtom.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/record/TextRulerAtom.java
@@ -17,11 +17,8 @@
package org.apache.poi.hslf.record;
-import java.io.ByteArrayInputStream;
import java.io.IOException;
-import java.io.InputStream;
import java.io.OutputStream;
-import java.util.zip.InflaterInputStream;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.POILogger;
diff --git a/src/scratchpad/src/org/apache/poi/hslf/usermodel/SlideShow.java b/src/scratchpad/src/org/apache/poi/hslf/usermodel/SlideShow.java
index b456798ba..8399e4899 100644
--- a/src/scratchpad/src/org/apache/poi/hslf/usermodel/SlideShow.java
+++ b/src/scratchpad/src/org/apache/poi/hslf/usermodel/SlideShow.java
@@ -38,220 +38,212 @@ import org.apache.poi.hslf.model.Notes;
import org.apache.poi.hslf.model.Slide;
import org.apache.poi.hslf.record.*;
import org.apache.poi.hslf.record.SlideListWithText.SlideAtomsSet;
-import org.apache.poi.util.ArrayUtil;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
/**
* 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
+ * TODO: - figure out how to match notes to their correct sheet (will involve
+ * understanding DocSlideList and DocNotesList) - handle Slide creation cleaner
*
* @author Nick Burch
* @author Yegor kozlov
*/
public final class SlideShow {
- // What we're based on
- private HSLFSlideShow _hslfSlideShow;
+ // What we're based on
+ private HSLFSlideShow _hslfSlideShow;
- // Low level contents, as taken from HSLFSlideShow
- private Record[] _records;
+ // Low level contents, as taken from HSLFSlideShow
+ private Record[] _records;
- // Pointers to the most recent versions of the core records
- // (Document, Notes, Slide etc)
- private Record[] _mostRecentCoreRecords;
- // Lookup between the PersitPtr "sheet" IDs, and the position
- // in the mostRecentCoreRecords array
- private Hashtable _sheetIdToCoreRecordsLookup;
+ // Pointers to the most recent versions of the core records
+ // (Document, Notes, Slide etc)
+ private Record[] _mostRecentCoreRecords;
+ // Lookup between the PersitPtr "sheet" IDs, and the position
+ // in the mostRecentCoreRecords array
+ private Hashtable _sheetIdToCoreRecordsLookup;
- // Records that are interesting
- private Document _documentRecord;
+ // Records that are interesting
+ private Document _documentRecord;
- // Friendly objects for people to deal with
- private SlideMaster[] _masters;
- private TitleMaster[] _titleMasters;
- private Slide[] _slides;
- private Notes[] _notes;
- private FontCollection _fonts;
+ // Friendly objects for people to deal with
+ private SlideMaster[] _masters;
+ private TitleMaster[] _titleMasters;
+ private Slide[] _slides;
+ private Notes[] _notes;
+ private FontCollection _fonts;
- // For logging
- private POILogger logger = POILogFactory.getLogger(this.getClass());
+ // For logging
+ private POILogger logger = POILogFactory.getLogger(this.getClass());
- /* ===============================================================
- * Setup Code
- * ===============================================================
- */
+ /* ===============================================================
+ * Setup Code
+ * ===============================================================
+ */
- /**
- * Constructs a Powerpoint document from the underlying
- * HSLFSlideShow object. Finds the model stuff from this
- *
- * @param hslfSlideShow the HSLFSlideShow to base on
- */
- public SlideShow(HSLFSlideShow hslfSlideShow) {
+ /**
+ * Constructs a Powerpoint document from the underlying
+ * HSLFSlideShow object. Finds the model stuff from this
+ *
+ * @param hslfSlideShow the HSLFSlideShow to base on
+ */
+ public SlideShow(HSLFSlideShow hslfSlideShow) {
// Get useful things from our base slideshow
- _hslfSlideShow = hslfSlideShow;
- _records = _hslfSlideShow.getRecords();
+ _hslfSlideShow = hslfSlideShow;
+ _records = _hslfSlideShow.getRecords();
- // Handle Parent-aware Reocrds
- for(int i=0; i<_records.length; i++) {
- handleParentAwareRecords(_records[i]);
+ // Handle Parent-aware Reocrds
+ for (int i = 0; i < _records.length; i++) {
+ handleParentAwareRecords(_records[i]);
+ }
+
+ // Find the versions of the core records we'll want to use
+ findMostRecentCoreRecords();
+
+ // Build up the model level Slides and Notes
+ buildSlidesAndNotes();
}
- // Find the versions of the core records we'll want to use
- findMostRecentCoreRecords();
+ /**
+ * Constructs a new, empty, Powerpoint document.
+ */
+ public SlideShow() {
+ this(HSLFSlideShow.create());
+ }
- // Build up the model level Slides and Notes
- buildSlidesAndNotes();
- }
+ /**
+ * Constructs a Powerpoint document from an input stream.
+ */
+ public SlideShow(InputStream inputStream) throws IOException {
+ this(new HSLFSlideShow(inputStream));
+ }
- /**
- * Constructs a new, empty, Powerpoint document.
- */
- public SlideShow() {
- this(HSLFSlideShow.create());
- }
+ /**
+ * Find the records that are parent-aware, and tell them who their parent is
+ */
+ private void handleParentAwareRecords(Record baseRecord) {
+ // Only need to do something if this is a container record
+ if (baseRecord instanceof RecordContainer) {
+ RecordContainer br = (RecordContainer) baseRecord;
+ Record[] childRecords = br.getChildRecords();
- /**
- * Constructs a Powerpoint document from an input stream.
- */
- public SlideShow(InputStream inputStream) throws IOException {
- this(new HSLFSlideShow(inputStream));
- }
-
- /**
- * Find the records that are parent-aware, and tell them
- * who their parent is
- */
- private void handleParentAwareRecords(Record baseRecord) {
- // Only need to do something if this is a container record
- if(baseRecord instanceof RecordContainer) {
- RecordContainer br = (RecordContainer)baseRecord;
- Record[] childRecords = br.getChildRecords();
-
- // Loop over child records, looking for interesting ones
- for(int i=0; i _slides.length || newSlideNumber > _slides.length) {
- throw new IllegalArgumentException("Old and new slide numbers must not exceed the number of slides (" + _slides.length + ")");
+ if (oldSlideNumber > _slides.length || newSlideNumber > _slides.length) {
+ throw new IllegalArgumentException(
+ "Old and new slide numbers must not exceed the number of slides ("
+ + _slides.length + ")");
}
- // The order of slides is defined by the order of slide atom sets in the SlideListWithText container.
- SlideListWithText slwt = _documentRecord.getSlideSlideListWithText();
- SlideAtomsSet[] sas = slwt.getSlideAtomsSets();
+ // The order of slides is defined by the order of slide atom sets in the
+ // SlideListWithText container.
+ SlideListWithText slwt = _documentRecord.getSlideSlideListWithText();
+ SlideAtomsSet[] sas = slwt.getSlideAtomsSets();
- SlideAtomsSet tmp = sas[oldSlideNumber-1];
- sas[oldSlideNumber-1] = sas[newSlideNumber-1];
- sas[newSlideNumber-1] = tmp;
+ SlideAtomsSet tmp = sas[oldSlideNumber - 1];
+ sas[oldSlideNumber - 1] = sas[newSlideNumber - 1];
+ sas[newSlideNumber - 1] = tmp;
- ArrayList lst = new ArrayList();
- for (int i = 0; i < sas.length; i++) {
- lst.add(sas[i].getSlidePersistAtom());
- Record[] r = sas[i].getSlideRecords();
- for (int j = 0; j < r.length; j++) {
- lst.add(r[j]);
- }
- _slides[i].setSlideNumber(i+1);
- }
- Record[] r = (Record[])lst.toArray(new Record[lst.size()]);
- slwt.setChildRecord(r);
+ ArrayList lst = new ArrayList();
+ for (int i = 0; i < sas.length; i++) {
+ lst.add(sas[i].getSlidePersistAtom());
+ Record[] r = sas[i].getSlideRecords();
+ for (int j = 0; j < r.length; j++) {
+ lst.add(r[j]);
+ }
+ _slides[i].setSlideNumber(i + 1);
+ }
+ Record[] r = (Record[]) lst.toArray(new Record[lst.size()]);
+ slwt.setChildRecord(r);
}
- /**
- * Removes the slide at the given index (0-based).
- * Shifts any subsequent slides to the left (subtracts one from their slide numbers).
- *
- * @param index the index of the slide to remove (0-based)
- * @return the slide that was removed from the slide show.
- */
- public Slide removeSlide(int index) {
- int lastSlideIdx = _slides.length - 1;
- if(index < 0 || index > lastSlideIdx) {
- throw new IllegalArgumentException("Slide index ("
- + index +") is out of range (0.." + lastSlideIdx + ")");
- }
+ /**
+ * Removes the slide at the given index (0-based).
+ *
+ * Shifts any subsequent slides to the left (subtracts one from their slide
+ * numbers).
+ *
+ *
+ * @param index
+ * the index of the slide to remove (0-based)
+ * @return the slide that was removed from the slide show.
+ */
+ public Slide removeSlide(int index) {
+ int lastSlideIdx = _slides.length - 1;
+ if (index < 0 || index > lastSlideIdx) {
+ throw new IllegalArgumentException("Slide index (" + index + ") is out of range (0.."
+ + lastSlideIdx + ")");
+ }
- SlideListWithText slwt = _documentRecord.getSlideSlideListWithText();
- SlideAtomsSet[] sas = slwt.getSlideAtomsSets();
+ SlideListWithText slwt = _documentRecord.getSlideSlideListWithText();
+ SlideAtomsSet[] sas = slwt.getSlideAtomsSets();
- Slide removedSlide = null;
- ArrayList records = new ArrayList();
- ArrayList sa = new ArrayList();
- ArrayList sl = new ArrayList();
+ Slide removedSlide = null;
+ ArrayList records = new ArrayList();
+ ArrayList sa = new ArrayList();
+ ArrayList sl = new ArrayList();
- ArrayList nt = new ArrayList();
- for(Notes notes : getNotes()) nt.add(notes);
+ ArrayList nt = new ArrayList();
+ for (Notes notes : getNotes())
+ nt.add(notes);
- for (int i = 0, num = 0; i < _slides.length; i++){
- if(i != index) {
- sl.add(_slides[i]);
- sa.add(sas[i]);
- _slides[i].setSlideNumber(num++);
- records.add(sas[i].getSlidePersistAtom());
- records.addAll(Arrays.asList(sas[i].getSlideRecords()));
- } else {
- removedSlide = _slides[i];
- nt.remove(_slides[i].getNotesSheet());
- }
- }
- if(sa.size() == 0){
- _documentRecord.removeSlideListWithText(slwt);
- } else {
- slwt.setSlideAtomsSets( sa.toArray(new SlideAtomsSet[sa.size()]) );
- slwt.setChildRecord(records.toArray(new Record[records.size()]));
- }
- _slides = sl.toArray(new Slide[sl.size()]);
+ for (int i = 0, num = 0; i < _slides.length; i++) {
+ if (i != index) {
+ sl.add(_slides[i]);
+ sa.add(sas[i]);
+ _slides[i].setSlideNumber(num++);
+ records.add(sas[i].getSlidePersistAtom());
+ records.addAll(Arrays.asList(sas[i].getSlideRecords()));
+ } else {
+ removedSlide = _slides[i];
+ nt.remove(_slides[i].getNotesSheet());
+ }
+ }
+ if (sa.size() == 0) {
+ _documentRecord.removeSlideListWithText(slwt);
+ } else {
+ slwt.setSlideAtomsSets(sa.toArray(new SlideAtomsSet[sa.size()]));
+ slwt.setChildRecord(records.toArray(new Record[records.size()]));
+ }
+ _slides = sl.toArray(new Slide[sl.size()]);
- //if the removed slide had notes - remove references to them too
+ // if the removed slide had notes - remove references to them too
- if(removedSlide != null){
- int notesId = removedSlide.getSlideRecord().getSlideAtom().getNotesID();
- if(notesId != 0){
- SlideListWithText nslwt = _documentRecord.getNotesSlideListWithText();
- records = new ArrayList();
- ArrayList na = new ArrayList();
- for (SlideAtomsSet ns : nslwt.getSlideAtomsSets()){
- if(ns.getSlidePersistAtom().getSlideIdentifier() != notesId) {
- na.add(ns);
- records.add(ns.getSlidePersistAtom());
- if(ns.getSlideRecords() != null) records.addAll(Arrays.asList(ns.getSlideRecords()));
- }
- }
- if(na.size() == 0){
- _documentRecord.removeSlideListWithText(nslwt);
- } else {
- nslwt.setSlideAtomsSets( na.toArray(new SlideAtomsSet[na.size()]) );
- nslwt.setChildRecord(records.toArray(new Record[records.size()]));
- }
+ if (removedSlide != null) {
+ int notesId = removedSlide.getSlideRecord().getSlideAtom().getNotesID();
+ if (notesId != 0) {
+ SlideListWithText nslwt = _documentRecord.getNotesSlideListWithText();
+ records = new ArrayList();
+ ArrayList na = new ArrayList();
+ for (SlideAtomsSet ns : nslwt.getSlideAtomsSets()) {
+ if (ns.getSlidePersistAtom().getSlideIdentifier() != notesId) {
+ na.add(ns);
+ records.add(ns.getSlidePersistAtom());
+ if (ns.getSlideRecords() != null)
+ records.addAll(Arrays.asList(ns.getSlideRecords()));
+ }
+ }
+ if (na.size() == 0) {
+ _documentRecord.removeSlideListWithText(nslwt);
+ } else {
+ nslwt.setSlideAtomsSets(na.toArray(new SlideAtomsSet[na.size()]));
+ nslwt.setChildRecord(records.toArray(new Record[records.size()]));
+ }
- }
- }
- _notes = nt.toArray(new Notes[nt.size()]);
+ }
+ }
+ _notes = nt.toArray(new Notes[nt.size()]);
- return removedSlide;
- }
+ return removedSlide;
+ }
- /* ===============================================================
- * Addition Code
+ /*
+ * ===============================================================
+ * Addition Code
* ===============================================================
*/
-
/**
* Create a blank Slide
.
*
- * @return the created Slide
+ * @return the created Slide
*/
- public Slide createSlide() {
- SlideListWithText slist = null;
+ public Slide createSlide() {
+ SlideListWithText slist = null;
- // We need to add the records to the SLWT that deals
- // with Slides.
- // Add it, if it doesn't exist
- slist = _documentRecord.getSlideSlideListWithText();
- if(slist == null) {
- // Need to add a new one
- slist = new SlideListWithText();
- slist.setInstance(SlideListWithText.SLIDES);
- _documentRecord.addSlideListWithText(slist);
- }
+ // We need to add the records to the SLWT that deals
+ // with Slides.
+ // Add it, if it doesn't exist
+ slist = _documentRecord.getSlideSlideListWithText();
+ if (slist == null) {
+ // Need to add a new one
+ slist = new SlideListWithText();
+ slist.setInstance(SlideListWithText.SLIDES);
+ _documentRecord.addSlideListWithText(slist);
+ }
- // Grab the SlidePersistAtom with the highest Slide Number.
- // (Will stay as null if no SlidePersistAtom exists yet in
- // the slide, or only master slide's ones do)
- SlidePersistAtom prev = null;
+ // Grab the SlidePersistAtom with the highest Slide Number.
+ // (Will stay as null if no SlidePersistAtom exists yet in
+ // the slide, or only master slide's ones do)
+ SlidePersistAtom prev = null;
SlideAtomsSet[] sas = slist.getSlideAtomsSets();
- for(int j=0; jPicture class.
- * @return the index to this picture (1 based).
- */
- public int addPicture(byte[] data, int format) throws IOException {
- byte[] uid = PictureData.getChecksum(data);
+ /**
+ * Adds a picture to this presentation and returns the associated index.
+ *
+ * @param data
+ * picture data
+ * @param format
+ * the format of the picture. One of constans defined in the
+ * Picture
class.
+ * @return the index to this picture (1 based).
+ */
+ public int addPicture(byte[] data, int format) throws IOException {
+ byte[] uid = PictureData.getChecksum(data);
- EscherContainerRecord bstore;
+ EscherContainerRecord bstore;
- EscherContainerRecord dggContainer = _documentRecord.getPPDrawingGroup().getDggContainer();
- bstore = (EscherContainerRecord)Shape.getEscherChild(dggContainer, EscherContainerRecord.BSTORE_CONTAINER);
- if (bstore == null){
- bstore = new EscherContainerRecord();
- bstore.setRecordId( EscherContainerRecord.BSTORE_CONTAINER);
+ EscherContainerRecord dggContainer = _documentRecord.getPPDrawingGroup().getDggContainer();
+ bstore = (EscherContainerRecord) Shape.getEscherChild(dggContainer,
+ EscherContainerRecord.BSTORE_CONTAINER);
+ if (bstore == null) {
+ bstore = new EscherContainerRecord();
+ bstore.setRecordId(EscherContainerRecord.BSTORE_CONTAINER);
- dggContainer.addChildBefore(bstore, EscherOptRecord.RECORD_ID);
- } else {
- Iterator iter = bstore.getChildIterator();
- for (int i = 0; iter.hasNext(); i++) {
- EscherBSERecord bse = (EscherBSERecord) iter.next();
- if (Arrays.equals(bse.getUid(), uid)){
- return i + 1;
- }
- }
- }
+ dggContainer.addChildBefore(bstore, EscherOptRecord.RECORD_ID);
+ } else {
+ Iterator iter = bstore.getChildIterator();
+ for (int i = 0; iter.hasNext(); i++) {
+ EscherBSERecord bse = (EscherBSERecord) iter.next();
+ if (Arrays.equals(bse.getUid(), uid)) {
+ return i + 1;
+ }
+ }
+ }
- PictureData pict = PictureData.create(format);
- pict.setData(data);
+ PictureData pict = PictureData.create(format);
+ pict.setData(data);
- int offset = _hslfSlideShow.addPicture(pict);
+ int offset = _hslfSlideShow.addPicture(pict);
- EscherBSERecord bse = new EscherBSERecord();
- bse.setRecordId(EscherBSERecord.RECORD_ID);
- bse.setOptions( (short) ( 0x0002 | ( format << 4 ) ) );
- bse.setSize(pict.getRawData().length + 8);
- bse.setUid(uid);
+ EscherBSERecord bse = new EscherBSERecord();
+ bse.setRecordId(EscherBSERecord.RECORD_ID);
+ bse.setOptions((short) (0x0002 | (format << 4)));
+ bse.setSize(pict.getRawData().length + 8);
+ bse.setUid(uid);
- bse.setBlipTypeMacOS((byte)format);
- bse.setBlipTypeWin32((byte)format);
+ bse.setBlipTypeMacOS((byte) format);
+ bse.setBlipTypeWin32((byte) format);
- if (format == Picture.EMF) bse.setBlipTypeMacOS((byte)Picture.PICT);
- else if (format == Picture.WMF) bse.setBlipTypeMacOS((byte)Picture.PICT);
- else if (format == Picture.PICT) bse.setBlipTypeWin32((byte)Picture.WMF);
+ if (format == Picture.EMF)
+ bse.setBlipTypeMacOS((byte) Picture.PICT);
+ else if (format == Picture.WMF)
+ bse.setBlipTypeMacOS((byte) Picture.PICT);
+ else if (format == Picture.PICT)
+ bse.setBlipTypeWin32((byte) Picture.WMF);
- bse.setRef(0);
- bse.setOffset(offset);
- bse.setRemainingData( new byte[0] );
+ bse.setRef(0);
+ bse.setOffset(offset);
+ bse.setRemainingData(new byte[0]);
- bstore.addChildRecord(bse);
- int count = bstore.getChildRecords().size();
- bstore.setOptions((short)( (count << 4) | 0xF ));
+ bstore.addChildRecord(bse);
+ int count = bstore.getChildRecords().size();
+ bstore.setOptions((short) ((count << 4) | 0xF));
- return count;
- }
+ return count;
+ }
- /**
- * Adds a picture to this presentation and returns the associated index.
- *
- * @param pict the file containing the image to add
- * @param format the format of the picture. One of constans defined in the Picture
class.
- * @return the index to this picture (1 based).
- */
- public int addPicture(File pict, int format) throws IOException {
- int length = (int)pict.length();
- byte[] data = new byte[length];
- try {
- FileInputStream is = new FileInputStream(pict);
- is.read(data);
- is.close();
- } catch (IOException e){
- throw new HSLFException(e);
- }
- return addPicture(data, format);
- }
+ /**
+ * Adds a picture to this presentation and returns the associated index.
+ *
+ * @param pict
+ * the file containing the image to add
+ * @param format
+ * the format of the picture. One of constans defined in the
+ * Picture
class.
+ * @return the index to this picture (1 based).
+ */
+ public int addPicture(File pict, int format) throws IOException {
+ int length = (int) pict.length();
+ byte[] data = new byte[length];
+ try {
+ FileInputStream is = new FileInputStream(pict);
+ is.read(data);
+ is.close();
+ } catch (IOException e) {
+ throw new HSLFException(e);
+ }
+ return addPicture(data, format);
+ }
- /**
- * Add a font in this presentation
- *
- * @param font the font to add
- * @return 0-based index of the font
- */
- public int addFont(PPFont font) {
- FontCollection fonts = getDocumentRecord().getEnvironment().getFontCollection();
- int idx = fonts.getFontIndex(font.getFontName());
- if(idx == -1){
- idx = fonts.addFont(font.getFontName(), font.getCharSet(), font.getFontFlags(), font.getFontType(), font.getPitchAndFamily());
- }
- return idx;
- }
+ /**
+ * Add a font in this presentation
+ *
+ * @param font
+ * the font to add
+ * @return 0-based index of the font
+ */
+ public int addFont(PPFont font) {
+ FontCollection fonts = getDocumentRecord().getEnvironment().getFontCollection();
+ int idx = fonts.getFontIndex(font.getFontName());
+ if (idx == -1) {
+ idx = fonts.addFont(font.getFontName(), font.getCharSet(), font.getFontFlags(), font
+ .getFontType(), font.getPitchAndFamily());
+ }
+ return idx;
+ }
- /**
- * Get a font by index
- *
- * @param idx 0-based index of the font
- * @return of an instance of PPFont
or null
if not found
- */
- public PPFont getFont(int idx) {
- PPFont font = null;
- FontCollection fonts = getDocumentRecord().getEnvironment().getFontCollection();
- Record[] ch = fonts.getChildRecords();
- for (int i = 0; i < ch.length; i++) {
- if(ch[i] instanceof FontEntityAtom) {
- FontEntityAtom atom = (FontEntityAtom)ch[i];
- if(atom.getFontIndex() == idx){
- font = new PPFont(atom);
- break;
- }
- }
- }
- return font;
- }
+ /**
+ * Get a font by index
+ *
+ * @param idx
+ * 0-based index of the font
+ * @return of an instance of PPFont
or null
if not
+ * found
+ */
+ public PPFont getFont(int idx) {
+ PPFont font = null;
+ FontCollection fonts = getDocumentRecord().getEnvironment().getFontCollection();
+ Record[] ch = fonts.getChildRecords();
+ for (int i = 0; i < ch.length; i++) {
+ if (ch[i] instanceof FontEntityAtom) {
+ FontEntityAtom atom = (FontEntityAtom) ch[i];
+ if (atom.getFontIndex() == idx) {
+ font = new PPFont(atom);
+ break;
+ }
+ }
+ }
+ return font;
+ }
- /**
- * get the number of fonts in the presentation
- *
- * @return number of fonts
- */
- public int getNumberOfFonts() {
- return getDocumentRecord().getEnvironment().getFontCollection().getNumberOfFonts();
- }
+ /**
+ * get the number of fonts in the presentation
+ *
+ * @return number of fonts
+ */
+ public int getNumberOfFonts() {
+ return getDocumentRecord().getEnvironment().getFontCollection().getNumberOfFonts();
+ }
- /**
- * Return Header / Footer settings for slides
- *
- * @return Header / Footer settings for slides
- */
- public HeadersFooters getSlideHeadersFooters(){
- //detect if this ppt was saved in Office2007
- String tag = getSlidesMasters()[0].getProgrammableTag();
- boolean ppt2007 = "___PPT12".equals(tag);
+ /**
+ * Return Header / Footer settings for slides
+ *
+ * @return Header / Footer settings for slides
+ */
+ public HeadersFooters getSlideHeadersFooters() {
+ // detect if this ppt was saved in Office2007
+ String tag = getSlidesMasters()[0].getProgrammableTag();
+ boolean ppt2007 = "___PPT12".equals(tag);
- HeadersFootersContainer hdd = null;
- Record[] ch = _documentRecord.getChildRecords();
- for (int i = 0; i < ch.length; i++) {
- if(ch[i] instanceof HeadersFootersContainer &&
- ((HeadersFootersContainer)ch[i]).getOptions() == HeadersFootersContainer.SlideHeadersFootersContainer){
- hdd = (HeadersFootersContainer)ch[i];
- break;
- }
- }
- boolean newRecord = false;
- if(hdd == null) {
- hdd = new HeadersFootersContainer(HeadersFootersContainer.SlideHeadersFootersContainer);
- newRecord = true;
- }
- return new HeadersFooters(hdd, this, newRecord, ppt2007);
- }
+ HeadersFootersContainer hdd = null;
+ Record[] ch = _documentRecord.getChildRecords();
+ for (int i = 0; i < ch.length; i++) {
+ if (ch[i] instanceof HeadersFootersContainer
+ && ((HeadersFootersContainer) ch[i]).getOptions() == HeadersFootersContainer.SlideHeadersFootersContainer) {
+ hdd = (HeadersFootersContainer) ch[i];
+ break;
+ }
+ }
+ boolean newRecord = false;
+ if (hdd == null) {
+ hdd = new HeadersFootersContainer(HeadersFootersContainer.SlideHeadersFootersContainer);
+ newRecord = true;
+ }
+ return new HeadersFooters(hdd, this, newRecord, ppt2007);
+ }
- /**
- * Return Header / Footer settings for notes
- *
- * @return Header / Footer settings for notes
- */
- public HeadersFooters getNotesHeadersFooters(){
- //detect if this ppt was saved in Office2007
- String tag = getSlidesMasters()[0].getProgrammableTag();
- boolean ppt2007 = "___PPT12".equals(tag);
+ /**
+ * Return Header / Footer settings for notes
+ *
+ * @return Header / Footer settings for notes
+ */
+ public HeadersFooters getNotesHeadersFooters() {
+ // detect if this ppt was saved in Office2007
+ String tag = getSlidesMasters()[0].getProgrammableTag();
+ boolean ppt2007 = "___PPT12".equals(tag);
- HeadersFootersContainer hdd = null;
- Record[] ch = _documentRecord.getChildRecords();
- for (int i = 0; i < ch.length; i++) {
- if(ch[i] instanceof HeadersFootersContainer &&
- ((HeadersFootersContainer)ch[i]).getOptions() == HeadersFootersContainer.NotesHeadersFootersContainer){
- hdd = (HeadersFootersContainer)ch[i];
- break;
- }
- }
- boolean newRecord = false;
- if(hdd == null) {
- hdd = new HeadersFootersContainer(HeadersFootersContainer.NotesHeadersFootersContainer);
- newRecord = true;
- }
- if(ppt2007 && _notes.length > 0){
- return new HeadersFooters(hdd, _notes[0], newRecord, ppt2007);
- } else {
- return new HeadersFooters(hdd, this, newRecord, ppt2007);
- }
- }
+ HeadersFootersContainer hdd = null;
+ Record[] ch = _documentRecord.getChildRecords();
+ for (int i = 0; i < ch.length; i++) {
+ if (ch[i] instanceof HeadersFootersContainer
+ && ((HeadersFootersContainer) ch[i]).getOptions() == HeadersFootersContainer.NotesHeadersFootersContainer) {
+ hdd = (HeadersFootersContainer) ch[i];
+ break;
+ }
+ }
+ boolean newRecord = false;
+ if (hdd == null) {
+ hdd = new HeadersFootersContainer(HeadersFootersContainer.NotesHeadersFootersContainer);
+ newRecord = true;
+ }
+ if (ppt2007 && _notes.length > 0) {
+ return new HeadersFooters(hdd, _notes[0], newRecord, ppt2007);
+ } else {
+ return new HeadersFooters(hdd, this, newRecord, ppt2007);
+ }
+ }
- /**
- * Add a movie in this presentation
- *
- * @param path the path or url to the movie
- * @return 0-based index of the movie
- */
- public int addMovie(String path, int type) {
- ExObjList lst = (ExObjList)_documentRecord.findFirstOfType(RecordTypes.ExObjList.typeID);
- if(lst == null){
- lst = new ExObjList();
- _documentRecord.addChildAfter(lst, _documentRecord.getDocumentAtom());
- }
+ /**
+ * Add a movie in this presentation
+ *
+ * @param path
+ * the path or url to the movie
+ * @return 0-based index of the movie
+ */
+ public int addMovie(String path, int type) {
+ ExObjList lst = (ExObjList) _documentRecord.findFirstOfType(RecordTypes.ExObjList.typeID);
+ if (lst == null) {
+ lst = new ExObjList();
+ _documentRecord.addChildAfter(lst, _documentRecord.getDocumentAtom());
+ }
- ExObjListAtom objAtom = lst.getExObjListAtom();
- //increment the object ID seed
- int objectId = (int)objAtom.getObjectIDSeed() + 1;
- objAtom.setObjectIDSeed(objectId);
- ExMCIMovie mci;
- switch (type){
- case MovieShape.MOVIE_MPEG:
- mci = new ExMCIMovie();
- break;
- case MovieShape.MOVIE_AVI:
- mci = new ExAviMovie();
- break;
- default:
- throw new IllegalArgumentException("Unsupported Movie: " + type);
- }
+ ExObjListAtom objAtom = lst.getExObjListAtom();
+ // increment the object ID seed
+ int objectId = (int) objAtom.getObjectIDSeed() + 1;
+ objAtom.setObjectIDSeed(objectId);
+ ExMCIMovie mci;
+ switch (type) {
+ case MovieShape.MOVIE_MPEG:
+ mci = new ExMCIMovie();
+ break;
+ case MovieShape.MOVIE_AVI:
+ mci = new ExAviMovie();
+ break;
+ default:
+ throw new IllegalArgumentException("Unsupported Movie: " + type);
+ }
- lst.appendChildRecord(mci);
- ExVideoContainer exVideo = mci.getExVideo();
- exVideo.getExMediaAtom().setObjectId(objectId);
- exVideo.getExMediaAtom().setMask(0xE80000);
- exVideo.getPathAtom().setText(path);
- return objectId;
- }
+ lst.appendChildRecord(mci);
+ ExVideoContainer exVideo = mci.getExVideo();
+ exVideo.getExMediaAtom().setObjectId(objectId);
+ exVideo.getExMediaAtom().setMask(0xE80000);
+ exVideo.getPathAtom().setText(path);
+ return objectId;
+ }
- /**
- * Add a control in this presentation
- *
- * @param name name of the control, e.g. "Shockwave Flash Object"
- * @param progId OLE Programmatic Identifier, e.g. "ShockwaveFlash.ShockwaveFlash.9"
- * @return 0-based index of the control
- */
- public int addControl(String name, String progId) {
- ExObjList lst = (ExObjList)_documentRecord.findFirstOfType(RecordTypes.ExObjList.typeID);
- if (lst == null) {
- lst = new ExObjList();
- _documentRecord.addChildAfter(lst, _documentRecord.getDocumentAtom());
- }
- ExObjListAtom objAtom = lst.getExObjListAtom();
- //increment the object ID seed
- int objectId = (int) objAtom.getObjectIDSeed() + 1;
- objAtom.setObjectIDSeed(objectId);
- ExControl ctrl = new ExControl();
- ExOleObjAtom oleObj = ctrl.getExOleObjAtom();
- oleObj.setObjID(objectId);
- oleObj.setDrawAspect(ExOleObjAtom.DRAW_ASPECT_VISIBLE);
- oleObj.setType(ExOleObjAtom.TYPE_CONTROL);
- oleObj.setSubType(ExOleObjAtom.SUBTYPE_DEFAULT);
+ /**
+ * Add a control in this presentation
+ *
+ * @param name
+ * name of the control, e.g. "Shockwave Flash Object"
+ * @param progId
+ * OLE Programmatic Identifier, e.g.
+ * "ShockwaveFlash.ShockwaveFlash.9"
+ * @return 0-based index of the control
+ */
+ public int addControl(String name, String progId) {
+ ExObjList lst = (ExObjList) _documentRecord.findFirstOfType(RecordTypes.ExObjList.typeID);
+ if (lst == null) {
+ lst = new ExObjList();
+ _documentRecord.addChildAfter(lst, _documentRecord.getDocumentAtom());
+ }
+ ExObjListAtom objAtom = lst.getExObjListAtom();
+ // increment the object ID seed
+ int objectId = (int) objAtom.getObjectIDSeed() + 1;
+ objAtom.setObjectIDSeed(objectId);
+ ExControl ctrl = new ExControl();
+ ExOleObjAtom oleObj = ctrl.getExOleObjAtom();
+ oleObj.setObjID(objectId);
+ oleObj.setDrawAspect(ExOleObjAtom.DRAW_ASPECT_VISIBLE);
+ oleObj.setType(ExOleObjAtom.TYPE_CONTROL);
+ oleObj.setSubType(ExOleObjAtom.SUBTYPE_DEFAULT);
- ctrl.setProgId(progId);
- ctrl.setMenuName(name);
- ctrl.setClipboardName(name);
- lst.addChildAfter(ctrl, objAtom);
+ ctrl.setProgId(progId);
+ ctrl.setMenuName(name);
+ ctrl.setClipboardName(name);
+ lst.addChildAfter(ctrl, objAtom);
- return objectId;
- }
+ return objectId;
+ }
- /**
- * Add a hyperlink to this presentation
- *
- * @return 0-based index of the hyperlink
- */
- public int addHyperlink(Hyperlink link) {
- ExObjList lst = (ExObjList)_documentRecord.findFirstOfType(RecordTypes.ExObjList.typeID);
- if (lst == null) {
- lst = new ExObjList();
- _documentRecord.addChildAfter(lst, _documentRecord.getDocumentAtom());
- }
- ExObjListAtom objAtom = lst.getExObjListAtom();
- //increment the object ID seed
- int objectId = (int) objAtom.getObjectIDSeed() + 1;
- objAtom.setObjectIDSeed(objectId);
+ /**
+ * Add a hyperlink to this presentation
+ *
+ * @return 0-based index of the hyperlink
+ */
+ public int addHyperlink(Hyperlink link) {
+ ExObjList lst = (ExObjList) _documentRecord.findFirstOfType(RecordTypes.ExObjList.typeID);
+ if (lst == null) {
+ lst = new ExObjList();
+ _documentRecord.addChildAfter(lst, _documentRecord.getDocumentAtom());
+ }
+ ExObjListAtom objAtom = lst.getExObjListAtom();
+ // increment the object ID seed
+ int objectId = (int) objAtom.getObjectIDSeed() + 1;
+ objAtom.setObjectIDSeed(objectId);
- ExHyperlink ctrl = new ExHyperlink();
- ExHyperlinkAtom obj = ctrl.getExHyperlinkAtom();
- obj.setNumber(objectId);
- ctrl.setLinkURL(link.getAddress());
- ctrl.setLinkTitle(link.getTitle());
- lst.addChildAfter(ctrl, objAtom);
- link.setId(objectId);
+ ExHyperlink ctrl = new ExHyperlink();
+ ExHyperlinkAtom obj = ctrl.getExHyperlinkAtom();
+ obj.setNumber(objectId);
+ ctrl.setLinkURL(link.getAddress());
+ ctrl.setLinkTitle(link.getTitle());
+ lst.addChildAfter(ctrl, objAtom);
+ link.setId(objectId);
- return objectId;
- }
+ return objectId;
+ }
}
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/DocumentProperties.java b/src/scratchpad/src/org/apache/poi/hwpf/model/DocumentProperties.java
index fed2e0643..489b35af5 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/DocumentProperties.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/DocumentProperties.java
@@ -17,7 +17,6 @@
package org.apache.poi.hwpf.model;
-import org.apache.poi.util.LittleEndian;
import org.apache.poi.hwpf.model.types.DOPAbstractType;
/**
@@ -25,13 +24,10 @@ import org.apache.poi.hwpf.model.types.DOPAbstractType;
*
* @author Ryan Ackley
*/
-
-public final class DocumentProperties extends DOPAbstractType
-{
+public final class DocumentProperties extends DOPAbstractType {
- public DocumentProperties(byte[] tableStream, int offset)
- {
- super.fillFields(tableStream, offset);
- }
+ public DocumentProperties(byte[] tableStream, int offset) {
+ super.fillFields(tableStream, offset);
+ }
}
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/PAPFormattedDiskPage.java b/src/scratchpad/src/org/apache/poi/hwpf/model/PAPFormattedDiskPage.java
index 755c37b40..37f5e129b 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/PAPFormattedDiskPage.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/PAPFormattedDiskPage.java
@@ -17,7 +17,6 @@
package org.apache.poi.hwpf.model;
-import org.apache.poi.poifs.common.POIFSConstants;
import org.apache.poi.util.LittleEndian;
import java.util.ArrayList;
@@ -40,8 +39,7 @@ import java.util.Arrays;
*
* @author Ryan Ackley
*/
-public final class PAPFormattedDiskPage extends FormattedDiskPage
-{
+public final class PAPFormattedDiskPage extends FormattedDiskPage {
private static final int BX_SIZE = 13;
private static final int FC_SIZE = 4;
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/StyleSheet.java b/src/scratchpad/src/org/apache/poi/hwpf/model/StyleSheet.java
index e8a161073..c0a6a029a 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/StyleSheet.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/StyleSheet.java
@@ -17,7 +17,6 @@
package org.apache.poi.hwpf.model;
-import java.util.*;
import java.io.IOException;
import org.apache.poi.util.LittleEndian;
@@ -35,9 +34,7 @@ import org.apache.poi.hwpf.sprm.CharacterSprmUncompressor;
*
* @author Ryan Ackley
*/
-
-public final class StyleSheet implements HDFType
-{
+public final class StyleSheet implements HDFType {
public static final int NIL_STYLE = 4095;
private static final int PAP_TYPE = 1;
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/TextPieceTable.java b/src/scratchpad/src/org/apache/poi/hwpf/model/TextPieceTable.java
index 16dd648c7..65dc9e191 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/TextPieceTable.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/TextPieceTable.java
@@ -17,254 +17,229 @@
package org.apache.poi.hwpf.model;
-
import org.apache.poi.hwpf.model.io.HWPFOutputStream;
import org.apache.poi.poifs.common.POIFSConstants;
import java.io.IOException;
-import java.io.UnsupportedEncodingException;
import java.util.ArrayList;
import java.util.Arrays;
-import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
/**
- * The piece table for matching up character positions
- * to bits of text.
- * This mostly works in bytes, but the TextPieces
- * themselves work in characters. This does the icky
- * convertion.
+ * The piece table for matching up character positions to bits of text. This
+ * mostly works in bytes, but the TextPieces themselves work in characters. This
+ * does the icky convertion.
+ *
* @author Ryan Ackley
*/
-public final class TextPieceTable implements CharIndexTranslator
-{
- protected ArrayList _textPieces = new ArrayList();
- //int _multiple;
- int _cpMin;
+public final class TextPieceTable implements CharIndexTranslator {
+ protected ArrayList _textPieces = new ArrayList();
+ // int _multiple;
+ int _cpMin;
- public TextPieceTable() {
- }
+ public TextPieceTable() {
+ }
- public TextPieceTable(byte[] documentStream, byte[] tableStream, int offset,
- int size, int fcMin)
- throws UnsupportedEncodingException
- {
- // get our plex of PieceDescriptors
- PlexOfCps pieceTable = new PlexOfCps(tableStream, offset, size, PieceDescriptor.getSizeInBytes());
+ public TextPieceTable(byte[] documentStream, byte[] tableStream, int offset, int size, int fcMin) {
+ // get our plex of PieceDescriptors
+ PlexOfCps pieceTable = new PlexOfCps(tableStream, offset, size, PieceDescriptor
+ .getSizeInBytes());
- int length = pieceTable.length();
- PieceDescriptor[] pieces = new PieceDescriptor[length];
+ int length = pieceTable.length();
+ PieceDescriptor[] pieces = new PieceDescriptor[length];
- // iterate through piece descriptors raw bytes and create
- // PieceDescriptor objects
- for (int x = 0; x < length; x++)
- {
- GenericPropertyNode node = pieceTable.getProperty(x);
- pieces[x] = new PieceDescriptor(node.getBytes(), 0);
- }
+ // iterate through piece descriptors raw bytes and create
+ // PieceDescriptor objects
+ for (int x = 0; x < length; x++) {
+ GenericPropertyNode node = pieceTable.getProperty(x);
+ pieces[x] = new PieceDescriptor(node.getBytes(), 0);
+ }
+ // Figure out the cp of the earliest text piece
+ // Note that text pieces don't have to be stored in order!
+ _cpMin = pieces[0].getFilePosition() - fcMin;
+ for (int x = 0; x < pieces.length; x++) {
+ int start = pieces[x].getFilePosition() - fcMin;
+ if (start < _cpMin) {
+ _cpMin = start;
+ }
+ }
- // Figure out the cp of the earliest text piece
- // Note that text pieces don't have to be stored in order!
- _cpMin = pieces[0].getFilePosition() - fcMin;
- for (int x = 0; x < pieces.length; x++) {
- int start = pieces[x].getFilePosition() - fcMin;
- if(start < _cpMin) {
- _cpMin = start;
- }
- }
+ // using the PieceDescriptors, build our list of TextPieces.
+ for (int x = 0; x < pieces.length; x++) {
+ int start = pieces[x].getFilePosition();
+ PropertyNode node = pieceTable.getProperty(x);
+ // Grab the start and end, which are in characters
+ int nodeStartChars = node.getStart();
+ int nodeEndChars = node.getEnd();
- // using the PieceDescriptors, build our list of TextPieces.
- for (int x = 0; x < pieces.length; x++)
- {
- int start = pieces[x].getFilePosition();
- PropertyNode node = pieceTable.getProperty(x);
+ // What's the relationship between bytes and characters?
+ boolean unicode = pieces[x].isUnicode();
+ int multiple = 1;
+ if (unicode) {
+ multiple = 2;
+ }
- // Grab the start and end, which are in characters
- int nodeStartChars = node.getStart();
- int nodeEndChars = node.getEnd();
+ // Figure out the length, in bytes and chars
+ int textSizeChars = (nodeEndChars - nodeStartChars);
+ int textSizeBytes = textSizeChars * multiple;
- // What's the relationship between bytes and characters?
- boolean unicode = pieces[x].isUnicode();
- int multiple = 1;
- if (unicode) {
- multiple = 2;
- }
+ // Grab the data that makes up the piece
+ byte[] buf = new byte[textSizeBytes];
+ System.arraycopy(documentStream, start, buf, 0, textSizeBytes);
- // Figure out the length, in bytes and chars
- int textSizeChars = (nodeEndChars - nodeStartChars);
- int textSizeBytes = textSizeChars * multiple;
+ // And now build the piece
+ _textPieces.add(new TextPiece(nodeStartChars, nodeEndChars, buf, pieces[x], node
+ .getStart()));
+ }
- // Grab the data that makes up the piece
- byte[] buf = new byte[textSizeBytes];
- System.arraycopy(documentStream, start, buf, 0, textSizeBytes);
+ // In the interest of our sanity, now sort the text pieces
+ // into order, if they're not already
+ TextPiece[] tp = (TextPiece[]) _textPieces.toArray(new TextPiece[_textPieces.size()]);
+ Arrays.sort(tp);
+ for (int i = 0; i < tp.length; i++) {
+ _textPieces.set(i, tp[i]);
+ }
+ }
- // And now build the piece
- _textPieces.add(new TextPiece(nodeStartChars, nodeEndChars, buf, pieces[x], node.getStart()));
- }
+ public int getCpMin() {
+ return _cpMin;
+ }
- // In the interest of our sanity, now sort the text pieces
- // into order, if they're not already
- TextPiece[] tp = (TextPiece[])
- _textPieces.toArray(new TextPiece[_textPieces.size()]);
- Arrays.sort(tp);
- for(int i=0; i= cp) {
- return tp.isUnicode();
- }
- // Otherwise keep track for the last one
- lastWas = tp.isUnicode();
- }
-
- // If they ask off the end, just go with the last one...
- return lastWas;
- }
-
- public boolean isUnicodeAtByteOffset(int bytePos) {
- boolean lastWas = false;
-
-
- Iterator it = _textPieces.iterator();
- while(it.hasNext()) {
- TextPiece tp = (TextPiece)it.next();
- int curByte = tp.getPieceDescriptor().getFilePosition();
- int pieceEnd = curByte + tp.bytesLength();
-
- // If the text piece covers the character, all good
- if(curByte <= bytePos && pieceEnd > bytePos) {
- return tp.isUnicode();
- }
- // Otherwise keep track for the last one
- lastWas = tp.isUnicode();
- // Move along
- curByte = pieceEnd;
- }
-
- // If they ask off the end, just go with the last one...
- return lastWas;
- }
-
- public byte[] writeTo(HWPFOutputStream docStream)
- throws IOException
- {
-
- PlexOfCps textPlex = new PlexOfCps(PieceDescriptor.getSizeInBytes());
- //int fcMin = docStream.getOffset();
-
- int size = _textPieces.size();
- for (int x = 0; x < size; x++)
- {
- TextPiece next = (TextPiece)_textPieces.get(x);
- PieceDescriptor pd = next.getPieceDescriptor();
-
- int offset = docStream.getOffset();
- int mod = (offset % POIFSConstants.BIG_BLOCK_SIZE);
- if (mod != 0)
- {
- mod = POIFSConstants.BIG_BLOCK_SIZE - mod;
- byte[] buf = new byte[mod];
- docStream.write(buf);
- }
-
-
- // set the text piece position to the current docStream offset.
- pd.setFilePosition(docStream.getOffset());
-
- // write the text to the docstream and save the piece descriptor to the
- // plex which will be written later to the tableStream.
- docStream.write(next.getRawBytes());
-
- // The TextPiece is already in characters, which
- // makes our life much easier
- int nodeStart = next.getStart();
- int nodeEnd = next.getEnd();
- textPlex.addProperty(new GenericPropertyNode(nodeStart, nodeEnd,
- pd.toByteArray()));
- }
-
- return textPlex.toByteArray();
-
- }
-
- /**
- * Adjust all the text piece after inserting
- * some text into one of them
- * @param listIndex The TextPiece that had characters inserted into
- * @param length The number of characters inserted
- */
- public int adjustForInsert(int listIndex, int length) {
- int size = _textPieces.size();
-
- TextPiece tp = (TextPiece)_textPieces.get(listIndex);
-
- // Update with the new end
- tp.setEnd(tp.getEnd() + length);
-
- // Now change all subsequent ones
- for (int x = listIndex + 1; x < size; x++)
- {
- tp = (TextPiece)_textPieces.get(x);
- tp.setStart(tp.getStart() + length);
- tp.setEnd(tp.getEnd() + length);
- }
-
- // All done
- return length;
- }
-
-
- public boolean equals(Object o)
- {
- TextPieceTable tpt = (TextPieceTable)o;
-
- int size = tpt._textPieces.size();
- if (size == _textPieces.size())
- {
- for (int x = 0; x < size; x++)
- {
- if (!tpt._textPieces.get(x).equals(_textPieces.get(x)))
- {
- return false;
- }
- }
- return true;
- }
- return false;
- }
- /* (non-Javadoc)
- * @see org.apache.poi.hwpf.model.CharIndexTranslator#getLengthInChars(int)
+ /**
+ * Is the text at the given Character offset unicode, or plain old ascii? In
+ * a very evil fashion, you have to actually know this to make sense of
+ * character and paragraph properties :(
+ *
+ * @param cp
+ * The character offset to check about
*/
+ public boolean isUnicodeAtCharOffset(int cp) {
+ boolean lastWas = false;
+
+ Iterator it = _textPieces.iterator();
+ while (it.hasNext()) {
+ TextPiece tp = (TextPiece) it.next();
+ // If the text piece covers the character, all good
+ if (tp.getStart() <= cp && tp.getEnd() >= cp) {
+ return tp.isUnicode();
+ }
+ // Otherwise keep track for the last one
+ lastWas = tp.isUnicode();
+ }
+
+ // If they ask off the end, just go with the last one...
+ return lastWas;
+ }
+
+ public boolean isUnicodeAtByteOffset(int bytePos) {
+ boolean lastWas = false;
+
+ Iterator it = _textPieces.iterator();
+ while (it.hasNext()) {
+ TextPiece tp = (TextPiece) it.next();
+ int curByte = tp.getPieceDescriptor().getFilePosition();
+ int pieceEnd = curByte + tp.bytesLength();
+
+ // If the text piece covers the character, all good
+ if (curByte <= bytePos && pieceEnd > bytePos) {
+ return tp.isUnicode();
+ }
+ // Otherwise keep track for the last one
+ lastWas = tp.isUnicode();
+ // Move along
+ curByte = pieceEnd;
+ }
+
+ // If they ask off the end, just go with the last one...
+ return lastWas;
+ }
+
+ public byte[] writeTo(HWPFOutputStream docStream) throws IOException {
+
+ PlexOfCps textPlex = new PlexOfCps(PieceDescriptor.getSizeInBytes());
+ // int fcMin = docStream.getOffset();
+
+ int size = _textPieces.size();
+ for (int x = 0; x < size; x++) {
+ TextPiece next = (TextPiece) _textPieces.get(x);
+ PieceDescriptor pd = next.getPieceDescriptor();
+
+ int offset = docStream.getOffset();
+ int mod = (offset % POIFSConstants.BIG_BLOCK_SIZE);
+ if (mod != 0) {
+ mod = POIFSConstants.BIG_BLOCK_SIZE - mod;
+ byte[] buf = new byte[mod];
+ docStream.write(buf);
+ }
+
+ // set the text piece position to the current docStream offset.
+ pd.setFilePosition(docStream.getOffset());
+
+ // write the text to the docstream and save the piece descriptor to
+ // the
+ // plex which will be written later to the tableStream.
+ docStream.write(next.getRawBytes());
+
+ // The TextPiece is already in characters, which
+ // makes our life much easier
+ int nodeStart = next.getStart();
+ int nodeEnd = next.getEnd();
+ textPlex.addProperty(new GenericPropertyNode(nodeStart, nodeEnd, pd.toByteArray()));
+ }
+
+ return textPlex.toByteArray();
+
+ }
+
+ /**
+ * Adjust all the text piece after inserting some text into one of them
+ *
+ * @param listIndex
+ * The TextPiece that had characters inserted into
+ * @param length
+ * The number of characters inserted
+ */
+ public int adjustForInsert(int listIndex, int length) {
+ int size = _textPieces.size();
+
+ TextPiece tp = (TextPiece) _textPieces.get(listIndex);
+
+ // Update with the new end
+ tp.setEnd(tp.getEnd() + length);
+
+ // Now change all subsequent ones
+ for (int x = listIndex + 1; x < size; x++) {
+ tp = (TextPiece) _textPieces.get(x);
+ tp.setStart(tp.getStart() + length);
+ tp.setEnd(tp.getEnd() + length);
+ }
+
+ // All done
+ return length;
+ }
+
+ public boolean equals(Object o) {
+ TextPieceTable tpt = (TextPieceTable) o;
+
+ int size = tpt._textPieces.size();
+ if (size == _textPieces.size()) {
+ for (int x = 0; x < size; x++) {
+ if (!tpt._textPieces.get(x).equals(_textPieces.get(x))) {
+ return false;
+ }
+ }
+ return true;
+ }
+ return false;
+ }
+
public int getCharIndex(int bytePos) {
int charCount = 0;
@@ -272,15 +247,14 @@ public final class TextPieceTable implements CharIndexTranslator
while (it.hasNext()) {
TextPiece tp = (TextPiece) it.next();
int pieceStart = tp.getPieceDescriptor().getFilePosition();
- if(pieceStart >= bytePos) {
+ if (pieceStart >= bytePos) {
break;
}
-
+
int bytesLength = tp.bytesLength();
int pieceEnd = pieceStart + bytesLength;
- int toAdd = bytePos > pieceEnd ? bytesLength : bytesLength
- - (pieceEnd - bytePos);
+ int toAdd = bytePos > pieceEnd ? bytesLength : bytesLength - (pieceEnd - bytePos);
if (tp.isUnicode()) {
charCount += toAdd / 2;
@@ -291,5 +265,5 @@ public final class TextPieceTable implements CharIndexTranslator
return charCount;
}
-
+
}
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/types/CHPAbstractType.java b/src/scratchpad/src/org/apache/poi/hwpf/model/types/CHPAbstractType.java
index fad6c7e46..de5896ea4 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/types/CHPAbstractType.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/types/CHPAbstractType.java
@@ -19,13 +19,12 @@ package org.apache.poi.hwpf.model.types;
+import org.apache.poi.hdf.model.hdftypes.HDFType;
+import org.apache.poi.hwpf.usermodel.BorderCode;
+import org.apache.poi.hwpf.usermodel.DateAndTime;
+import org.apache.poi.hwpf.usermodel.ShadingDescriptor;
import org.apache.poi.util.BitField;
import org.apache.poi.util.BitFieldFactory;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
-import org.apache.poi.util.HexDump;
-import org.apache.poi.hdf.model.hdftypes.HDFType;
-import org.apache.poi.hwpf.usermodel.*;
/**
* Character Properties.
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/types/DOPAbstractType.java b/src/scratchpad/src/org/apache/poi/hwpf/model/types/DOPAbstractType.java
index 9f7b04c95..d7530196a 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/types/DOPAbstractType.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/types/DOPAbstractType.java
@@ -18,25 +18,19 @@
package org.apache.poi.hwpf.model.types;
-
+import org.apache.poi.hdf.model.hdftypes.HDFType;
import org.apache.poi.util.BitField;
import org.apache.poi.util.BitFieldFactory;
import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
-import org.apache.poi.util.HexDump;
-import org.apache.poi.hdf.model.hdftypes.HDFType;
-import org.apache.poi.hwpf.usermodel.*;
/**
* Document Properties.
* NOTE: This source is automatically generated please do not modify this file. Either subclass or
* remove the record in src/records/definitions.
-
+ *
* @author S. Ryan Ackley
*/
-public abstract class DOPAbstractType
- implements HDFType
-{
+public abstract class DOPAbstractType implements HDFType {
protected byte field_1_formatFlags;
private static BitField fFacingPages = BitFieldFactory.getInstance(0x01);
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/types/FIBAbstractType.java b/src/scratchpad/src/org/apache/poi/hwpf/model/types/FIBAbstractType.java
index 554d342ac..eebde4826 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/types/FIBAbstractType.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/types/FIBAbstractType.java
@@ -18,25 +18,19 @@
package org.apache.poi.hwpf.model.types;
-
+import org.apache.poi.hdf.model.hdftypes.HDFType;
import org.apache.poi.util.BitField;
import org.apache.poi.util.BitFieldFactory;
import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
-import org.apache.poi.util.HexDump;
-import org.apache.poi.hdf.model.hdftypes.HDFType;
-import org.apache.poi.hwpf.usermodel.*;
/**
* Base part of the File information Block (FibBase). Holds the core part of the FIB, from the first 32 bytes.
* NOTE: This source is automatically generated please do not modify this file. Either subclass or
* remove the record in src/records/definitions.
-
+ *
* @author Andrew C. Oliver
*/
-public abstract class FIBAbstractType
- implements HDFType
-{
+public abstract class FIBAbstractType implements HDFType {
protected int field_1_wIdent;
protected int field_2_nFib;
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/types/PAPAbstractType.java b/src/scratchpad/src/org/apache/poi/hwpf/model/types/PAPAbstractType.java
index 70460caac..158edb34e 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/types/PAPAbstractType.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/types/PAPAbstractType.java
@@ -18,25 +18,19 @@
package org.apache.poi.hwpf.model.types;
-
-import org.apache.poi.util.BitField;
-import org.apache.poi.util.BitFieldFactory;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
-import org.apache.poi.util.HexDump;
import org.apache.poi.hdf.model.hdftypes.HDFType;
import org.apache.poi.hwpf.usermodel.*;
+import org.apache.poi.util.BitField;
+import org.apache.poi.util.BitFieldFactory;
/**
* Paragraph Properties.
* NOTE: This source is automatically generated please do not modify this file. Either subclass or
* remove the record in src/records/definitions.
-
+ *
* @author S. Ryan Ackley
*/
-public abstract class PAPAbstractType
- implements HDFType
-{
+public abstract class PAPAbstractType implements HDFType {
protected int field_1_istd;
protected byte field_2_jc;
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/types/SEPAbstractType.java b/src/scratchpad/src/org/apache/poi/hwpf/model/types/SEPAbstractType.java
index d1548f73b..b1856cd5c 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/types/SEPAbstractType.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/types/SEPAbstractType.java
@@ -18,24 +18,18 @@
package org.apache.poi.hwpf.model.types;
-
-import org.apache.poi.util.BitField;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
-import org.apache.poi.util.HexDump;
import org.apache.poi.hdf.model.hdftypes.HDFType;
-import org.apache.poi.hwpf.usermodel.*;
+import org.apache.poi.hwpf.usermodel.BorderCode;
+import org.apache.poi.hwpf.usermodel.DateAndTime;
/**
* Section Properties.
* NOTE: This source is automatically generated please do not modify this file. Either subclass or
* remove the record in src/records/definitions.
-
+ *
* @author S. Ryan Ackley
*/
-public abstract class SEPAbstractType
- implements HDFType
-{
+public abstract class SEPAbstractType implements HDFType {
protected byte field_1_bkc;
protected boolean field_2_fTitlePage;
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/types/TAPAbstractType.java b/src/scratchpad/src/org/apache/poi/hwpf/model/types/TAPAbstractType.java
index f1de3e114..2230b4816 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/types/TAPAbstractType.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/types/TAPAbstractType.java
@@ -18,24 +18,19 @@
package org.apache.poi.hwpf.model.types;
-
-import org.apache.poi.util.BitField;
-import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
-import org.apache.poi.util.HexDump;
import org.apache.poi.hdf.model.hdftypes.HDFType;
-import org.apache.poi.hwpf.usermodel.*;
+import org.apache.poi.hwpf.usermodel.BorderCode;
+import org.apache.poi.hwpf.usermodel.ShadingDescriptor;
+import org.apache.poi.hwpf.usermodel.TableCellDescriptor;
/**
* Table Properties.
* NOTE: This source is automatically generated please do not modify this file. Either subclass or
* remove the record in src/records/definitions.
-
+ *
* @author S. Ryan Ackley
*/
-public abstract class TAPAbstractType
- implements HDFType
-{
+public abstract class TAPAbstractType implements HDFType {
protected int field_1_jc;
protected int field_2_dxaGapHalf;
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/model/types/TCAbstractType.java b/src/scratchpad/src/org/apache/poi/hwpf/model/types/TCAbstractType.java
index e7b97ee4f..d5a993566 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/model/types/TCAbstractType.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/model/types/TCAbstractType.java
@@ -18,12 +18,9 @@
package org.apache.poi.hwpf.model.types;
-
import org.apache.poi.util.BitField;
import org.apache.poi.util.BitFieldFactory;
import org.apache.poi.util.LittleEndian;
-import org.apache.poi.util.StringUtil;
-import org.apache.poi.util.HexDump;
import org.apache.poi.hdf.model.hdftypes.HDFType;
import org.apache.poi.hwpf.usermodel.*;
@@ -34,9 +31,7 @@ import org.apache.poi.hwpf.usermodel.*;
* @author S. Ryan Ackley
*/
-public abstract class TCAbstractType
- implements HDFType
-{
+public abstract class TCAbstractType implements HDFType {
protected short field_1_rgf;
private static BitField fFirstMerged = BitFieldFactory.getInstance(0x0001);
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmCompressor.java b/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmCompressor.java
index 2938df8ab..9f65d0d48 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmCompressor.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmCompressor.java
@@ -18,8 +18,6 @@
package org.apache.poi.hwpf.sprm;
import java.util.ArrayList;
-import java.util.List;
-import java.util.Arrays;
import org.apache.poi.hwpf.usermodel.CharacterProperties;
import org.apache.poi.util.LittleEndian;
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java b/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java
index aa9892096..7dabf810f 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/sprm/CharacterSprmUncompressor.java
@@ -21,7 +21,6 @@ import org.apache.poi.hwpf.usermodel.CharacterProperties;
import org.apache.poi.hwpf.usermodel.DateAndTime;
import org.apache.poi.hwpf.usermodel.BorderCode;
import org.apache.poi.hwpf.usermodel.ShadingDescriptor;
-import org.apache.poi.hwpf.model.StyleSheet;
import org.apache.poi.util.LittleEndian;
public final class CharacterSprmUncompressor
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/sprm/ParagraphSprmCompressor.java b/src/scratchpad/src/org/apache/poi/hwpf/sprm/ParagraphSprmCompressor.java
index c3e48d522..67af3ecca 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/sprm/ParagraphSprmCompressor.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/sprm/ParagraphSprmCompressor.java
@@ -34,7 +34,7 @@ public final class ParagraphSprmCompressor
public static byte[] compressParagraphProperty(ParagraphProperties newPAP,
ParagraphProperties oldPAP)
{
- ArrayList sprmList = new ArrayList();
+ List sprmList = new ArrayList();
int size = 0;
if (newPAP.getJc() != oldPAP.getJc())
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/sprm/ParagraphSprmUncompressor.java b/src/scratchpad/src/org/apache/poi/hwpf/sprm/ParagraphSprmUncompressor.java
index 235f435c2..e8de893a2 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/sprm/ParagraphSprmUncompressor.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/sprm/ParagraphSprmUncompressor.java
@@ -26,7 +26,6 @@ import org.apache.poi.hwpf.usermodel.DropCapSpecifier;
import org.apache.poi.util.LittleEndian;
import java.util.HashMap;
-import java.util.Set;
import java.util.Iterator;
import java.util.Collections;
import java.util.ArrayList;
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/sprm/SectionSprmCompressor.java b/src/scratchpad/src/org/apache/poi/hwpf/sprm/SectionSprmCompressor.java
index ad47cdfdc..aa7502a41 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/sprm/SectionSprmCompressor.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/sprm/SectionSprmCompressor.java
@@ -17,229 +17,9 @@
package org.apache.poi.hwpf.sprm;
-//
-//import java.util.ArrayList;
-//import java.util.Arrays;
-//
-//import org.apache.poi.hwpf.model.types.SEPAbstractType;
-//import org.apache.poi.hwpf.usermodel.SectionProperties;
-//import org.apache.poi.util.LittleEndian;
-//
-//
-//public class SectionSprmCompressor
-//{
-// private final static SectionProperties DEFAULT_SEP = new SectionProperties();
-// public SectionSprmCompressor()
-// {
-// }
-// public static byte[] compressSectionProperty(SectionProperties newSEP,
-// SectionProperties oldSEP)
-// {
-// int size = 0;
-// ArrayList sprmList = new ArrayList();
-//
-// if (newSEP.getCnsPgn() != DEFAULT_SEP.getCnsPgn())
-// {
-// size += SprmUtils.addSprm((short)0x3000, newSEP.getCnsPgn(), null, sprmList);
-// }
-// if (newSEP.getIHeadingPgn() != DEFAULT_SEP.getIHeadingPgn())
-// {
-// size += SprmUtils.addSprm((short)0x3001, newSEP.getIHeadingPgn(), null, sprmList);
-// }
-// if (!Arrays.equals(newSEP.getOlstAnm(), DEFAULT_SEP.getOlstAnm()))
-// {
-// size += SprmUtils.addSprm((short)0xD202, 0, newSEP.getOlstAnm(), sprmList);
-// }
-// if (newSEP.getFEvenlySpaced() != DEFAULT_SEP.getFEvenlySpaced())
-// {
-// size += SprmUtils.addSprm((short)0x3005, newSEP.getFEvenlySpaced() ? 1 : 0, null, sprmList);
-// }
-// if (newSEP.getFUnlocked() != DEFAULT_SEP.getFUnlocked())
-// {
-// size += SprmUtils.addSprm((short)0x3006, newSEP.getFUnlocked() ? 1 :0, null, sprmList);
-// }
-// if (newSEP.getDmBinFirst() != DEFAULT_SEP.getDmBinFirst())
-// {
-// size += SprmUtils.addSprm((short)0x5007, newSEP.getDmBinFirst(), null, sprmList);
-// }
-// if (newSEP.getDmBinOther() != DEFAULT_SEP.getDmBinOther())
-// {
-// size += SprmUtils.addSprm((short)0x5008, newSEP.getDmBinOther(), null, sprmList);
-// }
-// if (newSEP.getBkc() != DEFAULT_SEP.getBkc())
-// {
-// size += SprmUtils.addSprm((short)0x3009, newSEP.getBkc(), null, sprmList);
-// }
-// if (newSEP.getFTitlePage() != DEFAULT_SEP.getFTitlePage())
-// {
-// size += SprmUtils.addSprm((short)0x300A, newSEP.getFTitlePage() ? 1 : 0, null, sprmList);
-// }
-// if (newSEP.getCcolM1() != DEFAULT_SEP.getCcolM1())
-// {
-// size += SprmUtils.addSprm((short)0x500B, newSEP.getCcolM1(), null, sprmList);
-// }
-// if (newSEP.getDxaColumns() != DEFAULT_SEP.getDxaColumns())
-// {
-// size += SprmUtils.addSprm((short)0x900C, newSEP.getDxaColumns(), null, sprmList);
-// }
-// if (newSEP.getFAutoPgn() != DEFAULT_SEP.getFAutoPgn())
-// {
-// size += SprmUtils.addSprm((short)0x300D, newSEP.getFAutoPgn() ? 1 : 0, null, sprmList);
-// }
-// if (newSEP.getNfcPgn() != DEFAULT_SEP.getNfcPgn())
-// {
-// size += SprmUtils.addSprm((short)0x300E, newSEP.getNfcPgn(), null, sprmList);
-// }
-// if (newSEP.getDyaPgn() != DEFAULT_SEP.getDyaPgn())
-// {
-// size += SprmUtils.addSprm((short)0xB00F, newSEP.getDyaPgn(), null, sprmList);
-// }
-// if (newSEP.getDxaPgn() != DEFAULT_SEP.getDxaPgn())
-// {
-// size += SprmUtils.addSprm((short)0xB010, newSEP.getDxaPgn(), null, sprmList);
-// }
-// if (newSEP.getFPgnRestart() != DEFAULT_SEP.getFPgnRestart())
-// {
-// size += SprmUtils.addSprm((short)0x3011, newSEP.getFPgnRestart() ? 1 : 0, null, sprmList);
-// }
-// if (newSEP.getFEndNote() != DEFAULT_SEP.getFEndNote())
-// {
-// size += SprmUtils.addSprm((short)0x3012, newSEP.getFEndNote() ? 1 : 0, null, sprmList);
-// }
-// if (newSEP.getLnc() != DEFAULT_SEP.getLnc())
-// {
-// size += SprmUtils.addSprm((short)0x3013, newSEP.getLnc(), null, sprmList);
-// }
-// if (newSEP.getGrpfIhdt() != DEFAULT_SEP.getGrpfIhdt())
-// {
-// size += SprmUtils.addSprm((short)0x3014, newSEP.getGrpfIhdt(), null, sprmList);
-// }
-// if (newSEP.getNLnnMod() != DEFAULT_SEP.getNLnnMod())
-// {
-// size += SprmUtils.addSprm((short)0x5015, newSEP.getNLnnMod(), null, sprmList);
-// }
-// if (newSEP.getDxaLnn() != DEFAULT_SEP.getDxaLnn())
-// {
-// size += SprmUtils.addSprm((short)0x9016, newSEP.getDxaLnn(), null, sprmList);
-// }
-// if (newSEP.getDyaHdrTop() != DEFAULT_SEP.getDyaHdrTop())
-// {
-// size += SprmUtils.addSprm((short)0xB017, newSEP.getDyaHdrTop(), null, sprmList);
-// }
-// if (newSEP.getDyaHdrBottom() != DEFAULT_SEP.getDyaHdrBottom())
-// {
-// size += SprmUtils.addSprm((short)0xB018, newSEP.getDyaHdrBottom(), null, sprmList);
-// }
-// if (newSEP.getFLBetween() != DEFAULT_SEP.getFLBetween())
-// {
-// size += SprmUtils.addSprm((short)0x3019, newSEP.getFLBetween() ? 1 : 0, null, sprmList);
-// }
-// if (newSEP.getVjc() != DEFAULT_SEP.getVjc())
-// {
-// size += SprmUtils.addSprm((short)0x301A, newSEP.getVjc(), null, sprmList);
-// }
-// if (newSEP.getLnnMin() != DEFAULT_SEP.getLnnMin())
-// {
-// size += SprmUtils.addSprm((short)0x501B, newSEP.getLnnMin(), null, sprmList);
-// }
-// if (newSEP.getPgnStart() != DEFAULT_SEP.getPgnStart())
-// {
-// size += SprmUtils.addSprm((short)0x501C, newSEP.getPgnStart(), null, sprmList);
-// }
-// if (newSEP.getDmOrientPage() != DEFAULT_SEP.getDmOrientPage())
-// {
-// size += SprmUtils.addSprm((short)0x301D, newSEP.getDmOrientPage(), null, sprmList);
-// }
-// if (newSEP.getXaPage() != DEFAULT_SEP.getXaPage())
-// {
-// size += SprmUtils.addSprm((short)0xB01F, newSEP.getXaPage(), null, sprmList);
-// }
-// if (newSEP.getYaPage() != DEFAULT_SEP.getYaPage())
-// {
-// size += SprmUtils.addSprm((short)0xB020, newSEP.getYaPage(), null, sprmList);
-// }
-// if (newSEP.getDxaLeft() != DEFAULT_SEP.getDxaLeft())
-// {
-// size += SprmUtils.addSprm((short)0xB021, newSEP.getDxaLeft(), null, sprmList);
-// }
-// if (newSEP.getDxaRight() != DEFAULT_SEP.getDxaRight())
-// {
-// size += SprmUtils.addSprm((short)0xB022, newSEP.getDxaRight(), null, sprmList);
-// }
-// if (newSEP.getDyaTop() != DEFAULT_SEP.getDyaTop())
-// {
-// size += SprmUtils.addSprm((short)0x9023, newSEP.getDyaTop(), null, sprmList);
-// }
-// if (newSEP.getDyaBottom() != DEFAULT_SEP.getDyaBottom())
-// {
-// size += SprmUtils.addSprm((short)0x9024, newSEP.getDyaBottom(), null, sprmList);
-// }
-// if (newSEP.getDzaGutter() != DEFAULT_SEP.getDzaGutter())
-// {
-// size += SprmUtils.addSprm((short)0xB025, newSEP.getDzaGutter(), null, sprmList);
-// }
-// if (newSEP.getDmPaperReq() != DEFAULT_SEP.getDmPaperReq())
-// {
-// size += SprmUtils.addSprm((short)0x5026, newSEP.getDmPaperReq(), null, sprmList);
-// }
-// if (newSEP.getFPropMark() != DEFAULT_SEP.getFPropMark() ||
-// newSEP.getIbstPropRMark() != DEFAULT_SEP.getIbstPropRMark() ||
-// newSEP.getDttmPropRMark() != DEFAULT_SEP.getDttmPropRMark())
-// {
-// byte[] buf = new byte[7];
-// buf[0] = (byte)(newSEP.getFPropMark() ? 1 : 0);
-// int offset = LittleEndian.BYTE_SIZE;
-// LittleEndian.putShort(buf, (short)newSEP.getIbstPropRMark());
-// offset += LittleEndian.SHORT_SIZE;
-// LittleEndian.putInt(buf, newSEP.getDttmPropRMark());
-// size += SprmUtils.addSprm((short)0xD227, -1, buf, sprmList);
-// }
-// if (!Arrays.equals(newSEP.getBrcTop(), DEFAULT_SEP.getBrcTop()))
-// {
-// size += SprmUtils.addSprm((short)0x702B, SprmUtils.convertBrcToInt(newSEP.getBrcTop()), null, sprmList);
-// }
-// if (!Arrays.equals(newSEP.getBrcLeft(), DEFAULT_SEP.getBrcLeft()))
-// {
-// size += SprmUtils.addSprm((short)0x702C, SprmUtils.convertBrcToInt(newSEP.getBrcLeft()), null, sprmList);
-// }
-// if (!Arrays.equals(newSEP.getBrcBottom(), DEFAULT_SEP.getBrcBottom()))
-// {
-// size += SprmUtils.addSprm((short)0x702D, SprmUtils.convertBrcToInt(newSEP.getBrcBottom()), null, sprmList);
-// }
-// if (!Arrays.equals(newSEP.getBrcRight(), DEFAULT_SEP.getBrcRight()))
-// {
-// size += SprmUtils.addSprm((short)0x702E, SprmUtils.convertBrcToInt(newSEP.getBrcRight()), null, sprmList);
-// }
-// if (newSEP.getPgbProp() != DEFAULT_SEP.getPgbProp())
-// {
-// size += SprmUtils.addSprm((short)0x522F, newSEP.getPgbProp(), null, sprmList);
-// }
-// if (newSEP.getDxtCharSpace() != DEFAULT_SEP.getDxtCharSpace())
-// {
-// size += SprmUtils.addSprm((short)0x7030, newSEP.getDxtCharSpace(), null, sprmList);
-// }
-// if (newSEP.getDyaLinePitch() != DEFAULT_SEP.getDyaLinePitch())
-// {
-// size += SprmUtils.addSprm((short)0x9031, newSEP.getDyaLinePitch(), null, sprmList);
-// }
-// if (newSEP.getClm() != DEFAULT_SEP.getClm())
-// {
-// size += SprmUtils.addSprm((short)0x5032, newSEP.getClm(), null, sprmList);
-// }
-// if (newSEP.getWTextFlow() != DEFAULT_SEP.getWTextFlow())
-// {
-// size += SprmUtils.addSprm((short)0x5033, newSEP.getWTextFlow(), null, sprmList);
-// }
-//
-// return SprmUtils.getGrpprl(sprmList, size);
-// }
-//}
-
-
import java.util.ArrayList;
import java.util.Arrays;
-import org.apache.poi.hwpf.model.types.SEPAbstractType;
import org.apache.poi.hwpf.usermodel.SectionProperties;
import org.apache.poi.util.LittleEndian;
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/sprm/TableSprmCompressor.java b/src/scratchpad/src/org/apache/poi/hwpf/sprm/TableSprmCompressor.java
index 13580fa09..65af98fae 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/sprm/TableSprmCompressor.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/sprm/TableSprmCompressor.java
@@ -20,7 +20,6 @@ package org.apache.poi.hwpf.sprm;
import org.apache.poi.hwpf.usermodel.TableProperties;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.hwpf.usermodel.TableCellDescriptor;
-import org.apache.poi.hwpf.usermodel.ShadingDescriptor;
import org.apache.poi.hwpf.usermodel.BorderCode;
import java.util.ArrayList;
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/usermodel/BorderCode.java b/src/scratchpad/src/org/apache/poi/hwpf/usermodel/BorderCode.java
index ff5191e78..52747c17e 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/usermodel/BorderCode.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/usermodel/BorderCode.java
@@ -17,13 +17,9 @@
package org.apache.poi.hwpf.usermodel;
-import org.apache.poi.util.BitField;
-import org.apache.poi.util.BitFieldFactory;
import org.apache.poi.util.LittleEndian;
-public final class BorderCode
- implements Cloneable
-{
+public final class BorderCode implements Cloneable {
public static final int SIZE = 4;
private short _info;
private short _info2;
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/usermodel/HWPFList.java b/src/scratchpad/src/org/apache/poi/hwpf/usermodel/HWPFList.java
index 91c993fd7..a9a95c6b4 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/usermodel/HWPFList.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/usermodel/HWPFList.java
@@ -17,8 +17,6 @@
package org.apache.poi.hwpf.usermodel;
-import org.apache.poi.hwpf.HWPFDocument;
-import org.apache.poi.hwpf.model.ListTables;
import org.apache.poi.hwpf.model.ListLevel;
import org.apache.poi.hwpf.model.ListData;
import org.apache.poi.hwpf.model.ListFormatOverride;
@@ -43,8 +41,7 @@ import org.apache.poi.hwpf.sprm.ParagraphSprmCompressor;
*
* @author Ryan Ackley
*/
-public final class HWPFList
-{
+public final class HWPFList {
private ListData _listData;
private ListFormatOverride _override;
private boolean _registered;
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/usermodel/ParagraphProperties.java b/src/scratchpad/src/org/apache/poi/hwpf/usermodel/ParagraphProperties.java
index 167d0837d..8944eb060 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/usermodel/ParagraphProperties.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/usermodel/ParagraphProperties.java
@@ -18,14 +18,8 @@
package org.apache.poi.hwpf.usermodel;
import org.apache.poi.hwpf.model.types.PAPAbstractType;
-import org.apache.poi.hwpf.model.StyleDescription;
-import org.apache.poi.hwpf.sprm.SprmBuffer;
-
-public final class ParagraphProperties
- extends PAPAbstractType
- implements Cloneable
-{
+public final class ParagraphProperties extends PAPAbstractType implements Cloneable {
public ParagraphProperties()
{
@@ -313,14 +307,14 @@ public final class ParagraphProperties
{
ParagraphProperties pp = (ParagraphProperties)super.clone();
pp.field_21_lspd = (LineSpacingDescriptor)field_21_lspd.clone();
- pp.field_24_phe = (byte[])field_24_phe.clone();
+ pp.field_24_phe = field_24_phe.clone();
pp.field_46_brcTop = (BorderCode)field_46_brcTop.clone();
pp.field_47_brcLeft = (BorderCode)field_47_brcLeft.clone();
pp.field_48_brcBottom = (BorderCode)field_48_brcBottom.clone();
pp.field_49_brcRight = (BorderCode)field_49_brcRight.clone();
pp.field_50_brcBetween = (BorderCode)field_50_brcBetween.clone();
pp.field_51_brcBar = (BorderCode)field_51_brcBar.clone();
- pp.field_60_anld = (byte[])field_60_anld.clone();
+ pp.field_60_anld = field_60_anld.clone();
return pp;
}
diff --git a/src/scratchpad/src/org/apache/poi/hwpf/usermodel/TableIterator.java b/src/scratchpad/src/org/apache/poi/hwpf/usermodel/TableIterator.java
index f19a34035..9f2e208e7 100644
--- a/src/scratchpad/src/org/apache/poi/hwpf/usermodel/TableIterator.java
+++ b/src/scratchpad/src/org/apache/poi/hwpf/usermodel/TableIterator.java
@@ -18,8 +18,6 @@
package org.apache.poi.hwpf.usermodel;
-import java.util.ArrayList;
-
public final class TableIterator
{
Range _range;
@@ -56,7 +54,6 @@ public final class TableIterator
public Table next()
{
int numParagraphs = _range.numParagraphs();
- int numRows = 0;
int startIndex = _index;
int endIndex = _index;
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/TestEncryptedFile.java b/src/scratchpad/testcases/org/apache/poi/hslf/TestEncryptedFile.java
index 6daeab1b2..892cb8138 100644
--- a/src/scratchpad/testcases/org/apache/poi/hslf/TestEncryptedFile.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/TestEncryptedFile.java
@@ -21,7 +21,6 @@ package org.apache.poi.hslf;
import junit.framework.TestCase;
import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
-import org.apache.poi.hslf.record.*;
/**
* Tests that HSLFSlideShow does the right thing with an encrypted file
@@ -39,41 +38,41 @@ public final class TestEncryptedFile extends TestCase {
private String ss_56_e;
- public TestEncryptedFile() throws Exception {
+ public TestEncryptedFile() {
String dirname = System.getProperty("HSLF.testdata.path");
ss_ne = dirname + "/basic_test_ppt_file.ppt";
ss_e = dirname + "/Password_Protected-hello.ppt";
ss_np_e = dirname + "/Password_Protected-np-hello.ppt";
ss_56_e = dirname + "/Password_Protected-56-hello.ppt";
- }
+ }
- public void testLoadNonEncrypted() throws Exception {
- HSLFSlideShow hss = new HSLFSlideShow(ss_ne);
+ public void testLoadNonEncrypted() throws Exception {
+ HSLFSlideShow hss = new HSLFSlideShow(ss_ne);
- assertNotNull(hss);
- }
+ assertNotNull(hss);
+ }
- public void testLoadEncrypted() throws Exception {
- try {
- new HSLFSlideShow(ss_e);
- fail();
- } catch(EncryptedPowerPointFileException e) {
- // Good
- }
+ public void testLoadEncrypted() throws Exception {
+ try {
+ new HSLFSlideShow(ss_e);
+ fail();
+ } catch(EncryptedPowerPointFileException e) {
+ // Good
+ }
- try {
- new HSLFSlideShow(ss_np_e);
- fail();
- } catch(EncryptedPowerPointFileException e) {
- // Good
- }
+ try {
+ new HSLFSlideShow(ss_np_e);
+ fail();
+ } catch(EncryptedPowerPointFileException e) {
+ // Good
+ }
- try {
- new HSLFSlideShow(ss_56_e);
- fail();
- } catch(EncryptedPowerPointFileException e) {
- // Good
- }
- }
+ try {
+ new HSLFSlideShow(ss_56_e);
+ fail();
+ } catch(EncryptedPowerPointFileException e) {
+ // Good
+ }
+ }
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java
index 77a58844d..73e31e575 100755
--- a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestFreeform.java
@@ -17,19 +17,12 @@
package org.apache.poi.hslf.model;
-import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.usermodel.RichTextRun;
-import org.apache.poi.hslf.HSLFSlideShow;
+import java.awt.geom.Area;
+import java.awt.geom.GeneralPath;
+import java.awt.geom.Line2D;
+import java.awt.geom.Rectangle2D;
-import java.awt.*;
-import java.awt.Rectangle;
-import java.awt.geom.*;
-import java.io.ByteArrayOutputStream;
-import java.io.ByteArrayInputStream;
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
+import junit.framework.TestCase;
/**
* Test Freeform object.
@@ -41,7 +34,7 @@ import java.util.ArrayList;
*/
public final class TestFreeform extends TestCase {
- public void testClosedPath() throws Exception {
+ public void testClosedPath() {
GeneralPath path1 = new GeneralPath();
path1.moveTo(100, 100);
@@ -57,7 +50,7 @@ public final class TestFreeform extends TestCase {
assertTrue(new Area(path1).equals(new Area(path2)));
}
- public void testLine() throws Exception {
+ public void testLine() {
GeneralPath path1 = new GeneralPath(new Line2D.Double(100, 100, 200, 100));
@@ -68,7 +61,7 @@ public final class TestFreeform extends TestCase {
assertTrue(new Area(path1).equals(new Area(path2)));
}
- public void testRectangle() throws Exception {
+ public void testRectangle() {
GeneralPath path1 = new GeneralPath(new Rectangle2D.Double(100, 100, 200, 50));
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestImagePainter.java b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestImagePainter.java
index b230679bd..9de8cad43 100755
--- a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestImagePainter.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestImagePainter.java
@@ -17,18 +17,13 @@
package org.apache.poi.hslf.model;
-import junit.framework.*;
+import java.awt.Graphics2D;
-import java.io.FileOutputStream;
-import java.io.File;
-import java.awt.*;
+import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.usermodel.PictureData;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.blip.ImagePainter;
import org.apache.poi.hslf.blip.BitmapPainter;
-import org.apache.poi.ddf.EscherBSERecord;
+import org.apache.poi.hslf.blip.ImagePainter;
+import org.apache.poi.hslf.usermodel.PictureData;
/**
* Test Picture shape.
@@ -37,22 +32,23 @@ import org.apache.poi.ddf.EscherBSERecord;
*/
public final class TestImagePainter extends TestCase {
- private static class CustomImagePainer implements ImagePainter{
+ private static class CustomImagePainter implements ImagePainter {
+ public CustomImagePainter() {
+ // no fields to initialise
+ }
public void paint(Graphics2D graphics, PictureData pict, Picture parent){
//do noting
}
-
}
- public void testImagePainter() throws Exception {
+ public void testImagePainter() {
ImagePainter pntr = PictureData.getImagePainter(Picture.PNG);
assertTrue(PictureData.getImagePainter(Picture.PNG) instanceof BitmapPainter);
assertTrue(PictureData.getImagePainter(Picture.JPEG) instanceof BitmapPainter);
assertTrue(PictureData.getImagePainter(Picture.DIB) instanceof BitmapPainter);
- PictureData.setImagePainter(Picture.WMF, new CustomImagePainer());
- assertTrue(PictureData.getImagePainter(Picture.WMF) instanceof CustomImagePainer);
+ PictureData.setImagePainter(Picture.WMF, new CustomImagePainter());
+ assertTrue(PictureData.getImagePainter(Picture.WMF) instanceof CustomImagePainter);
}
-
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestLine.java b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestLine.java
index 7e7c5d3b3..735fa3046 100644
--- a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestLine.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestLine.java
@@ -17,13 +17,11 @@
package org.apache.poi.hslf.model;
-import junit.framework.*;
+import java.awt.Color;
-import java.io.FileOutputStream;
-import java.awt.*;
+import junit.framework.TestCase;
import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.HSLFSlideShow;
/**
* Test Line shape.
@@ -32,11 +30,7 @@ import org.apache.poi.hslf.HSLFSlideShow;
*/
public final class TestLine extends TestCase {
- public void setUp() throws Exception {
-
- }
-
- public void testCreateLines() throws Exception {
+ public void testCreateLines() {
SlideShow ppt = new SlideShow();
Slide slide = ppt.createSlide();
@@ -129,7 +123,5 @@ public final class TestLine extends TestCase {
line.setLineStyle(Line.LINE_DOUBLE);
line.setLineWidth(8.0);
slide.addShape(line);
-
}
-
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestMovieShape.java b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestMovieShape.java
index 8555bce98..8d2f70456 100755
--- a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestMovieShape.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestMovieShape.java
@@ -17,14 +17,14 @@
package org.apache.poi.hslf.model;
+import java.awt.geom.Rectangle2D;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+
import junit.framework.TestCase;
-import java.io.*;
-import java.awt.*;
-import java.awt.geom.Rectangle2D;
-
import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.HSLFSlideShow;
/**
* Test MovieShape
object.
@@ -61,7 +61,5 @@ public final class TestMovieShape extends TestCase {
shape = (MovieShape)slide.getShapes()[0];
assertEquals(path, shape.getPath());
assertFalse(shape.isAutoPlay());
-
}
-
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPicture.java b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPicture.java
index b3f5942f3..9d80f7dc7 100755
--- a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPicture.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestPicture.java
@@ -17,18 +17,17 @@
package org.apache.poi.hslf.model;
-import junit.framework.*;
-
-import java.io.FileOutputStream;
+import java.awt.Graphics2D;
+import java.awt.Rectangle;
+import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
-import java.awt.*;
-import java.awt.image.BufferedImage;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.usermodel.PictureData;
-import org.apache.poi.hslf.HSLFSlideShow;
+import junit.framework.TestCase;
+
import org.apache.poi.ddf.EscherBSERecord;
+import org.apache.poi.hslf.usermodel.PictureData;
+import org.apache.poi.hslf.usermodel.SlideShow;
/**
* Test Picture shape.
@@ -71,14 +70,13 @@ public final class TestPicture extends TestCase {
EscherBSERecord bse3 = pict.getEscherBSERecord();
assertSame(bse2, bse3);
assertEquals(3, bse1.getRef());
-
}
/**
* Picture#getEscherBSERecord threw NullPointerException if EscherContainerRecord.BSTORE_CONTAINER
* was not found. The correct behaviour is to return null.
*/
- public void test46122() throws IOException {
+ public void test46122() {
SlideShow ppt = new SlideShow();
Slide slide = ppt.createSlide();
@@ -90,8 +88,5 @@ public final class TestPicture extends TestCase {
BufferedImage img = new BufferedImage(100, 100, BufferedImage.TYPE_INT_RGB);
Graphics2D graphics = img.createGraphics();
pict.draw(graphics);
-
- assertTrue("no errors rendering Picture with null data", true);
}
-
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlideChangeNotes.java b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlideChangeNotes.java
index a6b17ec41..e39ca5a4d 100644
--- a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlideChangeNotes.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlideChangeNotes.java
@@ -19,10 +19,10 @@ package org.apache.poi.hslf.model;
import junit.framework.TestCase;
-import org.apache.poi.hslf.*;
-import org.apache.poi.hslf.model.*;
-import org.apache.poi.hslf.usermodel.*;
+
+import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.record.SlideAtom;
+import org.apache.poi.hslf.usermodel.SlideShow;
/**
* Tests that changing a slide's idea of what notes sheet is its works right
@@ -33,23 +33,23 @@ public final class TestSlideChangeNotes extends TestCase {
// SlideShow primed on the test data
private SlideShow ss;
- public TestSlideChangeNotes() throws Exception {
+ public TestSlideChangeNotes() throws Exception {
String dirname = System.getProperty("HSLF.testdata.path");
String filename = dirname + "/basic_test_ppt_file.ppt";
HSLFSlideShow hss = new HSLFSlideShow(filename);
ss = new SlideShow(hss);
- }
+ }
- public void testSetToNone() throws Exception {
+ public void testSetToNone() {
Slide slideOne = ss.getSlides()[0];
SlideAtom sa = slideOne.getSlideRecord().getSlideAtom();
slideOne.setNotes(null);
assertEquals(0, sa.getNotesID());
- }
+ }
- public void testSetToSomething() throws Exception {
+ public void testSetToSomething() {
Slide slideOne = ss.getSlides()[0];
Notes notesOne = ss.getNotes()[1];
SlideAtom sa = slideOne.getSlideRecord().getSlideAtom();
@@ -57,5 +57,5 @@ public final class TestSlideChangeNotes extends TestCase {
slideOne.setNotes(notesOne);
assertEquals(notesOne._getSheetNumber(), sa.getNotesID());
- }
+ }
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlideMaster.java b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlideMaster.java
index 9799eb006..20bdaa8a5 100644
--- a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlideMaster.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestSlideMaster.java
@@ -17,17 +17,17 @@
package org.apache.poi.hslf.model;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+
import junit.framework.TestCase;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.usermodel.RichTextRun;
+
import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.model.textproperties.CharFlagsTextProp;
-import org.apache.poi.hslf.record.*;
-import org.apache.poi.hslf.record.StyleTextPropAtom.*;
-
-import java.io.ByteArrayOutputStream;
-import java.io.ByteArrayInputStream;
-import java.awt.*;
+import org.apache.poi.hslf.record.Environment;
+import org.apache.poi.hslf.record.TextHeaderAtom;
+import org.apache.poi.hslf.usermodel.RichTextRun;
+import org.apache.poi.hslf.usermodel.SlideShow;
/**
* Tests for SlideMaster
@@ -37,7 +37,7 @@ import java.awt.*;
public final class TestSlideMaster extends TestCase{
String home;
- public void setUp() throws Exception {
+ public void setUp() {
home = System.getProperty("HSLF.testdata.path");
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestTable.java b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestTable.java
index d3c10cbea..e8f246bbd 100755
--- a/src/scratchpad/testcases/org/apache/poi/hslf/model/TestTable.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/model/TestTable.java
@@ -17,15 +17,13 @@
package org.apache.poi.hslf.model;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+
import junit.framework.TestCase;
-import java.io.*;
-import java.awt.*;
-import java.awt.geom.Rectangle2D;
-
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.record.TextHeaderAtom;
+import org.apache.poi.hslf.usermodel.SlideShow;
/**
* Test Table
object.
@@ -90,13 +88,13 @@ public final class TestTable extends TestCase {
public void testIllegalCOnstruction(){
try {
- Table tbl = new Table(0, 5);
+ new Table(0, 5);
fail("Table(rownum, colnum) must throw IllegalArgumentException if any of tghe arguments is less than 1");
} catch (IllegalArgumentException e){
}
try {
- Table tbl = new Table(5, 0);
+ new Table(5, 0);
fail("Table(rownum, colnum) must throw IllegalArgumentException if any of tghe arguments is less than 1");
} catch (IllegalArgumentException e){
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/record/TestAnimationInfoAtom.java b/src/scratchpad/testcases/org/apache/poi/hslf/record/TestAnimationInfoAtom.java
index a8402a333..c410e831c 100755
--- a/src/scratchpad/testcases/org/apache/poi/hslf/record/TestAnimationInfoAtom.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/record/TestAnimationInfoAtom.java
@@ -22,8 +22,6 @@ import junit.framework.TestCase;
import java.io.ByteArrayOutputStream;
import java.util.Arrays;
-import org.apache.poi.util.HexDump;
-
/**
* Tests that {@link HeadersFootersAtom} works properly
*
@@ -43,7 +41,7 @@ public final class TestAnimationInfoAtom extends TestCase {
0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
};
- public void testRead() throws Exception {
+ public void testRead() {
AnimationInfoAtom record = new AnimationInfoAtom(data, 0, data.length);
assertEquals(RecordTypes.AnimationInfoAtom.typeID, record.getRecordType());
assertTrue(record.getFlag(AnimationInfoAtom.Automatic));
@@ -84,5 +82,4 @@ public final class TestAnimationInfoAtom extends TestCase {
assertTrue(Arrays.equals(data, b));
}
-
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/record/TestCurrentUserAtom.java b/src/scratchpad/testcases/org/apache/poi/hslf/record/TestCurrentUserAtom.java
index 5d7355e58..8df159a32 100644
--- a/src/scratchpad/testcases/org/apache/poi/hslf/record/TestCurrentUserAtom.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/record/TestCurrentUserAtom.java
@@ -22,12 +22,7 @@ import junit.framework.TestCase;
import java.io.ByteArrayOutputStream;
import java.io.FileInputStream;
import java.io.InputStream;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import javax.imageio.stream.FileImageInputStream;
-
-import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
import org.apache.poi.hslf.exceptions.EncryptedPowerPointFileException;
import org.apache.poi.poifs.filesystem.DocumentEntry;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/record/TestExHyperlink.java b/src/scratchpad/testcases/org/apache/poi/hslf/record/TestExHyperlink.java
index d559e542c..18ae888ec 100644
--- a/src/scratchpad/testcases/org/apache/poi/hslf/record/TestExHyperlink.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/record/TestExHyperlink.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,18 +14,17 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
-
package org.apache.poi.hslf.record;
-import junit.framework.TestCase;
import java.io.ByteArrayOutputStream;
import java.io.File;
-import java.text.SimpleDateFormat;
import java.util.ArrayList;
-import java.util.Date;
+import java.util.List;
+
+import junit.framework.AssertionFailedError;
+import junit.framework.TestCase;
import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.usermodel.SlideShow;
@@ -36,52 +34,52 @@ import org.apache.poi.hslf.usermodel.SlideShow;
*
* @author Nick Burch (nick at torchbox dot com)
*/
-public class TestExHyperlink extends TestCase {
+public final class TestExHyperlink extends TestCase {
// From a real file
private byte[] data_a = new byte[] {
0x0F, 00, 0xD7-256, 0x0F, 0xA8-256, 00, 00, 00,
-
- 00, 00, 0xD3-256, 0x0F, 04, 00, 00, 00,
+
+ 00, 00, 0xD3-256, 0x0F, 04, 00, 00, 00,
03, 00, 00, 00,
-
- 00, 00, 0xBA-256, 0x0F, 0x46, 00, 00, 00,
+
+ 00, 00, 0xBA-256, 0x0F, 0x46, 00, 00, 00,
0x68, 00, 0x74, 00, 0x74, 00, 0x70, 00,
- 0x3A, 00, 0x2F, 00, 0x2F, 00, 0x6A, 00,
+ 0x3A, 00, 0x2F, 00, 0x2F, 00, 0x6A, 00,
0x61, 00, 0x6B, 00, 0x61, 00, 0x72, 00,
0x74, 00, 0x61, 00, 0x2E, 00, 0x61, 00,
0x70, 00, 0x61, 00, 0x63, 00, 0x68, 00,
0x65, 00, 0x2E, 00, 0x6F, 00, 0x72, 00,
0x67, 00, 0x2F, 00, 0x70, 00, 0x6F, 00,
- 0x69, 00, 0x2F, 00, 0x68, 00, 0x73, 00,
- 0x73, 00, 0x66, 00, 0x2F, 00,
-
+ 0x69, 00, 0x2F, 00, 0x68, 00, 0x73, 00,
+ 0x73, 00, 0x66, 00, 0x2F, 00,
+
0x10, 00, 0xBA-256, 0x0F, 0x46, 00, 00, 00,
0x68, 00, 0x74, 00, 0x74, 00, 0x70, 00,
- 0x3A, 00, 0x2F, 00, 0x2F, 00, 0x6A, 00,
+ 0x3A, 00, 0x2F, 00, 0x2F, 00, 0x6A, 00,
0x61, 00, 0x6B, 00, 0x61, 00, 0x72, 00,
0x74, 00, 0x61, 00, 0x2E, 00, 0x61, 00,
0x70, 00, 0x61, 00, 0x63, 00, 0x68, 00,
0x65, 00, 0x2E, 00, 0x6F, 00, 0x72, 00,
0x67, 00, 0x2F, 00, 0x70, 00, 0x6F, 00,
- 0x69, 00, 0x2F, 00, 0x68, 00, 0x73, 00,
- 0x73, 00, 0x66, 00, 0x2F, 00
+ 0x69, 00, 0x2F, 00, 0x68, 00, 0x73, 00,
+ 0x73, 00, 0x66, 00, 0x2F, 00
};
-
- public void testRecordType() throws Exception {
+
+ public void testRecordType() {
ExHyperlink eh = new ExHyperlink(data_a, 0, data_a.length);
assertEquals(4055l, eh.getRecordType());
}
-
- public void testNumber() throws Exception {
+
+ public void testNumber() {
ExHyperlink eh = new ExHyperlink(data_a, 0, data_a.length);
assertEquals(3, eh.getExHyperlinkAtom().getNumber());
}
-
- public void testLinkURL() throws Exception {
+
+ public void testLinkURL() {
ExHyperlink eh = new ExHyperlink(data_a, 0, data_a.length);
assertEquals("http://jakarta.apache.org/poi/hssf/", eh.getLinkURL());
}
- public void testDetails() throws Exception {
+ public void testDetails() {
ExHyperlink eh = new ExHyperlink(data_a, 0, data_a.length);
assertEquals("http://jakarta.apache.org/poi/hssf/", eh._getDetailsA());
assertEquals("http://jakarta.apache.org/poi/hssf/", eh._getDetailsB());
@@ -98,12 +96,12 @@ public class TestExHyperlink extends TestCase {
assertEquals(data_a[i],b[i]);
}
}
-
+
public void testRealFile() throws Exception {
String dirname = System.getProperty("HSLF.testdata.path");
HSLFSlideShow hss = new HSLFSlideShow(dirname + File.separator + "WithLinks.ppt");
SlideShow ss = new SlideShow(hss);
-
+
// Get the document
Document doc = ss.getDocumentRecord();
// Get the ExObjList
@@ -113,37 +111,40 @@ public class TestExHyperlink extends TestCase {
exObjList = (ExObjList)doc._children[i];
}
}
- assertNotNull(exObjList);
-
+ if (exObjList == null) {
+ throw new AssertionFailedError("exObjList must not be null");
+ }
+
// Within that, grab out the Hyperlink atoms
- ArrayList linksA = new ArrayList();
+ List linksA = new ArrayList();
for(int i=0; i
*/
- public void test45815() throws Exception {
+ public void test45815() {
int length = 19;
byte[] data = {
0x00, 0x00, (byte)0xA1, 0x0F, 0x5E, 0x00, 0x00, 0x00, 0x14, 0x00,
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/record/TestTextRulerAtom.java b/src/scratchpad/testcases/org/apache/poi/hslf/record/TestTextRulerAtom.java
index fa2f664e3..f9d1b8357 100755
--- a/src/scratchpad/testcases/org/apache/poi/hslf/record/TestTextRulerAtom.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/record/TestTextRulerAtom.java
@@ -17,18 +17,10 @@
package org.apache.poi.hslf.record;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.model.textproperties.CharFlagsTextProp;
-import org.apache.poi.hslf.model.textproperties.TextProp;
-import org.apache.poi.hslf.model.textproperties.TextPropCollection;
-import org.apache.poi.hslf.record.StyleTextPropAtom.*;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.util.HexDump;
+import java.io.ByteArrayOutputStream;
+import java.util.Arrays;
import junit.framework.TestCase;
-import java.io.ByteArrayOutputStream;
-import java.util.LinkedList;
-import java.util.Arrays;
/**
* Tests TextRulerAtom
@@ -37,53 +29,51 @@ import java.util.Arrays;
*/
public final class TestTextRulerAtom extends TestCase {
- //from a real file
+ //from a real file
private byte[] data_1 = new byte[] {
0x00, 0x00, (byte)0xA6, 0x0F, 0x18, 0x00, 0x00, 0x00,
- (byte)0xF8, 0x1F, 0x00, 0x00, 0x75, 0x00, (byte)0xE2, 0x00, 0x59,
- 0x01, (byte)0xC3, 0x01, 0x1A, 0x03, (byte)0x87, 0x03, (byte)0xF8,
- 0x03, 0x69, 0x04, (byte)0xF6, 0x05, (byte)0xF6, 0x05
+ (byte)0xF8, 0x1F, 0x00, 0x00, 0x75, 0x00, (byte)0xE2, 0x00, 0x59,
+ 0x01, (byte)0xC3, 0x01, 0x1A, 0x03, (byte)0x87, 0x03, (byte)0xF8,
+ 0x03, 0x69, 0x04, (byte)0xF6, 0x05, (byte)0xF6, 0x05
};
- private byte[] data_2 = new byte[] {
- 0x00, 0x00, (byte)0xA6, 0x0F, 0x0A, 0x00, 0x00, 0x00,
- 0x10, 0x03, 0x00, 0x00, (byte)0xF9, 0x00, 0x41, 0x01, 0x41, 0x01
- };
+ private byte[] data_2 = new byte[] {
+ 0x00, 0x00, (byte)0xA6, 0x0F, 0x0A, 0x00, 0x00, 0x00,
+ 0x10, 0x03, 0x00, 0x00, (byte)0xF9, 0x00, 0x41, 0x01, 0x41, 0x01
+ };
- public void testReadRuler() throws Exception {
+ public void testReadRuler() {
TextRulerAtom ruler = new TextRulerAtom(data_1, 0, data_1.length);
- assertEquals(ruler.getNumberOfLevels(), 0);
- assertEquals(ruler.getDefaultTabSize(), 0);
+ assertEquals(ruler.getNumberOfLevels(), 0);
+ assertEquals(ruler.getDefaultTabSize(), 0);
- int[] tabStops = ruler.getTabStops();
- assertNull(tabStops);
+ int[] tabStops = ruler.getTabStops();
+ assertNull(tabStops);
- int[] textOffsets = ruler.getTextOffsets();
- assertTrue(Arrays.equals(new int[]{226, 451, 903, 1129, 1526}, textOffsets));
+ int[] textOffsets = ruler.getTextOffsets();
+ assertTrue(Arrays.equals(new int[]{226, 451, 903, 1129, 1526}, textOffsets));
- int[] bulletOffsets = ruler.getBulletOffsets();
- assertTrue(Arrays.equals(new int[]{117, 345, 794, 1016, 1526}, bulletOffsets));
+ int[] bulletOffsets = ruler.getBulletOffsets();
+ assertTrue(Arrays.equals(new int[]{117, 345, 794, 1016, 1526}, bulletOffsets));
}
- public void testWriteRuler() throws Exception {
+ public void testWriteRuler() throws Exception {
TextRulerAtom ruler = new TextRulerAtom(data_1, 0, data_1.length);
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- ruler.writeOut(out);
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ ruler.writeOut(out);
- byte[] result = out.toByteArray();
- assertTrue(Arrays.equals(result, data_1));
+ byte[] result = out.toByteArray();
+ assertTrue(Arrays.equals(result, data_1));
}
- public void testRead2() throws Exception {
+ public void testRead2() throws Exception {
TextRulerAtom ruler = TextRulerAtom.getParagraphInstance();
- ruler.setParagraphIndent((short)249, (short)321);
- ByteArrayOutputStream out = new ByteArrayOutputStream();
- ruler.writeOut(out);
-
- byte[] result = out.toByteArray();
- assertTrue(Arrays.equals(result, data_2));
+ ruler.setParagraphIndent((short)249, (short)321);
+ ByteArrayOutputStream out = new ByteArrayOutputStream();
+ ruler.writeOut(out);
+ byte[] result = out.toByteArray();
+ assertTrue(Arrays.equals(result, data_2));
}
-
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/record/TestTextSpecInfoAtom.java b/src/scratchpad/testcases/org/apache/poi/hslf/record/TestTextSpecInfoAtom.java
index 62fb5ee28..42626f5f4 100755
--- a/src/scratchpad/testcases/org/apache/poi/hslf/record/TestTextSpecInfoAtom.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/record/TestTextSpecInfoAtom.java
@@ -17,18 +17,10 @@
package org.apache.poi.hslf.record;
-import org.apache.poi.hslf.HSLFSlideShow;
-import org.apache.poi.hslf.model.textproperties.CharFlagsTextProp;
-import org.apache.poi.hslf.model.textproperties.TextProp;
-import org.apache.poi.hslf.model.textproperties.TextPropCollection;
-import org.apache.poi.hslf.record.StyleTextPropAtom.*;
-import org.apache.poi.hslf.usermodel.SlideShow;
-import org.apache.poi.util.HexDump;
+import java.io.ByteArrayOutputStream;
+import java.util.Arrays;
import junit.framework.TestCase;
-import java.io.ByteArrayOutputStream;
-import java.util.LinkedList;
-import java.util.Arrays;
/**
* Tests TextSpecInfoAtom
@@ -38,17 +30,17 @@ import java.util.Arrays;
public final class TestTextSpecInfoAtom extends TestCase {
//from a real file
- private byte[] data_1 = new byte[] {
+ private byte[] data_1 = new byte[] {
0x00, 0x00, (byte)0xAA, 0x0F, 0x2C, 0x00, 0x00, 0x00,
0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x46, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x01,
0x00, 0x00, 0x00, 0x03, 0x00, 0x20, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
- };
+ };
- public void testRead() throws Exception {
- TextSpecInfoAtom spec = new TextSpecInfoAtom(data_1, 0, data_1.length);
+ public void testRead() {
+ TextSpecInfoAtom spec = new TextSpecInfoAtom(data_1, 0, data_1.length);
TextSpecInfoAtom.TextSpecInfoRun[] run = spec.getTextSpecInfoRuns();
assertEquals(5, run.length);
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/record/TestTxInteractiveInfoAtom.java b/src/scratchpad/testcases/org/apache/poi/hslf/record/TestTxInteractiveInfoAtom.java
index 9f3d575c2..4e3d07ade 100644
--- a/src/scratchpad/testcases/org/apache/poi/hslf/record/TestTxInteractiveInfoAtom.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/record/TestTxInteractiveInfoAtom.java
@@ -20,8 +20,6 @@ package org.apache.poi.hslf.record;
import junit.framework.TestCase;
import java.io.ByteArrayOutputStream;
-import java.text.SimpleDateFormat;
-import java.util.Date;
/**
* Tests that TxInteractiveInfoAtom works properly.
@@ -35,24 +33,24 @@ public final class TestTxInteractiveInfoAtom extends TestCase {
0x19, 00, 00, 00, 0x38, 00, 00, 00
};
- private byte[] data_b = new byte[] {
- 00, 00, (byte)0xDF, 0x0F, 0x08, 00, 00, 00,
- 0x39, 00, 00, 00, 0x4E, 00, 00, 00
- };
+ private byte[] data_b = new byte[] {
+ 00, 00, (byte)0xDF, 0x0F, 0x08, 00, 00, 00,
+ 0x39, 00, 00, 00, 0x4E, 00, 00, 00
+ };
- public void testRead() throws Exception {
- TxInteractiveInfoAtom ia1 = new TxInteractiveInfoAtom(data_a, 0, data_a.length);
+ public void testRead() {
+ TxInteractiveInfoAtom ia1 = new TxInteractiveInfoAtom(data_a, 0, data_a.length);
- assertEquals(4063, ia1.getRecordType());
+ assertEquals(4063, ia1.getRecordType());
assertEquals(25, ia1.getStartIndex());
assertEquals(56, ia1.getEndIndex());
- TxInteractiveInfoAtom ia2 = new TxInteractiveInfoAtom(data_b, 0, data_b.length);
+ TxInteractiveInfoAtom ia2 = new TxInteractiveInfoAtom(data_b, 0, data_b.length);
- assertEquals(4063, ia2.getRecordType());
+ assertEquals(4063, ia2.getRecordType());
assertEquals(57, ia2.getStartIndex());
assertEquals(78, ia2.getEndIndex());
- }
+ }
public void testWrite() throws Exception {
TxInteractiveInfoAtom atom = new TxInteractiveInfoAtom(data_a, 0, data_a.length);
@@ -67,12 +65,12 @@ public final class TestTxInteractiveInfoAtom extends TestCase {
}
// Create A from scratch
- public void testCreate() throws Exception {
- TxInteractiveInfoAtom ia = new TxInteractiveInfoAtom();
+ public void testCreate() throws Exception {
+ TxInteractiveInfoAtom ia = new TxInteractiveInfoAtom();
- // Set values
- ia.setStartIndex(25);
- ia.setEndIndex(56);
+ // Set values
+ ia.setStartIndex(25);
+ ia.setEndIndex(56);
// Check it's now the same as a
ByteArrayOutputStream baos = new ByteArrayOutputStream();
@@ -83,7 +81,7 @@ public final class TestTxInteractiveInfoAtom extends TestCase {
for(int i=0; i lst = new ArrayList();
- Record[] core = _ppt.getMostRecentCoreRecords();
- for (int i = 0; i < core.length; i++) {
- if(core[i].getRecordType() == RecordTypes.MainMaster.typeID){
- Record[] rec = core[i].getChildRecords();
+ Record[] coreRecs = _ppt.getMostRecentCoreRecords();
+ for (int i = 0; i < coreRecs.length; i++) {
+ Record coreRec = coreRecs[i];
+ if(coreRec.getRecordType() == RecordTypes.MainMaster.typeID){
+ Record[] recs = coreRec.getChildRecords();
int cnt = 0;
- for (int j = 0; j < rec.length; j++) {
- if (rec[j] instanceof TxMasterStyleAtom) {
- lst.add(rec[j]);
+ for (int j = 0; j < recs.length; j++) {
+ Record rec = recs[j];
+ if (rec instanceof TxMasterStyleAtom) {
+ lst.add((TxMasterStyleAtom) rec);
cnt++;
}
}
assertEquals("MainMaster must contain 7 TxMasterStyleAtoms ", 7, cnt);
- } else if(core[i].getRecordType() == RecordTypes.Document.typeID){
+ } else if(coreRec.getRecordType() == RecordTypes.Document.typeID){
TxMasterStyleAtom txstyle = null;
- Document doc = (Document)core[i];
+ Document doc = (Document)coreRec;
Record[] rec = doc.getEnvironment().getChildRecords();
for (int j = 0; j < rec.length; j++) {
if (rec[j] instanceof TxMasterStyleAtom) {
@@ -223,7 +226,9 @@ public final class TestTxMasterStyleAtom extends TestCase {
txstyle = (TxMasterStyleAtom)rec[j];
}
}
- assertNotNull("TxMasterStyleAtom not found in Document.Environment", txstyle);
+ if (txstyle == null) {
+ throw new AssertionFailedError("TxMasterStyleAtom not found in Document.Environment");
+ }
assertEquals("Document.Environment must contain TxMasterStyleAtom with type=TextHeaderAtom.OTHER_TYPE",
TextHeaderAtom.OTHER_TYPE, txstyle.getTextType());
@@ -231,6 +236,6 @@ public final class TestTxMasterStyleAtom extends TestCase {
}
}
- return (TxMasterStyleAtom[])lst.toArray(new TxMasterStyleAtom[lst.size()]);
+ return lst.toArray(new TxMasterStyleAtom[lst.size()]);
}
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java
index 742131a93..3ab57adcd 100644
--- a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestBugs.java
@@ -17,17 +17,33 @@
package org.apache.poi.hslf.usermodel;
+import java.io.File;
+import java.io.FileInputStream;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+
+import junit.framework.AssertionFailedError;
import junit.framework.TestCase;
+
import org.apache.poi.hslf.HSLFSlideShow;
import org.apache.poi.hslf.exceptions.OldPowerPointFormatException;
-import org.apache.poi.hslf.model.*;
+import org.apache.poi.hslf.model.Background;
+import org.apache.poi.hslf.model.Fill;
+import org.apache.poi.hslf.model.MasterSheet;
+import org.apache.poi.hslf.model.Notes;
+import org.apache.poi.hslf.model.Picture;
import org.apache.poi.hslf.model.Shape;
-
-import java.io.*;
-import java.util.HashSet;
-import java.util.HashMap;
-import java.util.ArrayList;
-import java.awt.*;
+import org.apache.poi.hslf.model.ShapeGroup;
+import org.apache.poi.hslf.model.Slide;
+import org.apache.poi.hslf.model.SlideMaster;
+import org.apache.poi.hslf.model.TextBox;
+import org.apache.poi.hslf.model.TextRun;
+import org.apache.poi.hslf.model.TextShape;
+import org.apache.poi.hslf.model.TitleMaster;
/**
* Testcases for bugs entered in bugzilla
@@ -99,7 +115,7 @@ public final class TestBugs extends TestCase {
SlideShow ppt = new SlideShow(hslf);
//map slide number and starting phrase of its notes
- HashMap notesMap = new HashMap();
+ Map notesMap = new HashMap();
notesMap.put(new Integer(4), "For decades before calculators");
notesMap.put(new Integer(5), "Several commercial applications");
notesMap.put(new Integer(6), "There are three variations of LNS that are discussed here");
@@ -113,7 +129,7 @@ public final class TestBugs extends TestCase {
if (notesMap.containsKey(slideNumber)){
assertNotNull(notes);
String text = notes.getTextRuns()[0].getRawText();
- String startingPhrase = (String)notesMap.get(slideNumber);
+ String startingPhrase = notesMap.get(slideNumber);
assertTrue("Notes for slide " + slideNumber + " must start with " +
startingPhrase , text.startsWith(startingPhrase));
}
@@ -287,7 +303,7 @@ public final class TestBugs extends TestCase {
TextRun[] runs = slide[0].getTextRuns();
assertEquals(4, runs.length);
- HashSet txt = new HashSet();
+ Set txt = new HashSet();
txt.add("\u201CHAPPY BIRTHDAY SCOTT\u201D");
txt.add("Have a HAPPY DAY");
txt.add("PS Nobody is allowed to hassle Scott TODAY\u2026");
@@ -314,12 +330,14 @@ public final class TestBugs extends TestCase {
Slide slide = ppt.getSlides()[0];
TextRun[] tr1 = slide.getTextRuns();
- ArrayList lst = new ArrayList();
+ List lst = new ArrayList();
Shape[] shape = slide.getShapes();
for (int i = 0; i < shape.length; i++) {
if( shape[i] instanceof TextShape){
TextRun textRun = ((TextShape)shape[i]).getTextRun();
- if(textRun != null) lst.add(textRun);
+ if(textRun != null) {
+ lst.add(textRun);
+ }
}
}
@@ -356,10 +374,15 @@ public final class TestBugs extends TestCase {
*/
public void test44770() throws Exception {
FileInputStream is = new FileInputStream(new File(cwd, "44770.ppt"));
- SlideShow ppt = new SlideShow(is);
+ try {
+ new SlideShow(is);
+ } catch (RuntimeException e) {
+ if (e.getMessage().equals("Couldn't instantiate the class for type with id 1036 on class class org.apache.poi.hslf.record.PPDrawing")) {
+ throw new AssertionFailedError("Identified bug 44770");
+ }
+ throw e;
+ }
is.close();
-
- assertTrue("No Exceptions while reading file", true);
}
/**
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestRecordSetup.java b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestRecordSetup.java
index c5f3063fe..da04a33d1 100644
--- a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestRecordSetup.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestRecordSetup.java
@@ -20,7 +20,6 @@ package org.apache.poi.hslf.usermodel;
import junit.framework.TestCase;
import org.apache.poi.hslf.*;
-import org.apache.poi.hslf.model.*;
import org.apache.poi.hslf.record.ParentAwareRecord;
import org.apache.poi.hslf.record.Record;
import org.apache.poi.hslf.record.RecordContainer;
diff --git a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestSoundData.java b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestSoundData.java
index eea37695c..8b7c4c21f 100755
--- a/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestSoundData.java
+++ b/src/scratchpad/testcases/org/apache/poi/hslf/usermodel/TestSoundData.java
@@ -17,15 +17,12 @@
package org.apache.poi.hslf.usermodel;
-import org.apache.poi.hslf.*;
-import org.apache.poi.hslf.exceptions.HSLFException;
-import org.apache.poi.hslf.blip.*;
-import org.apache.poi.hslf.model.*;
-import junit.framework.TestCase;
-
-import java.io.*;
+import java.io.File;
+import java.io.FileInputStream;
import java.util.Arrays;
+import junit.framework.TestCase;
+
/**
* Test reading sound data from a ppt
*
@@ -35,7 +32,7 @@ public final class TestSoundData extends TestCase{
protected File cwd;
- public void setUp() throws Exception {
+ public void setUp() {
cwd = new File(System.getProperty("HSLF.testdata.path"));
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestSavedByTable.java b/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestSavedByTable.java
index c2607f1ac..bc36e0d40 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestSavedByTable.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/model/TestSavedByTable.java
@@ -18,12 +18,12 @@
package org.apache.poi.hwpf.model;
import java.io.*;
-import java.util.*;
-import junit.framework.*;
+import java.util.Arrays;
+import java.util.List;
-import org.apache.poi.hwpf.*;
-import org.apache.poi.hwpf.model.*;
-import org.apache.poi.util.*;
+import junit.framework.TestCase;
+
+import org.apache.poi.hwpf.HWPFDocument;
/**
* Unit test for {@link SavedByTable} and {@link SavedByEntry}.
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestPictures.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestPictures.java
index 2dd669e7c..0f2034de4 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestPictures.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestPictures.java
@@ -35,132 +35,128 @@ import org.apache.poi.util.LittleEndian;
public final class TestPictures extends TestCase {
private String dirname = System.getProperty("HWPF.testdata.path");
- protected void setUp() throws Exception {
- }
- /**
- * two jpegs
- */
- public void testTwoImages() throws Exception {
- HWPFDocument doc = new HWPFDocument(new FileInputStream(dirname + "/two_images.doc"));
- List pics = doc.getPicturesTable().getAllPictures();
+ /**
+ * two jpegs
+ */
+ public void testTwoImages() throws Exception {
+ HWPFDocument doc = new HWPFDocument(new FileInputStream(dirname + "/two_images.doc"));
+ List pics = doc.getPicturesTable().getAllPictures();
- assertNotNull(pics);
- assertEquals(pics.size(), 2);
- for(int i=0; i 128);
+ Picture pic = (Picture)pics.get(0);
+ assertNotNull(pic.suggestFileExtension());
+ assertNotNull(pic.suggestFullFileName());
+ assertTrue(pic.getSize() > 128);
- // Check right contents
- byte[] emf = loadImage("vector_image.emf");
- byte[] pemf = pic.getContent();
- assertEquals(emf.length, pemf.length);
- for(int i=0; i -1 ) {
- b.write(buf, 0, read);
- }
- return b.toByteArray();
- }
+ byte[] buf = new byte[4096];
+ int read = 0;
+ while( (read = fis.read(buf)) > -1 ) {
+ b.write(buf, 0, read);
+ }
+ return b.toByteArray();
+ }
}
diff --git a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestShapes.java b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestShapes.java
index 7749e7722..b237da0ca 100644
--- a/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestShapes.java
+++ b/src/scratchpad/testcases/org/apache/poi/hwpf/usermodel/TestShapes.java
@@ -19,7 +19,6 @@ package org.apache.poi.hwpf.usermodel;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
-import java.io.File;
import java.io.FileInputStream;
import java.util.List;
@@ -33,11 +32,11 @@ import org.apache.poi.hwpf.HWPFDocument;
public final class TestShapes extends TestCase {
private String dirname = System.getProperty("HWPF.testdata.path");
- /**
- * two shapes, second is a group
- */
- public void testShapes() throws Exception {
- HWPFDocument doc = new HWPFDocument(new FileInputStream(dirname + "/WithArtShapes.doc"));
+ /**
+ * two shapes, second is a group
+ */
+ public void testShapes() throws Exception {
+ HWPFDocument doc = new HWPFDocument(new FileInputStream(dirname + "/WithArtShapes.doc"));
List shapes = doc.getShapesTable().getAllShapes();
List vshapes = doc.getShapesTable().getVisibleShapes();
@@ -79,6 +78,5 @@ public final class TestShapes extends TestCase {
assertEquals(4817, s2.getWidth());
assertEquals(2164, s2.getHeight());
assertEquals(true, s2.isWithinDocument());
-
- }
+ }
}
diff --git a/src/testcases/org/apache/poi/ddf/TestEscherOptRecord.java b/src/testcases/org/apache/poi/ddf/TestEscherOptRecord.java
index a96ba8496..975a8b5ff 100644
--- a/src/testcases/org/apache/poi/ddf/TestEscherOptRecord.java
+++ b/src/testcases/org/apache/poi/ddf/TestEscherOptRecord.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,18 +14,16 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
+
package org.apache.poi.ddf;
import junit.framework.TestCase;
import org.apache.poi.util.HexRead;
import org.apache.poi.util.HexDump;
-import java.io.IOException;
import java.util.Arrays;
-public class TestEscherOptRecord extends TestCase
-{
+public final class TestEscherOptRecord extends TestCase {
public void testFillFields() {
checkFillFieldsSimple();
@@ -151,93 +148,93 @@ public class TestEscherOptRecord extends TestCase
}
/**
- * Test serialisation of a particually complex example
+ * Test serialisation of a particually complex example
* This test is currently broken!
*/
public void testComplexSerialise() {
byte[] data = {
- 0x53, 0x01, 0x0B, 0xF0-256, 0x9C-256, 0x01, 0x00, 0x00,
+ 0x53, 0x01, 0x0B, 0xF0-256, 0x9C-256, 0x01, 0x00, 0x00,
// Simple data follows
0x42, 0x01, 0x49, 0x00, 0x00, 0x00, // SP @ 8
0x43, 0x01, 0x85-256, 0x00, 0x00, 0x00, // SP @ 14
0x44, 0x01, 0x04, 0x00, 0x00, 0x00, // SP @ 20
0x45, 0xC1-256, 0x88-256, 0x00, 0x00, 0x00, // SP @ 26
0x46, 0xC1-256, 0x90-256, 0x00, 0x00, 0x00, // SP @ 32
- 0x7F, 0x01, 0x01, 0x00, 0x01, 0x00,
- 0x80-256, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0x81-256, 0x01, 0x02, 0x00, 0x00, 0x08,
- 0xBF-256, 0x01, 0x10, 0x00, 0x10, 0x00,
- 0xC0-256, 0x01, 0x01, 0x00, 0x00, 0x08, // SP 10
+ 0x7F, 0x01, 0x01, 0x00, 0x01, 0x00,
+ 0x80-256, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0x81-256, 0x01, 0x02, 0x00, 0x00, 0x08,
+ 0xBF-256, 0x01, 0x10, 0x00, 0x10, 0x00,
+ 0xC0-256, 0x01, 0x01, 0x00, 0x00, 0x08, // SP 10
0xC1-256, 0x01, 0x00, 0x00, 0x01, 0x00,
- 0xC4-256, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0xCB-256, 0x01, 0x38, 0x63, 0x00, 0x00,
- 0xCD-256, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0xC4-256, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0xCB-256, 0x01, 0x38, 0x63, 0x00, 0x00,
+ 0xCD-256, 0x01, 0x00, 0x00, 0x00, 0x00,
0xCE-256, 0x01, 0x00, 0x00, 0x00, 0x00, // SP 15
- 0xD0-256, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0xD1-256, 0x01, 0x00, 0x00, 0x00, 0x00,
- 0xD7-256, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0xD0-256, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0xD1-256, 0x01, 0x00, 0x00, 0x00, 0x00,
+ 0xD7-256, 0x01, 0x00, 0x00, 0x00, 0x00,
0xFF-256, 0x01, 0x18, 0x00, 0x18, 0x00,
- 0x01, 0x02, 0x02, 0x00, 0x00, 0x08,
+ 0x01, 0x02, 0x02, 0x00, 0x00, 0x08,
0x3F, 0x02, 0x00, 0x00, 0x02, 0x00, // SP 21
-
+
// Complex data follows
-
+
// Complex data for Array #325
// Array header
- 0x22, 0x00, 0x22, 0x00, 0xF0-256, 0xFF-256,
+ 0x22, 0x00, 0x22, 0x00, 0xF0-256, 0xFF-256,
// Array data
- 0x18, 0x00, 0x28, 0x00, 0x04, 0x00, 0x34,
+ 0x18, 0x00, 0x28, 0x00, 0x04, 0x00, 0x34,
0x00, 0x04, 0x00, 0x28, 0x00, 0x04, 0x00,
- 0x1C, 0x00, 0x04, 0x00, 0x10, 0x00, 0x04, 0x00, 0x04, 0x00, 0x10,
+ 0x1C, 0x00, 0x04, 0x00, 0x10, 0x00, 0x04, 0x00, 0x04, 0x00, 0x10,
0x00, 0x00, 0x00, 0x1C, 0x00,
- 0x04, 0x00, 0x28, 0x00, 0x10, 0x00, 0x34, 0x00, 0x18, 0x00, 0x3C,
+ 0x04, 0x00, 0x28, 0x00, 0x10, 0x00, 0x34, 0x00, 0x18, 0x00, 0x3C,
0x00, 0x24, 0x00, 0x44, 0x00,
- 0x30, 0x00, 0x48, 0x00, 0x3C, 0x00, 0x44, 0x00, 0x48, 0x00, 0x3C,
+ 0x30, 0x00, 0x48, 0x00, 0x3C, 0x00, 0x44, 0x00, 0x48, 0x00, 0x3C,
0x00, 0x54, 0x00, 0x38, 0x00,
- 0x60, 0x00, 0x2C, 0x00, 0x70, 0x00, 0x20, 0x00, 0x78, 0x00,
+ 0x60, 0x00, 0x2C, 0x00, 0x70, 0x00, 0x20, 0x00, 0x78, 0x00,
0x14, 0x00, 0x80-256, 0x00, 0x08, 0x00,
- 0x84-256, 0x00, 0x04, 0x00, 0x78, 0x00, 0x04, 0x00, 0x6C, 0x00,
+ 0x84-256, 0x00, 0x04, 0x00, 0x78, 0x00, 0x04, 0x00, 0x6C, 0x00,
0x04, 0x00, 0x60, 0x00, 0x04, 0x00,
- 0x54, 0x00, 0x08, 0x00, 0x48, 0x00, 0x0C, 0x00, 0x3C, 0x00, 0x0C,
+ 0x54, 0x00, 0x08, 0x00, 0x48, 0x00, 0x0C, 0x00, 0x3C, 0x00, 0x0C,
0x00, 0x30, 0x00, 0x08, 0x00,
- 0x3C, 0x00, 0x08, 0x00, 0x48, 0x00, 0x08, 0x00, 0x54, 0x00, 0x00,
+ 0x3C, 0x00, 0x08, 0x00, 0x48, 0x00, 0x08, 0x00, 0x54, 0x00, 0x00,
0x00, 0x48, 0x00, 0x00, 0x00,
0x3C, 0x00, 0x00, 0x00, 0x30, 0x00, 0x04, 0x00, 0x24, 0x00,
// Complex data for Array #326
// Array header
- 0x45, 0x00, 0x48, 0x00, 0x02, 0x00,
+ 0x45, 0x00, 0x48, 0x00, 0x02, 0x00,
// Array data
- 0x00, 0x40, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00,
+ 0x00, 0x40, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00,
0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256,
- 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00,
+ 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00,
0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256,
- 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00,
+ 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00,
0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256,
- 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00,
+ 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00,
0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256,
- 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00,
+ 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00,
0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256,
- 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00,
+ 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00,
0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256,
- 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00,
+ 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00,
0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256,
- 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00,
+ 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00,
0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256,
0x01, 0x00, 0x00, 0xB0-256, 0x01, 0x00, 0x00, 0xB0-256, 0x00, 0x80-256
};
-
+
// Create the record
EscherOptRecord r = new EscherOptRecord();
int filled = r.fillFields( data, new DefaultEscherRecordFactory() );
-
+
// Check it's the right length
assertEquals(data.length, filled);
assertEquals(data.length, r.getRecordSize());
-
+
// Serialise it
byte[] dest = new byte[data.length];
int written = r.serialize(0, dest);
-
+
// Check it serialised it back to the same data
assertEquals(data.length, written);
for(int i=0; i
- *
+ *
* There are probably many ways to produce similar effects, but it should be noted that Excel
* is quite temperamental in this regard. Slight variations in technique can cause the shared
* formulas to spill out into plain formula records (which would make these tests pointless).
- *
+ *
*/
private static final String SAMPLE_FILE_NAME = "overlapSharedFormula.xls";
/**
- * Some of these bugs are intermittent, and the test author couldn't think of a way to write
+ * Some of these bugs are intermittent, and the test author couldn't think of a way to write
* test code to hit them bug deterministically. The reason for the unpredictability is that
* the bugs depended on the {@link SharedFormulaRecord}s being searched in a particular order.
- * At the time of writing of the test, the order was being determined by the call to {@link
- * Collection#toArray(Object[])} on {@link HashMap#values()} where the items in the map were
+ * At the time of writing of the test, the order was being determined by the call to {@link
+ * Collection#toArray(Object[])} on {@link HashMap#values()} where the items in the map were
* using default {@link Object#hashCode()}
*/
private static final int MAX_ATTEMPTS=5;
@@ -67,24 +64,24 @@ public final class TestSharedValueManager extends TestCase {
* This bug happened when there were two or more shared formula ranges that overlapped. POI
* would sometimes associate formulas in the overlapping region with the wrong shared formula
*/
- public void testPartiallyOverlappingRanges() throws IOException {
+ public void testPartiallyOverlappingRanges() {
Record[] records;
int attempt=1;
do {
- HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook(SAMPLE_FILE_NAME);
-
- HSSFSheet sheet = wb.getSheetAt(0);
- RecordInspector.getRecords(sheet, 0);
- assertEquals("1+1", sheet.getRow(2).getCell(0).getCellFormula());
- if ("1+1".equals(sheet.getRow(3).getCell(0).getCellFormula())) {
- throw new AssertionFailedError("Identified bug - wrong shared formula record chosen"
- + " (attempt " + attempt + ")");
- }
- assertEquals("2+2", sheet.getRow(3).getCell(0).getCellFormula());
- records = RecordInspector.getRecords(sheet, 0);
+ HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook(SAMPLE_FILE_NAME);
+
+ HSSFSheet sheet = wb.getSheetAt(0);
+ RecordInspector.getRecords(sheet, 0);
+ assertEquals("1+1", sheet.getRow(2).getCell(0).getCellFormula());
+ if ("1+1".equals(sheet.getRow(3).getCell(0).getCellFormula())) {
+ throw new AssertionFailedError("Identified bug - wrong shared formula record chosen"
+ + " (attempt " + attempt + ")");
+ }
+ assertEquals("2+2", sheet.getRow(3).getCell(0).getCellFormula());
+ records = RecordInspector.getRecords(sheet, 0);
} while (attempt++ < MAX_ATTEMPTS);
-
+
int count=0;
for (int i = 0; i < records.length; i++) {
if (records[i] instanceof SharedFormulaRecord) {
@@ -93,28 +90,28 @@ public final class TestSharedValueManager extends TestCase {
}
assertEquals(2, count);
}
-
+
/**
* This bug occurs for similar reasons to the bug in {@link #testPartiallyOverlappingRanges()}
* but the symptoms are much uglier - serialization fails with {@link NullPointerException}.
*/
- public void testCompletelyOverlappedRanges() throws IOException {
+ public void testCompletelyOverlappedRanges() {
Record[] records;
int attempt=1;
do {
- HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook(SAMPLE_FILE_NAME);
-
- HSSFSheet sheet = wb.getSheetAt(1);
- try {
- records = RecordInspector.getRecords(sheet, 0);
- } catch (NullPointerException e) {
- throw new AssertionFailedError("Identified bug " +
- "- cannot reserialize completely overlapped shared formula"
- + " (attempt " + attempt + ")");
- }
+ HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook(SAMPLE_FILE_NAME);
+
+ HSSFSheet sheet = wb.getSheetAt(1);
+ try {
+ records = RecordInspector.getRecords(sheet, 0);
+ } catch (NullPointerException e) {
+ throw new AssertionFailedError("Identified bug " +
+ "- cannot reserialize completely overlapped shared formula"
+ + " (attempt " + attempt + ")");
+ }
} while (attempt++ < MAX_ATTEMPTS);
-
+
int count=0;
for (int i = 0; i < records.length; i++) {
if (records[i] instanceof SharedFormulaRecord) {
diff --git a/src/testcases/org/apache/poi/hssf/record/formula/AbstractPtgTestCase.java b/src/testcases/org/apache/poi/hssf/record/formula/AbstractPtgTestCase.java
index db29380a9..f2b7cd2e1 100644
--- a/src/testcases/org/apache/poi/hssf/record/formula/AbstractPtgTestCase.java
+++ b/src/testcases/org/apache/poi/hssf/record/formula/AbstractPtgTestCase.java
@@ -17,18 +17,10 @@
package org.apache.poi.hssf.record.formula;
-import java.io.BufferedInputStream;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-
import junit.framework.TestCase;
import org.apache.poi.hssf.HSSFTestDataSamples;
-import org.apache.poi.hssf.model.Workbook;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
/**
* Convenient abstract class to reduce the amount of boilerplate code needed
diff --git a/src/testcases/org/apache/poi/hssf/record/formula/TestArrayPtg.java b/src/testcases/org/apache/poi/hssf/record/formula/TestArrayPtg.java
index 5dab4cca1..586fa6000 100644
--- a/src/testcases/org/apache/poi/hssf/record/formula/TestArrayPtg.java
+++ b/src/testcases/org/apache/poi/hssf/record/formula/TestArrayPtg.java
@@ -19,26 +19,24 @@ package org.apache.poi.hssf.record.formula;
import java.util.Arrays;
+import junit.framework.AssertionFailedError;
+import junit.framework.TestCase;
+
import org.apache.poi.hssf.HSSFTestDataSamples;
-import org.apache.poi.hssf.record.RecordInputStream;
import org.apache.poi.hssf.record.TestcaseRecordInputStream;
-import org.apache.poi.hssf.record.UnicodeString;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.util.LittleEndianByteArrayOutputStream;
import org.apache.poi.util.LittleEndianInput;
-
-import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
/**
* Tests for ArrayPtg
- *
+ *
* @author Josh Micich
*/
public final class TestArrayPtg extends TestCase {
private static final byte[] ENCODED_PTG_DATA = {
0x40,
- 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0,
};
private static final byte[] ENCODED_CONSTANT_DATA = {
2, // 3 columns
@@ -52,28 +50,28 @@ public final class TestArrayPtg extends TestCase {
};
/**
- * Lots of problems with ArrayPtg's encoding of
+ * Lots of problems with ArrayPtg's encoding of
*/
public void testReadWriteTokenValueBytes() {
-
+
ArrayPtg ptg = new ArrayPtg(TestcaseRecordInputStream.createLittleEndian(ENCODED_PTG_DATA));
-
+
ptg.readTokenValues(TestcaseRecordInputStream.createLittleEndian(ENCODED_CONSTANT_DATA));
assertEquals(3, ptg.getColumnCount());
assertEquals(2, ptg.getRowCount());
Object[][] values = ptg.getTokenArrayValues();
assertEquals(2, values.length);
-
-
+
+
assertEquals(Boolean.TRUE, values[0][0]);
assertEquals("ABCD", values[0][1]);
assertEquals(new Double(0), values[1][0]);
assertEquals(Boolean.FALSE, values[1][1]);
assertEquals("FG", values[1][2]);
-
+
byte[] outBuf = new byte[ENCODED_CONSTANT_DATA.length];
ptg.writeTokenValueBytes(new LittleEndianByteArrayOutputStream(outBuf, 0));
-
+
if(outBuf[0] == 4) {
throw new AssertionFailedError("Identified bug 42564b");
}
@@ -88,7 +86,7 @@ public final class TestArrayPtg extends TestCase {
ptg.readTokenValues(TestcaseRecordInputStream.createLittleEndian(ENCODED_CONSTANT_DATA));
assertEquals(3, ptg.getColumnCount());
assertEquals(2, ptg.getRowCount());
-
+
assertEquals(0, ptg.getValueIndex(0, 0));
assertEquals(1, ptg.getValueIndex(1, 0));
assertEquals(2, ptg.getValueIndex(2, 0));
@@ -96,7 +94,7 @@ public final class TestArrayPtg extends TestCase {
assertEquals(4, ptg.getValueIndex(1, 1));
assertEquals(5, ptg.getValueIndex(2, 1));
}
-
+
/**
* Test for a bug which was temporarily introduced by the fix for bug 42564.
* A spreadsheet was added to make the ordering clearer.
@@ -104,7 +102,7 @@ public final class TestArrayPtg extends TestCase {
public void testElementOrderingInSpreadsheet() {
HSSFWorkbook wb = HSSFTestDataSamples.openSampleWorkbook("ex42564-elementOrder.xls");
- // The formula has an array with 3 rows and 5 columns
+ // The formula has an array with 3 rows and 5 columns
String formula = wb.getSheetAt(0).getRow(0).getCell(0).getCellFormula();
// TODO - These number literals should not have '.0'. Excel has different number rendering rules
@@ -116,9 +114,9 @@ public final class TestArrayPtg extends TestCase {
public void testToFormulaString() {
ArrayPtg ptg = new ArrayPtg(TestcaseRecordInputStream.createLittleEndian(ENCODED_PTG_DATA));
-
+
ptg.readTokenValues(TestcaseRecordInputStream.createLittleEndian(ENCODED_CONSTANT_DATA));
-
+
String actualFormula;
try {
actualFormula = ptg.toFormulaString();
@@ -130,7 +128,7 @@ public final class TestArrayPtg extends TestCase {
}
assertEquals("{TRUE,\"ABCD\",\"E\";0.0,FALSE,\"FG\"}", actualFormula);
}
-
+
/**
* worth checking since AttrPtg.sid=0x20 and Ptg.CLASS_* = (0x00, 0x20, and 0x40)
*/
@@ -145,11 +143,11 @@ public final class TestArrayPtg extends TestCase {
System.arraycopy(ENCODED_PTG_DATA, 0, fullData, 0, ENCODED_PTG_DATA.length);
System.arraycopy(ENCODED_CONSTANT_DATA, 0, fullData, ENCODED_PTG_DATA.length, ENCODED_CONSTANT_DATA.length);
- // Force encoded operand class for tArray
+ // Force encoded operand class for tArray
fullData[0] = (byte) (ArrayPtg.sid + operandClass);
-
+
LittleEndianInput in = TestcaseRecordInputStream.createLittleEndian(fullData);
-
+
Ptg[] ptgs = Ptg.readTokens(ENCODED_PTG_DATA.length, in);
assertEquals(1, ptgs.length);
ArrayPtg aPtg = (ArrayPtg) ptgs[0];
diff --git a/src/testcases/org/apache/poi/hssf/record/formula/eval/TestCircularReferences.java b/src/testcases/org/apache/poi/hssf/record/formula/eval/TestCircularReferences.java
index fb11b4c1b..878b7bdae 100755
--- a/src/testcases/org/apache/poi/hssf/record/formula/eval/TestCircularReferences.java
+++ b/src/testcases/org/apache/poi/hssf/record/formula/eval/TestCircularReferences.java
@@ -27,10 +27,9 @@ import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.CellValue;
-import org.apache.poi.ss.usermodel.ErrorConstants;
/**
* Tests HSSFFormulaEvaluator for its handling of cell formula circular references.
- *
+ *
* @author Josh Micich
*/
public final class TestCircularReferences extends TestCase {
@@ -53,17 +52,17 @@ public final class TestCircularReferences extends TestCase {
assertTrue(cellValue.getCellType() == HSSFCell.CELL_TYPE_ERROR);
assertEquals(ErrorEval.CIRCULAR_REF_ERROR.getErrorCode(), cellValue.getErrorValue());
}
-
-
+
+
/**
- * ASF Bugzilla Bug 44413
- * "INDEX() formula cannot contain its own location in the data array range"
+ * ASF Bugzilla Bug 44413
+ * "INDEX() formula cannot contain its own location in the data array range"
*/
public void testIndexFormula() {
-
+
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Sheet1");
-
+
int colB = 1;
sheet.createRow(0).createCell(colB).setCellValue(1);
sheet.createRow(1).createCell(colB).setCellValue(2);
@@ -73,13 +72,13 @@ public final class TestCircularReferences extends TestCase {
// This formula should evaluate to the contents of B2,
testCell.setCellFormula("INDEX(A1:B4,2,2)");
// However the range A1:B4 also includes the current cell A4. If the other parameters
- // were 4 and 1, this would represent a circular reference. Prior to v3.2 POI would
+ // were 4 and 1, this would represent a circular reference. Prior to v3.2 POI would
// 'fully' evaluate ref arguments before invoking operators, which raised the possibility of
// cycles / StackOverflowErrors.
-
+
CellValue cellValue = evaluateWithCycles(wb, testCell);
-
+
assertTrue(cellValue.getCellType() == HSSFCell.CELL_TYPE_NUMERIC);
assertEquals(2, cellValue.getNumberValue(), 0);
}
@@ -88,16 +87,16 @@ public final class TestCircularReferences extends TestCase {
* Cell A1 has formula "=A1"
*/
public void testSimpleCircularReference() {
-
+
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Sheet1");
-
+
HSSFRow row = sheet.createRow(0);
HSSFCell testCell = row.createCell(0);
testCell.setCellFormula("A1");
CellValue cellValue = evaluateWithCycles(wb, testCell);
-
+
confirmCycleErrorCode(cellValue);
}
@@ -105,10 +104,10 @@ public final class TestCircularReferences extends TestCase {
* A1=B1, B1=C1, C1=D1, D1=A1
*/
public void testMultiLevelCircularReference() {
-
+
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Sheet1");
-
+
HSSFRow row = sheet.createRow(0);
row.createCell(0).setCellFormula("B1");
row.createCell(1).setCellFormula("C1");
@@ -117,39 +116,39 @@ public final class TestCircularReferences extends TestCase {
testCell.setCellFormula("A1");
CellValue cellValue = evaluateWithCycles(wb, testCell);
-
+
confirmCycleErrorCode(cellValue);
}
-
+
public void testIntermediateCircularReferenceResults_bug46898() {
HSSFWorkbook wb = new HSSFWorkbook();
HSSFSheet sheet = wb.createSheet("Sheet1");
-
+
HSSFRow row = sheet.createRow(0);
-
+
HSSFCell cellA1 = row.createCell(0);
HSSFCell cellB1 = row.createCell(1);
HSSFCell cellC1 = row.createCell(2);
HSSFCell cellD1 = row.createCell(3);
HSSFCell cellE1 = row.createCell(4);
-
+
cellA1.setCellFormula("IF(FALSE, 1+B1, 42)");
cellB1.setCellFormula("1+C1");
cellC1.setCellFormula("1+D1");
cellD1.setCellFormula("1+E1");
cellE1.setCellFormula("1+A1");
-
+
HSSFFormulaEvaluator fe = new HSSFFormulaEvaluator(wb);
CellValue cv;
-
- // Happy day flow - evaluate A1 first
+
+ // Happy day flow - evaluate A1 first
cv = fe.evaluate(cellA1);
assertEquals(Cell.CELL_TYPE_NUMERIC, cv.getCellType());
assertEquals(42.0, cv.getNumberValue(), 0.0);
cv = fe.evaluate(cellB1); // no circ-ref-error because A1 result is cached
assertEquals(Cell.CELL_TYPE_NUMERIC, cv.getCellType());
assertEquals(46.0, cv.getNumberValue(), 0.0);
-
+
// Show the bug - evaluate another cell from the loop first
fe.clearAllCachedResultValues();
cv = fe.evaluate(cellB1);
@@ -164,7 +163,7 @@ public final class TestCircularReferences extends TestCase {
cv = fe.evaluate(cellE1);
assertEquals(Cell.CELL_TYPE_NUMERIC, cv.getCellType());
assertEquals(43.0, cv.getNumberValue(), 0.0);
-
-
+
+
}
}
diff --git a/src/testcases/org/apache/poi/hssf/record/formula/functions/NumericFunctionInvoker.java b/src/testcases/org/apache/poi/hssf/record/formula/functions/NumericFunctionInvoker.java
index 694d67997..31b45f622 100755
--- a/src/testcases/org/apache/poi/hssf/record/formula/functions/NumericFunctionInvoker.java
+++ b/src/testcases/org/apache/poi/hssf/record/formula/functions/NumericFunctionInvoker.java
@@ -20,7 +20,6 @@ package org.apache.poi.hssf.record.formula.functions;
import junit.framework.AssertionFailedError;
import org.apache.poi.hssf.record.formula.eval.ErrorEval;
-import org.apache.poi.hssf.record.formula.eval.ValueEval;
import org.apache.poi.hssf.record.formula.eval.NumericValueEval;
import org.apache.poi.hssf.record.formula.eval.OperationEval;
import org.apache.poi.hssf.record.formula.eval.ValueEval;
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestCloneSheet.java b/src/testcases/org/apache/poi/hssf/usermodel/TestCloneSheet.java
index 4704b3ed8..1f276b776 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestCloneSheet.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestCloneSheet.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,19 +14,17 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.hssf.usermodel;
import junit.framework.TestCase;
import org.apache.poi.ss.util.CellRangeAddress;
-import org.apache.poi.ss.util.Region;
/**
- * Test the ability to clone a sheet.
+ * Test the ability to clone a sheet.
* If adding new records that belong to a sheet (as opposed to a book)
- * add that record to the sheet in the testCloneSheetBasic method.
+ * add that record to the sheet in the testCloneSheetBasic method.
* @author avik
*/
public final class TestCloneSheet extends TestCase {
@@ -37,26 +34,25 @@ public final class TestCloneSheet extends TestCase {
HSSFSheet s = b.createSheet("Test");
s.addMergedRegion(new CellRangeAddress(0, 1, 0, 1));
HSSFSheet clonedSheet = b.cloneSheet(0);
-
+
assertEquals("One merged area", 1, clonedSheet.getNumMergedRegions());
}
- /**
- * Ensures that pagebreak cloning works properly
- *
- */
- public void testPageBreakClones() {
- HSSFWorkbook b = new HSSFWorkbook();
- HSSFSheet s = b.createSheet("Test");
- s.setRowBreak(3);
- s.setColumnBreak((short)6);
-
- HSSFSheet clone = b.cloneSheet(0);
- assertTrue("Row 3 not broken", clone.isRowBroken(3));
- assertTrue("Column 6 not broken", clone.isColumnBroken((short)6));
-
- s.removeRowBreak(3);
-
- assertTrue("Row 3 still should be broken", clone.isRowBroken(3));
- }
+ /**
+ * Ensures that pagebreak cloning works properly
+ */
+ public void testPageBreakClones() {
+ HSSFWorkbook b = new HSSFWorkbook();
+ HSSFSheet s = b.createSheet("Test");
+ s.setRowBreak(3);
+ s.setColumnBreak((short) 6);
+
+ HSSFSheet clone = b.cloneSheet(0);
+ assertTrue("Row 3 not broken", clone.isRowBroken(3));
+ assertTrue("Column 6 not broken", clone.isColumnBroken((short) 6));
+
+ s.removeRowBreak(3);
+
+ assertTrue("Row 3 still should be broken", clone.isRowBroken(3));
+ }
}
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java
index 5d0416fc7..f4fa306cc 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFConditionalFormatting.java
@@ -23,10 +23,9 @@ import junit.framework.TestCase;
import org.apache.poi.hssf.record.CFRuleRecord.ComparisonOperator;
import org.apache.poi.hssf.util.HSSFColor;
import org.apache.poi.ss.util.CellRangeAddress;
-import org.apache.poi.ss.util.Region;
/**
- *
+ *
* @author Dmitriy Kumshayev
*/
public final class TestHSSFConditionalFormatting extends TestCase {
@@ -36,7 +35,7 @@ public final class TestHSSFConditionalFormatting extends TestCase {
String formula = "7";
HSSFSheetConditionalFormatting sheetCF = sheet.getSheetConditionalFormatting();
-
+
HSSFConditionalFormattingRule rule1 = sheetCF.createConditionalFormattingRule(formula);
HSSFFontFormatting fontFmt = rule1.createFontFormatting();
fontFmt.setFontStyle(true, false);
@@ -50,7 +49,7 @@ public final class TestHSSFConditionalFormatting extends TestCase {
HSSFPatternFormatting patternFmt = rule1.createPatternFormatting();
patternFmt.setFillBackgroundColor(HSSFColor.YELLOW.index);
-
+
HSSFConditionalFormattingRule rule2 = sheetCF.createConditionalFormattingRule(ComparisonOperator.BETWEEN, "1", "2");
HSSFConditionalFormattingRule [] cfRules =
{
@@ -84,12 +83,12 @@ public final class TestHSSFConditionalFormatting extends TestCase {
assertEquals(2, cf.getNumberOfRules());
rule1 = cf.getRule(0);
- assertEquals("7",rule1.getFormula1());
+ assertEquals("7",rule1.getFormula1());
assertNull(rule1.getFormula2());
-
+
HSSFFontFormatting r1fp = rule1.getFontFormatting();
assertNotNull(r1fp);
-
+
assertTrue(r1fp.isItalic());
assertFalse(r1fp.isBold());
@@ -102,13 +101,13 @@ public final class TestHSSFConditionalFormatting extends TestCase {
HSSFPatternFormatting r1pf = rule1.getPatternFormatting();
assertNotNull(r1pf);
- assertEquals(HSSFColor.YELLOW.index,r1pf.getFillBackgroundColor());
+ assertEquals(HSSFColor.YELLOW.index,r1pf.getFillBackgroundColor());
rule2 = cf.getRule(1);
- assertEquals("2",rule2.getFormula2());
- assertEquals("1",rule2.getFormula1());
+ assertEquals("2",rule2.getFormula2());
+ assertEquals("1",rule2.getFormula1());
}
-
+
public void testClone() {
HSSFWorkbook wb = new HSSFWorkbook();
@@ -116,7 +115,7 @@ public final class TestHSSFConditionalFormatting extends TestCase {
String formula = "7";
HSSFSheetConditionalFormatting sheetCF = sheet.getSheetConditionalFormatting();
-
+
HSSFConditionalFormattingRule rule1 = sheetCF.createConditionalFormattingRule(formula);
HSSFFontFormatting fontFmt = rule1.createFontFormatting();
fontFmt.setFontStyle(true, false);
@@ -124,7 +123,7 @@ public final class TestHSSFConditionalFormatting extends TestCase {
HSSFPatternFormatting patternFmt = rule1.createPatternFormatting();
patternFmt.setFillBackgroundColor(HSSFColor.YELLOW.index);
-
+
HSSFConditionalFormattingRule rule2 = sheetCF.createConditionalFormattingRule(ComparisonOperator.BETWEEN, "1", "2");
HSSFConditionalFormattingRule [] cfRules =
{
@@ -137,7 +136,7 @@ public final class TestHSSFConditionalFormatting extends TestCase {
};
sheetCF.addConditionalFormatting(regions, cfRules);
-
+
try {
wb.cloneSheet(0);
} catch (RuntimeException e) {
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDateUtil.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDateUtil.java
index a2b8cc50b..0f9c7ae0f 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDateUtil.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFDateUtil.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -442,7 +441,7 @@ public final class TestHSSFDateUtil extends TestCase {
* Ensure that date values *with* a fractional portion get the right time of day
*/
public void testConvertDateTime() {
- // Excel day 30000 is date 18-Feb-1982
+ // Excel day 30000 is date 18-Feb-1982
// 0.7 corresponds to time 16:48:00
Date actual = HSSFDateUtil.getJavaDate(30000.7);
Date expected = createDate(1982, 1, 18, 16, 48, 0);
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFont.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFont.java
index f6ce14ca9..835065449 100755
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFont.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFFont.java
@@ -17,26 +17,9 @@
package org.apache.poi.hssf.usermodel;
-import java.util.Date;
-import java.util.GregorianCalendar;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-
-import junit.framework.AssertionFailedError;
import org.apache.poi.hssf.HSSFITestDataProvider;
-import org.apache.poi.hssf.HSSFTestDataSamples;
-import org.apache.poi.hssf.model.Sheet;
-import org.apache.poi.hssf.model.HSSFFormulaParser;
-import org.apache.poi.hssf.record.DBCellRecord;
-import org.apache.poi.hssf.record.FormulaRecord;
-import org.apache.poi.hssf.record.Record;
-import org.apache.poi.hssf.record.StringRecord;
-import org.apache.poi.hssf.record.formula.Ptg;
-import org.apache.poi.ss.usermodel.*;
-import org.apache.poi.ss.util.AreaReference;
-import org.apache.poi.ss.util.CellReference;
-import org.apache.poi.ss.formula.FormulaType;
+import org.apache.poi.ss.usermodel.BaseTestFont;
+import org.apache.poi.ss.usermodel.Font;
/**
* Tests various functionality having to do with {@link org.apache.poi.ss.usermodel.Name}.
@@ -53,4 +36,4 @@ public final class TestHSSFFont extends BaseTestFont {
public void testDefaultFont() {
baseTestDefaultFont(HSSFFont.FONT_ARIAL, (short)200, Font.COLOR_NORMAL);
}
-}
\ No newline at end of file
+}
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFOptimiser.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFOptimiser.java
index e54cd10ba..fd41ed523 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFOptimiser.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFOptimiser.java
@@ -16,133 +16,126 @@
==================================================================== */
package org.apache.poi.hssf.usermodel;
-import org.apache.poi.hssf.model.Workbook;
-
import junit.framework.TestCase;
-public class TestHSSFOptimiser extends TestCase {
- public void testDoesNoHarmIfNothingToDo() throws Exception {
+public final class TestHSSFOptimiser extends TestCase {
+ public void testDoesNoHarmIfNothingToDo() {
HSSFWorkbook wb = new HSSFWorkbook();
-
+
HSSFFont f = wb.createFont();
f.setFontName("Testing");
HSSFCellStyle s = wb.createCellStyle();
s.setFont(f);
-
+
assertEquals(5, wb.getNumberOfFonts());
assertEquals(22, wb.getNumCellStyles());
-
+
// Optimise fonts
HSSFOptimiser.optimiseFonts(wb);
-
+
assertEquals(5, wb.getNumberOfFonts());
assertEquals(22, wb.getNumCellStyles());
-
+
assertEquals(f, s.getFont(wb));
-
+
// Optimise styles
HSSFOptimiser.optimiseCellStyles(wb);
-
+
assertEquals(5, wb.getNumberOfFonts());
assertEquals(22, wb.getNumCellStyles());
-
+
assertEquals(f, s.getFont(wb));
}
-
- public void testOptimiseFonts() throws Exception {
+
+ public void testOptimiseFonts() {
HSSFWorkbook wb = new HSSFWorkbook();
-
+
// Add 6 fonts, some duplicates
HSSFFont f1 = wb.createFont();
- f1.setFontHeight((short)11);
+ f1.setFontHeight((short) 11);
f1.setFontName("Testing");
-
+
HSSFFont f2 = wb.createFont();
- f2.setFontHeight((short)22);
+ f2.setFontHeight((short) 22);
f2.setFontName("Also Testing");
-
+
HSSFFont f3 = wb.createFont();
- f3.setFontHeight((short)33);
+ f3.setFontHeight((short) 33);
f3.setFontName("Unique");
-
+
HSSFFont f4 = wb.createFont();
- f4.setFontHeight((short)11);
+ f4.setFontHeight((short) 11);
f4.setFontName("Testing");
-
+
HSSFFont f5 = wb.createFont();
- f5.setFontHeight((short)22);
+ f5.setFontHeight((short) 22);
f5.setFontName("Also Testing");
-
+
HSSFFont f6 = wb.createFont();
- f6.setFontHeight((short)66);
+ f6.setFontHeight((short) 66);
f6.setFontName("Also Unique");
-
-
-
+
// Use all three of the four in cell styles
assertEquals(21, wb.getNumCellStyles());
-
+
HSSFCellStyle cs1 = wb.createCellStyle();
cs1.setFont(f1);
assertEquals(5, cs1.getFontIndex());
-
+
HSSFCellStyle cs2 = wb.createCellStyle();
cs2.setFont(f4);
assertEquals(8, cs2.getFontIndex());
-
+
HSSFCellStyle cs3 = wb.createCellStyle();
cs3.setFont(f5);
assertEquals(9, cs3.getFontIndex());
-
+
HSSFCellStyle cs4 = wb.createCellStyle();
cs4.setFont(f6);
assertEquals(10, cs4.getFontIndex());
-
+
assertEquals(25, wb.getNumCellStyles());
-
-
+
// And three in rich text
HSSFSheet s = wb.createSheet();
HSSFRow r = s.createRow(0);
-
+
HSSFRichTextString rtr1 = new HSSFRichTextString("Test");
rtr1.applyFont(0, 2, f1);
rtr1.applyFont(3, 4, f2);
r.createCell(0).setCellValue(rtr1);
-
+
HSSFRichTextString rtr2 = new HSSFRichTextString("AlsoTest");
rtr2.applyFont(0, 2, f3);
rtr2.applyFont(3, 5, f5);
rtr2.applyFont(6, 8, f6);
r.createCell(1).setCellValue(rtr2);
-
-
+
// Check what we have now
assertEquals(10, wb.getNumberOfFonts());
assertEquals(25, wb.getNumCellStyles());
-
+
// Optimise
HSSFOptimiser.optimiseFonts(wb);
-
+
// Check font count
assertEquals(8, wb.getNumberOfFonts());
assertEquals(25, wb.getNumCellStyles());
-
+
// Check font use in cell styles
assertEquals(5, cs1.getFontIndex());
assertEquals(5, cs2.getFontIndex()); // duplicate of 1
assertEquals(6, cs3.getFontIndex()); // duplicate of 2
assertEquals(8, cs4.getFontIndex()); // two have gone
-
-
+
// And in rich text
-
- // RTR 1 had f1 and f2, unchanged
+
+ // RTR 1 had f1 and f2, unchanged
assertEquals(5, r.getCell(0).getRichStringCellValue().getFontAtIndex(0));
assertEquals(5, r.getCell(0).getRichStringCellValue().getFontAtIndex(1));
assertEquals(6, r.getCell(0).getRichStringCellValue().getFontAtIndex(3));
assertEquals(6, r.getCell(0).getRichStringCellValue().getFontAtIndex(4));
-
+
// RTR 2 had f3 (unchanged), f5 (=f2) and f6 (moved down)
assertEquals(7, r.getCell(1).getRichStringCellValue().getFontAtIndex(0));
assertEquals(7, r.getCell(1).getRichStringCellValue().getFontAtIndex(1));
@@ -151,54 +144,52 @@ public class TestHSSFOptimiser extends TestCase {
assertEquals(8, r.getCell(1).getRichStringCellValue().getFontAtIndex(6));
assertEquals(8, r.getCell(1).getRichStringCellValue().getFontAtIndex(7));
}
-
- public void testOptimiseStyles() throws Exception {
+
+ public void testOptimiseStyles() {
HSSFWorkbook wb = new HSSFWorkbook();
// Two fonts
assertEquals(4, wb.getNumberOfFonts());
-
+
HSSFFont f1 = wb.createFont();
- f1.setFontHeight((short)11);
+ f1.setFontHeight((short) 11);
f1.setFontName("Testing");
-
+
HSSFFont f2 = wb.createFont();
- f2.setFontHeight((short)22);
+ f2.setFontHeight((short) 22);
f2.setFontName("Also Testing");
assertEquals(6, wb.getNumberOfFonts());
-
-
+
// Several styles
assertEquals(21, wb.getNumCellStyles());
-
+
HSSFCellStyle cs1 = wb.createCellStyle();
cs1.setFont(f1);
-
+
HSSFCellStyle cs2 = wb.createCellStyle();
cs2.setFont(f2);
-
+
HSSFCellStyle cs3 = wb.createCellStyle();
cs3.setFont(f1);
-
+
HSSFCellStyle cs4 = wb.createCellStyle();
cs4.setFont(f1);
- cs4.setAlignment((short)22);
-
+ cs4.setAlignment((short) 22);
+
HSSFCellStyle cs5 = wb.createCellStyle();
cs5.setFont(f2);
- cs5.setAlignment((short)111);
-
+ cs5.setAlignment((short) 111);
+
HSSFCellStyle cs6 = wb.createCellStyle();
cs6.setFont(f2);
-
+
assertEquals(27, wb.getNumCellStyles());
-
-
+
// Use them
HSSFSheet s = wb.createSheet();
HSSFRow r = s.createRow(0);
-
+
r.createCell(0).setCellStyle(cs1);
r.createCell(1).setCellStyle(cs2);
r.createCell(2).setCellStyle(cs3);
@@ -207,20 +198,18 @@ public class TestHSSFOptimiser extends TestCase {
r.createCell(5).setCellStyle(cs6);
r.createCell(6).setCellStyle(cs1);
r.createCell(7).setCellStyle(cs2);
-
+
assertEquals(21, r.getCell(0).getCellValueRecord().getXFIndex());
assertEquals(26, r.getCell(5).getCellValueRecord().getXFIndex());
assertEquals(21, r.getCell(6).getCellValueRecord().getXFIndex());
-
-
+
// Optimise
HSSFOptimiser.optimiseCellStyles(wb);
-
-
+
// Check
assertEquals(6, wb.getNumberOfFonts());
assertEquals(25, wb.getNumCellStyles());
-
+
// cs1 -> 21
assertEquals(21, r.getCell(0).getCellValueRecord().getXFIndex());
// cs2 -> 22
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPicture.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPicture.java
index ab5cc95c1..8f3985769 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPicture.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFPicture.java
@@ -1,22 +1,21 @@
-/*
-* Licensed to the Apache Software Foundation (ASF) under one or more
-* contributor license agreements. See the NOTICE file distributed with
-* this work for additional information regarding copyright ownership.
-* The ASF licenses this file to You under the Apache License, Version 2.0
-* (the "License"); you may not use this file except in compliance with
-* the License. You may obtain a copy of the License at
-*
-* http://www.apache.org/licenses/LICENSE-2.0
-*
-* Unless required by applicable law or agreed to in writing, software
-* distributed under the License is distributed on an "AS IS" BASIS,
-* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-* See the License for the specific language governing permissions and
-* limitations under the License.
-*/
-package org.apache.poi.hssf.usermodel;
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
-import junit.framework.TestCase;
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+
+package org.apache.poi.hssf.usermodel;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.hssf.HSSFITestDataProvider;
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java
index 3c5a0911c..31173bba2 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFRow.java
@@ -18,9 +18,7 @@
package org.apache.poi.hssf.usermodel;
import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
-import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.hssf.HSSFITestDataProvider;
import org.apache.poi.hssf.record.BlankRecord;
import org.apache.poi.hssf.record.RowRecord;
@@ -87,8 +85,8 @@ public final class TestHSSFRow extends BaseTestRow {
assertEquals(-1, row.getLastCellNum());
assertEquals(-1, row.getFirstCellNum());
HSSFCell cellB2 = row.createCell(1);
- HSSFCell cellB3 = row.createCell(2);
- HSSFCell cellB4 = row.createCell(3);
+ row.createCell(2); // C2
+ row.createCell(3); // D2
assertEquals(1, row.getFirstCellNum());
assertEquals(4, row.getLastCellNum());
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java
index 484ff70e1..ab7cca318 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestHSSFWorkbook.java
@@ -23,7 +23,6 @@ import java.io.IOException;
import java.util.List;
import junit.framework.AssertionFailedError;
-import junit.framework.TestCase;
import org.apache.poi.hssf.HSSFTestDataSamples;
import org.apache.poi.hssf.HSSFITestDataProvider;
@@ -68,7 +67,7 @@ public final class TestHSSFWorkbook extends BaseTestWorkbook {
fail("WindowOneRecord in Workbook is probably not initialized");
}
}
-
+
/**
* Tests for {@link HSSFWorkbook#isHidden()} etc
*/
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestPOIFSProperties.java b/src/testcases/org/apache/poi/hssf/usermodel/TestPOIFSProperties.java
index 98980fe19..feaf77b22 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestPOIFSProperties.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestPOIFSProperties.java
@@ -19,8 +19,6 @@ package org.apache.poi.hssf.usermodel;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
import java.io.InputStream;
import junit.framework.TestCase;
diff --git a/src/testcases/org/apache/poi/hssf/usermodel/TestWorkbook.java b/src/testcases/org/apache/poi/hssf/usermodel/TestWorkbook.java
index 786838122..15682a074 100644
--- a/src/testcases/org/apache/poi/hssf/usermodel/TestWorkbook.java
+++ b/src/testcases/org/apache/poi/hssf/usermodel/TestWorkbook.java
@@ -32,7 +32,6 @@ import org.apache.poi.hssf.record.Record;
import org.apache.poi.hssf.record.aggregates.RecordAggregate.RecordVisitor;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.ss.util.CellRangeAddress;
-import org.apache.poi.ss.util.Region;
import org.apache.poi.util.TempFile;
/**
@@ -428,7 +427,7 @@ public final class TestWorkbook extends TestCase {
s.addMergedRegion(new CellRangeAddress(30, 40, 5, 15));
sanityChecker.checkHSSFWorkbook(wb);
wb = HSSFTestDataSamples.writeOutAndReadBack(wb);
-
+
s = wb.getSheetAt(0);
CellRangeAddress r1 = s.getMergedRegion(0);
CellRangeAddress r2 = s.getMergedRegion(1);
@@ -473,7 +472,7 @@ public final class TestWorkbook extends TestCase {
}
}
}
-
+
/**
* This tests is for bug [ #506658 ] Repeating output.
*
diff --git a/src/testcases/org/apache/poi/poifs/filesystem/TestPropertySorter.java b/src/testcases/org/apache/poi/poifs/filesystem/TestPropertySorter.java
index ecff6778a..2c30d1b12 100644
--- a/src/testcases/org/apache/poi/poifs/filesystem/TestPropertySorter.java
+++ b/src/testcases/org/apache/poi/poifs/filesystem/TestPropertySorter.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -20,14 +19,13 @@ package org.apache.poi.poifs.filesystem;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Iterator;
+import java.util.List;
import junit.framework.ComparisonFailure;
import junit.framework.TestCase;
@@ -62,7 +60,7 @@ public final class TestPropertySorter extends TestCase {
throw new RuntimeException(e);
}
}
-
+
/**
* Test sorting of properties in DirectoryProperty
*/
@@ -125,22 +123,22 @@ public final class TestPropertySorter extends TestCase {
DirectoryNode vba = (DirectoryNode)vba_project.getEntry(VBA);
DirectoryProperty p = (DirectoryProperty)vba.getProperty();
- ArrayList lst = new ArrayList();
- for (Iterator it = p.getChildren(); it.hasNext();){
- Property ch = (Property)it.next();
+ List lst = new ArrayList();
+ for (Iterator it = p.getChildren(); it.hasNext();){
+ Property ch = it.next();
lst.add(ch);
}
- return (Property [])lst.toArray(new Property[ 0 ]);
+ return lst.toArray(new Property[ 0 ]);
}
/**
* Old version of case-sensitive PropertyComparator to demonstrate the problem
*/
- private static final Comparator OldCaseSensitivePropertyComparator = new Comparator() {
+ private static final Comparator OldCaseSensitivePropertyComparator = new Comparator() {
- public int compare(Object o1, Object o2) {
- String name1 = (( Property ) o1).getName();
- String name2 = (( Property ) o2).getName();
+ public int compare(Property o1, Property o2) {
+ String name1 = o1.getName();
+ String name2 = o2.getName();
int result = name1.length() - name2.length();
if (result == 0) {
diff --git a/src/testcases/org/apache/poi/poifs/storage/LocalRawDataBlockList.java b/src/testcases/org/apache/poi/poifs/storage/LocalRawDataBlockList.java
index 21049ebf1..61bc943f5 100644
--- a/src/testcases/org/apache/poi/poifs/storage/LocalRawDataBlockList.java
+++ b/src/testcases/org/apache/poi/poifs/storage/LocalRawDataBlockList.java
@@ -1,4 +1,3 @@
-
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@@ -15,42 +14,32 @@
See the License for the specific language governing permissions and
limitations under the License.
==================================================================== */
-
package org.apache.poi.poifs.storage;
+import java.io.ByteArrayInputStream;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+
import org.apache.poi.poifs.common.POIFSConstants;
-import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.apache.poi.util.LittleEndian;
import org.apache.poi.util.LittleEndianConsts;
-import java.io.*;
-
-import java.util.*;
-
/**
* Class LocalRawDataBlockList
*
* @author Marc Johnson(mjohnson at apache dot org)
*/
-
-public class LocalRawDataBlockList
- extends RawDataBlockList
-{
- private List _list;
+public final class LocalRawDataBlockList extends RawDataBlockList {
+ private List _list;
private RawDataBlock[] _array;
- /**
- * Constructor LocalRawDataBlockList
- *
- * @exception IOException
- */
-
public LocalRawDataBlockList()
throws IOException
{
super(new ByteArrayInputStream(new byte[ 0 ]), POIFSConstants.BIG_BLOCK_SIZE);
- _list = new ArrayList();
+ _list = new ArrayList();
_array = null;
}
@@ -60,10 +49,7 @@ public class LocalRawDataBlockList
* @param start index of first BAT block
* @param end index of last BAT block
* @param chain index of next XBAT block
- *
- * @exception IOException
*/
-
public void createNewXBATBlock(final int start, final int end,
final int chain)
throws IOException
@@ -89,10 +75,7 @@ public class LocalRawDataBlockList
* create a BAT block and add it to the list
*
* @param start_index initial index for the block list
- *
- * @exception IOException
*/
-
public void createNewBATBlock(final int start_index)
throws IOException
{
@@ -124,10 +107,7 @@ public class LocalRawDataBlockList
* fill the list with dummy blocks
*
* @param count of blocks
- *
- * @exception IOException
*/
-
public void fill(final int count)
throws IOException
{
@@ -144,7 +124,6 @@ public class LocalRawDataBlockList
*
* @param block new block to add
*/
-
public void add(RawDataBlock block)
{
_list.add(block);
@@ -156,10 +135,7 @@ public class LocalRawDataBlockList
* @param index of block to be removed
*
* @return desired block
- *
- * @exception IOException
*/
-
public ListManagedBlock remove(final int index)
throws IOException
{
@@ -189,7 +165,6 @@ public class LocalRawDataBlockList
* @param index the index of the specified block; if the index is
* out of range, that's ok
*/
-
public void zap(final int index)
{
ensureArrayExists();
@@ -203,7 +178,7 @@ public class LocalRawDataBlockList
{
if (_array == null)
{
- _array = ( RawDataBlock [] ) _list.toArray(new RawDataBlock[ 0 ]);
+ _array = _list.toArray(new RawDataBlock[ 0 ]);
}
}
}
diff --git a/src/testcases/org/apache/poi/poifs/storage/TestBlockListImpl.java b/src/testcases/org/apache/poi/poifs/storage/TestBlockListImpl.java
index 35715f65b..03f57c311 100644
--- a/src/testcases/org/apache/poi/poifs/storage/TestBlockListImpl.java
+++ b/src/testcases/org/apache/poi/poifs/storage/TestBlockListImpl.java
@@ -34,9 +34,17 @@ import org.apache.poi.util.LittleEndianConsts;
* @author Marc Johnson
*/
public final class TestBlockListImpl extends TestCase {
+ private static final class BlockListTestImpl extends BlockListImpl {
+ public BlockListTestImpl() {
+ // no extra initialisation
+ }
+ }
+ private static BlockListImpl create() {
+ return new BlockListTestImpl();
+ }
public void testZap() throws IOException {
- BlockListImpl list = new BlockListImpl();
+ BlockListImpl list = create();
// verify that you can zap anything
for (int j = -2; j < 10; j++)
@@ -70,8 +78,9 @@ public final class TestBlockListImpl extends TestCase {
}
}
+
public void testRemove() throws IOException {
- BlockListImpl list = new BlockListImpl();
+ BlockListImpl list = create();
RawDataBlock[] blocks = new RawDataBlock[ 5 ];
byte[] data = new byte[ 512 * 5 ];
@@ -130,7 +139,7 @@ public final class TestBlockListImpl extends TestCase {
}
public void testSetBAT() throws IOException {
- BlockListImpl list = new BlockListImpl();
+ BlockListImpl list = create();
list.setBAT(null);
list.setBAT(new BlockAllocationTableReader());
@@ -158,7 +167,7 @@ public final class TestBlockListImpl extends TestCase {
// document, one that includes a reserved (BAT) block, one
// that includes a reserved (XBAT) block, and one that
// points off into space somewhere
- BlockListImpl list = new BlockListImpl();
+ BlockListImpl list = create();
List raw_blocks = new ArrayList();
byte[] data = new byte[ 512 ];
int offset = 0;