You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2015/04/04 20:59:07 UTC

svn commit: r1671293 - in /directory/studio/trunk/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser: LdifUtils.java model/LdifInvalidPart.java model/lines/LdifLineBase.java

Author: elecharny
Date: Sat Apr  4 18:59:07 2015
New Revision: 1671293

URL: http://svn.apache.org/r1671293
Log:
Added a helper method to speed up the transformation of \n and \r by a String

Modified:
    directory/studio/trunk/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/LdifUtils.java
    directory/studio/trunk/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/model/LdifInvalidPart.java
    directory/studio/trunk/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/model/lines/LdifLineBase.java

Modified: directory/studio/trunk/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/LdifUtils.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/LdifUtils.java?rev=1671293&r1=1671292&r2=1671293&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/LdifUtils.java (original)
+++ directory/studio/trunk/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/LdifUtils.java Sat Apr  4 18:59:07 2015
@@ -193,4 +193,42 @@ public class LdifUtils
 
         return false;
     }
+    
+    
+    /**
+     * Convert all the '\n' and '\r' to a String 
+     * @param s The String to be converted
+     * @return The resulting String
+     */
+    public static String convertNlRcToString( String s )
+    {
+        if ( s == null )
+        {
+            return "";
+        }
+
+        // Worth case, the new string is three times bigger
+        char[] result = new char[s.length() * 3];
+        int pos = 0;
+
+        for ( char c : s.toCharArray() )
+        {
+            if ( c == '\n' )
+            {
+                result[pos++] = '\\';
+                result[pos++] = 'n';
+            }
+            else if ( c == '\r' )
+            {
+                result[pos++] = '\\';
+                result[pos++] = 'r';
+            }
+            else
+            {
+                result[pos++] = c;
+            }
+        }
+
+        return new String( result, 0, pos );
+    }
 }

Modified: directory/studio/trunk/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/model/LdifInvalidPart.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/model/LdifInvalidPart.java?rev=1671293&r1=1671292&r2=1671293&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/model/LdifInvalidPart.java (original)
+++ directory/studio/trunk/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/model/LdifInvalidPart.java Sat Apr  4 18:59:07 2015
@@ -22,6 +22,7 @@ package org.apache.directory.studio.ldif
 
 
 import org.apache.directory.studio.ldifparser.LdifFormatParameters;
+import org.apache.directory.studio.ldifparser.LdifUtils;
 
 
 public final class LdifInvalidPart implements LdifPart
@@ -73,8 +74,8 @@ public final class LdifInvalidPart imple
     public final String toString()
     {
         String text = toRawString();
-        text = text.replaceAll( "\n", "\\\\n" ); //$NON-NLS-1$ //$NON-NLS-2$
-        text = text.replaceAll( "\r", "\\\\r" ); //$NON-NLS-1$ //$NON-NLS-2$
+        text = LdifUtils.convertNlRcToString( text );
+
         return getClass().getName() + " (" + getOffset() + "," + getLength() + "): '" + text + "'"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     }
 

Modified: directory/studio/trunk/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/model/lines/LdifLineBase.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/model/lines/LdifLineBase.java?rev=1671293&r1=1671292&r2=1671293&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/model/lines/LdifLineBase.java (original)
+++ directory/studio/trunk/plugins/ldifparser/src/main/java/org/apache/directory/studio/ldifparser/model/lines/LdifLineBase.java Sat Apr  4 18:59:07 2015
@@ -22,6 +22,7 @@ package org.apache.directory.studio.ldif
 
 
 import org.apache.directory.studio.ldifparser.LdifFormatParameters;
+import org.apache.directory.studio.ldifparser.LdifUtils;
 import org.apache.directory.studio.ldifparser.model.LdifPart;
 
 
@@ -128,8 +129,8 @@ public abstract class LdifLineBase imple
     public final String toString()
     {
         String text = toRawString();
-        text = text.replaceAll( "\n", "\\\\n" ); //$NON-NLS-1$ //$NON-NLS-2$
-        text = text.replaceAll( "\r", "\\\\r" ); //$NON-NLS-1$ //$NON-NLS-2$
+        text = LdifUtils.convertNlRcToString( text ); //$NON-NLS-1$ //$NON-NLS-2$
+
         return getClass().getName() + " (" + getOffset() + "," + getLength() + "): '" + text + "'"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
     }