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