You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2012/02/17 16:28:56 UTC
svn commit: r1245610 -
/directory/studio/trunk/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/DirectoryApiConnectionWrapper.java
Author: pamarcelot
Date: Fri Feb 17 15:28:56 2012
New Revision: 1245610
URL: http://svn.apache.org/viewvc?rev=1245610&view=rev
Log:
Fix for DIRSTUDIO-772 (Entry UUID Editor can't display eDirectory GUID) and DIRSTUDIO-764 (Image Editor does not work correctly).
Improvements on the binary attribute detector.
Modified:
directory/studio/trunk/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/DirectoryApiConnectionWrapper.java
Modified: directory/studio/trunk/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/DirectoryApiConnectionWrapper.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/DirectoryApiConnectionWrapper.java?rev=1245610&r1=1245609&r2=1245610&view=diff
==============================================================================
--- directory/studio/trunk/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/DirectoryApiConnectionWrapper.java (original)
+++ directory/studio/trunk/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/DirectoryApiConnectionWrapper.java Fri Feb 17 15:28:56 2012
@@ -49,6 +49,7 @@ import org.apache.directory.ldap.client.
import org.apache.directory.ldap.client.api.exception.InvalidConnectionException;
import org.apache.directory.shared.ldap.codec.api.BinaryAttributeDetector;
import org.apache.directory.shared.ldap.codec.api.ConfigurableBinaryAttributeDetector;
+import org.apache.directory.shared.ldap.codec.api.DefaultConfigurableBinaryAttributeDetector;
import org.apache.directory.shared.ldap.codec.protocol.mina.LdapProtocolCodecActivator;
import org.apache.directory.shared.ldap.model.cursor.SearchCursor;
import org.apache.directory.shared.ldap.model.entry.AttributeUtils;
@@ -120,6 +121,9 @@ public class DirectoryApiConnectionWrapp
/** The LDAP Connection */
private LdapNetworkConnection ldapConnection;
+ /** The binary attribute detector */
+ private DefaultConfigurableBinaryAttributeDetector binaryAttributeDetector;
+
/** Indicates if the wrapper is connected */
private boolean isConnected = false;
@@ -180,6 +184,8 @@ public class DirectoryApiConnectionWrapp
ldapConnectionConfig = new LdapConnectionConfig();
ldapConnectionConfig.setLdapHost( connection.getHost() );
ldapConnectionConfig.setLdapPort( connection.getPort() );
+ binaryAttributeDetector = new DefaultConfigurableBinaryAttributeDetector();
+ ldapConnectionConfig.setBinaryAttributeDetector( binaryAttributeDetector );
if ( ( connection.getEncryptionMethod() == EncryptionMethod.LDAPS )
|| ( connection.getEncryptionMethod() == EncryptionMethod.START_TLS ) )
{
@@ -239,7 +245,6 @@ public class DirectoryApiConnectionWrapp
if ( ldapConnection != null )
{
ldapConnection.close();
-
}
}
catch ( Exception exception )
@@ -249,6 +254,7 @@ public class DirectoryApiConnectionWrapp
finally
{
ldapConnection = null;
+ binaryAttributeDetector = null;
}
}
}
@@ -286,6 +292,7 @@ public class DirectoryApiConnectionWrapp
// ignore
}
ldapConnection = null;
+ binaryAttributeDetector = null;
}
isConnected = false;
}
@@ -487,21 +494,15 @@ public class DirectoryApiConnectionWrapp
*/
public void setBinaryAttributes( Collection<String> binaryAttributes )
{
- if ( ldapConnection != null )
+ if ( binaryAttributeDetector != null )
{
- BinaryAttributeDetector bad = ldapConnection.getConfig().getBinaryAttributeDetector();
- if ( bad instanceof ConfigurableBinaryAttributeDetector )
- {
- ConfigurableBinaryAttributeDetector configBad = ( ConfigurableBinaryAttributeDetector ) bad;
+ // Clear the initial list
+ binaryAttributeDetector.setBinaryAttributes( new String[0] );
- // Clear the initial list
- configBad.setBinaryAttributes( new String[0] );
-
- // Add each binary attribute
- for ( String binaryAttribute : binaryAttributes )
- {
- configBad.addBinaryAttribute( binaryAttribute );
- }
+ // Add each binary attribute
+ for ( String binaryAttribute : binaryAttributes )
+ {
+ binaryAttributeDetector.addBinaryAttribute( binaryAttribute );
}
}
}