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 2021/03/06 16:30:59 UTC

svn commit: r1887272 - /pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotation.java

Author: tilman
Date: Sat Mar  6 16:30:59 2021
New Revision: 1887272

URL: http://svn.apache.org/viewvc?rev=1887272&view=rev
Log:
PDFBOX-4892: improve performance, as suggested by valerybokov; remove useless shift

Modified:
    pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotation.java

Modified: pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotation.java
URL: http://svn.apache.org/viewvc/pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotation.java?rev=1887272&r1=1887271&r2=1887272&view=diff
==============================================================================
--- pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotation.java (original)
+++ pdfbox/branches/2.0/pdfbox/src/main/java/org/apache/pdfbox/pdmodel/fdf/FDFAnnotation.java Sat Mar  6 16:30:59 2021
@@ -985,7 +985,7 @@ public abstract class FDFAnnotation impl
 
     private String richContentsToString(Node node, boolean root)
     {
-        String subString = "";
+        StringBuilder sb = new StringBuilder();
 
         NodeList nodelist = node.getChildNodes();
         for (int i = 0; i < nodelist.getLength(); i++)
@@ -993,11 +993,11 @@ public abstract class FDFAnnotation impl
             Node child = nodelist.item(i);
             if (child instanceof Element)
             {
-                subString += richContentsToString(child, false);
+                sb.append(richContentsToString(child, false));
             }
             else if (child instanceof CDATASection)
             {
-            	subString += "<![CDATA[" + ((CDATASection) child).getData() + "]]>";
+            	sb.append("<![CDATA[").append(((CDATASection) child).getData()).append("]]>");
             }
             else if (child instanceof Text)
             {
@@ -1006,12 +1006,12 @@ public abstract class FDFAnnotation impl
             	{
             		cdata = cdata.replace("&", "&amp;").replace("<", "&lt;");
             	}
-            	subString += cdata;
+            	sb.append(cdata);
             }
         }
         if (root)
         {
-            return subString;
+            return sb.toString();
         }
 
         NamedNodeMap attributes = node.getAttributes();
@@ -1028,6 +1028,6 @@ public abstract class FDFAnnotation impl
                     attributeNodeValue));
         }
         return String.format("<%s%s>%s</%s>", node.getNodeName(), builder.toString(),
-                subString, node.getNodeName());
+                sb.toString(), node.getNodeName());
     }
 }
\ No newline at end of file