You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ce...@apache.org on 2016/12/31 16:53:33 UTC
svn commit: r1776798 - in /poi/trunk/src: ooxml/java/org/apache/poi/dev/
ooxml/testcases/org/apache/poi/dev/ scratchpad/src/org/apache/poi/hdgf/dev/
scratchpad/src/org/apache/poi/hmef/dev/
scratchpad/testcases/org/apache/poi/hdgf/dev/ scratchpad/testca...
Author: centic
Date: Sat Dec 31 16:53:33 2016
New Revision: 1776798
URL: http://svn.apache.org/viewvc?rev=1776798&view=rev
Log:
Cover some dev-tools with a few simple tests, close resources correctly
Added:
poi/trunk/src/ooxml/testcases/org/apache/poi/dev/
poi/trunk/src/ooxml/testcases/org/apache/poi/dev/TestOOXMLLister.java
poi/trunk/src/ooxml/testcases/org/apache/poi/dev/TestOOXMLPrettyPrint.java
poi/trunk/src/ooxml/testcases/org/apache/poi/dev/TestRecordGenerator.java
poi/trunk/src/scratchpad/testcases/org/apache/poi/hdgf/dev/
poi/trunk/src/scratchpad/testcases/org/apache/poi/hdgf/dev/TestVSDDumper.java
poi/trunk/src/scratchpad/testcases/org/apache/poi/hmef/dev/
poi/trunk/src/scratchpad/testcases/org/apache/poi/hmef/dev/TestHMEFDumper.java
Modified:
poi/trunk/src/ooxml/java/org/apache/poi/dev/OOXMLLister.java
poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/dev/VSDDumper.java
poi/trunk/src/scratchpad/src/org/apache/poi/hmef/dev/HMEFDumper.java
Modified: poi/trunk/src/ooxml/java/org/apache/poi/dev/OOXMLLister.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/dev/OOXMLLister.java?rev=1776798&r1=1776797&r2=1776798&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/dev/OOXMLLister.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/dev/OOXMLLister.java Sat Dec 31 16:53:33 2016
@@ -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.Pack
* 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();
+ }
}
}
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/dev/TestOOXMLLister.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/dev/TestOOXMLLister.java?rev=1776798&view=auto
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/dev/TestOOXMLLister.java (added)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/dev/TestOOXMLLister.java Sat Dec 31 16:53:33 2016
@@ -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();
+ }
+}
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/dev/TestOOXMLPrettyPrint.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/dev/TestOOXMLPrettyPrint.java?rev=1776798&view=auto
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/dev/TestOOXMLPrettyPrint.java (added)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/dev/TestOOXMLPrettyPrint.java Sat Dec 31 16:53:33 2016
@@ -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());
+ }
+}
\ No newline at end of file
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/dev/TestRecordGenerator.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/dev/TestRecordGenerator.java?rev=1776798&view=auto
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/dev/TestRecordGenerator.java (added)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/dev/TestRecordGenerator.java Sat Dec 31 16:53:33 2016
@@ -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(),
+ });
+ }
+}
\ No newline at end of file
Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/dev/VSDDumper.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/dev/VSDDumper.java?rev=1776798&r1=1776797&r2=1776798&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/dev/VSDDumper.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hdgf/dev/VSDDumper.java Sat Dec 31 16:53:33 2016
@@ -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() {
Modified: poi/trunk/src/scratchpad/src/org/apache/poi/hmef/dev/HMEFDumper.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/src/org/apache/poi/hmef/dev/HMEFDumper.java?rev=1776798&r1=1776797&r2=1776798&view=diff
==============================================================================
--- poi/trunk/src/scratchpad/src/org/apache/poi/hmef/dev/HMEFDumper.java (original)
+++ poi/trunk/src/scratchpad/src/org/apache/poi/hmef/dev/HMEFDumper.java Sat Dec 31 16:53:33 2016
@@ -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;
Added: poi/trunk/src/scratchpad/testcases/org/apache/poi/hdgf/dev/TestVSDDumper.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hdgf/dev/TestVSDDumper.java?rev=1776798&view=auto
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hdgf/dev/TestVSDDumper.java (added)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hdgf/dev/TestVSDDumper.java Sat Dec 31 16:53:33 2016
@@ -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() });
+ }
+}
\ No newline at end of file
Added: poi/trunk/src/scratchpad/testcases/org/apache/poi/hmef/dev/TestHMEFDumper.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/scratchpad/testcases/org/apache/poi/hmef/dev/TestHMEFDumper.java?rev=1776798&view=auto
==============================================================================
--- poi/trunk/src/scratchpad/testcases/org/apache/poi/hmef/dev/TestHMEFDumper.java (added)
+++ poi/trunk/src/scratchpad/testcases/org/apache/poi/hmef/dev/TestHMEFDumper.java Sat Dec 31 16:53:33 2016
@@ -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()
+ });
+ }
+}
\ No newline at end of file
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org