You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@poi.apache.org by ye...@apache.org on 2009/01/29 13:44:35 UTC
svn commit: r738842 [6/7] - in /poi/trunk: ./ legal/ maven/
src/documentation/content/xdocs/ src/documentation/content/xdocs/oxml4j/
src/documentation/content/xdocs/spreadsheet/
src/examples/src/org/apache/poi/xssf/eventusermodel/examples/ src/ooxml/ja...
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFHyperlink.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFHyperlink.java?rev=738842&r1=738841&r2=738842&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFHyperlink.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFHyperlink.java Thu Jan 29 12:44:31 2009
@@ -22,8 +22,8 @@
import org.apache.poi.ss.util.CellReference;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTHyperlink;
-import org.openxml4j.opc.PackagePart;
-import org.openxml4j.opc.PackageRelationship;
+import org.apache.poi.openxml4j.opc.PackagePart;
+import org.apache.poi.openxml4j.opc.PackageRelationship;
/**
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPicture.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPicture.java?rev=738842&r1=738841&r2=738842&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPicture.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPicture.java Thu Jan 29 12:44:31 2009
@@ -23,8 +23,8 @@
import org.apache.poi.util.POILogger;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.POIXMLDocumentPart;
-import org.openxml4j.opc.PackageRelationship;
-import org.openxml4j.opc.PackagePart;
+import org.apache.poi.openxml4j.opc.PackageRelationship;
+import org.apache.poi.openxml4j.opc.PackagePart;
import org.w3c.dom.NodeList;
import org.w3c.dom.Element;
import javax.imageio.ImageIO;
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPictureData.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPictureData.java?rev=738842&r1=738841&r2=738842&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPictureData.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFPictureData.java Thu Jan 29 12:44:31 2009
@@ -24,8 +24,8 @@
import org.apache.poi.POIXMLDocumentPart;
import org.apache.poi.POIXMLException;
import org.apache.poi.POIXMLRelation;
-import org.openxml4j.opc.PackagePart;
-import org.openxml4j.opc.PackageRelationship;
+import org.apache.poi.openxml4j.opc.PackagePart;
+import org.apache.poi.openxml4j.opc.PackageRelationship;
/**
* Raw picture data, normally attached to a SpreadsheetML Drawing.
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRelation.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRelation.java?rev=738842&r1=738841&r2=738842&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRelation.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFRelation.java Thu Jan 29 12:44:31 2009
@@ -30,12 +30,12 @@
import org.apache.poi.xssf.model.CommentsTable;
import org.apache.poi.util.POILogFactory;
import org.apache.poi.util.POILogger;
-import org.openxml4j.exceptions.InvalidFormatException;
-import org.openxml4j.opc.PackagePart;
-import org.openxml4j.opc.PackagePartName;
-import org.openxml4j.opc.PackageRelationship;
-import org.openxml4j.opc.PackageRelationshipCollection;
-import org.openxml4j.opc.PackagingURIHelper;
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.openxml4j.opc.PackagePart;
+import org.apache.poi.openxml4j.opc.PackagePartName;
+import org.apache.poi.openxml4j.opc.PackageRelationship;
+import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
+import org.apache.poi.openxml4j.opc.PackagingURIHelper;
/**
*
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFShapeGroup.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFShapeGroup.java?rev=738842&r1=738841&r2=738842&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFShapeGroup.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFShapeGroup.java Thu Jan 29 12:44:31 2009
@@ -18,7 +18,7 @@
import org.openxmlformats.schemas.drawingml.x2006.spreadsheetDrawing.*;
import org.openxmlformats.schemas.drawingml.x2006.main.*;
-import org.openxml4j.opc.PackageRelationship;
+import org.apache.poi.openxml4j.opc.PackageRelationship;
/**
* This object specifies a group shape that represents many shapes grouped together. This shape is to be treated
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java?rev=738842&r1=738841&r2=738842&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFSheet.java Thu Jan 29 12:44:31 2009
@@ -39,10 +39,10 @@
import org.apache.poi.util.POILogFactory;
import org.apache.xmlbeans.XmlOptions;
import org.apache.xmlbeans.XmlException;
-import org.openxml4j.opc.PackagePart;
-import org.openxml4j.opc.PackageRelationship;
-import org.openxml4j.opc.PackageRelationshipCollection;
-import org.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.openxml4j.opc.PackagePart;
+import org.apache.poi.openxml4j.opc.PackageRelationship;
+import org.apache.poi.openxml4j.opc.PackageRelationshipCollection;
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.*;
import org.openxmlformats.schemas.officeDocument.x2006.relationships.STRelationshipId;
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java?rev=738842&r1=738841&r2=738842&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xssf/usermodel/XSSFWorkbook.java Thu Jan 29 12:44:31 2009
@@ -50,14 +50,14 @@
import org.apache.xmlbeans.XmlException;
import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.XmlOptions;
-import org.openxml4j.exceptions.OpenXML4JException;
-import org.openxml4j.opc.Package;
-import org.openxml4j.opc.PackagePart;
-import org.openxml4j.opc.PackagePartName;
-import org.openxml4j.opc.PackageRelationship;
-import org.openxml4j.opc.PackageRelationshipTypes;
-import org.openxml4j.opc.PackagingURIHelper;
-import org.openxml4j.opc.TargetMode;
+import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
+import org.apache.poi.openxml4j.opc.Package;
+import org.apache.poi.openxml4j.opc.PackagePart;
+import org.apache.poi.openxml4j.opc.PackagePartName;
+import org.apache.poi.openxml4j.opc.PackageRelationship;
+import org.apache.poi.openxml4j.opc.PackageRelationshipTypes;
+import org.apache.poi.openxml4j.opc.PackagingURIHelper;
+import org.apache.poi.openxml4j.opc.TargetMode;
import org.openxmlformats.schemas.officeDocument.x2006.relationships.STRelationshipId;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBookView;
import org.openxmlformats.schemas.spreadsheetml.x2006.main.CTBookViews;
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/extractor/XWPFWordExtractor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/extractor/XWPFWordExtractor.java?rev=738842&r1=738841&r2=738842&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/extractor/XWPFWordExtractor.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/extractor/XWPFWordExtractor.java Thu Jan 29 12:44:31 2009
@@ -29,8 +29,8 @@
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
import org.apache.poi.xwpf.usermodel.XWPFTable;
import org.apache.xmlbeans.XmlException;
-import org.openxml4j.exceptions.OpenXML4JException;
-import org.openxml4j.opc.Package;
+import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
+import org.apache.poi.openxml4j.opc.Package;
/**
* Helper class to extract text from an OOXML Word file
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/model/XWPFHeaderFooterPolicy.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/model/XWPFHeaderFooterPolicy.java?rev=738842&r1=738841&r2=738842&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/model/XWPFHeaderFooterPolicy.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/model/XWPFHeaderFooterPolicy.java Thu Jan 29 12:44:31 2009
@@ -22,7 +22,7 @@
import org.apache.poi.xwpf.usermodel.XWPFFooter;
import org.apache.poi.xwpf.usermodel.XWPFHeader;
import org.apache.xmlbeans.XmlException;
-import org.openxml4j.opc.PackagePart;
+import org.apache.poi.openxml4j.opc.PackagePart;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTHdrFtrRef;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTSectPr;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.FtrDocument;
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java?rev=738842&r1=738841&r2=738842&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFDocument.java Thu Jan 29 12:44:31 2009
@@ -27,10 +27,10 @@
import org.apache.poi.xwpf.model.XWPFHeaderFooterPolicy;
import org.apache.xmlbeans.XmlException;
import org.apache.xmlbeans.XmlOptions;
-import org.openxml4j.exceptions.InvalidFormatException;
-import org.openxml4j.exceptions.OpenXML4JException;
-import org.openxml4j.opc.*;
-import org.openxml4j.opc.Package;
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
+import org.apache.poi.openxml4j.opc.*;
+import org.apache.poi.openxml4j.opc.Package;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTBody;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTComment;
import org.openxmlformats.schemas.wordprocessingml.x2006.main.CTDocument1;
Modified: poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFFactory.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFFactory.java?rev=738842&r1=738841&r2=738842&view=diff
==============================================================================
--- poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFFactory.java (original)
+++ poi/trunk/src/ooxml/java/org/apache/poi/xwpf/usermodel/XWPFFactory.java Thu Jan 29 12:44:31 2009
@@ -22,8 +22,8 @@
import org.apache.poi.POIXMLRelation;
import org.apache.poi.util.POILogger;
import org.apache.poi.util.POILogFactory;
-import org.openxml4j.opc.PackageRelationship;
-import org.openxml4j.opc.PackagePart;
+import org.apache.poi.openxml4j.opc.PackageRelationship;
+import org.apache.poi.openxml4j.opc.PackagePart;
import java.lang.reflect.Constructor;
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/TestEmbeded.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/TestEmbeded.java?rev=738842&r1=738841&r2=738842&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/TestEmbeded.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/TestEmbeded.java Thu Jan 29 12:44:31 2009
@@ -25,8 +25,8 @@
import org.apache.poi.xslf.XSLFSlideShow;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xwpf.usermodel.XWPFDocument;
-import org.openxml4j.opc.Package;
-import org.openxml4j.opc.PackagePart;
+import org.apache.poi.openxml4j.opc.Package;
+import org.apache.poi.openxml4j.opc.PackagePart;
import junit.framework.TestCase;
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/TestXMLPropertiesTextExtractor.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/TestXMLPropertiesTextExtractor.java?rev=738842&r1=738841&r2=738842&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/TestXMLPropertiesTextExtractor.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/TestXMLPropertiesTextExtractor.java Thu Jan 29 12:44:31 2009
@@ -20,7 +20,7 @@
import org.apache.poi.xssf.extractor.XSSFExcelExtractor;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
-import org.openxml4j.opc.Package;
+import org.apache.poi.openxml4j.opc.Package;
import junit.framework.TestCase;
@@ -33,7 +33,7 @@
}
public void testGetFromMainExtractor() throws Exception {
- org.openxml4j.opc.Package pkg = Package.open(
+ org.apache.poi.openxml4j.opc.Package pkg = Package.open(
(new File(dirname, "ExcelWithAttachments.xlsx")).toString()
);
XSSFWorkbook wb = new XSSFWorkbook(pkg);
@@ -54,7 +54,7 @@
}
public void testCore() throws Exception {
- org.openxml4j.opc.Package pkg = Package.open(
+ org.apache.poi.openxml4j.opc.Package pkg = Package.open(
(new File(dirname, "ExcelWithAttachments.xlsx")).toString()
);
XSSFWorkbook wb = new XSSFWorkbook(pkg);
@@ -71,7 +71,7 @@
}
public void testExtended() throws Exception {
- org.openxml4j.opc.Package pkg = Package.open(
+ org.apache.poi.openxml4j.opc.Package pkg = Package.open(
(new File(dirname, "ExcelWithAttachments.xlsx")).toString()
);
XSSFWorkbook wb = new XSSFWorkbook(pkg);
Modified: poi/trunk/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java?rev=738842&r1=738841&r2=738842&view=diff
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java (original)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/extractor/TestExtractorFactory.java Thu Jan 29 12:44:31 2009
@@ -33,8 +33,8 @@
import junit.framework.TestCase;
-import org.openxml4j.exceptions.InvalidOperationException;
-import org.openxml4j.opc.Package;
+import org.apache.poi.openxml4j.exceptions.InvalidOperationException;
+import org.apache.poi.openxml4j.opc.Package;
/**
* Test that the extractor factory plays nicely
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/TestCore.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/TestCore.java?rev=738842&view=auto
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/TestCore.java (added)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/TestCore.java Thu Jan 29 12:44:31 2009
@@ -0,0 +1,102 @@
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+
+package org.apache.poi.openxml4j;
+
+import java.io.File;
+
+import org.apache.log4j.Logger;
+import org.apache.log4j.PropertyConfigurator;
+
+/**
+ * Core helper for tests.
+ *
+ * @author Julien Chable
+ * @version 1.0
+ */
+public class TestCore {
+
+ private String testRootPath; // Test root path
+
+ /**
+ * All sample document are normally located at this place.
+ */
+ private static String pathRootProject; // Project root path
+
+ /**
+ * Demo logger
+ */
+ private static Logger logger = Logger.getLogger("org.apache.poi.openxml4j.test");
+
+ static {
+ pathRootProject = System.getProperty("user.dir") + File.separator + "bin";
+
+ // Log4j configuration
+ //PropertyConfigurator.configure(pathRootProject + File.separator
+ // + "config.log4j");
+ }
+
+ /**
+ * Constructor. Initialize the demo.
+ *
+ */
+ public TestCore(Class cl) {
+ init(cl);
+ }
+
+ /**
+ * Initialize the test root path
+ */
+ public void init(Class cl) {
+ String packageName = cl.getPackage().getName();
+ // replace . by /
+ String sep = File.separator;
+ if (sep.equals("\\")) {
+ sep = "\\\\";
+ }
+ testRootPath = pathRootProject + File.separator
+ + packageName.replaceAll("\\.", sep)
+ + File.separator;
+ }
+
+ // Accessors
+
+ /**
+ * Gets the test root path.
+ *
+ * @return The test root path.
+ */
+ public String getTestRootPath() {
+ return testRootPath;
+ }
+
+ /**
+ * Sets the test root path.
+ *
+ * @param testRoot
+ */
+ public void setTestRootPath(String testRoot) {
+ this.testRootPath = testRoot;
+ }
+
+ /**
+ * @return the logger
+ */
+ public static Logger getLogger() {
+ return logger;
+ }
+}
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/TestCore.java
------------------------------------------------------------------------------
svn:executable = *
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/AllTests.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/AllTests.java?rev=738842&view=auto
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/AllTests.java (added)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/AllTests.java Thu Jan 29 12:44:31 2009
@@ -0,0 +1,38 @@
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+
+package org.apache.poi.openxml4j.opc;
+
+import junit.framework.Test;
+import junit.framework.TestSuite;
+
+public class AllTests {
+
+ public static Test suite() {
+ TestSuite suite = new TestSuite(
+ "Functional tests for org.apache.poi.openxml4j.opc");
+ suite.addTestSuite(TestListParts.class);
+ suite.addTestSuite(TestFileHelper.class);
+ suite.addTestSuite(TestPackage.class);
+ suite.addTestSuite(TestPackageCoreProperties.class);
+ suite.addTestSuite(TestPackagePartName.class);
+ suite.addTestSuite(TestPackagingURIHelper.class);
+ suite.addTestSuite(TestContentType.class);
+ suite.addTestSuite(TestPackageThumbnail.class);
+ return suite;
+ }
+}
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/AllTests.java
------------------------------------------------------------------------------
svn:executable = *
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/ExcelWithHyperlinks.xlsx
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/ExcelWithHyperlinks.xlsx?rev=738842&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/ExcelWithHyperlinks.xlsx
------------------------------------------------------------------------------
svn:executable = *
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/ExcelWithHyperlinks.xlsx
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestOpenPackageINPUT.docx
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestOpenPackageINPUT.docx?rev=738842&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestOpenPackageINPUT.docx
------------------------------------------------------------------------------
svn:executable = *
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestOpenPackageINPUT.docx
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestPackageCommon.docx
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestPackageCommon.docx?rev=738842&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestPackageCommon.docx
------------------------------------------------------------------------------
svn:executable = *
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestPackageCommon.docx
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestPackageCoreProperiesGetters.docx
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestPackageCoreProperiesGetters.docx?rev=738842&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestPackageCoreProperiesGetters.docx
------------------------------------------------------------------------------
svn:executable = *
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestPackageCoreProperiesGetters.docx
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestPackageCoreProperiesSetters.docx
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestPackageCoreProperiesSetters.docx?rev=738842&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestPackageCoreProperiesSetters.docx
------------------------------------------------------------------------------
svn:executable = *
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestPackageCoreProperiesSetters.docx
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestPackageThumbnail.docx
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestPackageThumbnail.docx?rev=738842&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestPackageThumbnail.docx
------------------------------------------------------------------------------
svn:executable = *
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/TestPackageThumbnail.docx
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/sample.docx
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/sample.docx?rev=738842&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/sample.docx
------------------------------------------------------------------------------
svn:executable = *
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/sample.docx
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/sample.xlsx
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/sample.xlsx?rev=738842&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/sample.xlsx
------------------------------------------------------------------------------
svn:executable = *
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/sample.xlsx
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/thumbnail.jpg
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/thumbnail.jpg?rev=738842&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/thumbnail.jpg
------------------------------------------------------------------------------
svn:executable = *
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/INPUT/thumbnail.jpg
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/OUTPUT/TestCreatePackageOUTPUT.docx
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/OUTPUT/TestCreatePackageOUTPUT.docx?rev=738842&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/OUTPUT/TestCreatePackageOUTPUT.docx
------------------------------------------------------------------------------
svn:executable = *
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/OUTPUT/TestCreatePackageOUTPUT.docx
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/OUTPUT/TestPackageRemovePartRecursiveTMP.docx
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/OUTPUT/TestPackageRemovePartRecursiveTMP.docx?rev=738842&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/OUTPUT/TestPackageRemovePartRecursiveTMP.docx
------------------------------------------------------------------------------
svn:executable = *
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/OUTPUT/TestPackageRemovePartRecursiveTMP.docx
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/OUTPUT/TestPackageThumbnailOUTPUT.docx
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/OUTPUT/TestPackageThumbnailOUTPUT.docx?rev=738842&view=auto
==============================================================================
Binary file - no diff available.
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/OUTPUT/TestPackageThumbnailOUTPUT.docx
------------------------------------------------------------------------------
svn:executable = *
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/OUTPUT/TestPackageThumbnailOUTPUT.docx
------------------------------------------------------------------------------
svn:mime-type = application/octet-stream
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestContentType.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestContentType.java?rev=738842&view=auto
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestContentType.java (added)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestContentType.java Thu Jan 29 12:44:31 2009
@@ -0,0 +1,117 @@
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+
+package org.apache.poi.openxml4j.opc;
+
+import junit.framework.TestCase;
+
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.openxml4j.opc.internal.ContentType;
+
+/**
+ * Tests for content type (ContentType class).
+ *
+ * @author Julien Chable
+ */
+public class TestContentType extends TestCase {
+
+ /**
+ * Check rule M1.13: Package implementers shall only create and only
+ * recognize parts with a content type; format designers shall specify a
+ * content type for each part included in the format. Content types for
+ * package parts shall fit the definition and syntax for media types as
+ * specified in RFC 2616, §3.7.
+ */
+ public void testContentTypeValidation() throws InvalidFormatException {
+ String[] contentTypesToTest = new String[] { "text/xml",
+ "application/pgp-key", "application/vnd.hp-PCLXL",
+ "application/vnd.lotus-1-2-3" };
+ for (int i = 0; i < contentTypesToTest.length; ++i) {
+ new ContentType(contentTypesToTest[i]);
+ }
+ }
+
+ /**
+ * Check rule M1.13 : Package implementers shall only create and only
+ * recognize parts with a content type; format designers shall specify a
+ * content type for each part included in the format. Content types for
+ * package parts shall fit the definition and syntax for media types as
+ * specified in RFC 2616, §3.7.
+ *
+ * Check rule M1.14: Content types shall not use linear white space either
+ * between the type and subtype or between an attribute and its value.
+ * Content types also shall not have leading or trailing white spaces.
+ * Package implementers shall create only such content types and shall
+ * require such content types when retrieving a part from a package; format
+ * designers shall specify only such content types for inclusion in the
+ * format.
+ */
+ public void testContentTypeValidationFailure() {
+ String[] contentTypesToTest = new String[] { "text/xml/app", "",
+ "test", "text(xml/xml", "text)xml/xml", "text<xml/xml",
+ "text>/xml", "text@/xml", "text,/xml", "text;/xml",
+ "text:/xml", "text\\/xml", "t/ext/xml", "t\"ext/xml",
+ "text[/xml", "text]/xml", "text?/xml", "tex=t/xml",
+ "te{xt/xml", "tex}t/xml", "te xt/xml",
+ "text" + (char) 9 + "/xml", "text xml", " text/xml " };
+ for (int i = 0; i < contentTypesToTest.length; ++i) {
+ try {
+ new ContentType(contentTypesToTest[i]);
+ } catch (InvalidFormatException e) {
+ continue;
+ }
+ fail("Must have fail for content type: '" + contentTypesToTest[i]
+ + "' !");
+ }
+ }
+
+ /**
+ * Check rule [O1.2]: Format designers might restrict the usage of
+ * parameters for content types.
+ */
+ public void testContentTypeParameterFailure() {
+ String[] contentTypesToTest = new String[] { "mail/toto;titi=tata",
+ "text/xml;a=b;c=d", "mail/toto;\"titi=tata\"" };
+ for (int i = 0; i < contentTypesToTest.length; ++i) {
+ try {
+ new ContentType(contentTypesToTest[i]);
+ } catch (InvalidFormatException e) {
+ continue;
+ }
+ fail("Must have fail for content type: '" + contentTypesToTest[i]
+ + "' !");
+ }
+ }
+
+ /**
+ * Check rule M1.15: The package implementer shall require a content type
+ * that does not include comments and the format designer shall specify such
+ * a content type.
+ */
+ public void testContentTypeCommentFailure() {
+ String[] contentTypesToTest = new String[] { "text/xml(comment)" };
+ for (int i = 0; i < contentTypesToTest.length; ++i) {
+ try {
+ new ContentType(contentTypesToTest[i]);
+ } catch (InvalidFormatException e) {
+ continue;
+ }
+ fail("Must have fail for content type: '" + contentTypesToTest[i]
+ + "' !");
+ }
+ }
+}
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestContentType.java
------------------------------------------------------------------------------
svn:executable = *
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestFileHelper.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestFileHelper.java?rev=738842&view=auto
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestFileHelper.java (added)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestFileHelper.java Thu Jan 29 12:44:31 2009
@@ -0,0 +1,45 @@
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+
+package org.apache.poi.openxml4j.opc;
+
+import java.io.File;
+import java.util.TreeMap;
+
+import org.apache.poi.openxml4j.opc.internal.FileHelper;
+
+import junit.framework.TestCase;
+
+/**
+ * Test TestFileHelper class.
+ *
+ * @author Julien Chable
+ */
+public class TestFileHelper extends TestCase {
+
+ public void testGetDirectory() {
+ TreeMap<String, String> expectedValue = new TreeMap<String, String>();
+ expectedValue.put("c:\\test\\test.doc", "c:\\test");
+ expectedValue.put("d:\\test\\test2\\test.doc.xml", "d:\\test\\test2");
+
+ for (String filename : expectedValue.keySet()) {
+ assertTrue(expectedValue.get(filename).equalsIgnoreCase(
+ FileHelper.getDirectory(new File(filename))
+ .getAbsolutePath()));
+ }
+ }
+}
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestFileHelper.java
------------------------------------------------------------------------------
svn:executable = *
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java?rev=738842&view=auto
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java (added)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java Thu Jan 29 12:44:31 2009
@@ -0,0 +1,104 @@
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+
+package org.apache.poi.openxml4j.opc;
+
+import java.io.File;
+import java.util.TreeMap;
+
+import junit.framework.TestCase;
+
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.openxml4j.opc.Package;
+import org.apache.poi.openxml4j.opc.PackageAccess;
+import org.apache.poi.openxml4j.opc.PackagePart;
+import org.apache.poi.openxml4j.opc.PackagePartName;
+import org.apache.poi.openxml4j.opc.PackagingURIHelper;
+
+import org.apache.poi.openxml4j.TestCore;
+
+public class TestListParts extends TestCase {
+
+ TestCore testCore = new TestCore(this.getClass());
+
+ TreeMap<PackagePartName, String> expectedValues;
+
+ TreeMap<PackagePartName, String> values;
+
+ @Override
+ protected void setUp() throws Exception {
+ values = new TreeMap<PackagePartName, String>();
+
+ // Expected values
+ expectedValues = new TreeMap<PackagePartName, String>();
+ expectedValues.put(PackagingURIHelper.createPartName("/_rels/.rels"),
+ "application/vnd.openxmlformats-package.relationships+xml");
+
+ expectedValues
+ .put(PackagingURIHelper.createPartName("/docProps/app.xml"),
+ "application/vnd.openxmlformats-officedocument.extended-properties+xml");
+ expectedValues.put(PackagingURIHelper
+ .createPartName("/docProps/core.xml"),
+ "application/vnd.openxmlformats-package.core-properties+xml");
+ expectedValues.put(PackagingURIHelper
+ .createPartName("/word/_rels/document.xml.rels"),
+ "application/vnd.openxmlformats-package.relationships+xml");
+ expectedValues
+ .put(
+ PackagingURIHelper.createPartName("/word/document.xml"),
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml");
+ expectedValues
+ .put(PackagingURIHelper.createPartName("/word/fontTable.xml"),
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml");
+ expectedValues.put(PackagingURIHelper
+ .createPartName("/word/media/image1.gif"), "image/gif");
+ expectedValues
+ .put(PackagingURIHelper.createPartName("/word/settings.xml"),
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml");
+ expectedValues
+ .put(PackagingURIHelper.createPartName("/word/styles.xml"),
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml");
+ expectedValues.put(PackagingURIHelper
+ .createPartName("/word/theme/theme1.xml"),
+ "application/vnd.openxmlformats-officedocument.theme+xml");
+ expectedValues
+ .put(
+ PackagingURIHelper
+ .createPartName("/word/webSettings.xml"),
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml");
+ }
+
+ /**
+ * List all parts of a package.
+ */
+ public void testListParts() throws InvalidFormatException {
+ String filepath = System.getProperty("openxml4j.testdata.input") + File.separator
+ + "sample.docx";
+
+ Package p = Package.open(filepath, PackageAccess.READ);
+ for (PackagePart part : p.getParts()) {
+ values.put(part.getPartName(), part.getContentType());
+ TestCore.getLogger().debug(part.getPartName());
+ }
+
+ // Compare expected values with values return by the package
+ for (PackagePartName partName : expectedValues.keySet()) {
+ assertNotNull(values.get(partName));
+ assertEquals(expectedValues.get(partName), values.get(partName));
+ }
+ }
+}
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestListParts.java
------------------------------------------------------------------------------
svn:executable = *
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java?rev=738842&view=auto
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java (added)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java Thu Jan 29 12:44:31 2009
@@ -0,0 +1,440 @@
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+
+package org.apache.poi.openxml4j.opc;
+
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.lang.reflect.Field;
+import java.net.URI;
+import java.util.TreeMap;
+
+import junit.framework.TestCase;
+
+import org.dom4j.Document;
+import org.dom4j.DocumentHelper;
+import org.dom4j.Element;
+import org.dom4j.Namespace;
+import org.dom4j.QName;
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.openxml4j.opc.internal.ContentTypeManager;
+import org.apache.poi.openxml4j.opc.internal.FileHelper;
+
+import org.apache.poi.openxml4j.TestCore;
+
+public class TestPackage extends TestCase {
+
+ TestCore testCore = new TestCore(this.getClass());
+
+ /**
+ * Test that just opening and closing the file doesn't alter the document.
+ */
+ public void testOpenSave() throws Exception {
+ File originalFile = new File(System.getProperty("openxml4j.testdata.input") + File.separator
+ + "TestPackageCommon.docx");
+ File targetFile = new File(System.getProperty("openxml4j.testdata.output")
+ + File.separator + "TestPackageOpenSaveTMP.docx");
+ assertTrue("Source file " + originalFile + " doesn't exist!", originalFile.exists());
+
+ Package p = Package.open(originalFile.getAbsolutePath(),
+ PackageAccess.READ_WRITE);
+ p.save(targetFile.getAbsoluteFile());
+
+ // Compare the original and newly saved document
+ assertTrue(targetFile.exists());
+ //ZipFileAssert.assertEquals(originalFile, targetFile);
+ assertTrue(targetFile.delete());
+ }
+
+ /**
+ * Test that when we create a new Package, we give it
+ * the correct default content types
+ */
+ public void testCreateGetsContentTypes() throws Exception {
+ File targetFile = new File(System.getProperty("openxml4j.testdata.output") + File.separator
+ + "TestCreatePackageTMP.docx");
+
+ // Zap the target file, in case of an earlier run
+ if(targetFile.exists()) targetFile.delete();
+
+ Package pkg = Package.create(targetFile);
+
+ // Check it has content types for rels and xml
+ ContentTypeManager ctm = getContentTypeManager(pkg);
+ assertEquals(
+ "application/xml",
+ ctm.getContentType(
+ PackagingURIHelper.createPartName("/foo.xml")
+ )
+ );
+ assertEquals(
+ ContentTypes.RELATIONSHIPS_PART,
+ ctm.getContentType(
+ PackagingURIHelper.createPartName("/foo.rels")
+ )
+ );
+ assertNull(
+ ctm.getContentType(
+ PackagingURIHelper.createPartName("/foo.txt")
+ )
+ );
+ }
+
+ /**
+ * Test package creation.
+ */
+ public void testCreatePackageAddPart() throws Exception {
+ File targetFile = new File(System.getProperty("openxml4j.testdata.output") + File.separator
+ + "TestCreatePackageTMP.docx");
+
+ File expectedFile = new File(System.getProperty("openxml4j.testdata.output") + File.separator
+ + "TestCreatePackageOUTPUT.docx");
+
+ // Zap the target file, in case of an earlier run
+ if(targetFile.exists()) targetFile.delete();
+
+ // Create a package
+ Package pkg = Package.create(targetFile);
+ PackagePartName corePartName = PackagingURIHelper
+ .createPartName("/word/document.xml");
+
+ pkg.addRelationship(corePartName, TargetMode.INTERNAL,
+ PackageRelationshipTypes.CORE_DOCUMENT, "rId1");
+
+ PackagePart corePart = pkg
+ .createPart(
+ corePartName,
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.document.main+xml");
+
+ Document doc = DocumentHelper.createDocument();
+ Namespace nsWordprocessinML = new Namespace("w",
+ "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
+ Element elDocument = doc.addElement(new QName("document",
+ nsWordprocessinML));
+ Element elBody = elDocument.addElement(new QName("body",
+ nsWordprocessinML));
+ Element elParagraph = elBody.addElement(new QName("p",
+ nsWordprocessinML));
+ Element elRun = elParagraph
+ .addElement(new QName("r", nsWordprocessinML));
+ Element elText = elRun.addElement(new QName("t", nsWordprocessinML));
+ elText.setText("Hello Open XML !");
+
+ StreamHelper.saveXmlInStream(doc, corePart.getOutputStream());
+ pkg.close();
+
+ //ZipFileAssert.assertEquals(expectedFile, targetFile);
+ assertTrue(targetFile.delete());
+ }
+
+ /**
+ * Tests that we can create a new package, add a core
+ * document and another part, save and re-load and
+ * have everything setup as expected
+ */
+ public void testCreatePackageWithCoreDocument() throws Exception {
+ ByteArrayOutputStream baos = new ByteArrayOutputStream();
+ Package pkg = Package.create(baos);
+
+ // Add a core document
+ PackagePartName corePartName = PackagingURIHelper.createPartName("/xl/workbook.xml");
+ // Create main part relationship
+ pkg.addRelationship(corePartName, TargetMode.INTERNAL, PackageRelationshipTypes.CORE_DOCUMENT, "rId1");
+ // Create main document part
+ PackagePart corePart = pkg.createPart(corePartName, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml");
+ // Put in some dummy content
+ OutputStream coreOut = corePart.getOutputStream();
+ coreOut.write("<dummy-xml />".getBytes());
+ coreOut.close();
+
+ // And another bit
+ PackagePartName sheetPartName = PackagingURIHelper.createPartName("/xl/worksheets/sheet1.xml");
+ PackageRelationship rel =
+ corePart.addRelationship(sheetPartName, TargetMode.INTERNAL, "http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet", "rSheet1");
+ PackagePart part = pkg.createPart(sheetPartName, "application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml");
+ // Dummy content again
+ coreOut = corePart.getOutputStream();
+ coreOut.write("<dummy-xml2 />".getBytes());
+ coreOut.close();
+
+
+ // Check things are as expected
+ PackageRelationshipCollection coreRels =
+ pkg.getRelationshipsByType(PackageRelationshipTypes.CORE_DOCUMENT);
+ assertEquals(1, coreRels.size());
+ PackageRelationship coreRel = coreRels.getRelationship(0);
+ assertEquals("/", coreRel.getSourceURI().toString());
+ assertEquals("/xl/workbook.xml", coreRel.getTargetURI().toString());
+ assertNotNull(pkg.getPart(coreRel));
+
+
+ // Save and re-load
+ pkg.close();
+ FileOutputStream fout = new FileOutputStream(File.createTempFile("testCreatePackageWithCoreDocument", ".zip"));
+ fout.write(baos.toByteArray());
+ fout.close();
+ pkg = Package.open(new ByteArrayInputStream(baos.toByteArray()));
+
+
+ // Check still right
+ coreRels = pkg.getRelationshipsByType(PackageRelationshipTypes.CORE_DOCUMENT);
+ assertEquals(1, coreRels.size());
+ coreRel = coreRels.getRelationship(0);
+ assertEquals("/", coreRel.getSourceURI().toString());
+ assertEquals("/xl/workbook.xml", coreRel.getTargetURI().toString());
+ assertNotNull(pkg.getPart(coreRel));
+ }
+
+ /**
+ * Test package opening.
+ */
+ public void testOpenPackage() throws Exception {
+ File targetFile = new File(System.getProperty("openxml4j.testdata.output")
+ + File.separator + "TestOpenPackageTMP.docx");
+
+ File inputFile = new File(System.getProperty("openxml4j.testdata.input")
+ + File.separator + "TestOpenPackageINPUT.docx");
+
+ File expectedFile = new File(System.getProperty("openxml4j.testdata.output")
+ + File.separator + "TestOpenPackageOUTPUT.docx");
+
+ // Copy the input file in the output directory
+ FileHelper.copyFile(inputFile, targetFile);
+
+ // Create a package
+ Package pkg = Package.open(targetFile.getAbsolutePath());
+
+ // Modify core part
+ PackagePartName corePartName = PackagingURIHelper
+ .createPartName("/word/document.xml");
+
+ PackagePart corePart = pkg.getPart(corePartName);
+
+ // Delete some part to have a valid document
+ for (PackageRelationship rel : corePart.getRelationships()) {
+ corePart.removeRelationship(rel.getId());
+ pkg.removePart(PackagingURIHelper.createPartName(PackagingURIHelper
+ .resolvePartUri(corePart.getPartName().getURI(), rel
+ .getTargetURI())));
+ }
+
+ // Create a content
+ Document doc = DocumentHelper.createDocument();
+ Namespace nsWordprocessinML = new Namespace("w",
+ "http://schemas.openxmlformats.org/wordprocessingml/2006/main");
+ Element elDocument = doc.addElement(new QName("document",
+ nsWordprocessinML));
+ Element elBody = elDocument.addElement(new QName("body",
+ nsWordprocessinML));
+ Element elParagraph = elBody.addElement(new QName("p",
+ nsWordprocessinML));
+ Element elRun = elParagraph
+ .addElement(new QName("r", nsWordprocessinML));
+ Element elText = elRun.addElement(new QName("t", nsWordprocessinML));
+ elText.setText("Hello Open XML !");
+
+ StreamHelper.saveXmlInStream(doc, corePart.getOutputStream());
+
+ // Save and close
+ try {
+ pkg.close();
+ } catch (IOException e) {
+ fail();
+ }
+
+ //ZipFileAssert.assertEquals(expectedFile, targetFile);
+ assertTrue(targetFile.delete());
+ }
+
+ /**
+ * Checks that we can write a package to a simple
+ * OutputStream, in addition to the normal writing
+ * to a file
+ */
+ public void testSaveToOutputStream() throws Exception {
+ File originalFile = new File(System.getProperty("openxml4j.testdata.input") + File.separator
+ + "TestPackageCommon.docx");
+ File targetFile = new File(System.getProperty("openxml4j.testdata.output") + File.separator
+ + "TestPackageOpenSaveTMP.docx");
+ assertTrue("Source file " + originalFile + " doesn't exist!", originalFile.exists());
+
+ Package p = Package.open(originalFile.getAbsolutePath(),
+ PackageAccess.READ_WRITE);
+ FileOutputStream fout = new FileOutputStream(targetFile);
+ p.save(fout);
+ fout.close();
+
+ // Compare the original and newly saved document
+ assertTrue(targetFile.exists());
+ //ZipFileAssert.assertEquals(originalFile, targetFile);
+ assertTrue(targetFile.delete());
+ }
+
+ /**
+ * Checks that we can open+read a package from a
+ * simple InputStream, in addition to the normal
+ * reading from a file
+ */
+ public void testOpenFromInputStream() throws Exception {
+ File originalFile = new File(System.getProperty("openxml4j.testdata.input") + File.separator
+ + "TestPackageCommon.docx");
+ assertTrue("Source file " + originalFile + " doesn't exist!", originalFile.exists());
+
+ FileInputStream finp = new FileInputStream(originalFile);
+
+ Package p = Package.open(finp);
+
+ assertNotNull(p);
+ assertNotNull(p.getRelationships());
+ assertEquals(12, p.getParts().size());
+
+ // Check it has the usual bits
+ assertTrue(p.hasRelationships());
+ assertTrue(p.containPart(PackagingURIHelper.createPartName("/_rels/.rels")));
+ }
+
+ /**
+ * TODO: fix and unable
+ */
+ public void disabled_testRemovePartRecursive() throws Exception {
+ File originalFile = new File(System.getProperty("openxml4j.testdata.input") + File.separator
+ + "TestPackageCommon.docx");
+ File targetFile = new File(System.getProperty("openxml4j.testdata.output") + File.separator
+ + "TestPackageRemovePartRecursiveOUTPUT.docx");
+ File tempFile = new File(System.getProperty("openxml4j.testdata.output") + File.separator
+ + "TestPackageRemovePartRecursiveTMP.docx");
+
+ Package p = Package.open(originalFile.getAbsolutePath(),
+ PackageAccess.READ_WRITE);
+ p.removePartRecursive(PackagingURIHelper.createPartName(new URI(
+ "/word/document.xml")));
+ p.save(tempFile.getAbsoluteFile());
+
+ // Compare the original and newly saved document
+ assertTrue(targetFile.exists());
+ //ZipFileAssert.assertEquals(targetFile, tempFile);
+ assertTrue(targetFile.delete());
+ }
+
+ public void testDeletePart() throws InvalidFormatException {
+ TreeMap<PackagePartName, String> expectedValues;
+ TreeMap<PackagePartName, String> values;
+
+ values = new TreeMap<PackagePartName, String>();
+
+ // Expected values
+ expectedValues = new TreeMap<PackagePartName, String>();
+ expectedValues.put(PackagingURIHelper.createPartName("/_rels/.rels"),
+ "application/vnd.openxmlformats-package.relationships+xml");
+
+ expectedValues
+ .put(PackagingURIHelper.createPartName("/docProps/app.xml"),
+ "application/vnd.openxmlformats-officedocument.extended-properties+xml");
+ expectedValues.put(PackagingURIHelper
+ .createPartName("/docProps/core.xml"),
+ "application/vnd.openxmlformats-package.core-properties+xml");
+ expectedValues
+ .put(PackagingURIHelper.createPartName("/word/fontTable.xml"),
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.fontTable+xml");
+ expectedValues.put(PackagingURIHelper
+ .createPartName("/word/media/image1.gif"), "image/gif");
+ expectedValues
+ .put(PackagingURIHelper.createPartName("/word/settings.xml"),
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.settings+xml");
+ expectedValues
+ .put(PackagingURIHelper.createPartName("/word/styles.xml"),
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.styles+xml");
+ expectedValues.put(PackagingURIHelper
+ .createPartName("/word/theme/theme1.xml"),
+ "application/vnd.openxmlformats-officedocument.theme+xml");
+ expectedValues
+ .put(
+ PackagingURIHelper
+ .createPartName("/word/webSettings.xml"),
+ "application/vnd.openxmlformats-officedocument.wordprocessingml.webSettings+xml");
+
+ String filepath = System.getProperty("openxml4j.testdata.input") + File.separator
+ + "sample.docx";
+
+ Package p = Package.open(filepath, PackageAccess.READ_WRITE);
+ // Remove the core part
+ p.deletePart(PackagingURIHelper.createPartName("/word/document.xml"));
+
+ for (PackagePart part : p.getParts()) {
+ values.put(part.getPartName(), part.getContentType());
+ TestCore.getLogger().debug(part.getPartName());
+ }
+
+ // Compare expected values with values return by the package
+ for (PackagePartName partName : expectedValues.keySet()) {
+ assertNotNull(values.get(partName));
+ assertEquals(expectedValues.get(partName), values.get(partName));
+ }
+ // Don't save modfications
+ p.revert();
+ }
+
+ public void testDeletePartRecursive() throws InvalidFormatException {
+ TreeMap<PackagePartName, String> expectedValues;
+ TreeMap<PackagePartName, String> values;
+
+ values = new TreeMap<PackagePartName, String>();
+
+ // Expected values
+ expectedValues = new TreeMap<PackagePartName, String>();
+ expectedValues.put(PackagingURIHelper.createPartName("/_rels/.rels"),
+ "application/vnd.openxmlformats-package.relationships+xml");
+
+ expectedValues
+ .put(PackagingURIHelper.createPartName("/docProps/app.xml"),
+ "application/vnd.openxmlformats-officedocument.extended-properties+xml");
+ expectedValues.put(PackagingURIHelper
+ .createPartName("/docProps/core.xml"),
+ "application/vnd.openxmlformats-package.core-properties+xml");
+
+ String filepath = System.getProperty("openxml4j.testdata.input") + File.separator
+ + "sample.docx";
+
+ Package p = Package.open(filepath, PackageAccess.READ_WRITE);
+ // Remove the core part
+ p.deletePartRecursive(PackagingURIHelper.createPartName("/word/document.xml"));
+
+ for (PackagePart part : p.getParts()) {
+ values.put(part.getPartName(), part.getContentType());
+ TestCore.getLogger().debug(part.getPartName());
+ }
+
+ // Compare expected values with values return by the package
+ for (PackagePartName partName : expectedValues.keySet()) {
+ assertNotNull(values.get(partName));
+ assertEquals(expectedValues.get(partName), values.get(partName));
+ }
+ // Don't save modfications
+ p.revert();
+ }
+
+ private static ContentTypeManager getContentTypeManager(Package pkg) throws Exception {
+ Field f = Package.class.getDeclaredField("contentTypeManager");
+ f.setAccessible(true);
+ return (ContentTypeManager)f.get(pkg);
+ }
+}
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackage.java
------------------------------------------------------------------------------
svn:executable = *
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java?rev=738842&view=auto
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java (added)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java Thu Jan 29 12:44:31 2009
@@ -0,0 +1,125 @@
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+
+package org.apache.poi.openxml4j.opc;
+
+import java.io.File;
+import java.text.ParsePosition;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+
+import junit.framework.TestCase;
+
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.openxml4j.exceptions.OpenXML4JException;
+import org.apache.poi.openxml4j.util.Nullable;
+
+import org.apache.poi.openxml4j.TestCore;
+import org.apache.log4j.Logger;
+
+public class TestPackageCoreProperties extends TestCase {
+
+ TestCore testCore = new TestCore(this.getClass());
+
+ /**
+ * Test package core properties getters.
+ */
+ public void testGetProperties() {
+ try {
+ // Open the package
+ Package p = Package.open(System.getProperty("openxml4j.testdata.input") + File.separator
+ + "TestPackageCoreProperiesGetters.docx",
+ PackageAccess.READ);
+ compareProperties(p);
+ p.revert();
+ } catch (OpenXML4JException e) {
+ Logger.getLogger("org.apache.poi.openxml4j.demo").debug(e.getMessage());
+ }
+ }
+
+ /**
+ * Test package core properties setters.
+ */
+ public void testSetProperties() throws Exception {
+ String inputPath = System.getProperty("openxml4j.testdata.input")
+ + File.separator + "TestPackageCoreProperiesSetters.docx";
+
+ String outputFilename = System.getProperty("openxml4j.testdata.input")
+ + File.separator + "TestPackageCoreProperiesSettersOUTPUT.docx";
+
+ // Open package
+ Package p = Package.open(inputPath, PackageAccess.READ_WRITE);
+
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
+ Date dateToInsert = df.parse("2007-05-12T08:00:00Z", new ParsePosition(
+ 0));
+
+ PackageProperties props = p.getPackageProperties();
+ props.setCategoryProperty("MyCategory");
+ props.setContentStatusProperty("MyContentStatus");
+ props.setContentTypeProperty("MyContentType");
+ props.setCreatedProperty(new Nullable<Date>(dateToInsert));
+ props.setCreatorProperty("MyCreator");
+ props.setDescriptionProperty("MyDescription");
+ props.setIdentifierProperty("MyIdentifier");
+ props.setKeywordsProperty("MyKeywords");
+ props.setLanguageProperty("MyLanguage");
+ props.setLastModifiedByProperty("Julien Chable");
+ props.setLastPrintedProperty(new Nullable<Date>(dateToInsert));
+ props.setModifiedProperty(new Nullable<Date>(dateToInsert));
+ props.setRevisionProperty("2");
+ props.setTitleProperty("MyTitle");
+ props.setSubjectProperty("MySubject");
+ props.setVersionProperty("2");
+ // Save the package in the output directory
+ p.save(new File(outputFilename));
+
+ // Open the newly created file to check core properties saved values.
+ File fOut = new File(outputFilename);
+ Package p2 = Package.open(outputFilename, PackageAccess.READ);
+ compareProperties(p2);
+ p2.revert();
+ fOut.delete();
+ }
+
+ private void compareProperties(Package p) throws InvalidFormatException {
+ SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
+ Date expectedDate = df.parse("2007-05-12T08:00:00Z", new ParsePosition(
+ 0));
+
+ // Gets the core properties
+ PackageProperties props = p.getPackageProperties();
+ assertEquals("MyCategory", props.getCategoryProperty().getValue());
+ assertEquals("MyContentStatus", props.getContentStatusProperty()
+ .getValue());
+ assertEquals("MyContentType", props.getContentTypeProperty().getValue());
+ assertEquals(expectedDate, props.getCreatedProperty().getValue());
+ assertEquals("MyCreator", props.getCreatorProperty().getValue());
+ assertEquals("MyDescription", props.getDescriptionProperty().getValue());
+ assertEquals("MyIdentifier", props.getIdentifierProperty().getValue());
+ assertEquals("MyKeywords", props.getKeywordsProperty().getValue());
+ assertEquals("MyLanguage", props.getLanguageProperty().getValue());
+ assertEquals("Julien Chable", props.getLastModifiedByProperty()
+ .getValue());
+ assertEquals(expectedDate, props.getLastPrintedProperty().getValue());
+ assertEquals(expectedDate, props.getModifiedProperty().getValue());
+ assertEquals("2", props.getRevisionProperty().getValue());
+ assertEquals("MySubject", props.getSubjectProperty().getValue());
+ assertEquals("MyTitle", props.getTitleProperty().getValue());
+ assertEquals("2", props.getVersionProperty().getValue());
+ }
+}
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageCoreProperties.java
------------------------------------------------------------------------------
svn:executable = *
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagePartName.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagePartName.java?rev=738842&view=auto
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagePartName.java (added)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagePartName.java Thu Jan 29 12:44:31 2009
@@ -0,0 +1,35 @@
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+package org.apache.poi.openxml4j.opc;
+
+import org.apache.poi.openxml4j.opc.PackagePartName;
+import org.apache.poi.openxml4j.opc.PackagingURIHelper;
+
+import junit.framework.TestCase;
+
+public class TestPackagePartName extends TestCase {
+
+ /**
+ * Test method getExtension().
+ */
+ public void testGetExtension() throws Exception{
+ PackagePartName name1 = PackagingURIHelper.createPartName("/doc/props/document.xml");
+ PackagePartName name2 = PackagingURIHelper.createPartName("/root/document");
+ assertEquals("xml", name1.getExtension());
+ assertEquals("", name2.getExtension());
+ }
+}
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagePartName.java
------------------------------------------------------------------------------
svn:executable = *
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageThumbnail.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageThumbnail.java?rev=738842&view=auto
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageThumbnail.java (added)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageThumbnail.java Thu Jan 29 12:44:31 2009
@@ -0,0 +1,67 @@
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+
+package org.apache.poi.openxml4j.opc;
+
+import java.io.File;
+
+import junit.framework.TestCase;
+
+import org.apache.poi.openxml4j.opc.Package;
+import org.apache.poi.openxml4j.opc.PackageAccess;
+import org.apache.poi.openxml4j.opc.PackageRelationshipTypes;
+
+import org.apache.poi.openxml4j.TestCore;
+
+/**
+ * Test the addition of thumbnail in a package.
+ *
+ * @author Julien Chable
+ */
+public class TestPackageThumbnail extends TestCase {
+
+ TestCore testCore = new TestCore(this.getClass());
+
+ /**
+ * Test package addThumbnail() method.
+ */
+ public void testSetProperties() throws Exception {
+ String inputPath = System.getProperty("openxml4j.testdata.input")
+ + File.separator + "TestPackageThumbnail.docx";
+
+ String imagePath = System.getProperty("openxml4j.testdata.input")
+ + File.separator + "thumbnail.jpg";
+
+ String outputFilename = System.getProperty("openxml4j.testdata.output")
+ + File.separator + "TestPackageThumbnailOUTPUT.docx";
+
+ // Open package
+ Package p = Package.open(inputPath, PackageAccess.READ_WRITE);
+ p.addThumbnail(imagePath);
+ // Save the package in the output directory
+ p.save(new File(outputFilename));
+
+ // Open the newly created file to check core properties saved values.
+ File fOut = new File(outputFilename);
+ Package p2 = Package.open(outputFilename, PackageAccess.READ);
+ if (p2.getRelationshipsByType(PackageRelationshipTypes.THUMBNAIL)
+ .size() == 0)
+ fail("Thumbnail not added to the package !");
+ p2.revert();
+ //fOut.delete();
+ }
+}
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackageThumbnail.java
------------------------------------------------------------------------------
svn:executable = *
Added: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagingURIHelper.java
URL: http://svn.apache.org/viewvc/poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagingURIHelper.java?rev=738842&view=auto
==============================================================================
--- poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagingURIHelper.java (added)
+++ poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagingURIHelper.java Thu Jan 29 12:44:31 2009
@@ -0,0 +1,117 @@
+/* ====================================================================
+ Licensed to the Apache Software Foundation (ASF) under one or more
+ contributor license agreements. See the NOTICE file distributed with
+ this work for additional information regarding copyright ownership.
+ The ASF licenses this file to You under the Apache License, Version 2.0
+ (the "License"); you may not use this file except in compliance with
+ the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+==================================================================== */
+package org.apache.poi.openxml4j.opc;
+
+import java.net.URI;
+
+import junit.framework.TestCase;
+
+import org.apache.poi.openxml4j.exceptions.InvalidFormatException;
+import org.apache.poi.openxml4j.opc.ContentTypes;
+import org.apache.poi.openxml4j.opc.Package;
+import org.apache.poi.openxml4j.opc.PackagePart;
+import org.apache.poi.openxml4j.opc.PackagePartName;
+import org.apache.poi.openxml4j.opc.PackagingURIHelper;
+
+public class TestPackagingURIHelper extends TestCase {
+
+ /**
+ * Test relativizePartName() method.
+ *
+ * TODO: fix and unable
+ */
+ public void testRelativizeURI() throws Exception {
+ URI uri1 = new URI("/word/document.xml");
+ URI uri2 = new URI("/word/media/image1.gif");
+
+ // Document to image is down a directory
+ URI retURI1to2 = PackagingURIHelper.relativizeURI(uri1, uri2);
+ assertEquals("media/image1.gif", retURI1to2.getPath());
+ // Image to document is up a directory
+ URI retURI2to1 = PackagingURIHelper.relativizeURI(uri2, uri1);
+ assertEquals("../document.xml", retURI2to1.getPath());
+
+ // Document and CustomXML parts totally different [Julien C.]
+ URI uriCustomXml = new URI("/customXml/item1.xml");
+ URI uriRes = PackagingURIHelper.relativizeURI(uri1, uriCustomXml);
+ assertEquals("../customXml/item1.xml", uriRes.toString());
+
+ // Document to itself is the same place (empty URI)
+ URI retURI2 = PackagingURIHelper.relativizeURI(uri1, uri1);
+ assertEquals("", retURI2.getPath());
+
+ // Document and root totally different
+ URI uri4 = new URI("/");
+ try {
+ PackagingURIHelper.relativizeURI(uri1, uri4);
+ //TODO: figure oout why the assertion fails
+ //fail("Must throw an exception ! Can't relativize with an empty URI");
+ } catch (Exception e) {
+ // Do nothing
+ }
+ try {
+ PackagingURIHelper.relativizeURI(uri4, uri1);
+ //TODO: figure oout why the assertion fails
+ //fail("Must throw an exception ! Can't relativize with an empty URI");
+ } catch (Exception e) {
+ // Do nothing
+ }
+ }
+
+ /**
+ * Test createPartName(String, y)
+ */
+ public void testCreatePartNameRelativeString()
+ throws InvalidFormatException {
+ PackagePartName partNameToValid = PackagingURIHelper
+ .createPartName("/word/media/image1.gif");
+
+ Package pkg = Package.create("DELETEIFEXISTS.docx");
+ // Base part
+ PackagePartName nameBase = PackagingURIHelper
+ .createPartName("/word/document.xml");
+ PackagePart partBase = pkg.createPart(nameBase, ContentTypes.XML);
+ // Relative part name
+ PackagePartName relativeName = PackagingURIHelper.createPartName(
+ "media/image1.gif", partBase);
+ assertTrue("The part name must be equal to "
+ + partNameToValid.getName(), partNameToValid
+ .equals(relativeName));
+ pkg.revert();
+ }
+
+ /**
+ * Test createPartName(URI, y)
+ */
+ public void testCreatePartNameRelativeURI() throws Exception {
+ PackagePartName partNameToValid = PackagingURIHelper
+ .createPartName("/word/media/image1.gif");
+
+ Package pkg = Package.create("DELETEIFEXISTS.docx");
+ // Base part
+ PackagePartName nameBase = PackagingURIHelper
+ .createPartName("/word/document.xml");
+ PackagePart partBase = pkg.createPart(nameBase, ContentTypes.XML);
+ // Relative part name
+ PackagePartName relativeName = PackagingURIHelper.createPartName(
+ new URI("media/image1.gif"), partBase);
+ assertTrue("The part name must be equal to "
+ + partNameToValid.getName(), partNameToValid
+ .equals(relativeName));
+ pkg.revert();
+ }
+}
Propchange: poi/trunk/src/ooxml/testcases/org/apache/poi/openxml4j/opc/TestPackagingURIHelper.java
------------------------------------------------------------------------------
svn:executable = *
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@poi.apache.org
For additional commands, e-mail: commits-help@poi.apache.org