]> source.dussan.org Git - poi.git/commitdiff
Tidy up some duplicated code, now that openxml4j has RelationshipSource
authorNick Burch <nick@apache.org>
Thu, 24 Jan 2008 13:14:58 +0000 (13:14 +0000)
committerNick Burch <nick@apache.org>
Thu, 24 Jan 2008 13:14:58 +0000 (13:14 +0000)
git-svn-id: https://svn.apache.org/repos/asf/poi/branches/ooxml@614872 13f79535-47bb-0310-9956-ffa450edef68

src/scratchpad/ooxml-src/org/apache/poi/hxf/HXFDocument.java

index 9849a7d211b3b49dff6afc5c8e5917e0bb315510..2e2900f082dcef1174b46103ec775f860d71873e 100644 (file)
@@ -24,9 +24,7 @@ import java.util.ArrayList;
 
 import org.apache.poi.POIXMLDocument;
 import org.apache.poi.poifs.common.POIFSConstants;
-import org.apache.poi.poifs.storage.HeaderBlockConstants;
 import org.apache.poi.util.IOUtils;
-import org.apache.poi.util.LongField;
 import org.apache.xmlbeans.XmlException;
 import org.dom4j.Document;
 import org.dom4j.DocumentException;
@@ -40,6 +38,7 @@ import org.openxml4j.opc.PackagePartName;
 import org.openxml4j.opc.PackageRelationship;
 import org.openxml4j.opc.PackageRelationshipCollection;
 import org.openxml4j.opc.PackagingURIHelper;
+import org.openxml4j.opc.RelationshipSource;
 import org.openxml4j.opc.internal.PackagePropertiesPart;
 import org.openxmlformats.schemas.officeDocument.x2006.extendedProperties.CTProperties;
 import org.openxmlformats.schemas.officeDocument.x2006.extendedProperties.PropertiesDocument;
@@ -147,9 +146,8 @@ public abstract class HXFDocument {
         *  or null if none found.
         * @param relationType The relation content type to search for
         * @throws IllegalArgumentException If we find more than one part of that type
-        * TODO: this sucks! Make Package and PackagePart implement common intf that defines getRelationshipsByType & friends
         */
-       protected PackagePart getSinglePartByRelationType(String relationType, PackagePart part) throws IllegalArgumentException, OpenXML4JException {
+       protected PackagePart getSinglePartByRelationType(String relationType, RelationshipSource part) throws IllegalArgumentException, OpenXML4JException {
                PackageRelationshipCollection rels =
                        part.getRelationshipsByType(relationType);
                if(rels.size() == 0) {
@@ -170,16 +168,7 @@ public abstract class HXFDocument {
         * @throws IllegalArgumentException If we find more than one part of that type
         */
        protected PackagePart getSinglePartByRelationType(String relationType) throws IllegalArgumentException, OpenXML4JException {
-               PackageRelationshipCollection rels =
-                       container.getRelationshipsByType(relationType);
-               if(rels.size() == 0) {
-                       return null;
-               }
-               if(rels.size() > 1) {
-                       throw new IllegalArgumentException("Found " + rels.size() + " relations for the type " + relationType + ", should only ever be one!");
-               }
-               PackageRelationship rel = rels.getRelationship(0);
-               return getPackagePart(rel);
+               return getSinglePartByRelationType(relationType, container);
        }
        
        /**