mirror of https://github.com/apache/poi.git
JDK 1.4 compatibility. Some exception clean-up
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@683699 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
ca28a95c89
commit
5eaf4faae0
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
/* ====================================================================
|
/* ====================================================================
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
@ -16,8 +15,6 @@
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
==================================================================== */
|
==================================================================== */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
package org.apache.poi.hslf;
|
package org.apache.poi.hslf;
|
||||||
|
|
||||||
import java.io.ByteArrayInputStream;
|
import java.io.ByteArrayInputStream;
|
||||||
|
@ -27,7 +24,12 @@ import java.io.FileNotFoundException;
|
||||||
import java.io.IOException;
|
import java.io.IOException;
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.io.OutputStream;
|
import java.io.OutputStream;
|
||||||
import java.util.*;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Hashtable;
|
||||||
|
import java.util.Iterator;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.poi.POIDocument;
|
import org.apache.poi.POIDocument;
|
||||||
import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
|
import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
|
||||||
|
@ -36,7 +38,6 @@ import org.apache.poi.hslf.exceptions.HSLFException;
|
||||||
import org.apache.poi.hslf.record.*;
|
import org.apache.poi.hslf.record.*;
|
||||||
import org.apache.poi.hslf.usermodel.ObjectData;
|
import org.apache.poi.hslf.usermodel.ObjectData;
|
||||||
import org.apache.poi.hslf.usermodel.PictureData;
|
import org.apache.poi.hslf.usermodel.PictureData;
|
||||||
import org.apache.poi.hslf.model.Shape;
|
|
||||||
import org.apache.poi.poifs.filesystem.DirectoryNode;
|
import org.apache.poi.poifs.filesystem.DirectoryNode;
|
||||||
import org.apache.poi.poifs.filesystem.DocumentEntry;
|
import org.apache.poi.poifs.filesystem.DocumentEntry;
|
||||||
import org.apache.poi.poifs.filesystem.DocumentInputStream;
|
import org.apache.poi.poifs.filesystem.DocumentInputStream;
|
||||||
|
@ -51,14 +52,10 @@ import org.apache.poi.util.POILogger;
|
||||||
*
|
*
|
||||||
* @author Nick Burch
|
* @author Nick Burch
|
||||||
*/
|
*/
|
||||||
|
public final class HSLFSlideShow extends POIDocument {
|
||||||
public class HSLFSlideShow extends POIDocument
|
|
||||||
{
|
|
||||||
// For logging
|
// For logging
|
||||||
private POILogger logger = POILogFactory.getLogger(this.getClass());
|
private POILogger logger = POILogFactory.getLogger(this.getClass());
|
||||||
|
|
||||||
private InputStream istream;
|
|
||||||
|
|
||||||
// Holds metadata on where things are in our document
|
// Holds metadata on where things are in our document
|
||||||
private CurrentUserAtom currentUser;
|
private CurrentUserAtom currentUser;
|
||||||
|
|
||||||
|
@ -101,11 +98,9 @@ public class HSLFSlideShow extends POIDocument
|
||||||
* @param inputStream the source of the data
|
* @param inputStream the source of the data
|
||||||
* @throws IOException if there is a problem while parsing the document.
|
* @throws IOException if there is a problem while parsing the document.
|
||||||
*/
|
*/
|
||||||
public HSLFSlideShow(InputStream inputStream) throws IOException
|
public HSLFSlideShow(InputStream inputStream) throws IOException {
|
||||||
{
|
|
||||||
//do Ole stuff
|
//do Ole stuff
|
||||||
this(new POIFSFileSystem(inputStream));
|
this(new POIFSFileSystem(inputStream));
|
||||||
istream = inputStream;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -160,29 +155,21 @@ public class HSLFSlideShow extends POIDocument
|
||||||
// Look for Picture Streams:
|
// Look for Picture Streams:
|
||||||
readPictures();
|
readPictures();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructs a new, empty, Powerpoint document.
|
* Constructs a new, empty, Powerpoint document.
|
||||||
*/
|
*/
|
||||||
public HSLFSlideShow() throws IOException
|
public static final HSLFSlideShow create() {
|
||||||
{
|
InputStream is = HSLFSlideShow.class.getResourceAsStream("data/empty.ppt");
|
||||||
this(HSLFSlideShow.class.getResourceAsStream("/org/apache/poi/hslf/data/empty.ppt"));
|
if (is == null) {
|
||||||
}
|
throw new RuntimeException("Missing resource 'empty.ppt'");
|
||||||
|
}
|
||||||
/**
|
try {
|
||||||
* Shuts things down. Closes underlying streams etc
|
return new HSLFSlideShow(is);
|
||||||
*
|
} catch (IOException e) {
|
||||||
* @throws IOException
|
throw new RuntimeException(e);
|
||||||
*/
|
|
||||||
public void close() throws IOException
|
|
||||||
{
|
|
||||||
if(istream != null) {
|
|
||||||
istream.close();
|
|
||||||
}
|
}
|
||||||
filesystem = null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Extracts the main PowerPoint document stream from the
|
* Extracts the main PowerPoint document stream from the
|
||||||
* POI file, ready to be passed
|
* POI file, ready to be passed
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
/* ====================================================================
|
/* ====================================================================
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
@ -16,18 +15,13 @@
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
==================================================================== */
|
==================================================================== */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
package org.apache.poi.hslf.dev;
|
package org.apache.poi.hslf.dev;
|
||||||
|
|
||||||
import java.util.*;
|
import java.io.ByteArrayOutputStream;
|
||||||
import java.io.*;
|
import java.io.IOException;
|
||||||
|
|
||||||
import org.apache.poi.ddf.*;
|
import org.apache.poi.hslf.HSLFSlideShow;
|
||||||
import org.apache.poi.hslf.*;
|
import org.apache.poi.hslf.record.Record;
|
||||||
import org.apache.poi.hslf.record.*;
|
|
||||||
|
|
||||||
import org.apache.poi.util.LittleEndian;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class provides a way to view the contents of a powerpoint file.
|
* This class provides a way to view the contents of a powerpoint file.
|
||||||
|
@ -36,9 +30,7 @@ import org.apache.poi.util.LittleEndian;
|
||||||
*
|
*
|
||||||
* @author Nick Burch
|
* @author Nick Burch
|
||||||
*/
|
*/
|
||||||
|
public final class SlideShowRecordDumper {
|
||||||
public class SlideShowRecordDumper
|
|
||||||
{
|
|
||||||
private HSLFSlideShow doc;
|
private HSLFSlideShow doc;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -57,7 +49,6 @@ public class SlideShowRecordDumper
|
||||||
SlideShowRecordDumper foo = new SlideShowRecordDumper(filename);
|
SlideShowRecordDumper foo = new SlideShowRecordDumper(filename);
|
||||||
|
|
||||||
foo.printDump();
|
foo.printDump();
|
||||||
foo.close();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -73,19 +64,6 @@ public class SlideShowRecordDumper
|
||||||
doc = new HSLFSlideShow(fileName);
|
doc = new HSLFSlideShow(fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Shuts things down. Closes underlying streams etc
|
|
||||||
*
|
|
||||||
* @throws IOException
|
|
||||||
*/
|
|
||||||
public void close() throws IOException
|
|
||||||
{
|
|
||||||
if(doc != null) {
|
|
||||||
doc.close();
|
|
||||||
}
|
|
||||||
doc = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
public void printDump() throws IOException {
|
public void printDump() throws IOException {
|
||||||
// Prints out the records in the tree
|
// Prints out the records in the tree
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
/* ====================================================================
|
/* ====================================================================
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
@ -16,20 +15,22 @@
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
==================================================================== */
|
==================================================================== */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
package org.apache.poi.hslf.extractor;
|
package org.apache.poi.hslf.extractor;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
import java.util.HashSet;
|
import java.util.HashSet;
|
||||||
|
|
||||||
import org.apache.poi.POIOLE2TextExtractor;
|
import org.apache.poi.POIOLE2TextExtractor;
|
||||||
|
import org.apache.poi.hslf.HSLFSlideShow;
|
||||||
|
import org.apache.poi.hslf.model.Comment;
|
||||||
|
import org.apache.poi.hslf.model.HeadersFooters;
|
||||||
|
import org.apache.poi.hslf.model.Notes;
|
||||||
|
import org.apache.poi.hslf.model.Slide;
|
||||||
|
import org.apache.poi.hslf.model.TextRun;
|
||||||
|
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
||||||
import org.apache.poi.hslf.*;
|
|
||||||
import org.apache.poi.hslf.model.*;
|
|
||||||
import org.apache.poi.hslf.record.Comment2000;
|
|
||||||
import org.apache.poi.hslf.record.Record;
|
|
||||||
import org.apache.poi.hslf.usermodel.*;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This class can be used to extract text from a PowerPoint file.
|
* This class can be used to extract text from a PowerPoint file.
|
||||||
|
@ -37,9 +38,7 @@ import org.apache.poi.hslf.usermodel.*;
|
||||||
*
|
*
|
||||||
* @author Nick Burch
|
* @author Nick Burch
|
||||||
*/
|
*/
|
||||||
|
public final class PowerPointExtractor extends POIOLE2TextExtractor {
|
||||||
public class PowerPointExtractor extends POIOLE2TextExtractor
|
|
||||||
{
|
|
||||||
private HSLFSlideShow _hslfshow;
|
private HSLFSlideShow _hslfshow;
|
||||||
private SlideShow _show;
|
private SlideShow _show;
|
||||||
private Slide[] _slides;
|
private Slide[] _slides;
|
||||||
|
@ -74,7 +73,6 @@ public class PowerPointExtractor extends POIOLE2TextExtractor
|
||||||
|
|
||||||
PowerPointExtractor ppe = new PowerPointExtractor(file);
|
PowerPointExtractor ppe = new PowerPointExtractor(file);
|
||||||
System.out.println(ppe.getText(true,notes,comments));
|
System.out.println(ppe.getText(true,notes,comments));
|
||||||
ppe.close();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -110,16 +108,6 @@ public class PowerPointExtractor extends POIOLE2TextExtractor
|
||||||
_slides = _show.getSlides();
|
_slides = _show.getSlides();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* Shuts down the underlying streams
|
|
||||||
*/
|
|
||||||
public void close() throws IOException {
|
|
||||||
_hslfshow.close();
|
|
||||||
_hslfshow = null;
|
|
||||||
_show = null;
|
|
||||||
_slides = null;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Should a call to getText() return slide text?
|
* Should a call to getText() return slide text?
|
||||||
* Default is yes
|
* Default is yes
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
/* ====================================================================
|
/* ====================================================================
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
@ -16,23 +15,52 @@
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
==================================================================== */
|
==================================================================== */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
package org.apache.poi.hslf.usermodel;
|
package org.apache.poi.hslf.usermodel;
|
||||||
|
|
||||||
import java.util.*;
|
|
||||||
import java.awt.Dimension;
|
import java.awt.Dimension;
|
||||||
import java.io.*;
|
import java.io.ByteArrayOutputStream;
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileInputStream;
|
||||||
|
import java.io.IOException;
|
||||||
|
import java.io.InputStream;
|
||||||
|
import java.io.OutputStream;
|
||||||
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
|
import java.util.Enumeration;
|
||||||
|
import java.util.Hashtable;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
import org.apache.poi.ddf.*;
|
import org.apache.poi.ddf.EscherBSERecord;
|
||||||
import org.apache.poi.hslf.*;
|
import org.apache.poi.ddf.EscherContainerRecord;
|
||||||
import org.apache.poi.hslf.model.*;
|
import org.apache.poi.ddf.EscherOptRecord;
|
||||||
import org.apache.poi.hslf.model.Notes;
|
import org.apache.poi.ddf.EscherRecord;
|
||||||
import org.apache.poi.hslf.model.Slide;
|
import org.apache.poi.hslf.HSLFSlideShow;
|
||||||
import org.apache.poi.hslf.record.SlideListWithText.*;
|
|
||||||
import org.apache.poi.hslf.record.*;
|
|
||||||
import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
|
import org.apache.poi.hslf.exceptions.CorruptPowerPointFileException;
|
||||||
import org.apache.poi.hslf.exceptions.HSLFException;
|
import org.apache.poi.hslf.exceptions.HSLFException;
|
||||||
|
import org.apache.poi.hslf.model.HeadersFooters;
|
||||||
|
import org.apache.poi.hslf.model.Notes;
|
||||||
|
import org.apache.poi.hslf.model.PPFont;
|
||||||
|
import org.apache.poi.hslf.model.Picture;
|
||||||
|
import org.apache.poi.hslf.model.Shape;
|
||||||
|
import org.apache.poi.hslf.model.Slide;
|
||||||
|
import org.apache.poi.hslf.model.SlideMaster;
|
||||||
|
import org.apache.poi.hslf.model.TitleMaster;
|
||||||
|
import org.apache.poi.hslf.record.Document;
|
||||||
|
import org.apache.poi.hslf.record.DocumentAtom;
|
||||||
|
import org.apache.poi.hslf.record.FontCollection;
|
||||||
|
import org.apache.poi.hslf.record.FontEntityAtom;
|
||||||
|
import org.apache.poi.hslf.record.HeadersFootersContainer;
|
||||||
|
import org.apache.poi.hslf.record.ParentAwareRecord;
|
||||||
|
import org.apache.poi.hslf.record.PersistPtrHolder;
|
||||||
|
import org.apache.poi.hslf.record.PositionDependentRecord;
|
||||||
|
import org.apache.poi.hslf.record.PositionDependentRecordContainer;
|
||||||
|
import org.apache.poi.hslf.record.Record;
|
||||||
|
import org.apache.poi.hslf.record.RecordContainer;
|
||||||
|
import org.apache.poi.hslf.record.RecordTypes;
|
||||||
|
import org.apache.poi.hslf.record.SlideListWithText;
|
||||||
|
import org.apache.poi.hslf.record.SlidePersistAtom;
|
||||||
|
import org.apache.poi.hslf.record.UserEditAtom;
|
||||||
|
import org.apache.poi.hslf.record.SlideListWithText.SlideAtomsSet;
|
||||||
import org.apache.poi.util.ArrayUtil;
|
import org.apache.poi.util.ArrayUtil;
|
||||||
import org.apache.poi.util.POILogFactory;
|
import org.apache.poi.util.POILogFactory;
|
||||||
import org.apache.poi.util.POILogger;
|
import org.apache.poi.util.POILogger;
|
||||||
|
@ -48,9 +76,7 @@ import org.apache.poi.util.POILogger;
|
||||||
* @author Nick Burch
|
* @author Nick Burch
|
||||||
* @author Yegor kozlov
|
* @author Yegor kozlov
|
||||||
*/
|
*/
|
||||||
|
public final class SlideShow {
|
||||||
public class SlideShow
|
|
||||||
{
|
|
||||||
// What we're based on
|
// What we're based on
|
||||||
private HSLFSlideShow _hslfSlideShow;
|
private HSLFSlideShow _hslfSlideShow;
|
||||||
|
|
||||||
|
@ -90,8 +116,7 @@ public class SlideShow
|
||||||
*
|
*
|
||||||
* @param hslfSlideShow the HSLFSlideShow to base on
|
* @param hslfSlideShow the HSLFSlideShow to base on
|
||||||
*/
|
*/
|
||||||
public SlideShow(HSLFSlideShow hslfSlideShow) throws IOException
|
public SlideShow(HSLFSlideShow hslfSlideShow) {
|
||||||
{
|
|
||||||
// Get useful things from our base slideshow
|
// Get useful things from our base slideshow
|
||||||
_hslfSlideShow = hslfSlideShow;
|
_hslfSlideShow = hslfSlideShow;
|
||||||
_records = _hslfSlideShow.getRecords();
|
_records = _hslfSlideShow.getRecords();
|
||||||
|
@ -111,8 +136,8 @@ public class SlideShow
|
||||||
/**
|
/**
|
||||||
* Constructs a new, empty, Powerpoint document.
|
* Constructs a new, empty, Powerpoint document.
|
||||||
*/
|
*/
|
||||||
public SlideShow() throws IOException {
|
public SlideShow() {
|
||||||
this(new HSLFSlideShow());
|
this(HSLFSlideShow.create());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -229,12 +229,12 @@ public class TextExtractor extends TestCase {
|
||||||
ppe = new PowerPointExtractor(filename);
|
ppe = new PowerPointExtractor(filename);
|
||||||
|
|
||||||
String text = ppe.getText();
|
String text = ppe.getText();
|
||||||
assertFalse("Comments not in by default", text.contains("This is a test comment"));
|
assertFalse("Comments not in by default", contains(text, "This is a test comment"));
|
||||||
|
|
||||||
ppe.setCommentsByDefault(true);
|
ppe.setCommentsByDefault(true);
|
||||||
|
|
||||||
text = ppe.getText();
|
text = ppe.getText();
|
||||||
assertTrue("Unable to find expected word in text\n" + text, text.contains("This is a test comment"));
|
assertTrue("Unable to find expected word in text\n" + text, contains(text, "This is a test comment"));
|
||||||
|
|
||||||
|
|
||||||
// And another file
|
// And another file
|
||||||
|
@ -242,12 +242,12 @@ public class TextExtractor extends TestCase {
|
||||||
ppe = new PowerPointExtractor(filename);
|
ppe = new PowerPointExtractor(filename);
|
||||||
|
|
||||||
text = ppe.getText();
|
text = ppe.getText();
|
||||||
assertFalse("Comments not in by default", text.contains("testdoc"));
|
assertFalse("Comments not in by default", contains(text, "testdoc"));
|
||||||
|
|
||||||
ppe.setCommentsByDefault(true);
|
ppe.setCommentsByDefault(true);
|
||||||
|
|
||||||
text = ppe.getText();
|
text = ppe.getText();
|
||||||
assertTrue("Unable to find expected word in text\n" + text, text.contains("testdoc"));
|
assertTrue("Unable to find expected word in text\n" + text, contains(text, "testdoc"));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -266,13 +266,13 @@ public class TextExtractor extends TestCase {
|
||||||
ppe = new PowerPointExtractor(hslf);
|
ppe = new PowerPointExtractor(hslf);
|
||||||
|
|
||||||
text = ppe.getText();
|
text = ppe.getText();
|
||||||
assertFalse("Unable to find expected word in text\n" + text, text.contains("testdoc"));
|
assertFalse("Unable to find expected word in text\n" + text, contains(text, "testdoc"));
|
||||||
assertFalse("Unable to find expected word in text\n" + text, text.contains("test phrase"));
|
assertFalse("Unable to find expected word in text\n" + text, contains(text, "test phrase"));
|
||||||
|
|
||||||
ppe.setNotesByDefault(true);
|
ppe.setNotesByDefault(true);
|
||||||
text = ppe.getText();
|
text = ppe.getText();
|
||||||
assertTrue("Unable to find expected word in text\n" + text, text.contains("testdoc"));
|
assertTrue("Unable to find expected word in text\n" + text, contains(text, "testdoc"));
|
||||||
assertTrue("Unable to find expected word in text\n" + text, text.contains("test phrase"));
|
assertTrue("Unable to find expected word in text\n" + text, contains(text, "test phrase"));
|
||||||
|
|
||||||
|
|
||||||
// And with a footer, also on notes
|
// And with a footer, also on notes
|
||||||
|
@ -285,12 +285,16 @@ public class TextExtractor extends TestCase {
|
||||||
ppe = new PowerPointExtractor(filename);
|
ppe = new PowerPointExtractor(filename);
|
||||||
|
|
||||||
text = ppe.getText();
|
text = ppe.getText();
|
||||||
assertFalse("Unable to find expected word in text\n" + text, text.contains("testdoc"));
|
assertFalse("Unable to find expected word in text\n" + text, contains(text, "testdoc"));
|
||||||
assertFalse("Unable to find expected word in text\n" + text, text.contains("test phrase"));
|
assertFalse("Unable to find expected word in text\n" + text, contains(text, "test phrase"));
|
||||||
|
|
||||||
ppe.setNotesByDefault(true);
|
ppe.setNotesByDefault(true);
|
||||||
text = ppe.getText();
|
text = ppe.getText();
|
||||||
assertTrue("Unable to find expected word in text\n" + text, text.contains("testdoc"));
|
assertTrue("Unable to find expected word in text\n" + text, contains(text, "testdoc"));
|
||||||
assertTrue("Unable to find expected word in text\n" + text, text.contains("test phrase"));
|
assertTrue("Unable to find expected word in text\n" + text, contains(text, "test phrase"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private static boolean contains(String text, String searchString) {
|
||||||
|
return text.indexOf(searchString) >=0;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
/* ====================================================================
|
/* ====================================================================
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
@ -16,57 +15,42 @@
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
==================================================================== */
|
==================================================================== */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
package org.apache.poi.hslf.model;
|
package org.apache.poi.hslf.model;
|
||||||
|
|
||||||
import java.io.*;
|
import java.io.File;
|
||||||
import java.util.List;
|
import java.io.FileInputStream;
|
||||||
import java.util.ArrayList;
|
|
||||||
|
import junit.framework.TestCase;
|
||||||
|
|
||||||
import org.apache.poi.hslf.HSLFSlideShow;
|
import org.apache.poi.hslf.HSLFSlideShow;
|
||||||
import org.apache.poi.hslf.usermodel.ObjectData;
|
import org.apache.poi.hslf.usermodel.ObjectData;
|
||||||
import org.apache.poi.hslf.usermodel.PictureData;
|
import org.apache.poi.hslf.usermodel.PictureData;
|
||||||
import org.apache.poi.hslf.usermodel.SlideShow;
|
import org.apache.poi.hslf.usermodel.SlideShow;
|
||||||
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
|
||||||
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
import org.apache.poi.hssf.usermodel.HSSFSheet;
|
||||||
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
|
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
|
||||||
import org.apache.poi.hwpf.HWPFDocument;
|
import org.apache.poi.hwpf.HWPFDocument;
|
||||||
import org.apache.poi.hwpf.usermodel.Range;
|
|
||||||
import org.apache.poi.hwpf.usermodel.Paragraph;
|
|
||||||
|
|
||||||
import junit.framework.TestCase;
|
public final class TestOleEmbedding extends TestCase {
|
||||||
|
|
||||||
public class TestOleEmbedding extends TestCase
|
|
||||||
{
|
|
||||||
/**
|
/**
|
||||||
* Tests support for OLE objects.
|
* Tests support for OLE objects.
|
||||||
*
|
*
|
||||||
* @throws Exception if an error occurs.
|
* @throws Exception if an error occurs.
|
||||||
*/
|
*/
|
||||||
public void testOleEmbedding2003() throws Exception
|
public void testOleEmbedding2003() throws Exception {
|
||||||
{
|
|
||||||
String dirname = System.getProperty("HSLF.testdata.path");
|
String dirname = System.getProperty("HSLF.testdata.path");
|
||||||
File file = new File(dirname, "ole2-embedding-2003.ppt");
|
File file = new File(dirname, "ole2-embedding-2003.ppt");
|
||||||
HSLFSlideShow slideShow = new HSLFSlideShow(new FileInputStream(file));
|
HSLFSlideShow slideShow = new HSLFSlideShow(new FileInputStream(file));
|
||||||
try
|
// Placeholder EMFs for clients that don't support the OLE components.
|
||||||
{
|
PictureData[] pictures = slideShow.getPictures();
|
||||||
// Placeholder EMFs for clients that don't support the OLE components.
|
assertEquals("Should be two pictures", 2, pictures.length);
|
||||||
PictureData[] pictures = slideShow.getPictures();
|
//assertDigestEquals("Wrong data for picture 1", "8d1fbadf4814f321bb1ccdd056e3c788", pictures[0].getData());
|
||||||
assertEquals("Should be two pictures", 2, pictures.length);
|
//assertDigestEquals("Wrong data for picture 2", "987a698e83559cf3d38a0deeba1cc63b", pictures[1].getData());
|
||||||
//assertDigestEquals("Wrong data for picture 1", "8d1fbadf4814f321bb1ccdd056e3c788", pictures[0].getData());
|
|
||||||
//assertDigestEquals("Wrong data for picture 2", "987a698e83559cf3d38a0deeba1cc63b", pictures[1].getData());
|
|
||||||
|
|
||||||
// Actual embedded objects.
|
// Actual embedded objects.
|
||||||
ObjectData[] objects = slideShow.getEmbeddedObjects();
|
ObjectData[] objects = slideShow.getEmbeddedObjects();
|
||||||
assertEquals("Should be two objects", 2, objects.length);
|
assertEquals("Should be two objects", 2, objects.length);
|
||||||
//assertDigestEquals("Wrong data for objecs 1", "0d1fcc61a83de5c4894dc0c88e9a019d", objects[0].getData());
|
//assertDigestEquals("Wrong data for objecs 1", "0d1fcc61a83de5c4894dc0c88e9a019d", objects[0].getData());
|
||||||
//assertDigestEquals("Wrong data for object 2", "b323604b2003a7299c77c2693b641495", objects[1].getData());
|
//assertDigestEquals("Wrong data for object 2", "b323604b2003a7299c77c2693b641495", objects[1].getData());
|
||||||
}
|
|
||||||
finally
|
|
||||||
{
|
|
||||||
slideShow.close();
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void testOLEShape() throws Exception {
|
public void testOLEShape() throws Exception {
|
||||||
|
|
|
@ -1,4 +1,3 @@
|
||||||
|
|
||||||
/* ====================================================================
|
/* ====================================================================
|
||||||
Licensed to the Apache Software Foundation (ASF) under one or more
|
Licensed to the Apache Software Foundation (ASF) under one or more
|
||||||
contributor license agreements. See the NOTICE file distributed with
|
contributor license agreements. See the NOTICE file distributed with
|
||||||
|
@ -16,8 +15,6 @@
|
||||||
limitations under the License.
|
limitations under the License.
|
||||||
==================================================================== */
|
==================================================================== */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
package org.apache.poi.hslf.usermodel;
|
package org.apache.poi.hslf.usermodel;
|
||||||
|
|
||||||
|
|
||||||
|
@ -36,7 +33,7 @@ import org.apache.poi.hslf.model.*;
|
||||||
*
|
*
|
||||||
* @author Nick Burch (nick at torchbox dot com)
|
* @author Nick Burch (nick at torchbox dot com)
|
||||||
*/
|
*/
|
||||||
public class TestAddingSlides extends TestCase {
|
public final class TestAddingSlides extends TestCase {
|
||||||
// An empty SlideShow
|
// An empty SlideShow
|
||||||
private HSLFSlideShow hss_empty;
|
private HSLFSlideShow hss_empty;
|
||||||
private SlideShow ss_empty;
|
private SlideShow ss_empty;
|
||||||
|
@ -53,7 +50,7 @@ public class TestAddingSlides extends TestCase {
|
||||||
* Create/open the slideshows
|
* Create/open the slideshows
|
||||||
*/
|
*/
|
||||||
public void setUp() throws Exception {
|
public void setUp() throws Exception {
|
||||||
hss_empty = new HSLFSlideShow();
|
hss_empty = HSLFSlideShow.create();
|
||||||
ss_empty = new SlideShow(hss_empty);
|
ss_empty = new SlideShow(hss_empty);
|
||||||
|
|
||||||
String dirname = System.getProperty("HSLF.testdata.path");
|
String dirname = System.getProperty("HSLF.testdata.path");
|
||||||
|
@ -82,8 +79,8 @@ public class TestAddingSlides extends TestCase {
|
||||||
Record[] _records = hss_empty.getRecords();
|
Record[] _records = hss_empty.getRecords();
|
||||||
for (int i = 0; i < _records.length; i++) {
|
for (int i = 0; i < _records.length; i++) {
|
||||||
Record record = _records[i];
|
Record record = _records[i];
|
||||||
if(_records[i].getRecordType() == RecordTypes.UserEditAtom.typeID) {
|
if(record.getRecordType() == RecordTypes.UserEditAtom.typeID) {
|
||||||
usredit = (UserEditAtom)_records[i];
|
usredit = (UserEditAtom)record;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
assertNotNull(usredit);
|
assertNotNull(usredit);
|
||||||
|
|
Loading…
Reference in New Issue