import org.apache.poi.poifs.filesystem.POIFSFileSystem;
import org.junit.Test;
-public class HPSFFileHandler extends AbstractFileHandler {
+public class HPSFFileHandler extends POIFSFileHandler {
@Override
public void handleFile(InputStream stream) throws Exception {
HPSFPropertiesOnlyDocument hpsf = new HPSFPropertiesOnlyDocument(new POIFSFileSystem(stream));
assertNotNull(hpsf.getDocumentSummaryInformation());
assertNotNull(hpsf.getSummaryInformation());
+
+ handlePOIDocument(hpsf);
}
// a test-case to test this locally without executing the full TestAllFiles
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.IOException;
import java.io.InputStream;
import org.apache.poi.POIDocument;
+import org.apache.poi.hpsf.extractor.HPSFPropertiesExtractor;
import org.apache.poi.poifs.filesystem.POIFSFileSystem;
+import org.junit.Test;
public class POIFSFileHandler extends AbstractFileHandler {
@Override
public void handleFile(InputStream stream) throws Exception {
POIFSFileSystem fs = new POIFSFileSystem(stream);
- handlePOIFSFileSystem(fs);
- fs.close();
+ try {
+ handlePOIFSFileSystem(fs);
+ handleHPSFProperties(fs);
+ } finally {
+ fs.close();
+ }
}
- private void handlePOIFSFileSystem(POIFSFileSystem fs) {
+ private void handleHPSFProperties(POIFSFileSystem fs) throws IOException {
+ HPSFPropertiesExtractor ext = new HPSFPropertiesExtractor(fs);
+ try {
+ // can be null
+ ext.getDocSummaryInformation();
+ ext.getSummaryInformation();
+
+ assertNotNull(ext.getDocumentSummaryInformationText());
+ assertNotNull(ext.getSummaryInformationText());
+ assertNotNull(ext.getText());
+ } finally {
+ ext.close();
+ }
+ }
+
+ private void handlePOIFSFileSystem(POIFSFileSystem fs) {
assertNotNull(fs);
assertNotNull(fs.getRoot());
}
handlePOIFSFileSystem(fs);
fs.close();
}
+
+ // a test-case to test this locally without executing the full TestAllFiles
+ @Test
+ public void test() throws Exception {
+ File file = new File("test-data/poifs/Notes.ole2");
+
+ InputStream stream = new FileInputStream(file);
+ try {
+ handleFile(stream);
+ } finally {
+ stream.close();
+ }
+
+ //handleExtracting(file);
+ }
}
assertNotNull(thumbnail.getThumbnailAsWMF());
wb.close();
}
+
+ public void test52258() throws Exception {
+ POIFSFileSystem fs = new POIFSFileSystem(_samples.openResourceAsStream("TestVisioWithCodepage.vsd"));
+ HPSFPropertiesExtractor ext = new HPSFPropertiesExtractor(fs);
+ try {
+ assertNotNull(ext.getDocSummaryInformation());
+ assertNotNull(ext.getDocumentSummaryInformationText());
+ assertNotNull(ext.getSummaryInformation());
+ assertNotNull(ext.getSummaryInformationText());
+ assertNotNull(ext.getText());
+ } finally {
+ ext.close();
+ }
+ }
}