mirror of https://github.com/apache/poi.git
Cover some dev-tools with a few simple tests, close resources correctly
git-svn-id: https://svn.apache.org/repos/asf/poi/trunk@1776798 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
7a9f81a948
commit
8e1e6fe70e
|
@ -16,10 +16,7 @@
|
|||
==================================================================== */
|
||||
package org.apache.poi.dev;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.PrintStream;
|
||||
import java.io.*;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
|
||||
|
@ -34,7 +31,7 @@ import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
|
|||
* Useful for seeing what parts are defined, and how
|
||||
* they're all related to each other.
|
||||
*/
|
||||
public class OOXMLLister {
|
||||
public class OOXMLLister implements Closeable {
|
||||
private final OPCPackage container;
|
||||
private final PrintStream disp;
|
||||
|
||||
|
@ -110,6 +107,7 @@ public class OOXMLLister {
|
|||
displayRelation(rel, "");
|
||||
}
|
||||
}
|
||||
|
||||
private void displayRelation(PackageRelationship rel, String indent) {
|
||||
disp.println(indent+"Relationship:");
|
||||
disp.println(indent+"\tFrom: "+ rel.getSourceURI());
|
||||
|
@ -118,7 +116,12 @@ public class OOXMLLister {
|
|||
disp.println(indent+"\tMode: " + rel.getTargetMode());
|
||||
disp.println(indent+"\tType: " + rel.getRelationshipType());
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
public void close() throws IOException {
|
||||
container.close();
|
||||
}
|
||||
|
||||
public static void main(String[] args) throws Exception {
|
||||
if(args.length == 0) {
|
||||
System.err.println("Use:");
|
||||
|
@ -136,10 +139,14 @@ public class OOXMLLister {
|
|||
OOXMLLister lister = new OOXMLLister(
|
||||
OPCPackage.open(f.toString(), PackageAccess.READ)
|
||||
);
|
||||
|
||||
lister.disp.println(f.toString() + "\n");
|
||||
lister.displayParts();
|
||||
lister.disp.println();
|
||||
lister.displayRelations();
|
||||
|
||||
try {
|
||||
lister.disp.println(f.toString() + "\n");
|
||||
lister.displayParts();
|
||||
lister.disp.println();
|
||||
lister.displayRelations();
|
||||
} finally {
|
||||
lister.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
package org.apache.poi.dev;
|
||||
|
||||
import org.apache.poi.openxml4j.opc.OPCPackage;
|
||||
import org.apache.poi.openxml4j.opc.PackageAccess;
|
||||
import org.apache.poi.util.NullOutputStream;
|
||||
import org.apache.poi.xssf.XSSFTestDataSamples;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.PrintStream;
|
||||
|
||||
public class TestOOXMLLister {
|
||||
@Test
|
||||
public void testMain() throws Exception {
|
||||
File file = XSSFTestDataSamples.getSampleFile("Formatting.xlsx");
|
||||
OOXMLLister.main(new String[] {file.getAbsolutePath()});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void testWithPrintStream() throws Exception {
|
||||
File file = XSSFTestDataSamples.getSampleFile("Formatting.xlsx");
|
||||
OOXMLLister lister = new OOXMLLister(OPCPackage.open(file.getAbsolutePath(), PackageAccess.READ), new PrintStream(new NullOutputStream()));
|
||||
lister.displayParts();
|
||||
lister.displayRelations();
|
||||
lister.close();
|
||||
}
|
||||
}
|
|
@ -0,0 +1,28 @@
|
|||
package org.apache.poi.dev;
|
||||
|
||||
import org.apache.poi.util.TempFile;
|
||||
import org.apache.poi.xssf.XSSFTestDataSamples;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
import static org.junit.Assert.assertFalse;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
public class TestOOXMLPrettyPrint {
|
||||
@Test
|
||||
public void testMain() throws Exception {
|
||||
File file = XSSFTestDataSamples.getSampleFile("Formatting.xlsx");
|
||||
File outFile = TempFile.createTempFile("Formatting", "-pretty.xlsx");
|
||||
|
||||
assertTrue(outFile.delete());
|
||||
assertFalse(outFile.exists());
|
||||
|
||||
OOXMLPrettyPrint.main(new String[] {
|
||||
file.getAbsolutePath(), outFile.getAbsolutePath()
|
||||
});
|
||||
|
||||
assertTrue(outFile.exists());
|
||||
assertTrue(outFile.delete());
|
||||
}
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
package org.apache.poi.dev;
|
||||
|
||||
import org.apache.poi.util.TempFile;
|
||||
import org.junit.Ignore;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class TestRecordGenerator {
|
||||
@Ignore("Could not get this to run, probably the dev-application does not work any more at all")
|
||||
@Test
|
||||
public void testNotEnoughArgs() throws Exception {
|
||||
RecordGenerator.main(new String[] {});
|
||||
}
|
||||
|
||||
@Ignore("Could not get this to run, probably the dev-application does not work any more at all")
|
||||
@Test
|
||||
public void testMainRecords() throws Exception {
|
||||
File dir = TempFile.createTempDirectory("TestRecordGenerator");
|
||||
|
||||
RecordGenerator.main(new String[] {
|
||||
"src/records/definitions/",
|
||||
"src/records/styles/",
|
||||
dir.getAbsolutePath(),
|
||||
dir.getAbsolutePath(),
|
||||
});
|
||||
}
|
||||
|
||||
@Ignore("Could not get this to run, probably the dev-application does not work any more at all")
|
||||
@Test
|
||||
public void testMainTypes() throws Exception {
|
||||
File dir = TempFile.createTempDirectory("TestRecordGenerator");
|
||||
|
||||
RecordGenerator.main(new String[] {
|
||||
"src/types/definitions/",
|
||||
"src/types/styles/",
|
||||
dir.getAbsolutePath(),
|
||||
dir.getAbsolutePath(),
|
||||
});
|
||||
}
|
||||
}
|
|
@ -52,14 +52,16 @@ public final class VSDDumper {
|
|||
}
|
||||
|
||||
NPOIFSFileSystem poifs = new NPOIFSFileSystem(new File(args[0]));
|
||||
HDGFDiagram hdgf = new HDGFDiagram(poifs);
|
||||
try {
|
||||
HDGFDiagram hdgf = new HDGFDiagram(poifs);
|
||||
|
||||
PrintStream ps = System.out;
|
||||
ps.println("Opened " + args[0]);
|
||||
VSDDumper vd = new VSDDumper(ps, hdgf);
|
||||
vd.dumpFile();
|
||||
|
||||
poifs.close();
|
||||
PrintStream ps = System.out;
|
||||
ps.println("Opened " + args[0]);
|
||||
VSDDumper vd = new VSDDumper(ps, hdgf);
|
||||
vd.dumpFile();
|
||||
} finally {
|
||||
poifs.close();
|
||||
}
|
||||
}
|
||||
|
||||
public void dumpFile() {
|
||||
|
|
|
@ -41,20 +41,23 @@ public final class HMEFDumper {
|
|||
}
|
||||
|
||||
boolean truncatePropData = true;
|
||||
for(int i=0; i<args.length; i++) {
|
||||
if(args[i].equalsIgnoreCase("--full")) {
|
||||
for (String arg : args) {
|
||||
if (arg.equalsIgnoreCase("--full")) {
|
||||
truncatePropData = false;
|
||||
continue;
|
||||
}
|
||||
|
||||
HMEFDumper dumper = new HMEFDumper(
|
||||
new FileInputStream(args[i])
|
||||
);
|
||||
dumper.setTruncatePropertyData(truncatePropData);
|
||||
dumper.dump();
|
||||
|
||||
InputStream stream = new FileInputStream(arg);
|
||||
try {
|
||||
HMEFDumper dumper = new HMEFDumper(stream);
|
||||
dumper.setTruncatePropertyData(truncatePropData);
|
||||
dumper.dump();
|
||||
} finally {
|
||||
stream.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private InputStream inp;
|
||||
private boolean truncatePropertyData;
|
||||
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
package org.apache.poi.hdgf.dev;
|
||||
|
||||
import org.apache.poi.POIDataSamples;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class TestVSDDumper {
|
||||
@Test
|
||||
public void main() throws Exception {
|
||||
File file = POIDataSamples.getDiagramInstance().getFile("Test_Visio-Some_Random_Text.vsd");
|
||||
VSDDumper.main(new String[] { file.getAbsolutePath() });
|
||||
}
|
||||
}
|
|
@ -0,0 +1,30 @@
|
|||
package org.apache.poi.hmef.dev;
|
||||
|
||||
import org.apache.poi.POIDataSamples;
|
||||
import org.junit.Test;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
public class TestHMEFDumper {
|
||||
@Test(expected = IllegalArgumentException.class)
|
||||
public void noArguments() throws Exception {
|
||||
HMEFDumper.main(new String[] {});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void main() throws Exception {
|
||||
File file = POIDataSamples.getHMEFInstance().getFile("quick-winmail.dat");
|
||||
HMEFDumper.main(new String[] {
|
||||
file.getAbsolutePath()
|
||||
});
|
||||
}
|
||||
|
||||
@Test
|
||||
public void mainFull() throws Exception {
|
||||
File file = POIDataSamples.getHMEFInstance().getFile("quick-winmail.dat");
|
||||
HMEFDumper.main(new String[] {
|
||||
"--full",
|
||||
file.getAbsolutePath()
|
||||
});
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue