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
This commit is contained in:
Josh Micich 2009-08-18 02:41:45 +00:00
parent 37bbf5d179
commit 995d8fe73f
170 changed files with 2860 additions and 3873 deletions

View File

@ -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);
// }
//}

View File

@ -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<SubRecord> 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<EscherProperty> props = opt.getEscherProperties();
for (Iterator<EscherProperty> 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;
}
}

View File

@ -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;

View File

@ -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;

View File

@ -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;
/**

View File

@ -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;

View File

@ -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;
/**

View File

@ -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) {

View File

@ -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;

View File

@ -22,7 +22,6 @@ 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)

View File

@ -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;

View File

@ -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()<br/>
*

View File

@ -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;
}
}

View File

@ -14,10 +14,10 @@
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;
@ -30,9 +30,6 @@ public class HSSFCreationHelper implements CreationHelper {
dataFormat = new HSSFDataFormat(workbook.getWorkbook());
}
/**
* Creates a new HSSFRichTextString for you.
*/
public HSSFRichTextString createRichTextString(String text) {
return new HSSFRichTextString(text);
}
@ -63,5 +60,4 @@ public class HSSFCreationHelper implements CreationHelper {
public HSSFClientAnchor createClientAnchor(){
return new HSSFClientAnchor();
}
}

View File

@ -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 {

View File

@ -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.
*

View File

@ -21,9 +21,7 @@ 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;
@ -39,16 +37,14 @@ public class POIFSLister {
* @param args the names of the files to be displayed
*/
public static void main(final String args[]) throws IOException {
if (args.length == 0)
{
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")) {
if (args[j].equalsIgnoreCase("-size") || args[j].equalsIgnoreCase("-sizes")) {
withSizes = true;
} else {
viewFile(args[j], withSizes);
@ -56,11 +52,8 @@ public class POIFSLister {
}
}
public static void viewFile(final String filename, boolean withSizes) throws IOException
{
POIFSFileSystem fs = new POIFSFileSystem(
new FileInputStream(filename)
);
public static void viewFile(final String filename, boolean withSizes) throws IOException {
POIFSFileSystem fs = new POIFSFileSystem(new FileInputStream(filename));
displayDirectory(fs.getRoot(), "", withSizes);
}
@ -83,10 +76,8 @@ public class POIFSLister {
name = name.substring(1) + " <" + altname + ">";
}
if (withSizes) {
size = " [" +
doc.getSize() + " / 0x" +
Integer.toHexString(doc.getSize()) +
"]";
size = " [" + doc.getSize() + " / 0x" + Integer.toHexString(doc.getSize())
+ "]";
}
System.out.println(newIndent + name + size);
}

View File

@ -1,4 +1,3 @@
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@ -16,43 +15,34 @@
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<Property> _children;
// List of Property instances
private List _children;
// set of children's names
private Set _children_names;
/** set of children's names */
private Set<String> _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<Property>();
_children_names = new HashSet<String>();
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<Property>();
_children_names = new HashSet<String>();
}
/**
@ -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<Property> {
/**
* 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<Property> 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
}

View File

@ -1,4 +1,3 @@
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@ -16,19 +15,18 @@
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<Property> _properties;
private BlockWritable[] _blocks;
/**
* Default constructor
*/
public PropertyTable()
{
_start_block = POIFSConstants.END_OF_CHAIN;
_properties = new ArrayList();
_properties = new ArrayList<Property>();
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<Property> children = new Stack<Property>();
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
}

View File

@ -1,4 +1,3 @@
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@ -16,13 +15,8 @@
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
}

View File

@ -1,4 +1,3 @@
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@ -16,7 +15,6 @@
limitations under the License.
==================================================================== */
package org.apache.poi.poifs.storage;
import java.io.IOException;
@ -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

View File

@ -1,4 +1,3 @@
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@ -16,7 +15,6 @@
limitations under the License.
==================================================================== */
package org.apache.poi.poifs.storage;
import java.io.IOException;
@ -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,13 +167,12 @@ 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<ListManagedBlock> blocks = new ArrayList<ListManagedBlock>();
int currentBlock = startBlock;
boolean firstPass = true;
ListManagedBlock dataBlock = null;
@ -217,8 +206,7 @@ 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,11 +249,8 @@ public class BlockAllocationTableReader
{
return _entries.get(index);
}
else
{
throw new IOException("index " + index + " is unused");
}
}
/**
* Convert an array of blocks into a set of integer indices
@ -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
}

View File

@ -1,4 +1,3 @@
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@ -16,19 +15,14 @@
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,12 +81,9 @@ public class BlockAllocationTableWriter
// stable ... we're OK
break;
}
else
{
bat_blocks = calculated_bat_blocks;
xbat_blocks = calculated_xbat_blocks;
}
}
int startBlock = allocateSpace(bat_blocks);
allocateSpace(xbat_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
}

View File

@ -1,4 +1,3 @@
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@ -16,29 +15,19 @@
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))
@ -77,7 +62,7 @@ class BlockListImpl
* Unit testing method. Gets, without sanity checks or
* removing.
*/
protected ListManagedBlock get(final int index) throws IOException {
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
{
@ -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
}

View File

@ -1,4 +1,3 @@
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@ -16,22 +15,16 @@
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;

View File

@ -1,4 +1,3 @@
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@ -16,28 +15,21 @@
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;

View File

@ -1,4 +1,3 @@
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@ -16,24 +15,19 @@
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)

View File

@ -1,4 +1,3 @@
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@ -16,11 +15,8 @@
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;

View File

@ -1,4 +1,3 @@
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@ -16,11 +15,8 @@
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,7 +27,6 @@ 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)

View File

@ -1,4 +1,3 @@
/* ====================================================================
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
@ -16,11 +15,8 @@
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

View File

@ -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.*;

View File

@ -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;
@ -483,5 +482,4 @@ public class StylesTable extends POIXMLDocumentPart {
}
return null;
}
}

View File

@ -17,12 +17,10 @@
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;
}
@ -54,7 +52,8 @@ public class XSSFCreationHelper implements CreationHelper {
}
/**
* Creates a XSSFClientAnchor. Use this object to position drawing object in a sheet
* Creates a XSSFClientAnchor. Use this object to position drawing object in
* a sheet
*
* @return a XSSFClientAnchor instance
* @see org.apache.poi.ss.usermodel.Drawing

View File

@ -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;

View File

@ -18,71 +18,103 @@
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
*
*<b> Header/Footer Formatting Syntax</b>
*<p>
* 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.
*</p>
*
* 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
* 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
*
* <b>General Rules:</b>
* 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:
* <b>General Rules:</b> 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:
*
* <dl>
* <dt> &L </dt> <dd>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.</dd>
* <dt> &P </dt> <dd> code for "current page #"</dd>
* <dt> &N </dt> <dd> code for "total pages"</dd>
* <dt>&font size </dt> <dd> code for "text font size", where font size is a font size in points.</dd>
* <dt> &K </dt> <dd> 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.</dd>
* <dt> &S </dt> <dd> code for "text strikethrough" on / off</dd>
* <dt> &X </dt> <dd> code for "text super script" on / off</dd>
* <dt> &Y </dt> <dd> code for "text subscript" on / off</dd>
* <dt> &C </dt> <dd> 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</dd>
* <dt> &D </dt> <dd> code for "date"</dd>
* <dt> &T </dt> <dd> code for "time"</dd>
* <dt> &G </dt> <dd> code for "picture as background"</dd>
* <dt> &U </dt> <dd> code for "text single underline"</dd>
* <dt> &E </dt> <dd> code for "double underline"</dd>
* <dt> &R </dt> <dd> 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.</dd>
* <dt> &Z </dt> <dd> code for "this workbook's file path"</dd>
* <dt> &F </dt> <dd> code for "this workbook's file name"</dd>
* <dt> &A </dt> <dd> code for "sheet tab name"</dd>
* <dt> &+ </dt> <dd> code for add to page #.</dd>
* <dt> &- </dt> <dd> code for subtract from page #.</dd>
* <dt> &"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.</dd>
* <dt> &"-,Bold" </dt> <dd> code for "bold font style"</dd>
* <dt> &B </dt> <dd> also means "bold font style"</dd>
* <dt> &"-,Regular" </dt> <dd> code for "regular font style"</dd>
* <dt> &"-,Italic" </dt> <dd> code for "italic font style"</dd>
* <dt> &I </dt> <dd> also means "italic font style"</dd>
* <dt> &"-,Bold Italic" </dt> <dd> code for "bold italic font style"</dd>
* <dt> &O </dt> <dd> code for "outline style"</dd>
* <dt> &H </dt> <dd> code for "shadow style"</dd>
* <dt>&L</dt>
* <dd>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.</dd>
* <dt>&P</dt>
* <dd>code for "current page #"</dd>
* <dt>&N</dt>
* <dd>code for "total pages"</dd>
* <dt>&font size</dt>
* <dd>code for "text font size", where font size is a font size in points.</dd>
* <dt>&K</dt>
* <dd>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.</dd>
* <dt>&S</dt>
* <dd>code for "text strikethrough" on / off</dd>
* <dt>&X</dt>
* <dd>code for "text super script" on / off</dd>
* <dt>&Y</dt>
* <dd>code for "text subscript" on / off</dd>
* <dt>&C</dt>
* <dd>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</dd>
* <dt>&D</dt>
* <dd>code for "date"</dd>
* <dt>&T</dt>
* <dd>code for "time"</dd>
* <dt>&G</dt>
* <dd>code for "picture as background"</dd>
* <dt>&U</dt>
* <dd>code for "text single underline"</dd>
* <dt>&E</dt>
* <dd>code for "double underline"</dd>
* <dt>&R</dt>
* <dd>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.</dd>
* <dt>&Z</dt>
* <dd>code for "this workbook's file path"</dd>
* <dt>&F</dt>
* <dd>code for "this workbook's file name"</dd>
* <dt>&A</dt>
* <dd>code for "sheet tab name"</dd>
* <dt>&+</dt>
* <dd>code for add to page #.</dd>
* <dt>&-</dt>
* <dd>code for subtract from page #.</dd>
* <dt>&"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.</dd>
* <dt>&"-,Bold"</dt>
* <dd>code for "bold font style"</dd>
* <dt>&B</dt>
* <dd>also means "bold font style"</dd>
* <dt>&"-,Regular"</dt>
* <dd>code for "regular font style"</dd>
* <dt>&"-,Italic"</dt>
* <dd>code for "italic font style"</dd>
* <dt>&I</dt>
* <dd>also means "italic font style"</dd>
* <dt>&"-,Bold Italic"</dt>
* <dd>code for "bold italic font style"</dd>
* <dt>&O</dt>
* <dd>code for "outline style"</dd>
* <dt>&H</dt>
* <dd>code for "shadow style"</dd>
* </dl>
*
*
@ -95,6 +127,7 @@ public abstract class XSSFHeaderFooter implements HeaderFooter {
/**
* Create an instance of XSSFHeaderFooter from the supplied XML bean
*
* @param headerFooter
*/
public XSSFHeaderFooter(CTHeaderFooter headerFooter) {
@ -118,19 +151,18 @@ public abstract class XSSFHeaderFooter implements HeaderFooter {
return value;
}
/**
* Are fields currently being stripped from
* the text that this {@link XSSFHeaderFooter} returns?
* Default is false, but can be changed
* 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,17 +170,14 @@ 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);

View File

@ -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;

View File

@ -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<XSSFPictureData> pictures = workbook.getAllPictures();
assertEquals(1, pictures.size());
}
}

View File

@ -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();

View File

@ -17,22 +17,9 @@
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}

View File

@ -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;

View File

@ -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);
}
}

View File

@ -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;

View File

@ -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

View File

@ -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() {

View File

@ -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());
}
}

View File

@ -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

View File

@ -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());
}
@ -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);
}
}

View File

@ -20,23 +20,18 @@ 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 {
@ -238,7 +233,7 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
assertEquals(1, st.getBorders().size());
}
public void testIncrementSheetId() throws Exception {
public void testIncrementSheetId() {
XSSFWorkbook wb = getTestDataProvider().createWorkbook();
int sheetId = (int)wb.createSheet().sheet.getSheetId();
assertEquals(1, sheetId);
@ -255,7 +250,7 @@ public final class TestXSSFWorkbook extends BaseTestWorkbook {
/**
* Test setting of core properties such as Title and Author
*/
public void testWorkbookProperties() throws Exception {
public void testWorkbookProperties() {
XSSFWorkbook workbook = new XSSFWorkbook();
POIXMLProperties props = workbook.getProperties();
assertNotNull(props);

View File

@ -22,10 +22,9 @@ 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();
@ -73,5 +72,4 @@ public class TestCTColComparator extends TestCase {
assertEquals(8, cols[1].getMax());
assertEquals(80, cols[2].getMax());
}
}

View File

@ -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,7 +97,7 @@ 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();
@ -240,6 +237,4 @@ public class TestXWPFParagraph extends TestCase {
p.setPageBreak(true);
assertEquals(STOnOff.TRUE, ppr.getPageBreakBefore().getVal());
}
}

View File

@ -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;

View File

@ -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,22 +181,16 @@ 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++)
{
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)
{
if ((filePos & 0x40000000) == 0) {
unicode = true;
}
else
{
} else {
unicode = false;
filePos &= ~(0x40000000);//gives me FC in doc stream
filePos /= 2;
@ -218,11 +200,7 @@ public final class HDFObjectFactory
TextPiece piece = new TextPiece(filePos, totLength, unicode);
_listener.text(piece);
}
}
}
/**
* initializes all of the formatting properties for a Word Document
@ -532,11 +510,8 @@ public final class HDFObjectFactory
{
break;
}
else
{
x++;
}
}
//do the header sections
for (; x < arraySize; x++)// && sectionEnd <= end; x++)
{

View File

@ -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;

View File

@ -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;

View File

@ -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;
/**

View File

@ -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;

View File

@ -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;

View File

@ -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;
/**

View File

@ -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;
/**

View File

@ -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;
/**

View File

@ -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;
/**

View File

@ -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;

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.

View File

@ -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.*;

View File

@ -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.

View File

@ -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;

View File

@ -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

View File

@ -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;

View File

@ -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;

View File

@ -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;
}
}

View File

@ -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;
/**

View File

@ -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;
/**

View File

@ -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;

View File

@ -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;

View File

@ -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.*;

View File

@ -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<TextElement> lines = new ArrayList<TextElement>();
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 {

View File

@ -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.*;

View File

@ -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.

View File

@ -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

View File

@ -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;

View File

@ -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;
}
}

View File

@ -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:

View File

@ -15,14 +15,11 @@
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.
*/

View File

@ -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;
/**

View File

@ -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;

View File

@ -15,14 +15,11 @@
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

View File

@ -21,16 +21,12 @@ 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;
@ -106,5 +102,4 @@ public final class MainMaster extends SheetContainer
public ColorSchemeAtom getColorScheme(){
return _colorScheme;
}
}

View File

@ -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;
/**

View File

@ -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,8 +43,7 @@ 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;
@ -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[]{};
@ -315,5 +313,4 @@ public final class PPDrawing extends RecordAtom
}
return dg;
}
}

View File

@ -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;
/**

View File

@ -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.
*/

View File

@ -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,8 +45,7 @@ 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

View File

@ -17,8 +17,6 @@
package org.apache.poi.hslf.record;
import org.apache.poi.util.POILogger;
import java.io.OutputStream;
import java.io.IOException;

View File

@ -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;

View File

@ -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;

View File

@ -38,17 +38,14 @@ 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
@ -125,8 +122,7 @@ public final class SlideShow {
}
/**
* Find the records that are parent-aware, and tell them
* who their parent is
* 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
@ -149,13 +145,11 @@ public final class SlideShow {
}
}
/**
* Use the PersistPtrHolder entries to figure out what is
* the "most recent" version of all the core records
* (Document, Notes, Slide etc), and save a record of them.
* Do this by walking from the oldest PersistPtr to the newest,
* overwriting any references found along the way with newer ones
* Use the PersistPtrHolder entries to figure out what is the "most recent"
* version of all the core records (Document, Notes, Slide etc), and save a
* record of them. Do this by walking from the oldest PersistPtr to the
* newest, overwriting any references found along the way with newer ones
*/
private void findMostRecentCoreRecords() {
// To start with, find the most recent in the byte offset domain
@ -214,14 +208,12 @@ public final class SlideShow {
if (thatRecordAt.equals(recordAt)) {
// Bingo. Now, where do we store it?
Integer storeAtI =
(Integer)_sheetIdToCoreRecordsLookup.get(thisID);
Integer storeAtI = (Integer) _sheetIdToCoreRecordsLookup.get(thisID);
int storeAt = storeAtI.intValue();
// Tell it its Sheet ID, if it cares
if (pdr instanceof PositionDependentRecordContainer) {
PositionDependentRecordContainer pdrc =
(PositionDependentRecordContainer)_records[i];
PositionDependentRecordContainer pdrc = (PositionDependentRecordContainer) _records[i];
pdrc.setSheetId(thisID.intValue());
}
@ -249,8 +241,8 @@ public final class SlideShow {
}
/**
* For a given SlideAtomsSet, return the core record, based on the refID from the
* SlidePersistAtom
* For a given SlideAtomsSet, return the core record, based on the refID
* from the SlidePersistAtom
*/
private Record getCoreRecordForSAS(SlideAtomsSet sas) {
SlidePersistAtom spa = sas.getSlidePersistAtom();
@ -261,16 +253,19 @@ public final class SlideShow {
/**
* For a given refID (the internal, 0 based numbering scheme), return the
* core record
* @param refID the refID
*
* @param refID
* the refID
*/
private Record getCoreRecordForRefID(int refID) {
Integer coreRecordId = (Integer)
_sheetIdToCoreRecordsLookup.get(new Integer(refID));
Integer coreRecordId = (Integer) _sheetIdToCoreRecordsLookup.get(new Integer(refID));
if (coreRecordId != null) {
Record r = _mostRecentCoreRecords[coreRecordId.intValue()];
return r;
} else {
logger.log(POILogger.ERROR, "We tried to look up a reference to a core record, but there was no core ID for reference ID " + refID);
logger.log(POILogger.ERROR,
"We tried to look up a reference to a core record, but there was no core ID for reference ID "
+ refID);
return null;
}
}
@ -283,10 +278,10 @@ public final class SlideShow {
// Ensure we really found a Document record earlier
// If we didn't, then the file is probably corrupt
if (_documentRecord == null) {
throw new CorruptPowerPointFileException("The PowerPoint file didn't contain a Document Record in its PersistPtr blocks. It is probably corrupt.");
throw new CorruptPowerPointFileException(
"The PowerPoint file didn't contain a Document Record in its PersistPtr blocks. It is probably corrupt.");
}
// Fetch the SlideListWithTexts in the most up-to-date Document Record
//
// As far as we understand it:
@ -325,11 +320,13 @@ public final class SlideShow {
SlideAtomsSet sas = masterSets[i];
int sheetNo = sas.getSlidePersistAtom().getSlideIdentifier();
if (r instanceof org.apache.poi.hslf.record.Slide) {
TitleMaster master = new TitleMaster((org.apache.poi.hslf.record.Slide)r, sheetNo);
TitleMaster master = new TitleMaster((org.apache.poi.hslf.record.Slide) r,
sheetNo);
master.setSlideShow(this);
tmr.add(master);
} else if (r instanceof org.apache.poi.hslf.record.MainMaster) {
SlideMaster master = new SlideMaster((org.apache.poi.hslf.record.MainMaster)r, sheetNo);
SlideMaster master = new SlideMaster((org.apache.poi.hslf.record.MainMaster) r,
sheetNo);
master.setSlideShow(this);
mmr.add(master);
}
@ -343,10 +340,8 @@ public final class SlideShow {
}
// Having sorted out the masters, that leaves the notes and slides
// Start by finding the notes records to go with the entries in
// notesSLWT
org.apache.poi.hslf.record.Notes[] notesRecords;
@ -373,12 +368,14 @@ public final class SlideShow {
Integer slideId = new Integer(spa.getSlideIdentifier());
slideIdToNotes.put(slideId, new Integer(i));
} else {
logger.log(POILogger.ERROR, "A Notes SlideAtomSet at " + i + " said its record was at refID " + notesSets[i].getSlidePersistAtom().getRefID() + ", but that was actually a " + r);
logger.log(POILogger.ERROR, "A Notes SlideAtomSet at " + i
+ " said its record was at refID "
+ notesSets[i].getSlidePersistAtom().getRefID()
+ ", but that was actually a " + r);
}
}
notesRecords = new org.apache.poi.hslf.record.Notes[notesRecordsL.size()];
notesRecords = (org.apache.poi.hslf.record.Notes[])
notesRecordsL.toArray(notesRecords);
notesRecords = (org.apache.poi.hslf.record.Notes[]) notesRecordsL.toArray(notesRecords);
}
// Now, do the same thing for our slides
@ -399,7 +396,10 @@ public final class SlideShow {
if (r instanceof org.apache.poi.hslf.record.Slide) {
slidesRecords[i] = (org.apache.poi.hslf.record.Slide) r;
} else {
logger.log(POILogger.ERROR, "A Slide SlideAtomSet at " + i + " said its record was at refID " + slidesSets[i].getSlidePersistAtom().getRefID() + ", but that was actually a " + r);
logger.log(POILogger.ERROR, "A Slide SlideAtomSet at " + i
+ " said its record was at refID "
+ slidesSets[i].getSlidePersistAtom().getRefID()
+ ", but that was actually a " + r);
}
}
}
@ -419,12 +419,15 @@ public final class SlideShow {
// Do we have a notes for this?
Notes notes = null;
//Slide.SlideAtom.notesId references the corresponding notes slide. 0 if slide has no notes.
// Slide.SlideAtom.notesId references the corresponding notes slide.
// 0 if slide has no notes.
int noteId = slidesRecords[i].getSlideAtom().getNotesID();
if (noteId != 0) {
Integer notesPos = (Integer) slideIdToNotes.get(new Integer(noteId));
if (notesPos != null) notes = _notes[notesPos.intValue()];
else logger.log(POILogger.ERROR, "Notes not found for noteId=" + noteId);
if (notesPos != null)
notes = _notes[notesPos.intValue()];
else
logger.log(POILogger.ERROR, "Notes not found for noteId=" + noteId);
}
// Now, build our slide
@ -434,48 +437,61 @@ public final class SlideShow {
}
/**
* Writes out the slideshow file the is represented by an instance of
* this class
* @param out The OutputStream to write to.
* @throws IOException If there is an unexpected IOException from the passed
* in OutputStream
* Writes out the slideshow file the is represented by an instance of this
* class
*
* @param out
* The OutputStream to write to.
* @throws IOException
* If there is an unexpected IOException from the passed in
* OutputStream
*/
public void write(OutputStream out) throws IOException {
_hslfSlideShow.write(out);
}
/* ===============================================================
/*
* ===============================================================
* Accessor Code
* ===============================================================
*/
/**
* Returns an array of the most recent version of all the interesting
* records
*/
public Record[] getMostRecentCoreRecords() { return _mostRecentCoreRecords; }
public Record[] getMostRecentCoreRecords() {
return _mostRecentCoreRecords;
}
/**
* Returns an array of all the normal Slides found in the slideshow
*/
public Slide[] getSlides() { return _slides; }
public Slide[] getSlides() {
return _slides;
}
/**
* Returns an array of all the normal Notes found in the slideshow
*/
public Notes[] getNotes() { return _notes; }
public Notes[] getNotes() {
return _notes;
}
/**
* Returns an array of all the normal Slide Masters found in the slideshow
*/
public SlideMaster[] getSlidesMasters() { return _masters; }
public SlideMaster[] getSlidesMasters() {
return _masters;
}
/**
* Returns an array of all the normal Title Masters found in the slideshow
*/
public TitleMaster[] getTitleMasters() { return _titleMasters; }
public TitleMaster[] getTitleMasters() {
return _titleMasters;
}
/**
* Returns the data of all the pictures attached to the SlideShow
*/
@ -510,7 +526,8 @@ public final class SlideShow {
/**
* Change the current page size
*
* @param pgsize page size (in points)
* @param pgsize
* page size (in points)
*/
public void setPageSize(Dimension pgsize) {
DocumentAtom docatom = _documentRecord.getDocumentAtom();
@ -521,23 +538,30 @@ public final class SlideShow {
/**
* Helper method for usermodel: Get the font collection
*/
protected FontCollection getFontCollection() { return _fonts; }
protected FontCollection getFontCollection() {
return _fonts;
}
/**
* Helper method for usermodel and model: Get the document record
*/
public Document getDocumentRecord() { return _documentRecord; }
public Document getDocumentRecord() {
return _documentRecord;
}
/* ===============================================================
/*
* ===============================================================
* Re-ordering Code
* ===============================================================
*/
/**
* Re-orders a slide, to a new position.
* @param oldSlideNumber The old slide number (1 based)
* @param newSlideNumber The new slide number (1 based)
*
* @param oldSlideNumber
* The old slide number (1 based)
* @param newSlideNumber
* The new slide number (1 based)
*/
public void reorderSlide(int oldSlideNumber, int newSlideNumber) {
// Ensure these numbers are valid
@ -545,10 +569,13 @@ public final class SlideShow {
throw new IllegalArgumentException("Old and new slide numbers must be greater than 0");
}
if (oldSlideNumber > _slides.length || newSlideNumber > _slides.length) {
throw new IllegalArgumentException("Old and new slide numbers must not exceed the number of slides (" + _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.
// 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();
@ -571,16 +598,20 @@ public final class SlideShow {
/**
* Removes the slide at the given index (0-based).
* <p>Shifts any subsequent slides to the left (subtracts one from their slide numbers).</p>
* <p>
* Shifts any subsequent slides to the left (subtracts one from their slide
* numbers).
* </p>
*
* @param index the index of the slide to remove (0-based)
* @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 + ")");
throw new IllegalArgumentException("Slide index (" + index + ") is out of range (0.."
+ lastSlideIdx + ")");
}
SlideListWithText slwt = _documentRecord.getSlideSlideListWithText();
@ -592,7 +623,8 @@ public final class SlideShow {
ArrayList<Slide> sl = new ArrayList<Slide>();
ArrayList<Notes> nt = new ArrayList<Notes>();
for(Notes notes : getNotes()) nt.add(notes);
for (Notes notes : getNotes())
nt.add(notes);
for (int i = 0, num = 0; i < _slides.length; i++) {
if (i != index) {
@ -626,7 +658,8 @@ public final class SlideShow {
if (ns.getSlidePersistAtom().getSlideIdentifier() != notesId) {
na.add(ns);
records.add(ns.getSlidePersistAtom());
if(ns.getSlideRecords() != null) records.addAll(Arrays.asList(ns.getSlideRecords()));
if (ns.getSlideRecords() != null)
records.addAll(Arrays.asList(ns.getSlideRecords()));
}
}
if (na.size() == 0) {
@ -643,12 +676,12 @@ public final class SlideShow {
return removedSlide;
}
/* ===============================================================
/*
* ===============================================================
* Addition Code
* ===============================================================
*/
/**
* Create a blank <code>Slide</code>.
*
@ -680,7 +713,9 @@ public final class SlideShow {
// Odd, since we only deal with the Slide SLWT
} else {
// Must be for a real slide
if(prev == null) { prev = spa; }
if (prev == null) {
prev = spa;
}
if (prev.getSlideIdentifier() < spa.getSlideIdentifier()) {
prev = spa;
}
@ -696,7 +731,6 @@ public final class SlideShow {
// Add this new SlidePersistAtom to the SlideListWithText
slist.addSlidePersistAtom(sp);
// Create a new Slide
Slide slide = new Slide(sp.getSlideIdentifier(), sp.getRefID(), _slides.length + 1);
slide.setSlideShow(this);
@ -707,14 +741,14 @@ public final class SlideShow {
System.arraycopy(_slides, 0, s, 0, _slides.length);
s[_slides.length] = slide;
_slides = s;
logger.log(POILogger.INFO, "Added slide " + _slides.length + " with ref " + sp.getRefID() + " and identifier " + sp.getSlideIdentifier());
logger.log(POILogger.INFO, "Added slide " + _slides.length + " with ref " + sp.getRefID()
+ " and identifier " + sp.getSlideIdentifier());
// Add the core records for this new Slide to the record tree
org.apache.poi.hslf.record.Slide slideRecord = slide.getSlideRecord();
int slideRecordPos = _hslfSlideShow.appendRootLevelRecord(slideRecord);
_records = _hslfSlideShow.getRecords();
// Add the new Slide into the PersistPtr stuff
int offset = 0;
int slideOffset = 0;
@ -750,7 +784,8 @@ public final class SlideShow {
// Last view is now of the slide
usr.setLastViewType((short) UserEditAtom.LAST_VIEW_SLIDE_VIEW);
usr.setMaxPersistWritten(psrId); //increment the number of persit objects
usr.setMaxPersistWritten(psrId); // increment the number of persit
// objects
// Add the new slide into the last PersistPtr
// (Also need to tell it where it is)
@ -766,8 +801,11 @@ public final class SlideShow {
/**
* 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 <code>Picture</code> class.
* @param data
* picture data
* @param format
* the format of the picture. One of constans defined in the
* <code>Picture</code> class.
* @return the index to this picture (1 based).
*/
public int addPicture(byte[] data, int format) throws IOException {
@ -776,7 +814,8 @@ public final class SlideShow {
EscherContainerRecord bstore;
EscherContainerRecord dggContainer = _documentRecord.getPPDrawingGroup().getDggContainer();
bstore = (EscherContainerRecord)Shape.getEscherChild(dggContainer, EscherContainerRecord.BSTORE_CONTAINER);
bstore = (EscherContainerRecord) Shape.getEscherChild(dggContainer,
EscherContainerRecord.BSTORE_CONTAINER);
if (bstore == null) {
bstore = new EscherContainerRecord();
bstore.setRecordId(EscherContainerRecord.BSTORE_CONTAINER);
@ -806,9 +845,12 @@ public final class SlideShow {
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);
@ -824,8 +866,11 @@ public final class SlideShow {
/**
* 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 <code>Picture</code> class.
* @param pict
* the file containing the image to add
* @param format
* the format of the picture. One of constans defined in the
* <code>Picture</code> class.
* @return the index to this picture (1 based).
*/
public int addPicture(File pict, int format) throws IOException {
@ -844,14 +889,16 @@ public final class SlideShow {
/**
* Add a font in this presentation
*
* @param font the font to add
* @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());
idx = fonts.addFont(font.getFontName(), font.getCharSet(), font.getFontFlags(), font
.getFontType(), font.getPitchAndFamily());
}
return idx;
}
@ -859,8 +906,10 @@ public final class SlideShow {
/**
* Get a font by index
*
* @param idx 0-based index of the font
* @return of an instance of <code>PPFont</code> or <code>null</code> if not found
* @param idx
* 0-based index of the font
* @return of an instance of <code>PPFont</code> or <code>null</code> if not
* found
*/
public PPFont getFont(int idx) {
PPFont font = null;
@ -900,8 +949,8 @@ public final class SlideShow {
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){
if (ch[i] instanceof HeadersFootersContainer
&& ((HeadersFootersContainer) ch[i]).getOptions() == HeadersFootersContainer.SlideHeadersFootersContainer) {
hdd = (HeadersFootersContainer) ch[i];
break;
}
@ -927,8 +976,8 @@ public final class SlideShow {
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){
if (ch[i] instanceof HeadersFootersContainer
&& ((HeadersFootersContainer) ch[i]).getOptions() == HeadersFootersContainer.NotesHeadersFootersContainer) {
hdd = (HeadersFootersContainer) ch[i];
break;
}
@ -948,7 +997,8 @@ public final class SlideShow {
/**
* Add a movie in this presentation
*
* @param path the path or url to the movie
* @param path
* the path or url to the movie
* @return 0-based index of the movie
*/
public int addMovie(String path, int type) {
@ -985,8 +1035,11 @@ public final class SlideShow {
/**
* 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"
* @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) {

View File

@ -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)
{
public DocumentProperties(byte[] tableStream, int offset) {
super.fillFields(tableStream, offset);
}
}

Some files were not shown because too many files have changed in this diff Show More