You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pdfbox.apache.org by ti...@apache.org on 2016/07/13 16:44:35 UTC

svn commit: r1752453 - /pdfbox/branches/2.0/xmpbox/src/main/java/org/apache/xmpbox/xml/DomXmpParser.java

Author: tilman
Date: Wed Jul 13 16:44:35 2016
New Revision: 1752453

URL: http://svn.apache.org/viewvc?rev=1752453&view=rev
Log:
PDFBOX-3419: pass type to parseLiElement from above instead of assuming text

Modified:
    pdfbox/branches/2.0/xmpbox/src/main/java/org/apache/xmpbox/xml/DomXmpParser.java

Modified: pdfbox/branches/2.0/xmpbox/src/main/java/org/apache/xmpbox/xml/DomXmpParser.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/xmpbox/src/main/java/org/apache/xmpbox/xml/DomXmpParser.java?rev=1752453&r1=1752452&r2=1752453&view=diff
==============================================================================
--- pdfbox/branches/2.0/xmpbox/src/main/java/org/apache/xmpbox/xml/DomXmpParser.java (original)
+++ pdfbox/branches/2.0/xmpbox/src/main/java/org/apache/xmpbox/xml/DomXmpParser.java Wed Jul 13 16:44:35 2016
@@ -92,7 +92,6 @@ public class DomXmpParser
         {
             throw new XmpParsingException(ErrorType.Configuration, "Failed to initilalize", e);
         }
-
     }
 
     public boolean isStrictParsing()
@@ -462,7 +461,7 @@ public class DomXmpParser
         for (Element element : lis)
         {
             QName propertyQName = new QName(element.getLocalName());
-            AbstractField ast = parseLiElement(xmp, propertyQName, element);
+            AbstractField ast = parseLiElement(xmp, propertyQName, element, type.type());
             if (ast != null)
             {
                 array.addProperty(ast);
@@ -499,7 +498,7 @@ public class DomXmpParser
         }
     }
 
-    private AbstractField parseLiElement(XMPMetadata xmp, QName descriptor, Element liElement)
+    private AbstractField parseLiElement(XMPMetadata xmp, QName descriptor, Element liElement, Types type)
             throws XmpParsingException
     {
         if (DomHelper.isParseTypeResource(liElement))
@@ -515,11 +514,11 @@ public class DomXmpParser
         }
         else
         {
-            // no child, so consider as simple text
+            // no child
             String text = liElement.getTextContent();
             TypeMapping tm = xmp.getTypeMapping();
             AbstractSimpleProperty sp = tm.instanciateSimpleProperty(descriptor.getNamespaceURI(),
-                    descriptor.getPrefix(), descriptor.getLocalPart(), text, Types.Text);
+                    descriptor.getPrefix(), descriptor.getLocalPart(), text, type);
             loadAttributes(sp, liElement);
             return sp;
         }
@@ -600,7 +599,7 @@ public class DomXmpParser
                 List<Element> lis = DomHelper.getElementChildren(bagOrSeq);
                 for (Element element2 : lis)
                 {
-                    AbstractField ast2 = parseLiElement(xmp, descriptor, element2);
+                    AbstractField ast2 = parseLiElement(xmp, descriptor, element2, type.type());
                     if (ast2 != null)
                     {
                         array.addProperty(ast2);