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 2012/02/08 20:08:23 UTC
svn commit: r1242044 - in /directory:
apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/
apacheds/trunk/ldap-client-test/src/main/java/org/apache/directory/shared/client/api/
apacheds/trunk/ldap-client-test/src/test/java/org/ap...
Author: elecharny
Date: Wed Feb 8 19:08:22 2012
New Revision: 1242044
URL: http://svn.apache.org/viewvc?rev=1242044&view=rev
Log:
o Refactored the BinaryDetector hierarchy
o Applied the modification into teh API and the server
o Added a list of binary attributes in the DefaultConfigurableBinaryAttributeDetector class
o Added some missing Javadoc
o Some other minor refactoring (use of the Interface instead of the class)
Added:
directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/ConfigurableBinaryAttributeDetector.java
directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/DefaultConfigurableBinaryAttributeDetector.java
- copied, changed from r1241708, directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/DefaultBinaryAttributeDetector.java
directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/SchemaBinaryAttributeDetector.java
- copied, changed from r1241708, directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/NoSchemaBinaryAttributeDetector.java
Removed:
directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/DefaultBinaryAttributeDetector.java
directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/NoSchemaBinaryAttributeDetector.java
Modified:
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/LdapCoreSessionConnection.java
directory/apacheds/trunk/ldap-client-test/src/main/java/org/apache/directory/shared/client/api/LdapApiIntegrationUtils.java
directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/AdsSchemaLoaderTest.java
directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/LdapConnectionTest.java
directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/LdapSSLConnectionTest.java
directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/ServerSchemaLoaderTest.java
directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientAbandonRequestTest.java
directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientAddRequestTest.java
directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientCompareRequestTest.java
directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientDeleteRequestTest.java
directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientExtendedRequestTest.java
directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientModifyDnRequestTest.java
directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientModifyRequestTest.java
directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/GetRootDseTest.java
directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/search/ClientSearchRequestTest.java
directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/search/SearchRequestReturningAttributesTest.java
directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolHandler.java
directory/apacheds/trunk/service/src/test/java/org/apache/directory/server/UberJarMainTest.java
directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapAsyncConnection.java
directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapConnection.java
directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapConnectionPool.java
directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapNetworkConnection.java
directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/BinaryAttributeDetector.java
directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/LdapMessageContainer.java
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/LdapCoreSessionConnection.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/LdapCoreSessionConnection.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/LdapCoreSessionConnection.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/LdapCoreSessionConnection.java Wed Feb 8 19:08:22 2012
@@ -33,6 +33,7 @@ import org.apache.directory.ldap.client.
import org.apache.directory.server.core.api.filtering.EntryFilteringCursor;
import org.apache.directory.server.core.api.interceptor.context.BindOperationContext;
import org.apache.directory.shared.asn1.util.Oid;
+import org.apache.directory.shared.ldap.codec.api.BinaryAttributeDetector;
import org.apache.directory.shared.ldap.codec.api.LdapApiService;
import org.apache.directory.shared.ldap.codec.api.LdapApiServiceFactory;
import org.apache.directory.shared.ldap.model.constants.SchemaConstants;
@@ -1306,4 +1307,24 @@ public class LdapCoreSessionConnection i
this.schemaManager = directoryService.getSchemaManager();
this.session = directoryService.getAdminSession();
}
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public BinaryAttributeDetector getBinaryAttributeDetector()
+ {
+ return null;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @Override
+ public void setBinaryAttributeDetector( BinaryAttributeDetector binaryAttributeDetector )
+ {
+ // Does nothing
+ }
}
Modified: directory/apacheds/trunk/ldap-client-test/src/main/java/org/apache/directory/shared/client/api/LdapApiIntegrationUtils.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/main/java/org/apache/directory/shared/client/api/LdapApiIntegrationUtils.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/main/java/org/apache/directory/shared/client/api/LdapApiIntegrationUtils.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/main/java/org/apache/directory/shared/client/api/LdapApiIntegrationUtils.java Wed Feb 8 19:08:22 2012
@@ -23,13 +23,14 @@ import java.io.IOException;
import java.util.HashMap;
import java.util.Map;
+import org.apache.directory.ldap.client.api.LdapConnection;
import org.apache.directory.ldap.client.api.LdapConnectionConfig;
import org.apache.directory.ldap.client.api.LdapConnectionPool;
import org.apache.directory.ldap.client.api.LdapNetworkConnection;
import org.apache.directory.ldap.client.api.PoolableLdapConnectionFactory;
import org.apache.directory.server.constants.ServerDNConstants;
import org.apache.directory.server.ldap.LdapServer;
-import org.apache.directory.shared.ldap.codec.api.DefaultBinaryAttributeDetector;
+import org.apache.directory.shared.ldap.codec.api.SchemaBinaryAttributeDetector;
import org.apache.directory.shared.ldap.model.exception.LdapException;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -100,9 +101,15 @@ public class LdapApiIntegrationUtils
* @return the pooled admin connection
* @throws Exception the exception
*/
- public static LdapNetworkConnection getPooledAdminConnection( LdapServer ldapServer ) throws Exception
+ public static LdapConnection getPooledAdminConnection( LdapServer ldapServer ) throws Exception
{
- return getAdminPool( ldapServer ).getConnection();
+ LdapConnection ldapConnection = getAdminPool( ldapServer ).getConnection();
+
+ ldapConnection.setBinaryAttributeDetector(
+ new SchemaBinaryAttributeDetector(
+ ldapServer.getDirectoryService().getSchemaManager()) );
+
+ return ldapConnection;
}
@@ -113,7 +120,7 @@ public class LdapApiIntegrationUtils
* @param ldapServer the LDAP server instance, used to obtain the port used
* @throws Exception the exception
*/
- public static void releasePooledAdminConnection( LdapNetworkConnection conn, LdapServer ldapServer )
+ public static void releasePooledAdminConnection( LdapConnection conn, LdapServer ldapServer )
throws Exception
{
getAdminPool( ldapServer ).releaseConnection( conn );
@@ -137,8 +144,6 @@ public class LdapApiIntegrationUtils
config.setLdapPort( port );
config.setName( DEFAULT_ADMIN );
config.setCredentials( DEFAULT_PASSWORD );
- config.setBinaryAttributeDetector( new DefaultBinaryAttributeDetector(
- ldapServer.getDirectoryService().getSchemaManager() ) );
PoolableLdapConnectionFactory factory = new PoolableLdapConnectionFactory( config );
LdapConnectionPool pool = new LdapConnectionPool( factory );
pool.setTestOnBorrow( true );
Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/AdsSchemaLoaderTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/AdsSchemaLoaderTest.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/AdsSchemaLoaderTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/AdsSchemaLoaderTest.java Wed Feb 8 19:08:22 2012
@@ -24,7 +24,7 @@ package org.apache.directory.shared.clie
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import org.apache.directory.ldap.client.api.LdapNetworkConnection;
+import org.apache.directory.ldap.client.api.LdapConnection;
import org.apache.directory.ldap.client.api.NetworkSchemaLoader;
import org.apache.directory.server.annotations.CreateLdapServer;
import org.apache.directory.server.annotations.CreateTransport;
@@ -49,7 +49,7 @@ import org.junit.runner.RunWith;
{ @CreateTransport(protocol = "LDAP"), @CreateTransport(protocol = "LDAPS") })
public class AdsSchemaLoaderTest extends AbstractLdapTestUnit
{
- private LdapNetworkConnection connection;
+ private LdapConnection connection;
@Before
Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/LdapConnectionTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/LdapConnectionTest.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/LdapConnectionTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/LdapConnectionTest.java Wed Feb 8 19:08:22 2012
@@ -39,8 +39,9 @@ import org.apache.directory.server.const
import org.apache.directory.server.core.annotations.ApplyLdifs;
import org.apache.directory.server.core.integ.AbstractLdapTestUnit;
import org.apache.directory.server.core.integ.FrameworkRunner;
-import org.apache.directory.shared.ldap.codec.api.DefaultBinaryAttributeDetector;
-import org.apache.directory.shared.ldap.codec.api.NoSchemaBinaryAttributeDetector;
+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.api.SchemaBinaryAttributeDetector;
import org.apache.directory.shared.ldap.model.constants.SchemaConstants;
import org.apache.directory.shared.ldap.model.cursor.EntryCursor;
import org.apache.directory.shared.ldap.model.entry.Entry;
@@ -67,7 +68,7 @@ public class LdapConnectionTest extends
private static final String ADMIN_DN = "uid=admin,ou=system";
- private LdapNetworkConnection connection;
+ private LdapConnection connection;
@Before
@@ -127,9 +128,9 @@ public class LdapConnectionTest extends
"objectClass: top",
"uid: kayyagari",
"ref: ldap://ad.example.com/uid=kayyagari,ou=system"
- })
-@Test
-public void testLookup() throws Exception
+ })
+ @Test
+ public void testLookup() throws Exception
{
Entry entry = connection.lookup( ADMIN_DN );
assertNull( entry.get( SchemaConstants.ENTRY_UUID_AT ) );
@@ -170,21 +171,28 @@ public void testLookup() throws Exceptio
config.setLdapPort( ldapServer.getPort() );
config.setName( ServerDNConstants.ADMIN_SYSTEM_DN );
config.setCredentials( "secret" );
- config.setBinaryAttributeDetector( new NoSchemaBinaryAttributeDetector() );
+ config.setBinaryAttributeDetector( new DefaultConfigurableBinaryAttributeDetector() );
LdapConnection myConnection = new LdapNetworkConnection( config );
myConnection.bind( "uid=admin,ou=system", "secret" );
+ // Use the default list of binary Attributes
Entry entry = myConnection.lookup( "uid=admin,ou=system" );
+ assertFalse( entry.get( SchemaConstants.USER_PASSWORD_AT ).get().isHumanReadable() );
+
+ // Remove the UserPassword from the list
+ ((ConfigurableBinaryAttributeDetector)config.getBinaryAttributeDetector()).
+ removeBinaryAttribute( "userPassword" );
+ entry = myConnection.lookup( "uid=admin,ou=system" );
assertTrue( entry.get( SchemaConstants.USER_PASSWORD_AT ).get().isHumanReadable() );
// Now, load a new binary Attribute
- config.getBinaryAttributeDetector().addBinaryAttribute( "userPassword" );
+ ((ConfigurableBinaryAttributeDetector)config.getBinaryAttributeDetector()).
+ addBinaryAttribute( "userPassword" );
entry = myConnection.lookup( "uid=admin,ou=system" );
assertFalse( entry.get( SchemaConstants.USER_PASSWORD_AT ).get().isHumanReadable() );
connection.loadDefaultSchema();
- connection.getConfig().setBinaryAttributeDetector( new DefaultBinaryAttributeDetector( connection.getSchemaManager() ) );
entry = connection.lookup( "uid=admin,ou=system" );
assertFalse( entry.get( SchemaConstants.USER_PASSWORD_AT ).get().isHumanReadable() );
@@ -236,4 +244,52 @@ public void testLookup() throws Exceptio
assertTrue( connection.isAuthenticated() );
connection.close();
}
+
+
+ /**
+ * Test a connection which does not have any schemaManager loaded
+ */
+ @ApplyLdifs(
+ {
+ "dn: uid=kayyagari,ou=system",
+ "objectClass: extensibleObject",
+ "objectClass: uidObject",
+ "objectClass: referral",
+ "objectClass: top",
+ "uid: kayyagari",
+ "ref: ldap://ad.example.com/uid=kayyagari,ou=system"
+ })
+ @Test
+ public void testNoSchemaConnection() throws Exception
+ {
+ LdapConnection ldapConnection = new LdapNetworkConnection( "localHost", ldapServer.getPort() );
+
+ ldapConnection.bind( "uid=admin,ou=system", "secret" );
+
+ // Try to retrieve a binary attribute : it should be seen as a String
+ Entry entry = ldapConnection.lookup( "uid=admin,ou=system" );
+ assertTrue( entry.get( SchemaConstants.USER_PASSWORD_AT ).get().isHumanReadable() );
+ }
+
+
+ /**
+ * Test a connection which does not have any schemaManager loaded but in which connection we
+ * inject a BinaryAttributeDetector
+ */
+ @Test
+ public void testNoSchemaConnectionWithBinaryDetector() throws Exception
+ {
+ LdapConnectionConfig config = new LdapConnectionConfig();
+ config.setLdapHost( "localhost" );
+ config.setLdapPort( ldapServer.getPort() );
+ config.setBinaryAttributeDetector( new SchemaBinaryAttributeDetector() );
+
+ LdapConnection ldapConnection = new LdapNetworkConnection( config );
+
+ ldapConnection.bind( "uid=admin,ou=system", "secret" );
+
+ // Try to retrieve a binary attribute : it should be seen as a String
+ Entry entry = ldapConnection.lookup( "uid=admin,ou=system" );
+ assertTrue( entry.get( SchemaConstants.USER_PASSWORD_AT ).get().isHumanReadable() );
+ }
}
Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/LdapSSLConnectionTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/LdapSSLConnectionTest.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/LdapSSLConnectionTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/LdapSSLConnectionTest.java Wed Feb 8 19:08:22 2012
@@ -43,7 +43,7 @@ import org.apache.directory.server.ldap.
import org.apache.directory.server.ldap.handlers.bind.ntlm.NtlmMechanismHandler;
import org.apache.directory.server.ldap.handlers.bind.plain.PlainMechanismHandler;
import org.apache.directory.server.ldap.handlers.extended.StartTlsHandler;
-import org.apache.directory.shared.ldap.codec.api.DefaultBinaryAttributeDetector;
+import org.apache.directory.shared.ldap.codec.api.SchemaBinaryAttributeDetector;
import org.apache.directory.shared.ldap.model.constants.SupportedSaslMechanisms;
import org.apache.directory.shared.ldap.model.exception.LdapException;
import org.apache.directory.shared.ldap.model.name.Dn;
@@ -94,14 +94,14 @@ public class LdapSSLConnectionTest exten
sslConfig.setUseSsl( true );
sslConfig.setLdapPort( getLdapServer().getPortSSL() );
sslConfig.setTrustManagers( new NoVerificationTrustManager() );
- sslConfig.setBinaryAttributeDetector( new DefaultBinaryAttributeDetector(
+ sslConfig.setBinaryAttributeDetector( new SchemaBinaryAttributeDetector(
ldapServer.getDirectoryService().getSchemaManager() ) );
tlsConfig = new LdapConnectionConfig();
tlsConfig.setLdapHost( "localhost" );
tlsConfig.setLdapPort( getLdapServer().getPort() );
tlsConfig.setTrustManagers( new NoVerificationTrustManager() );
- tlsConfig.setBinaryAttributeDetector( new DefaultBinaryAttributeDetector(
+ tlsConfig.setBinaryAttributeDetector( new SchemaBinaryAttributeDetector(
ldapServer.getDirectoryService().getSchemaManager() ) );
}
Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/ServerSchemaLoaderTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/ServerSchemaLoaderTest.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/ServerSchemaLoaderTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/ServerSchemaLoaderTest.java Wed Feb 8 19:08:22 2012
@@ -27,7 +27,7 @@ import static org.junit.Assert.assertNot
import static org.junit.Assert.assertTrue;
import static org.junit.Assert.fail;
-import org.apache.directory.ldap.client.api.LdapNetworkConnection;
+import org.apache.directory.ldap.client.api.LdapConnection;
import org.apache.directory.ldap.client.api.SsseSchemaLoader;
import org.apache.directory.server.annotations.CreateLdapServer;
import org.apache.directory.server.annotations.CreateTransport;
@@ -53,7 +53,7 @@ import org.junit.runner.RunWith;
{ @CreateTransport(protocol = "LDAP"), @CreateTransport(protocol = "LDAPS") })
public class ServerSchemaLoaderTest extends AbstractLdapTestUnit
{
- private LdapNetworkConnection connection;
+ private LdapConnection connection;
@Before
Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientAbandonRequestTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientAbandonRequestTest.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientAbandonRequestTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientAbandonRequestTest.java Wed Feb 8 19:08:22 2012
@@ -68,7 +68,7 @@ public class ClientAbandonRequestTest ex
@Before
public void setup() throws Exception
{
- connection = LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
+ connection = (LdapNetworkConnection)LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
}
Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientAddRequestTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientAddRequestTest.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientAddRequestTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientAddRequestTest.java Wed Feb 8 19:08:22 2012
@@ -6,16 +6,16 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
- * under the License.
- *
+ * under the License.
+ *
*/
package org.apache.directory.shared.client.api.operations;
@@ -73,7 +73,7 @@ public class ClientAddRequestTest extend
@Before
public void setup() throws Exception
{
- connection = LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
+ connection = (LdapNetworkConnection)LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
session = getLdapServer().getDirectoryService().getAdminSession();
}
Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientCompareRequestTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientCompareRequestTest.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientCompareRequestTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientCompareRequestTest.java Wed Feb 8 19:08:22 2012
@@ -6,16 +6,16 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
- * under the License.
- *
+ * under the License.
+ *
*/
package org.apache.directory.shared.client.api.operations;
@@ -63,7 +63,7 @@ public class ClientCompareRequestTest ex
@Before
public void setup() throws Exception
{
- connection = LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
+ connection = (LdapNetworkConnection)LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
session = getLdapServer().getDirectoryService().getAdminSession();
}
Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientDeleteRequestTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientDeleteRequestTest.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientDeleteRequestTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientDeleteRequestTest.java Wed Feb 8 19:08:22 2012
@@ -94,7 +94,7 @@ public class ClientDeleteRequestTest ext
@Before
public void setup() throws Exception
{
- connection = LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
+ connection = (LdapNetworkConnection)LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
session = getLdapServer().getDirectoryService().getAdminSession();
}
@@ -152,11 +152,11 @@ public class ClientDeleteRequestTest ext
/**
* this method uses reflection to test deleteChildren method without using the
- * convenient method delete( dn, true ), cause the convenient method checks
+ * convenient method delete( dn, true ), cause the convenient method checks
* whether the server supports the CascadeControl.
*
* Cause ADS supports this control, delete(dn, true) will never call the method
- * deleteChildren() (which has private scope)
+ * deleteChildren() (which has private scope)
* To test the manual deletion of the entries in the absence of this CascadeControl
* reflection was used to invoke the private method deleteChildren().
*
Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientExtendedRequestTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientExtendedRequestTest.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientExtendedRequestTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientExtendedRequestTest.java Wed Feb 8 19:08:22 2012
@@ -67,7 +67,7 @@ public class ClientExtendedRequestTest e
@Before
public void setup() throws Exception
{
- connection = LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
+ connection = (LdapNetworkConnection)LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
}
Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientModifyDnRequestTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientModifyDnRequestTest.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientModifyDnRequestTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientModifyDnRequestTest.java Wed Feb 8 19:08:22 2012
@@ -70,7 +70,7 @@ public class ClientModifyDnRequestTest e
@Before
public void setup() throws Exception
{
- connection = LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
+ connection = (LdapNetworkConnection)LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
session = getLdapServer().getDirectoryService().getAdminSession();
}
Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientModifyRequestTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientModifyRequestTest.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientModifyRequestTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/ClientModifyRequestTest.java Wed Feb 8 19:08:22 2012
@@ -83,7 +83,7 @@ private CoreSession session;
@Before
public void setup() throws Exception
{
- connection = LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
+ connection = (LdapNetworkConnection)LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
session = getLdapServer().getDirectoryService().getAdminSession();
}
Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/GetRootDseTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/GetRootDseTest.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/GetRootDseTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/GetRootDseTest.java Wed Feb 8 19:08:22 2012
@@ -54,7 +54,7 @@ public class GetRootDseTest extends Abst
@Before
public void setup() throws Exception
{
- connection = LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
+ connection = (LdapNetworkConnection)LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
}
Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/search/ClientSearchRequestTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/search/ClientSearchRequestTest.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/search/ClientSearchRequestTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/search/ClientSearchRequestTest.java Wed Feb 8 19:08:22 2012
@@ -93,7 +93,7 @@ public class ClientSearchRequestTest ext
@Before
public void setup() throws Exception
{
- connection = LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
+ connection = (LdapNetworkConnection)LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
}
Modified: directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/search/SearchRequestReturningAttributesTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/search/SearchRequestReturningAttributesTest.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/search/SearchRequestReturningAttributesTest.java (original)
+++ directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/operations/search/SearchRequestReturningAttributesTest.java Wed Feb 8 19:08:22 2012
@@ -75,7 +75,7 @@ public class SearchRequestReturningAttri
@Before
public void setup() throws Exception
{
- connection = LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
+ connection = (LdapNetworkConnection)LdapApiIntegrationUtils.getPooledAdminConnection( getLdapServer() );
}
Modified: directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolHandler.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolHandler.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolHandler.java (original)
+++ directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapProtocolHandler.java Wed Feb 8 19:08:22 2012
@@ -20,10 +20,10 @@
package org.apache.directory.server.ldap;
-import org.apache.directory.shared.ldap.codec.api.DefaultBinaryAttributeDetector;
import org.apache.directory.shared.ldap.codec.api.LdapApiServiceFactory;
import org.apache.directory.shared.ldap.codec.api.LdapMessageContainer;
import org.apache.directory.shared.ldap.codec.api.MessageDecorator;
+import org.apache.directory.shared.ldap.codec.api.SchemaBinaryAttributeDetector;
import org.apache.directory.shared.ldap.model.exception.ResponseCarryingMessageException;
import org.apache.directory.shared.ldap.model.message.Control;
import org.apache.directory.shared.ldap.model.message.ExtendedRequest;
@@ -89,7 +89,7 @@ class LdapProtocolHandler extends Demuxi
LdapMessageContainer<? extends MessageDecorator<Message>> ldapMessageContainer =
new LdapMessageContainer<MessageDecorator<Message>>(
ldapServer.getDirectoryService().getLdapCodecService(),
- new DefaultBinaryAttributeDetector(
+ new SchemaBinaryAttributeDetector(
ldapServer.getDirectoryService().getSchemaManager() ) );
session.setAttribute( "messageContainer", ldapMessageContainer );
Modified: directory/apacheds/trunk/service/src/test/java/org/apache/directory/server/UberJarMainTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/service/src/test/java/org/apache/directory/server/UberJarMainTest.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/apacheds/trunk/service/src/test/java/org/apache/directory/server/UberJarMainTest.java (original)
+++ directory/apacheds/trunk/service/src/test/java/org/apache/directory/server/UberJarMainTest.java Wed Feb 8 19:08:22 2012
@@ -29,11 +29,9 @@ import org.apache.directory.ldap.client.
import org.apache.directory.ldap.client.api.LdapNetworkConnection;
import org.apache.directory.server.constants.ServerDNConstants;
import org.apache.directory.server.core.api.partition.PartitionNexus;
-import org.apache.directory.shared.ldap.codec.api.DefaultBinaryAttributeDetector;
+import org.apache.directory.shared.ldap.codec.api.SchemaBinaryAttributeDetector;
import org.apache.directory.shared.ldap.model.entry.Entry;
import org.apache.directory.shared.ldap.model.name.Dn;
-import org.apache.directory.shared.ldap.model.schema.SchemaManager;
-import org.apache.directory.shared.ldap.schemamanager.impl.DefaultSchemaManager;
import org.junit.Test;
@@ -77,15 +75,15 @@ public class UberJarMainTest
{
try
{
- SchemaManager schemaManager = new DefaultSchemaManager();
// Creating a connection on the created server
LdapConnectionConfig configuration = new LdapConnectionConfig();
configuration.setLdapHost( "localhost" );
configuration.setLdapPort( 10389 );
configuration.setName( ServerDNConstants.ADMIN_SYSTEM_DN );
configuration.setCredentials( PartitionNexus.ADMIN_PASSWORD_STRING );
- configuration.setBinaryAttributeDetector( new DefaultBinaryAttributeDetector( schemaManager ) );
+ configuration.setBinaryAttributeDetector( new SchemaBinaryAttributeDetector() );
LdapNetworkConnection connection = new LdapNetworkConnection( configuration );
+ connection.loadDefaultSchema();
// Binding on the connection
connection.bind();
Modified: directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapAsyncConnection.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapAsyncConnection.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapAsyncConnection.java (original)
+++ directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapAsyncConnection.java Wed Feb 8 19:08:22 2012
@@ -53,7 +53,7 @@ public interface LdapAsyncConnection ext
{
/**
- * Add an entry to the server asynchronously. This is a non blocking add :
+ * Add an entry to the server asynchronously. This is a non blocking add :
* the user has to get for the response from the returned Future.
*
* @param entry The entry to add
@@ -74,7 +74,7 @@ public interface LdapAsyncConnection ext
/**
- * Asynchronous Bind on a server, using the LdapConnectionConfig informations.
+ * Asynchronous Bind on a server, using the LdapConnectionConfig informations.
*
* @return the bind operation's future
* @throws LdapException if some error occurred
@@ -84,7 +84,7 @@ public interface LdapAsyncConnection ext
/**
- * Anonymous asynchronous Bind on a server.
+ * Anonymous asynchronous Bind on a server.
*
* @return the bind operation's future
* @throws LdapException if some error occurred
@@ -97,7 +97,7 @@ public interface LdapAsyncConnection ext
* Simple asynchronous Bind on a server.
*
* @param name The name we use to authenticate the user, it must be a valid Dn
- * @param credentials The password, it can't be null
+ * @param credentials The password, it can't be null
* @return the bind operation's future
* @throws LdapException if some error occurred
* @throws IOException if some IO error occurred
@@ -143,8 +143,8 @@ public interface LdapAsyncConnection ext
*
* @param baseDn The base for the search, it must be a valid Dn, and can't be emtpy
* @param filter The filter to use for this search, it can't be empty
- * @param scope The search scope : OBJECT, ONELEVEL or SUBTREE
- * @param attributes The attributes for this search
+ * @param scope The search scope : OBJECT, ONELEVEL or SUBTREE
+ * @param attributes The attributes for this search
* @return the search operation's future
* @throws org.apache.directory.shared.ldap.model.exception.LdapException if some error occurred
*/
@@ -168,7 +168,7 @@ public interface LdapAsyncConnection ext
* @param baseDn The base for the search, it must be a valid Dn, and can't be empty
* @param filter The filter to use for this search, it can't be empty
* @param scope The search scope : OBJECT, ONELEVEL or SUBTREE
- * @param attributes The attributes for this search
+ * @param attributes The attributes for this search
* @return the search operation's future
* @throws LdapException if some error occurred
*/
@@ -197,7 +197,7 @@ public interface LdapAsyncConnection ext
/**
- * Performs an asynchronous modify operation based on the modifications present in
+ * Performs an asynchronous modify operation based on the modifications present in
* the ModifyRequest.
*
* @param modRequest the request for modify operation
@@ -219,7 +219,7 @@ public interface LdapAsyncConnection ext
/**
* Performs an asynchronous delete operation based on the delete request object.
- *
+ *
* @param delRequest the delete operation's request
* @return delete operation's future
* @throws LdapException If the Dn is not valid or if the deletion failed
@@ -229,7 +229,7 @@ public interface LdapAsyncConnection ext
/**
* Asynchronously compares an entry's attribute's value with that of the given value
- *
+ *
* @param compareRequest the CompareRequest which contains the target Dn, attribute name and value
* @return compare operation's future
* @throws LdapException if some error occurred
Modified: directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapConnection.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapConnection.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapConnection.java (original)
+++ directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapConnection.java Wed Feb 8 19:08:22 2012
@@ -24,6 +24,7 @@ import java.io.IOException;
import java.util.List;
import org.apache.directory.shared.asn1.util.Oid;
+import org.apache.directory.shared.ldap.codec.api.BinaryAttributeDetector;
import org.apache.directory.shared.ldap.codec.api.LdapApiService;
import org.apache.directory.shared.ldap.model.cursor.EntryCursor;
import org.apache.directory.shared.ldap.model.cursor.SearchCursor;
@@ -813,4 +814,17 @@ public interface LdapConnection
* @return true if there is a non-null future exists, false otherwise
*/
boolean doesFutureExistFor( int messageId );
+
+
+ /**
+ * @return the object responsible for the detection of binary attributes
+ */
+ BinaryAttributeDetector getBinaryAttributeDetector();
+
+
+ /**
+ * Sets the object responsible for the detection of binary attributes
+ * @return
+ */
+ void setBinaryAttributeDetector( BinaryAttributeDetector binaryAttributeDetecter);
}
\ No newline at end of file
Modified: directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapConnectionPool.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapConnectionPool.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapConnectionPool.java (original)
+++ directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapConnectionPool.java Wed Feb 8 19:08:22 2012
@@ -27,7 +27,7 @@ import org.apache.commons.pool.impl.Gene
/**
* A pool implementation for LdapConnection objects.
*
- * This class is just a wrapper around the commons GenericObjectPool, and has
+ * This class is just a wrapper around the commons GenericObjectPool, and has
* a more meaningful name to represent the pool type.
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
@@ -49,22 +49,22 @@ public class LdapConnectionPool extends
/**
* Gives a LdapConnection fetched from the pool.
*
- * @return an LdapConnection object from pool
+ * @return an LdapConnection object from pool
* @throws Exception if an error occurs while obtaining a connection from the factory
*/
- public LdapNetworkConnection getConnection() throws Exception
+ public LdapConnection getConnection() throws Exception
{
- return ( LdapNetworkConnection ) super.borrowObject();
+ return ( LdapConnection ) super.borrowObject();
}
/**
* Places the given LdapConnection back in the pool.
- *
+ *
* @param connection the LdapConnection to be released
* @throws Exception if an error occurs while releasing the connection
*/
- public void releaseConnection( LdapNetworkConnection connection ) throws Exception
+ public void releaseConnection( LdapConnection connection ) throws Exception
{
super.returnObject( connection );
}
Modified: directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapNetworkConnection.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapNetworkConnection.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapNetworkConnection.java (original)
+++ directory/shared/trunk/ldap/client/api/src/main/java/org/apache/directory/ldap/client/api/LdapNetworkConnection.java Wed Feb 8 19:08:22 2012
@@ -63,12 +63,14 @@ import org.apache.directory.ldap.client.
import org.apache.directory.ldap.client.api.future.SearchFuture;
import org.apache.directory.shared.asn1.DecoderException;
import org.apache.directory.shared.asn1.util.Oid;
-import org.apache.directory.shared.ldap.codec.api.DefaultBinaryAttributeDetector;
+import org.apache.directory.shared.ldap.codec.api.BinaryAttributeDetector;
+import org.apache.directory.shared.ldap.codec.api.DefaultConfigurableBinaryAttributeDetector;
import org.apache.directory.shared.ldap.codec.api.LdapApiService;
import org.apache.directory.shared.ldap.codec.api.LdapApiServiceFactory;
import org.apache.directory.shared.ldap.codec.api.LdapMessageContainer;
import org.apache.directory.shared.ldap.codec.api.MessageDecorator;
import org.apache.directory.shared.ldap.codec.api.MessageEncoderException;
+import org.apache.directory.shared.ldap.codec.api.SchemaBinaryAttributeDetector;
import org.apache.directory.shared.ldap.model.constants.SchemaConstants;
import org.apache.directory.shared.ldap.model.cursor.Cursor;
import org.apache.directory.shared.ldap.model.cursor.EntryCursor;
@@ -350,7 +352,7 @@ public class LdapNetworkConnection exten
config.setUseSsl( false );
config.setLdapPort( config.getDefaultLdapPort() );
config.setLdapHost( config.getDefaultLdapHost() );
- config.setBinaryAttributeDetector( new DefaultBinaryAttributeDetector( schemaManager ) );
+ config.setBinaryAttributeDetector( new SchemaBinaryAttributeDetector() );
messageId = new AtomicInteger( 0 );
}
@@ -364,6 +366,12 @@ public class LdapNetworkConnection exten
public LdapNetworkConnection( LdapConnectionConfig config )
{
this.config = config;
+
+ if ( config.getBinaryAttributeDetector() == null )
+ {
+ config.setBinaryAttributeDetector( new DefaultConfigurableBinaryAttributeDetector() );
+ }
+
messageId = new AtomicInteger( 0 );
}
@@ -380,7 +388,7 @@ public class LdapNetworkConnection exten
config.setUseSsl( useSsl );
config.setLdapPort( useSsl ? config.getDefaultLdapsPort() : config.getDefaultLdapPort() );
config.setLdapHost( config.getDefaultLdapHost() );
- config.setBinaryAttributeDetector( new DefaultBinaryAttributeDetector( schemaManager ) );
+ config.setBinaryAttributeDetector( new SchemaBinaryAttributeDetector() );
messageId = new AtomicInteger( 0 );
}
@@ -405,10 +413,11 @@ public class LdapNetworkConnection exten
}
else
{
- config.setBinaryAttributeDetector( new DefaultBinaryAttributeDetector( schemaManager ) );
config.setLdapHost( server );
}
+ config.setBinaryAttributeDetector( new SchemaBinaryAttributeDetector() );
+
messageId = new AtomicInteger( 0 );
}
@@ -438,7 +447,7 @@ public class LdapNetworkConnection exten
config.setLdapHost( server );
}
- config.setBinaryAttributeDetector( new DefaultBinaryAttributeDetector( schemaManager ) );
+ config.setBinaryAttributeDetector( new SchemaBinaryAttributeDetector() );
messageId = new AtomicInteger( 0 );
}
@@ -483,7 +492,7 @@ public class LdapNetworkConnection exten
config.setLdapHost( server );
}
- config.setBinaryAttributeDetector( new DefaultBinaryAttributeDetector( schemaManager ) );
+ config.setBinaryAttributeDetector( new SchemaBinaryAttributeDetector() );
messageId = new AtomicInteger();
}
@@ -3360,6 +3369,30 @@ public class LdapNetworkConnection exten
}
loadSchema( jarSchemaLoader );
+
+ // Update the BinaryAttributeDetector
+ BinaryAttributeDetector binaryAttributeDetector = getBinaryAttributeDetector();
+
+ if ( binaryAttributeDetector == null )
+ {
+ // We don't have any BAD : create a SchemaBad
+ binaryAttributeDetector = new SchemaBinaryAttributeDetector( schemaManager );
+ }
+ else
+ {
+ if ( binaryAttributeDetector instanceof SchemaBinaryAttributeDetector )
+ {
+ // Inject the Schema in the existing SchemaBAD (it may replace a previous one)
+ ((SchemaBinaryAttributeDetector)binaryAttributeDetector).setSchemaManager( schemaManager );
+ }
+ else
+ {
+ // Replace the old BAD by a SchemaBAD
+ binaryAttributeDetector = new SchemaBinaryAttributeDetector( schemaManager );
+ }
+ }
+
+ setBinaryAttributeDetector( binaryAttributeDetector );
}
catch ( LdapException e )
{
@@ -4011,4 +4044,32 @@ public class LdapNetworkConnection exten
return krb5ConfPath;
}
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public BinaryAttributeDetector getBinaryAttributeDetector()
+ {
+ if ( config != null )
+ {
+ return config.getBinaryAttributeDetector();
+ }
+ else
+ {
+ return null;
+ }
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setBinaryAttributeDetector( BinaryAttributeDetector binaryAttributeDetector )
+ {
+ if ( config != null )
+ {
+ config.setBinaryAttributeDetector( binaryAttributeDetector );
+ }
+ }
}
Modified: directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/BinaryAttributeDetector.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/BinaryAttributeDetector.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/BinaryAttributeDetector.java (original)
+++ directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/BinaryAttributeDetector.java Wed Feb 8 19:08:22 2012
@@ -19,8 +19,6 @@
*/
package org.apache.directory.shared.ldap.codec.api;
-import java.util.Set;
-
/**
* An interface used to abstract the means to detect whether or not an attribute
@@ -35,52 +33,4 @@ public interface BinaryAttributeDetector
* @return true if the attribute specified is not human readible, false otherwise
*/
boolean isBinary( String attributeId );
-
-
- /**
- * Add some binary Attributes Id to the list of attributes
- *
- * @param binaryAttributes The added binary attributes Id
- */
- public void addBinaryAttribute( String... binaryAttributes );
-
-
- /**
- * Remove some binary Attributes Id from the list of attributes
- *
- * @param binaryAttributes The binary attributes Id to remove
- */
- public void removeBinaryAttribute( String... binaryAttributes );
-
-
- /**
- * Inject a new set of binary attributes that will replace the old one
- *
- * @param binaryAttributes The new set of binary attributes
- */
- public void setBinaryAttributes( Set<String> binaryAttributes );
-
-
- /**
- * Add some binary Syntaxes Id to the list of Syntaxes
- *
- * @param binarySyntaxes The added binary Syntaxes Id
- */
- public void addBinarySyntaxes( String... binarySyntaxes );
-
-
- /**
- * Remove some binary Syntaxes Id from the list of Syntaxes
- *
- * @param binarySyntaxes The binary Syntaxes Id to remove
- */
- public void removeBinarySyntaxes( String... binarySyntaxes );
-
-
- /**
- * Inject a new set of binary Syntaxes that will replace the old one
- *
- * @param binarySyntaxes The new set of binary Syntaxes
- */
- public void setBinarySyntaxes( Set<String> binarySyntaxes );
}
Added: directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/ConfigurableBinaryAttributeDetector.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/ConfigurableBinaryAttributeDetector.java?rev=1242044&view=auto
==============================================================================
--- directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/ConfigurableBinaryAttributeDetector.java (added)
+++ directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/ConfigurableBinaryAttributeDetector.java Wed Feb 8 19:08:22 2012
@@ -0,0 +1,55 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.directory.shared.ldap.codec.api;
+
+
+/**
+ * An interface used to abstract the means to detect whether or not an attribute
+ * identifier/descriptor represents a binary attributeType.
+ */
+public interface ConfigurableBinaryAttributeDetector extends BinaryAttributeDetector
+{
+ /**
+ * Add some binary Attributes Id to the list of attributes
+ *
+ * @param binaryAttributes The added binary attributes Id
+ */
+ public void addBinaryAttribute( String... binaryAttributes );
+
+
+ /**
+ * Remove some binary Attributes Id from the list of attributes
+ *
+ * @param binaryAttributes The binary attributes Id to remove
+ */
+ public void removeBinaryAttribute( String... binaryAttributes );
+
+
+ /**
+ * Inject a new set of binary attributes that will replace the old one.
+ * If one inject a null set of attributes, the list of attributes will be
+ * cleared, and reset to the default list of binary attributes. If one
+ * injects an empty String array, then all the attributes will be removed
+ * from the list, and we won't inject the default attributes into it.
+ *
+ * @param binaryAttributes The new set of binary attributes
+ */
+ public void setBinaryAttributes( String... binaryAttributes );
+}
Copied: directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/DefaultConfigurableBinaryAttributeDetector.java (from r1241708, directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/DefaultBinaryAttributeDetector.java)
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/DefaultConfigurableBinaryAttributeDetector.java?p2=directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/DefaultConfigurableBinaryAttributeDetector.java&p1=directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/DefaultBinaryAttributeDetector.java&r1=1241708&r2=1242044&rev=1242044&view=diff
==============================================================================
--- directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/DefaultBinaryAttributeDetector.java (original)
+++ directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/DefaultConfigurableBinaryAttributeDetector.java Wed Feb 8 19:08:22 2012
@@ -21,39 +21,87 @@ package org.apache.directory.shared.ldap
import java.util.Set;
-import org.apache.directory.shared.ldap.model.schema.AttributeType;
-import org.apache.directory.shared.ldap.model.schema.LdapSyntax;
-import org.apache.directory.shared.ldap.model.schema.SchemaManager;
import org.apache.directory.shared.util.Strings;
import org.apache.mina.util.ConcurrentHashSet;
/**
* An implementation of the BinaryAttributeDetector interface. It's used
- * on the client and server side to detect if an Attribute is HumanRedable.
+ * on the client side to detect if an Attribute is HumanRedable.<br/>
+ * One can inject some new attributes, replace the existing list,
+ * remove some attributes. <br/>
+ * We provide a list of Attributes which are known to be binary :
+ * <ul>
+ * <li>entryACI</li>
+ * <li>prescriptiveACI</li>
+ * <li>subentryACI</li>
+ * <li>audio</li>
+ * <li>javaByteCode</li>
+ * <li>javaClassByteCode</li>
+ * <li>krb5key</li>
+ * <li>m-byteCode</li>
+ * <li>privateKey</li>
+ * <li>publicKey</li>
+ * <li>userPKCS12</li>
+ * <li>userSMIMECertificate</li>
+ * <li>cACertificate</li>
+ * <li>userCertificate</li>
+ * <li>authorityRevocationList</li>
+ * <li>certificateRevocationList</li>
+ * <li>deltaRevocationList</li>
+ * <li>crossCertificatePair</li>
+ * <li>personalSignature</li>
+ * <li>photo</li>
+ * <li>jpegPhoto</li>
+ * <li>supportedAlgorithms</li>
+ * </ul>
+ * <br/>
+ * In order to reset the detector to get back to those default value, it's enough
+ * to call the setBinaryAttributes() with null as a parameter.
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class DefaultBinaryAttributeDetector implements BinaryAttributeDetector
+public class DefaultConfigurableBinaryAttributeDetector extends SchemaBinaryAttributeDetector
+ implements ConfigurableBinaryAttributeDetector
{
/** A set of binary Attribute ID */
private Set<String> binaryAttributes = new ConcurrentHashSet<String>();
-
- /** A set of binary Syntax ID */
- private Set<String> binarySyntaxes = new ConcurrentHashSet<String>();
-
- /** The schemaManager to use */
- private SchemaManager schemaManager;
+ /** A list of all the known binary attributes */
+ public final static String[] DEFAULT_BINARY_ATTRIBUTES = new String[]
+ {
+ "entryACI", // Syntax : ACI Item
+ "prescriptiveACI", // Syntax : ACI Item
+ "subentryACI", // Syntax : ACI Item
+ "audio", // Syntax : Audio
+ "javaByteCode", // Syntax : Binary
+ "javaClassByteCode", // Syntax : Binary
+ "krb5key", // Syntax : Binary
+ "m-byteCode", // Syntax : Binary
+ "privateKey", // Syntax : Binary
+ "publicKey", // Syntax : Binary
+ "userPKCS12", // Syntax : Binary
+ "userSMIMECertificate", // Syntax : Binary
+ "cACertificate", // Syntax : Certificate
+ "userCertificate", // Syntax : Certificate
+ "authorityRevocationList", // Syntax : Certificate List
+ "certificateRevocationList",// Syntax : Certificate List
+ "deltaRevocationList", // Syntax : Certificate List
+ "crossCertificatePair", // Syntax : Certificate Pair
+ "personalSignature", // Syntax : Fax
+ "photo", // Syntax : Fax
+ "jpegPhoto", // Syntax : JPEG
+ "supportedAlgorithms", // Syntax : Supported Algorithm
+ "javaSerializedData", // Syntax : Octet String
+ "userPassword" // Syntax : Octet String
+ };
/**
- * Creates a new instance of BinaryAttributeDetector. The SchemaManager can
- * be null if we don't have any.
- *
- * @param schemaManager The associated SchemaManager
+ * Creates a new instance of a ConfigurableBinaryAttributeDetector. This will
+ * load a set of default attribute ID that are known to be binary.
*/
- public DefaultBinaryAttributeDetector( SchemaManager schemaManager )
+ public DefaultConfigurableBinaryAttributeDetector()
{
- this.schemaManager = schemaManager;
+ setBinaryAttributes( DEFAULT_BINARY_ATTRIBUTES );
}
@@ -62,47 +110,16 @@ public class DefaultBinaryAttributeDetec
*/
public boolean isBinary( String attributeId )
{
- String attrId = Strings.toLowerCase( attributeId );
-
- if ( attrId.endsWith( ";binary" ) )
+ boolean isBinary = super.isBinary( attributeId );
+
+ if ( isBinary )
{
return true;
}
- if ( schemaManager != null )
- {
- AttributeType attributeType = schemaManager.getAttributeType( attrId );
-
- if ( attributeType == null )
- {
- return false;
- }
-
- LdapSyntax ldapSyntax = attributeType.getSyntax();
-
- if ( ldapSyntax != null )
- {
- if ( ldapSyntax.hasHumanReadableFlag() )
- {
- return !ldapSyntax.isHumanReadable();
- }
- else
- {
- // Check the syntaxes
- String syntaxId = ldapSyntax.getOid();
-
- return ( binarySyntaxes.contains( syntaxId ) );
- }
- }
- else
- {
- return binaryAttributes.contains( attrId );
- }
- }
- else
- {
- return binaryAttributes.contains( attrId );
- }
+ String attrId = Strings.toLowerCase( attributeId );
+
+ return binaryAttributes.contains( attrId );
}
@@ -141,67 +158,21 @@ public class DefaultBinaryAttributeDetec
/**
* {@inheritDoc}
*/
- public void setBinaryAttributes( Set<String> binaryAttributes )
+ public void setBinaryAttributes( String... binaryAttributes )
{
- if ( binaryAttributes != null )
+ if ( binaryAttributes == null )
{
+ // Clear the Set and reinject the default attributes
this.binaryAttributes.clear();
+ setBinaryAttributes( DEFAULT_BINARY_ATTRIBUTES );
- for ( String binaryAttribute : binaryAttributes )
- {
- String attrId = Strings.toLowerCase( binaryAttribute );
- this.binaryAttributes.add( attrId );
- }
+ return;
}
- }
-
- /**
- * {@inheritDoc}
- */
- public void addBinarySyntaxes( String... binarySyntaxes )
- {
- if ( binarySyntaxes != null )
- {
- for ( String binarySyntax : binarySyntaxes )
- {
- String syntaxId = Strings.toLowerCase( binarySyntax );
- this.binarySyntaxes.add( syntaxId );
- }
- }
- }
-
-
- /**
- * {@inheritDoc}
- */
- public void setBinarySyntaxes( Set<String> binarySyntaxes )
- {
- if ( binarySyntaxes != null )
+ for ( String binaryAttribute : binaryAttributes )
{
- this.binarySyntaxes.clear();
-
- for ( String binarySyntax : binarySyntaxes )
- {
- String syntaxId = Strings.toLowerCase( binarySyntax );
- this.binarySyntaxes.add( syntaxId );
- }
- }
- }
-
-
- /**
- * {@inheritDoc}
- */
- public void removeBinarySyntaxes( String... binarySyntaxes )
- {
- if ( binarySyntaxes != null )
- {
- for ( String binarySyntax : binarySyntaxes )
- {
- String syntaxId = Strings.toLowerCase( binarySyntax );
- this.binarySyntaxes.remove( syntaxId );
- }
+ String attrId = Strings.toLowerCase( binaryAttribute );
+ this.binaryAttributes.add( attrId );
}
}
}
Modified: directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/LdapMessageContainer.java
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/LdapMessageContainer.java?rev=1242044&r1=1242043&r2=1242044&view=diff
==============================================================================
--- directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/LdapMessageContainer.java (original)
+++ directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/LdapMessageContainer.java Wed Feb 8 19:08:22 2012
@@ -20,8 +20,6 @@
package org.apache.directory.shared.ldap.codec.api;
-import java.util.Set;
-
import org.apache.directory.shared.asn1.ber.AbstractContainer;
import org.apache.directory.shared.asn1.ber.Asn1Container;
import org.apache.directory.shared.ldap.codec.LdapMessageGrammar;
@@ -61,37 +59,7 @@ public class LdapMessageContainer<E exte
*/
public LdapMessageContainer( LdapApiService codec )
{
- this( codec, new BinaryAttributeDetector()
- {
- public boolean isBinary( String attributeId )
- {
- return false;
- }
-
- public void addBinaryAttribute( String... binaryAttributes )
- {
- }
-
- public void removeBinaryAttribute( String... binaryAttributes )
- {
- }
-
- public void setBinaryAttributes( Set<String> binaryAttributes )
- {
- }
-
- public void addBinarySyntaxes( String... binarySyntaxes )
- {
- }
-
- public void removeBinarySyntaxes( String... binarySyntaxes )
- {
- }
-
- public void setBinarySyntaxes( Set<String> binarySyntaxes )
- {
- }
- } );
+ this( codec, new DefaultConfigurableBinaryAttributeDetector() );
}
Copied: directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/SchemaBinaryAttributeDetector.java (from r1241708, directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/NoSchemaBinaryAttributeDetector.java)
URL: http://svn.apache.org/viewvc/directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/SchemaBinaryAttributeDetector.java?p2=directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/SchemaBinaryAttributeDetector.java&p1=directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/NoSchemaBinaryAttributeDetector.java&r1=1241708&r2=1242044&rev=1242044&view=diff
==============================================================================
--- directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/NoSchemaBinaryAttributeDetector.java (original)
+++ directory/shared/trunk/ldap/codec/core/src/main/java/org/apache/directory/shared/ldap/codec/api/SchemaBinaryAttributeDetector.java Wed Feb 8 19:08:22 2012
@@ -19,10 +19,10 @@
*/
package org.apache.directory.shared.ldap.codec.api;
-import java.util.Set;
-
+import org.apache.directory.shared.ldap.model.schema.AttributeType;
+import org.apache.directory.shared.ldap.model.schema.LdapSyntax;
+import org.apache.directory.shared.ldap.model.schema.SchemaManager;
import org.apache.directory.shared.util.Strings;
-import org.apache.mina.util.ConcurrentHashSet;
/**
* An implementation of the BinaryAttributeDetector interface. It's not
@@ -30,135 +30,60 @@ import org.apache.mina.util.ConcurrentHa
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class NoSchemaBinaryAttributeDetector implements BinaryAttributeDetector
+public class SchemaBinaryAttributeDetector implements BinaryAttributeDetector
{
- /** A set of binary Attribute ID */
- private Set<String> binaryAttributes = new ConcurrentHashSet<String>();
-
- /** A set of binary Syntax ID */
- private Set<String> binarySyntaxes = new ConcurrentHashSet<String>();
+ /** The schemaManager to use */
+ private SchemaManager schemaManager;
- /**
- * Creates a new instance of BinaryAttributeDetector. It's not schema aware
- */
- public NoSchemaBinaryAttributeDetector()
+ public SchemaBinaryAttributeDetector()
{
}
- /**
- * {@inheritDoc}
- */
- public boolean isBinary( String attributeId )
+ public SchemaBinaryAttributeDetector( SchemaManager schemaManager )
{
- String attrId = Strings.toLowerCase( attributeId );
-
- if ( attrId.endsWith( ";binary" ) )
- {
- return true;
- }
-
- return binaryAttributes.contains( attrId );
+ this.schemaManager = schemaManager;
}
-
/**
- * {@inheritDoc}
+ * @param schemaManager the schemaManager to set
*/
- public void addBinaryAttribute( String... binaryAttributes )
+ public void setSchemaManager( SchemaManager schemaManager )
{
- if ( binaryAttributes != null )
- {
- for ( String binaryAttribute : binaryAttributes )
- {
- String attrId = Strings.toLowerCase( binaryAttribute );
- this.binaryAttributes.add( attrId );
- }
- }
+ this.schemaManager = schemaManager;
}
-
- /**
- * {@inheritDoc}
- */
- public void removeBinaryAttribute( String... binaryAttributes )
- {
- if ( binaryAttributes != null )
- {
- for ( String binaryAttribute : binaryAttributes )
- {
- String attrId = Strings.toLowerCase( binaryAttribute );
- this.binaryAttributes.remove( attrId );
- }
- }
- }
-
/**
* {@inheritDoc}
*/
- public void setBinaryAttributes( Set<String> binaryAttributes )
+ public boolean isBinary( String attributeId )
{
- if ( binaryAttributes != null )
- {
- this.binaryAttributes.clear();
-
- for ( String binaryAttribute : binaryAttributes )
- {
- String attrId = Strings.toLowerCase( binaryAttribute );
- this.binaryAttributes.add( attrId );
- }
- }
- }
-
+ String attrId = Strings.toLowerCase( attributeId );
- /**
- * {@inheritDoc}
- */
- public void addBinarySyntaxes( String... binarySyntaxes )
- {
- if ( binarySyntaxes != null )
+ if ( attrId.endsWith( ";binary" ) )
{
- for ( String binarySyntax : binarySyntaxes )
- {
- String syntaxId = Strings.toLowerCase( binarySyntax );
- this.binarySyntaxes.add( syntaxId );
- }
+ return true;
}
- }
-
- /**
- * {@inheritDoc}
- */
- public void setBinarySyntaxes( Set<String> binarySyntaxes )
- {
- if ( binarySyntaxes != null )
+ if ( schemaManager != null )
{
- this.binarySyntaxes.clear();
+ AttributeType attributeType = schemaManager.getAttributeType( attrId );
- for ( String binarySyntax : binarySyntaxes )
+ if ( attributeType == null )
{
- String syntaxId = Strings.toLowerCase( binarySyntax );
- this.binarySyntaxes.add( syntaxId );
+ return false;
}
+
+ LdapSyntax ldapSyntax = attributeType.getSyntax();
+
+ return ( ( ldapSyntax != null ) &&
+ ldapSyntax.hasHumanReadableFlag() &&
+ ldapSyntax.hasHumanReadableFlag() ) &&
+ !ldapSyntax.isHumanReadable();
}
- }
-
- /**
- * {@inheritDoc}
- */
- public void removeBinarySyntaxes( String... binarySyntaxes )
- {
- if ( binarySyntaxes != null )
- {
- for ( String binarySyntax : binarySyntaxes )
- {
- String syntaxId = Strings.toLowerCase( binarySyntax );
- this.binarySyntaxes.remove( syntaxId );
- }
- }
+ return false;
}
}