You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by ak...@apache.org on 2006/08/18 07:27:03 UTC
svn commit: r432491 -
/directory/branches/apacheds/1.0/server-tools/src/main/java/org/apache/directory/server/tools/DumpCommand.java
Author: akarasulu
Date: Thu Aug 17 22:27:02 2006
New Revision: 432491
URL: http://svn.apache.org/viewvc?rev=432491&view=rev
Log:
Applying PAMs patches for DIRSERVER-612
Modified:
directory/branches/apacheds/1.0/server-tools/src/main/java/org/apache/directory/server/tools/DumpCommand.java
Modified: directory/branches/apacheds/1.0/server-tools/src/main/java/org/apache/directory/server/tools/DumpCommand.java
URL: http://svn.apache.org/viewvc/directory/branches/apacheds/1.0/server-tools/src/main/java/org/apache/directory/server/tools/DumpCommand.java?rev=432491&r1=432490&r2=432491&view=diff
==============================================================================
--- directory/branches/apacheds/1.0/server-tools/src/main/java/org/apache/directory/server/tools/DumpCommand.java (original)
+++ directory/branches/apacheds/1.0/server-tools/src/main/java/org/apache/directory/server/tools/DumpCommand.java Thu Aug 17 22:27:02 2006
@@ -44,10 +44,12 @@
import org.apache.directory.server.core.schema.AttributeTypeRegistry;
import org.apache.directory.server.core.schema.bootstrap.BootstrapRegistries;
import org.apache.directory.server.core.schema.bootstrap.BootstrapSchemaLoader;
+import org.apache.directory.shared.ldap.ldif.LdifUtils;
import org.apache.directory.shared.ldap.message.LockableAttributeImpl;
import org.apache.directory.shared.ldap.message.LockableAttributesImpl;
import org.apache.directory.shared.ldap.schema.AttributeType;
import org.apache.directory.shared.ldap.schema.UsageEnum;
+import org.apache.directory.shared.ldap.util.Base64;
/**
@@ -155,7 +157,31 @@
entry.put( myattr );
for ( int ii = 0; ii < attr.size(); ii++ )
{
- myattr.add( attr.get( ii ) );
+ Object value = attr.get(ii);
+
+ // Checking if the value is binary
+ if ( value instanceof byte[] )
+ {
+ // It is binary, so we have to encode it using Base64 before adding it
+ char[] encoded = Base64.encode( ( byte[] ) value );
+
+ myattr.add( new String( encoded ) );
+ }
+ else if ( value instanceof String )
+ {
+ // It's a String but, we have to check if encoding isn't required
+ String str = (String) value;
+ if ( !LdifUtils.isLDIFSafe( str ) )
+ {
+ char[] encoded = Base64.encode( ( ( String ) value ).getBytes() );
+
+ myattr.add( new String( encoded ) );
+ }
+ else
+ {
+ myattr.add( value );
+ }
+ }
}
}
}