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 2010/08/04 19:13:47 UTC
svn commit: r982332 [1/5] - in /directory:
apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/interceptor/context/
apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/
apacheds/trunk/core-api/src/main/java/...
Author: elecharny
Date: Wed Aug 4 17:13:46 2010
New Revision: 982332
URL: http://svn.apache.org/viewvc?rev=982332&view=rev
Log:
Replaced calls like :
dn.normalize( schemaManager.getNormalizerMapping() );
by calls like :
dn.normalize( schemaManager );
Modified:
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/interceptor/context/MoveAndRenameOperationContext.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDaoImpl.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AbstractRegistrySynchronizer.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/SchemaSynchronizer.java
directory/apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/ServerContext.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DNFactory.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultOperationManager.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/AciAuthorizationInterceptor.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationInterceptor.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/GroupCache.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/authz/TupleCache.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/event/EventInterceptor.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/normalization/NormalizationInterceptor.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/schema/SchemaInterceptor.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/subtree/SubentryInterceptor.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/trigger/TriggerSpecCache.java
directory/apacheds/trunk/core/src/test/java/org/apache/directory/server/core/schema/SchemaCheckerTest.java
directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmPartition.java
directory/apacheds/trunk/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/ServerEntrySerializerTest.java
directory/apacheds/trunk/ldif-partition/src/main/java/org/apache/directory/server/core/partition/ldif/LdifPartition.java
directory/apacheds/trunk/ldif-partition/src/test/java/org/apache/directory/server/core/partition/LdifPartitionTest.java
directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/SearchHandler.java
directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/bind/ntlm/NtlmSaslServer.java
directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/controls/PagedSearchContext.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/avl/AvlPartition.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreePartition.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/AbstractStore.java
directory/shared/trunk/ldap-schema-manager-tests/src/test/java/org/apache/directory/shared/ldap/subtree/SubtreeSpecificationParserTest.java
directory/shared/trunk/ldap/src/main/antlr/ACIItem.g
directory/shared/trunk/ldap/src/main/antlr/subtree-specification.g
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/entry/DefaultEntry.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/name/DN.java
directory/shared/trunk/ldap/src/main/java/org/apache/directory/shared/ldap/name/RDN.java
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/interceptor/context/MoveAndRenameOperationContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/interceptor/context/MoveAndRenameOperationContext.java?rev=982332&r1=982331&r2=982332&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/interceptor/context/MoveAndRenameOperationContext.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/interceptor/context/MoveAndRenameOperationContext.java Wed Aug 4 17:13:46 2010
@@ -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.server.core.interceptor.context;
@@ -70,12 +70,12 @@ public class MoveAndRenameOperationConte
// super sets the newRdn and the delOldRdn members and tests
super( session, modifyDnRequest );
this.newSuperiorDn = modifyDnRequest.getNewSuperior();
-
+
if ( newSuperiorDn == null )
{
throw new IllegalStateException( I18n.err( I18n.ERR_325, modifyDnRequest ) );
}
-
+
if ( requestControls.containsKey( ManageDsaITControl.CONTROL_OID ) )
{
ignoreReferral();
@@ -84,13 +84,13 @@ public class MoveAndRenameOperationConte
{
throwReferral();
}
-
+
newDn = newSuperiorDn.add(newRdn);
-
+
try
{
newDn.normalize( session.getDirectoryService()
- .getSchemaManager().getNormalizerMapping() );
+ .getSchemaManager() );
}
catch ( LdapInvalidDnException lide )
{
@@ -118,7 +118,7 @@ public class MoveAndRenameOperationConte
this.newSuperiorDn = newSuperiorDn;
}
-
+
/**
* @see Object#toString()
*/
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDaoImpl.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDaoImpl.java?rev=982332&r1=982331&r2=982332&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDaoImpl.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDaoImpl.java Wed Aug 4 17:13:46 2010
@@ -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.server.core.schema;
@@ -72,19 +72,19 @@ import org.slf4j.LoggerFactory;
/**
* A specialized data access object for managing schema objects in the
- * schema partition.
- *
+ * schema partition.
+ *
* WARNING:
* This dao operates directly on a partition. Hence no interceptors are available
* to perform the various expected services of respective interceptors. Take care
* to normalize all filters and distinguished names.
- *
+ *
* A single write operation exists for enabling schemas needed for operating indices
- * in partitions and enabling schemas that are dependencies of other schemas that
+ * in partitions and enabling schemas that are dependencies of other schemas that
* are enabled. In both these limited cases there is no need to worry about issues
* with a lack of replication propagation because these same updates will take place
* on replicas when the original operation is propagated or when replicas start up.
- *
+ *
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
public class SchemaPartitionDaoImpl implements SchemaPartitionDao
@@ -93,7 +93,7 @@ public class SchemaPartitionDaoImpl impl
private final Logger LOG = LoggerFactory.getLogger( getClass() );
private static final NumericOidSyntaxChecker NUMERIC_OID_CHECKER = new NumericOidSyntaxChecker();
private static final String[] SCHEMA_ATTRIBUTES = new String[]
- { SchemaConstants.CREATORS_NAME_AT_OID, "m-dependencies", SchemaConstants.OBJECT_CLASS_AT_OID,
+ { SchemaConstants.CREATORS_NAME_AT_OID, "m-dependencies", SchemaConstants.OBJECT_CLASS_AT_OID,
SchemaConstants.CN_AT_OID, "m-disabled" };
private final Partition partition;
@@ -121,7 +121,7 @@ public class SchemaPartitionDaoImpl impl
/**
* Creates a schema dao object backing information within a schema partition.
- *
+ *
* @param partition the schema partition
* @param registries the bootstrap registries that were used to start up the schema partition
* @throws NamingException if there are problems initializing this schema partion dao
@@ -147,7 +147,7 @@ public class SchemaPartitionDaoImpl impl
this.M_OC_AT = schemaManager.getAttributeType( MetaSchemaConstants.M_OC_AT );
this.M_SUP_OBJECT_CLASS_AT = schemaManager.getAttributeType( MetaSchemaConstants.M_SUP_OBJECT_CLASS_AT );
this.M_DEPENDENCIES_AT = schemaManager.getAttributeType( MetaSchemaConstants.M_DEPENDENCIES_AT );
-
+
for ( String attrId : SCHEMA_ATTRIBUTES )
{
AttributeTypeOptions ato = new AttributeTypeOptions( schemaManager.lookupAttributeTypeRegistry( attrId ) );
@@ -245,7 +245,7 @@ public class SchemaPartitionDaoImpl impl
SearchOperationContext searchOperationContext = new SearchOperationContext( null, partition.getSuffix(),
filter, searchControls );
searchOperationContext.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS );
-
+
cursor = partition.search( searchOperationContext );
if ( !cursor.next() )
@@ -297,7 +297,7 @@ public class SchemaPartitionDaoImpl impl
SearchOperationContext searchOperationContext = new SearchOperationContext( null, partition.getSuffix(),
filter, searchControls );
searchOperationContext.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS );
-
+
cursor = partition.search( searchOperationContext );
if ( !cursor.next() )
@@ -328,7 +328,7 @@ public class SchemaPartitionDaoImpl impl
public boolean hasObjectClass( String oid ) throws Exception
{
BranchNode filter = new AndNode();
- filter.addNode( new EqualityNode<String>( OBJECT_CLASS_AT,
+ filter.addNode( new EqualityNode<String>( OBJECT_CLASS_AT,
new StringValue( MetaSchemaConstants.META_OBJECT_CLASS_OC ) ) );
if ( NUMERIC_OID_CHECKER.isValidSyntax( oid ) )
@@ -349,7 +349,7 @@ public class SchemaPartitionDaoImpl impl
SearchOperationContext searchOperationContext = new SearchOperationContext( null, partition.getSuffix(),
filter, searchControls );
searchOperationContext.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS );
-
+
cursor = partition.search( searchOperationContext );
if ( !cursor.next() )
@@ -380,7 +380,7 @@ public class SchemaPartitionDaoImpl impl
public boolean hasSyntax( String oid ) throws Exception
{
BranchNode filter = new AndNode();
- filter.addNode( new EqualityNode<String>( OBJECT_CLASS_AT,
+ filter.addNode( new EqualityNode<String>( OBJECT_CLASS_AT,
new StringValue( MetaSchemaConstants.META_SYNTAX_OC ) ) );
if ( NUMERIC_OID_CHECKER.isValidSyntax( oid ) )
@@ -401,7 +401,7 @@ public class SchemaPartitionDaoImpl impl
SearchOperationContext searchOperationContext = new SearchOperationContext( null, partition.getSuffix(),
filter, searchControls );
searchOperationContext.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS );
-
+
cursor = partition.search( searchOperationContext );
if ( !cursor.next() )
@@ -432,7 +432,7 @@ public class SchemaPartitionDaoImpl impl
public boolean hasSyntaxChecker( String oid ) throws Exception
{
BranchNode filter = new AndNode();
- filter.addNode( new EqualityNode<String>( OBJECT_CLASS_AT,
+ filter.addNode( new EqualityNode<String>( OBJECT_CLASS_AT,
new StringValue( MetaSchemaConstants.META_SYNTAX_CHECKER_OC ) ) );
if ( NUMERIC_OID_CHECKER.isValidSyntax( oid ) )
@@ -453,7 +453,7 @@ public class SchemaPartitionDaoImpl impl
SearchOperationContext searchOperationContext = new SearchOperationContext( null, partition.getSuffix(),
filter, searchControls );
searchOperationContext.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS );
-
+
cursor = partition.search( searchOperationContext );
if ( !cursor.next() )
@@ -490,7 +490,7 @@ public class SchemaPartitionDaoImpl impl
}
RDN rdn = dn.getRdn( 1 );
-
+
if ( !rdn.getNormType().equalsIgnoreCase( SchemaConstants.CN_AT_OID ) )
{
throw new NamingException( I18n.err( I18n.ERR_434, dn.getNormName(), SchemaConstants.CN_AT_OID, rdn.getNormType() ) );
@@ -507,7 +507,7 @@ public class SchemaPartitionDaoImpl impl
{
Entry sr = find( entityName );
DN dn = sr.getDn();
- dn.normalize( schemaManager.getNormalizerMapping() );
+ dn.normalize( schemaManager );
return dn;
}
@@ -518,9 +518,9 @@ public class SchemaPartitionDaoImpl impl
public Entry find( String entityName ) throws Exception
{
BranchNode filter = new OrNode();
- SimpleNode<String> nameAVA = new EqualityNode<String>( M_NAME_AT,
+ SimpleNode<String> nameAVA = new EqualityNode<String>( M_NAME_AT,
new StringValue( entityName.toLowerCase() ) );
- SimpleNode<String> oidAVA = new EqualityNode<String>( M_OID_AT,
+ SimpleNode<String> oidAVA = new EqualityNode<String>( M_OID_AT,
new StringValue( entityName.toLowerCase() ) );
filter.addNode( nameAVA );
filter.addNode( oidAVA );
@@ -533,7 +533,7 @@ public class SchemaPartitionDaoImpl impl
SearchOperationContext searchOperationContext = new SearchOperationContext( null, partition.getSuffix(),
filter, searchControls );
searchOperationContext.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS );
-
+
cursor = partition.search( searchOperationContext );
if ( !cursor.next() )
@@ -542,7 +542,7 @@ public class SchemaPartitionDaoImpl impl
}
Entry sr = cursor.get();
-
+
if ( cursor.next() )
{
throw new NamingException( I18n.err( I18n.ERR_435, entityName ) );
@@ -577,7 +577,7 @@ public class SchemaPartitionDaoImpl impl
}
boolean isDisabled = disabledAttr.contains( "TRUE" );
-
+
if ( !isDisabled )
{
LOG.warn( "Does not make sense: you're trying to enable {} schema which is already enabled", schemaName );
@@ -607,11 +607,11 @@ public class SchemaPartitionDaoImpl impl
Set<Entry> set = new HashSet<Entry>();
BranchNode filter = new AndNode();
- // subfilter for (| (objectClass=metaMatchingRule) (objectClass=metaAttributeType))
+ // subfilter for (| (objectClass=metaMatchingRule) (objectClass=metaAttributeType))
BranchNode or = new OrNode();
- or.addNode( new EqualityNode<String>( OBJECT_CLASS_AT,
+ or.addNode( new EqualityNode<String>( OBJECT_CLASS_AT,
new StringValue( MetaSchemaConstants.META_MATCHING_RULE_OC.toLowerCase() ) ) );
- or.addNode( new EqualityNode<String>( OBJECT_CLASS_AT,
+ or.addNode( new EqualityNode<String>( OBJECT_CLASS_AT,
new StringValue( MetaSchemaConstants.META_ATTRIBUTE_TYPE_OC.toLowerCase() ) ) );
filter.addNode( or );
@@ -626,9 +626,9 @@ public class SchemaPartitionDaoImpl impl
SearchOperationContext searchOperationContext = new SearchOperationContext( null, partition.getSuffix(),
filter, searchControls );
searchOperationContext.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS );
-
+
cursor = partition.search( searchOperationContext );
-
+
while ( cursor.next() )
{
set.add( cursor.get() );
@@ -665,7 +665,7 @@ public class SchemaPartitionDaoImpl impl
filter.addNode( or );
List<String> names = mr.getNames();
-
+
if ( ( names != null ) && ( names.size() > 0 ) )
{
for ( String name : names )
@@ -685,9 +685,9 @@ public class SchemaPartitionDaoImpl impl
SearchOperationContext searchOperationContext = new SearchOperationContext( null, partition.getSuffix(),
filter, searchControls );
searchOperationContext.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS );
-
+
cursor = partition.search( searchOperationContext );
-
+
while ( cursor.next() )
{
set.add( cursor.get() );
@@ -721,7 +721,7 @@ public class SchemaPartitionDaoImpl impl
SearchOperationContext searchOperationContext = new SearchOperationContext( null, partition.getSuffix(),
filter, searchControls );
searchOperationContext.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS );
-
+
return partition.search( searchOperationContext );
}
@@ -733,16 +733,16 @@ public class SchemaPartitionDaoImpl impl
{
/*
* Right now the following inefficient filter is being used:
- *
- * ( &
+ *
+ * ( &
* ( | ( objectClass = metaAttributeType ) ( objectClass = metaObjectClass ) )
* ( | ( m-oid = $oid ) ( m-must = $oid ) ( m-supAttributeType = $oid ) )
* )
- *
+ *
* the reason why this is inefficient is because the or terms have large scan counts
* and several loops are going to be required. The following search is better because
* it constrains the results better:
- *
+ *
* ( |
* ( & ( objectClass = metaAttributeType ) ( m-supAttributeType = $oid ) )
* ( & ( objectClass = metaObjectClass ) ( | ( m-may = $oid ) ( m-must = $oid ) ) )
@@ -754,9 +754,9 @@ public class SchemaPartitionDaoImpl impl
// ( objectClass = metaAttributeType )
BranchNode or = new OrNode();
- or.addNode( new EqualityNode<String>( OBJECT_CLASS_AT,
+ or.addNode( new EqualityNode<String>( OBJECT_CLASS_AT,
new StringValue( MetaSchemaConstants.META_ATTRIBUTE_TYPE_OC.toLowerCase() ) ) );
- or.addNode( new EqualityNode<String>( OBJECT_CLASS_AT,
+ or.addNode( new EqualityNode<String>( OBJECT_CLASS_AT,
new StringValue( MetaSchemaConstants.META_OBJECT_CLASS_OC.toLowerCase() ) ) );
filter.addNode( or );
@@ -775,9 +775,9 @@ public class SchemaPartitionDaoImpl impl
SearchOperationContext searchOperationContext = new SearchOperationContext( null, partition.getSuffix(),
filter, searchControls );
searchOperationContext.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS );
-
+
cursor = partition.search( searchOperationContext );
-
+
while ( cursor.next() )
{
set.add( cursor.get() );
@@ -802,16 +802,16 @@ public class SchemaPartitionDaoImpl impl
{
/*
* The following filter is being used:
- *
+ *
* ( & ( objectClass = metaSchema ) ( m-dependencies = $schemaName ) )
*/
Set<Entry> set = new HashSet<Entry>();
BranchNode filter = new AndNode();
- filter.addNode( new EqualityNode<String>( OBJECT_CLASS_AT,
+ filter.addNode( new EqualityNode<String>( OBJECT_CLASS_AT,
new StringValue( MetaSchemaConstants.META_SCHEMA_OC.toLowerCase() ) ) );
- filter.addNode( new EqualityNode<String>( M_DEPENDENCIES_AT,
+ filter.addNode( new EqualityNode<String>( M_DEPENDENCIES_AT,
new StringValue( schemaName.toLowerCase() ) ) );
SearchControls searchControls = new SearchControls();
@@ -823,9 +823,9 @@ public class SchemaPartitionDaoImpl impl
SearchOperationContext searchOperationContext = new SearchOperationContext( null, partition.getSuffix(),
filter, searchControls );
searchOperationContext.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS );
-
+
cursor = partition.search( searchOperationContext );
-
+
while ( cursor.next() )
{
set.add( cursor.get() );
@@ -851,9 +851,9 @@ public class SchemaPartitionDaoImpl impl
Set<Entry> set = new HashSet<Entry>();
BranchNode filter = new AndNode();
- filter.addNode( new EqualityNode<String>( OBJECT_CLASS_AT, new StringValue(
+ filter.addNode( new EqualityNode<String>( OBJECT_CLASS_AT, new StringValue(
MetaSchemaConstants.META_SCHEMA_OC.toLowerCase() ) ) );
- filter.addNode( new EqualityNode<String>( M_DEPENDENCIES_AT, new StringValue(
+ filter.addNode( new EqualityNode<String>( M_DEPENDENCIES_AT, new StringValue(
schemaName.toLowerCase() ) ) );
SearchControls searchControls = new SearchControls();
@@ -865,7 +865,7 @@ public class SchemaPartitionDaoImpl impl
SearchOperationContext searchOperationContext = new SearchOperationContext( null, partition.getSuffix(),
filter, searchControls );
searchOperationContext.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS );
-
+
cursor = partition.search( searchOperationContext );
while ( cursor.next() )
@@ -902,21 +902,21 @@ public class SchemaPartitionDaoImpl impl
{
/*
* Right now the following inefficient filter is being used:
- *
- * ( &
- * ( | ( objectClass = metaObjectClass ) ( objectClass = metaDITContentRule )
+ *
+ * ( &
+ * ( | ( objectClass = metaObjectClass ) ( objectClass = metaDITContentRule )
* ( objectClass = metaNameForm ) )
* ( | ( m-oc = $oid ) ( m-aux = $oid ) ( m-supObjectClass = $oid ) )
* )
- *
+ *
* The reason why this is inefficient is because the or terms have large scan counts
- * and several loops are going to be required. For example all the objectClasses and
- * all the metaDITContentRules and all the metaNameForm candidates will be a massive
- * number. This is probably going to be bigger than the 2nd term where a candidate
+ * and several loops are going to be required. For example all the objectClasses and
+ * all the metaDITContentRules and all the metaNameForm candidates will be a massive
+ * number. This is probably going to be bigger than the 2nd term where a candidate
* satisfies one of the terms.
- *
+ *
* The following search is better because it constrains the results better:
- *
+ *
* ( |
* ( & ( objectClass = metaNameForm ) ( m-oc = $oid ) )
* ( & ( objectClass = metaObjectClass ) ( m-supObjectClass = $oid ) )
@@ -951,9 +951,9 @@ public class SchemaPartitionDaoImpl impl
SearchOperationContext searchOperationContext = new SearchOperationContext( null, partition.getSuffix(),
filter, searchControls );
searchOperationContext.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS );
-
+
cursor = partition.search( searchOperationContext );
-
+
while ( cursor.next() )
{
set.add( cursor.get() );
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AbstractRegistrySynchronizer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AbstractRegistrySynchronizer.java?rev=982332&r1=982331&r2=982332&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AbstractRegistrySynchronizer.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/AbstractRegistrySynchronizer.java Wed Aug 4 17:13:46 2010
@@ -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.server.core.schema.registries.synchronizers;
@@ -63,20 +63,20 @@ public abstract class AbstractRegistrySy
/** The global SchemaManager */
protected final SchemaManager schemaManager;
-
+
/** The m-oid AttributeType */
protected final AttributeType m_oidAT;
-
+
/** The Schema objetc factory */
protected final SchemaEntityFactory factory;
-
+
/** A map associating a SchemaObject type with its path on the partition*/
private final static Map<String, String> OBJECT_TYPE_TO_PATH = new HashMap<String, String>();
static
{
// Removed the starting 'ou=' from the paths
- OBJECT_TYPE_TO_PATH.put( SchemaConstants.ATTRIBUTE_TYPE, SchemaConstants.ATTRIBUTES_TYPE_PATH.substring( 3 ) );
+ OBJECT_TYPE_TO_PATH.put( SchemaConstants.ATTRIBUTE_TYPE, SchemaConstants.ATTRIBUTES_TYPE_PATH.substring( 3 ) );
OBJECT_TYPE_TO_PATH.put( SchemaConstants.COMPARATOR, SchemaConstants.COMPARATORS_PATH.substring( 3 ) );
OBJECT_TYPE_TO_PATH.put( SchemaConstants.DIT_CONTENT_RULE, SchemaConstants.DIT_CONTENT_RULES_PATH.substring( 3 ) );
OBJECT_TYPE_TO_PATH.put( SchemaConstants.DIT_STRUCTURE_RULE, SchemaConstants.DIT_STRUCTURE_RULES_PATH.substring( 3 ) );
@@ -88,20 +88,20 @@ public abstract class AbstractRegistrySy
OBJECT_TYPE_TO_PATH.put( SchemaConstants.SYNTAX, SchemaConstants.SYNTAXES_PATH.substring( 3 ) );
OBJECT_TYPE_TO_PATH.put( SchemaConstants.SYNTAX_CHECKER, SchemaConstants.SYNTAX_CHECKERS_PATH.substring( 3 ) );
}
-
-
+
+
protected AbstractRegistrySynchronizer( SchemaManager schemaManager ) throws Exception
{
this.schemaManager = schemaManager;
m_oidAT = schemaManager.getAttributeType( MetaSchemaConstants.M_OID_AT );
factory = new SchemaEntityFactory();
}
-
-
+
+
/**
* Tells if the schema the DN references is loaded or not
*
- * @param dn The SchemaObject's DN
+ * @param dn The SchemaObject's DN
* @return true if the schema is loaded
* @throws Exception If The DN is not a SchemaObject DN
*/
@@ -109,8 +109,8 @@ public abstract class AbstractRegistrySy
{
return schemaManager.isSchemaLoaded( getSchemaName( dn ) );
}
-
-
+
+
/**
* Tells if the schemaName is loaded or not
*
@@ -121,10 +121,10 @@ public abstract class AbstractRegistrySy
{
return schemaManager.isSchemaLoaded( schemaName );
}
-
-
+
+
/**
- * Tells if a schema is loaded and enabled
+ * Tells if a schema is loaded and enabled
*
* @param schemaName The schema we want to check
* @return true if the schema is loaded and enabled, false otherwise
@@ -132,13 +132,13 @@ public abstract class AbstractRegistrySy
protected boolean isSchemaEnabled( String schemaName )
{
Schema schema = schemaManager.getLoadedSchema( schemaName );
-
+
return ( ( schema != null ) && schema.isEnabled() );
}
-
-
+
+
/**
- * Exctract the schema name from the DN. It is supposed to be the
+ * Exctract the schema name from the DN. It is supposed to be the
* second RDN in the dn :
* <pre>
* ou=schema, cn=MySchema, ...
@@ -155,7 +155,7 @@ public abstract class AbstractRegistrySy
{
throw new LdapInvalidDnException( I18n.err( I18n.ERR_276 ) );
}
-
+
RDN rdn = dn.getRdn( 1 );
return rdn.getNormValue().getString();
}
@@ -171,7 +171,7 @@ public abstract class AbstractRegistrySy
}
}
-
+
/**
* Check that a SchemaObject exists in the global OidRegsitry, and if so,
* return it.
@@ -191,7 +191,7 @@ public abstract class AbstractRegistrySy
}
}
-
+
/**
* Checks that the parent DN is a valid DN
*/
@@ -201,18 +201,18 @@ public abstract class AbstractRegistrySy
{
throw new LdapInvalidDnException( ResultCodeEnum.NAMING_VIOLATION, I18n.err( I18n.ERR_337 ) );
}
-
+
RDN rdn = newParent.getRdn();
-
+
if ( ! schemaManager.getAttributeTypeRegistry().getOidByName( rdn.getNormType() ).equals( SchemaConstants.OU_AT_OID ) )
{
- throw new LdapInvalidDnException( ResultCodeEnum.NAMING_VIOLATION,
+ throw new LdapInvalidDnException( ResultCodeEnum.NAMING_VIOLATION,
I18n.err( I18n.ERR_338, objectType ) );
}
-
+
if ( !rdn.getNormValue().getString().equalsIgnoreCase( OBJECT_TYPE_TO_PATH.get( objectType ) ) )
{
- throw new LdapInvalidDnException( ResultCodeEnum.NAMING_VIOLATION,
+ throw new LdapInvalidDnException( ResultCodeEnum.NAMING_VIOLATION,
I18n.err( I18n.ERR_339, objectType, OBJECT_TYPE_TO_PATH.get( objectType ) ) );
}
}
@@ -238,7 +238,7 @@ public abstract class AbstractRegistrySy
}
}
-
+
/**
* Add a new SchemaObject to the schema content, assuming that
* it has an associated schema and that this schema is loaded
@@ -249,23 +249,23 @@ public abstract class AbstractRegistrySy
{
// Get the set of all the SchemaObjects associated with this schema
Set<SchemaObjectWrapper> schemaObjects = schemaManager.getRegistries().getObjectBySchemaName().get( schemaName );
-
+
if ( schemaObjects == null )
{
// TODO : this should never happen...
schemaObjects = schemaManager.getRegistries().addSchema( schemaName );
}
-
+
SchemaObjectWrapper schemaObjectWrapper = new SchemaObjectWrapper( schemaObject );
-
+
if ( schemaObjects.contains( schemaObjectWrapper ) )
{
String msg = I18n.err( I18n.ERR_341, schemaObject.getName(), schemaName );
LOG.warn( msg );
-
+
throw new LdapUnwillingToPerformException( ResultCodeEnum.UNWILLING_TO_PERFORM, msg );
}
-
+
schemaObjects.add( schemaObjectWrapper );
LOG.debug( "The SchemaObject {} has been added to the schema {}", schemaObject, schemaName );
}
@@ -273,14 +273,14 @@ public abstract class AbstractRegistrySy
{
String msg = I18n.err( I18n.ERR_342, schemaObject.getName(), schemaName );
LOG.warn( msg );
-
+
throw new LdapUnwillingToPerformException( ResultCodeEnum.UNWILLING_TO_PERFORM, msg );
}
}
-
-
-
+
+
+
/**
* Delete a SchemaObject from the schema registry, assuming that
* it has an associated schema and that this schema is loaded
@@ -292,15 +292,15 @@ public abstract class AbstractRegistrySy
Set<SchemaObjectWrapper> schemaObjects = schemaManager.getRegistries().getObjectBySchemaName().get( schemaName );
SchemaObjectWrapper schemaObjectWrapper = new SchemaObjectWrapper( schemaObject );
-
+
if ( !schemaObjects.contains( schemaObjectWrapper ) )
{
String msg = I18n.err( I18n.ERR_343, schemaObject.getName(), schemaName );
LOG.warn( msg );
-
+
throw new LdapUnwillingToPerformException( ResultCodeEnum.UNWILLING_TO_PERFORM, msg );
}
-
+
schemaObjects.remove( schemaObjectWrapper );
LOG.debug( "The SchemaObject {} has been removed from the schema {}", schemaObject, schemaName );
}
@@ -308,50 +308,50 @@ public abstract class AbstractRegistrySy
{
String msg = I18n.err( I18n.ERR_342, schemaObject.getName(), schemaName );
LOG.warn( msg );
-
+
throw new LdapUnwillingToPerformException( ResultCodeEnum.UNWILLING_TO_PERFORM, msg );
}
}
-
+
/**
* {@inheritDoc}
*/
- public abstract boolean modify( ModifyOperationContext modifyContext, Entry targetEntry, boolean cascade )
+ public abstract boolean modify( ModifyOperationContext modifyContext, Entry targetEntry, boolean cascade )
throws LdapException;
-
-
+
+
protected Set<String> getOids( Set<Entry> results ) throws Exception
{
Set<String> oids = new HashSet<String>( results.size() );
-
+
for ( Entry result : results )
{
DN dn = result.getDn();
- dn.normalize( schemaManager.getNormalizerMapping() );
+ dn.normalize( schemaManager );
oids.add( dn.getRdn().getNormValue().getString() );
}
-
+
return oids;
}
-
-
+
+
protected String getOid( Entry entry ) throws LdapException
{
EntryAttribute oid = entry.get( m_oidAT );
-
+
if ( oid == null )
{
return null;
}
-
+
return oid.getString();
}
-
-
+
+
/**
* Unregister a SchemaObject's OID from the associated oidRegistry
- *
+ *
* @param obj The SchemaObject to unregister
* @throws Exception If the unregistering failed
*/
@@ -359,11 +359,11 @@ public abstract class AbstractRegistrySy
{
schemaManager.getGlobalOidRegistry().unregister( obj.getOid() );
}
-
-
+
+
/**
* Register a SchemaObject's OID in the associated oidRegistry
- *
+ *
* @param obj The SchemaObject to register
* @throws Exception If the registering failed
*/
@@ -371,10 +371,10 @@ public abstract class AbstractRegistrySy
{
schemaManager.getGlobalOidRegistry().register( obj );
}
-
-
+
+
/**
- * Get a String containing the SchemaObjects referencing the
+ * Get a String containing the SchemaObjects referencing the
* given ShcemaObject
*
* @param schemaObject The SchemaObject we want the referencing SchemaObjects for
@@ -383,15 +383,15 @@ public abstract class AbstractRegistrySy
protected String getReferenced( SchemaObject schemaObject )
{
StringBuilder sb = new StringBuilder();
-
+
Set<SchemaObjectWrapper> useds = schemaManager.getRegistries().getUsedBy( schemaObject );
-
+
for ( SchemaObjectWrapper used:useds )
{
sb.append( used );
sb.append( '\n' );
}
-
+
return sb.toString();
}
}
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/SchemaSynchronizer.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/SchemaSynchronizer.java?rev=982332&r1=982331&r2=982332&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/SchemaSynchronizer.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/SchemaSynchronizer.java Wed Aug 4 17:13:46 2010
@@ -55,7 +55,7 @@ import org.slf4j.LoggerFactory;
/**
* This class handle modifications made on a global schema. Modifications made
* on SchemaObjects are handled by the specific shcemaObject synchronizers.
- *
+ *
* @TODO poorly implemented - revisit the SchemaChangeHandler for this puppy
* and do it right.
*
@@ -68,21 +68,21 @@ public class SchemaSynchronizer implemen
private final SchemaEntityFactory factory;
//private final PartitionSchemaLoader loader;
-
+
private final SchemaManager schemaManager;
-
+
/** The global registries */
private final Registries registries;
-
+
/** The m-disable AttributeType */
private final AttributeType disabledAT;
-
+
/** The CN attributeType */
private final AttributeType cnAT;
-
+
/** The m-dependencies AttributeType */
private final AttributeType dependenciesAT;
-
+
/** A static DN referencing ou=schema */
private final DN ouSchemaDN;
@@ -102,45 +102,45 @@ public class SchemaSynchronizer implemen
cnAT = registries.getAttributeTypeRegistry().lookup( SchemaConstants.CN_AT );
dependenciesAT = registries.getAttributeTypeRegistry()
.lookup( MetaSchemaConstants.M_DEPENDENCIES_AT );
-
+
ouSchemaDN = new DN( SchemaConstants.OU_SCHEMA, schemaManager );
}
/**
- * The only modification done on a schema element is on the m-disabled
+ * The only modification done on a schema element is on the m-disabled
* attributeType
- *
+ *
* Depending in the existence of this attribute in the previous entry, we will
* have to update the entry or not.
*/
public boolean modify( ModifyOperationContext modifyContext, Entry targetEntry, boolean cascade ) throws LdapException
{
Entry entry = modifyContext.getEntry();
- List<Modification> mods = modifyContext.getModItems();
+ List<Modification> mods = modifyContext.getModItems();
boolean hasModification = SCHEMA_UNCHANGED;
-
- // Check if the entry has a m-disabled attribute
+
+ // Check if the entry has a m-disabled attribute
EntryAttribute disabledInEntry = entry.get( disabledAT );
Modification disabledModification = ServerEntryUtils.getModificationItem( mods, disabledAT );
-
+
// The attribute might be present, but that does not mean we will change it.
// If it's absent, and if we have it in the previous entry, that mean we want
// to enable the schema
if ( disabledModification != null )
{
- // We are trying to modify the m-disabled attribute.
+ // We are trying to modify the m-disabled attribute.
ModificationOperation modification = disabledModification.getOperation();
EntryAttribute attribute = disabledModification.getAttribute();
-
+
hasModification = modifyDisable( modifyContext, modification, attribute, disabledInEntry );
}
else if ( disabledInEntry != null )
{
hasModification = modifyDisable( modifyContext, ModificationOperation.REMOVE_ATTRIBUTE, null, disabledInEntry );
}
-
-
+
+
return hasModification;
}
@@ -153,7 +153,7 @@ public class SchemaSynchronizer implemen
/**
* Handles the addition of a metaSchema object to the schema partition.
- *
+ *
* @param name the dn of the new metaSchema object
* @param entry the attributes of the new metaSchema object
*/
@@ -173,7 +173,7 @@ public class SchemaSynchronizer implemen
// check if the new schema is enabled or disabled
boolean isEnabled = false;
EntryAttribute disabled = entry.get( disabledAT );
-
+
if ( disabled == null )
{
// If the attribute is absent, then the schema is enabled by default
@@ -183,27 +183,27 @@ public class SchemaSynchronizer implemen
{
isEnabled = true;
}
-
+
// check to see that all dependencies are resolved and loaded if this
// schema is enabled, otherwise check that the dependency schemas exist
checkForDependencies( isEnabled, entry );
-
+
/*
* There's a slight problem that may result when adding a metaSchema
* object if the addition of the physical entry fails. If the schema
* is enabled when added in the condition tested below, that schema
* is added to the global registries. We need to add this so subsequent
* schema entity additions are loaded into the registries as they are
- * added to the schema partition. However if the metaSchema object
+ * added to the schema partition. However if the metaSchema object
* addition fails then we're left with this schema object looking like
* it is enabled in the registries object's schema hash. The effects
* of this are unpredictable.
- *
- * This whole problem is due to the inability of these handlers to
+ *
+ * This whole problem is due to the inability of these handlers to
* react to a failed operation. To fix this we would need some way
* for these handlers to respond to failed operations and revert their
* effects on the registries.
- *
+ *
* TODO: might want to add a set of failedOnXXX methods to the adapter
* where on failure the schema service calls the schema manager and it
* calls the appropriate methods on the respective handler. This way
@@ -221,11 +221,11 @@ public class SchemaSynchronizer implemen
/**
* Called to react to the deletion of a metaSchema object. This method
- * simply removes the schema from the loaded schema map of the global
- * registries.
- *
+ * simply removes the schema from the loaded schema map of the global
+ * registries.
+ *
* @param name the dn of the metaSchema object being deleted
- * @param entry the attributes of the metaSchema object
+ * @param entry the attributes of the metaSchema object
*/
public void delete( Entry entry, boolean cascade ) throws LdapException
{
@@ -235,16 +235,16 @@ public class SchemaSynchronizer implemen
// Before allowing a schema object to be deleted we must check
// to make sure it's not depended upon by another schema
Set<String> dependents = schemaManager.listDependentSchemaNames( schemaName );
-
+
if ( ( dependents != null ) && ! dependents.isEmpty() )
{
- String msg = I18n.err( I18n.ERR_381, dependents );
+ String msg = I18n.err( I18n.ERR_381, dependents );
LOG.warn( msg );
throw new LdapUnwillingToPerformException(
ResultCodeEnum.UNWILLING_TO_PERFORM,
msg );
}
-
+
// no need to check if schema is enabled or disabled here
// if not in the loaded set there will be no negative effect
schemaManager.unload( schemaName );
@@ -253,10 +253,10 @@ public class SchemaSynchronizer implemen
/**
- * Responds to the rdn (commonName) of the metaSchema object being
- * changed. Changes all the schema entities associated with the
+ * Responds to the rdn (commonName) of the metaSchema object being
+ * changed. Changes all the schema entities associated with the
* renamed schema so they now map to a new schema name.
- *
+ *
* @param name the dn of the metaSchema object renamed
* @param entry the entry of the metaSchema object before the rename
* @param newRdn the new commonName of the metaSchema object
@@ -274,28 +274,28 @@ public class SchemaSynchronizer implemen
/*
* This operation has to do the following:
- *
- * [1] check and make sure there are no dependent schemas on the
+ *
+ * [1] check and make sure there are no dependent schemas on the
* one being renamed - if so an exception should result
- *
- * [2] make non-schema object registries modify the mapping
+ *
+ * [2] make non-schema object registries modify the mapping
* for their entities: non-schema object registries contain
* objects that are not SchemaObjects and hence do not carry
* their schema within the object as a property
- *
+ *
* [3] make schema object registries do the same but the way
* they do them will be different since these objects will
- * need to be replaced or will require a setter for the
+ * need to be replaced or will require a setter for the
* schema name
*/
-
+
// step [1]
/*
String schemaName = getSchemaName( entry.getDn() );
Set<String> dependents = schemaManager.listDependentSchemaNames( schemaName );
if ( ! dependents.isEmpty() )
{
- throw new LdapUnwillingToPerformException(
+ throw new LdapUnwillingToPerformException(
"Cannot allow a rename on " + schemaName + " schema while it has depentents.",
ResultCodeEnum.UNWILLING_TO_PERFORM );
}
@@ -303,7 +303,7 @@ public class SchemaSynchronizer implemen
// check if the new schema is enabled or disabled
boolean isEnabled = false;
EntryAttribute disabled = entry.get( disabledAT );
-
+
if ( disabled == null )
{
isEnabled = true;
@@ -319,13 +319,13 @@ public class SchemaSynchronizer implemen
}
// do steps 2 and 3 if the schema has been enabled and is loaded
-
- // step [2]
+
+ // step [2]
String newSchemaName = ( String ) newRdn.getUpValue();
registries.getComparatorRegistry().renameSchema( schemaName, newSchemaName );
registries.getNormalizerRegistry().renameSchema( schemaName, newSchemaName );
registries.getSyntaxCheckerRegistry().renameSchema( schemaName, newSchemaName );
-
+
// step [3]
renameSchema( registries.getAttributeTypeRegistry(), schemaName, newSchemaName );
renameSchema( registries.getDitContentRuleRegistry(), schemaName, newSchemaName );
@@ -337,13 +337,13 @@ public class SchemaSynchronizer implemen
renameSchema( registries.getLdapSyntaxRegistry(), schemaName, newSchemaName );
*/
}
-
+
/**
* Moves are not allowed for metaSchema objects so this always throws an
* UNWILLING_TO_PERFORM LdapException.
*/
- public void moveAndRename( DN oriChildName, DN newParentName, String newRn, boolean deleteOldRn,
+ public void moveAndRename( DN oriChildName, DN newParentName, String newRn, boolean deleteOldRn,
Entry entry, boolean cascade ) throws LdapUnwillingToPerformException
{
throw new LdapUnwillingToPerformException( ResultCodeEnum.UNWILLING_TO_PERFORM,
@@ -355,25 +355,25 @@ public class SchemaSynchronizer implemen
* Moves are not allowed for metaSchema objects so this always throws an
* UNWILLING_TO_PERFORM LdapException.
*/
- public void move( DN oriChildName, DN newParentName,
+ public void move( DN oriChildName, DN newParentName,
Entry entry, boolean cascade ) throws LdapUnwillingToPerformException
{
throw new LdapUnwillingToPerformException( ResultCodeEnum.UNWILLING_TO_PERFORM,
I18n.err( I18n.ERR_383 ) );
}
-
+
// -----------------------------------------------------------------------
// private utility methods
// -----------------------------------------------------------------------
-
+
/**
* Modify the Disable flag (the flag can be set to true or false).
- *
+ *
* We can ADD, REMOVE or MODIFY this flag. The following matrix expose what will be the consequences
* of this operation, depending on the current state
- *
+ *
* <pre>
* +-------------------+--------------------+--------------------+
* op/state | TRUE | FALSE | ABSENT |
@@ -390,15 +390,15 @@ public class SchemaSynchronizer implemen
* +-------+-------+-------------------+--------------------+--------------------+
* </pre>
*/
- private boolean modifyDisable( ModifyOperationContext modifyContext, ModificationOperation modOp,
+ private boolean modifyDisable( ModifyOperationContext modifyContext, ModificationOperation modOp,
EntryAttribute disabledInMods, EntryAttribute disabledInEntry ) throws LdapException
{
DN name = modifyContext.getDn();
-
+
switch ( modOp )
{
/*
- * If the user is adding a new m-disabled attribute to an enabled schema,
+ * If the user is adding a new m-disabled attribute to an enabled schema,
* we check that the value is "TRUE" and disable that schema if so.
*/
case ADD_ATTRIBUTE :
@@ -406,11 +406,11 @@ public class SchemaSynchronizer implemen
{
return disableSchema( getSchemaName( name ) );
}
-
+
break;
/*
- * If the user is removing the m-disabled attribute we check if the schema is currently
+ * If the user is removing the m-disabled attribute we check if the schema is currently
* disabled. If so we enable the schema.
*/
case REMOVE_ATTRIBUTE :
@@ -418,29 +418,29 @@ public class SchemaSynchronizer implemen
{
return enableSchema( getSchemaName( name ) );
}
-
+
break;
/*
- * If the user is replacing the m-disabled attribute we check if the schema is
+ * If the user is replacing the m-disabled attribute we check if the schema is
* currently disabled and enable it if the new state has it as enabled. If the
* schema is not disabled we disable it if the mods set m-disabled to true.
*/
case REPLACE_ATTRIBUTE :
-
+
boolean isCurrentlyDisabled = false;
-
+
if ( disabledInEntry != null )
{
isCurrentlyDisabled = "TRUE".equalsIgnoreCase( disabledInEntry.getString() );
}
-
+
boolean isNewStateDisabled = false;
-
+
if ( disabledInMods != null )
{
Value<?> val = disabledInMods.get();
-
+
if ( val == null )
{
isNewStateDisabled = false;
@@ -460,13 +460,13 @@ public class SchemaSynchronizer implemen
{
return disableSchema( getSchemaName( name ) );
}
-
+
break;
-
+
default:
throw new IllegalArgumentException( I18n.err( I18n.ERR_384, modOp ) );
}
-
+
return SCHEMA_UNCHANGED;
}
@@ -476,7 +476,7 @@ public class SchemaSynchronizer implemen
return schema.getRdn().getNormValue().getString();
}
-
+
private boolean disableSchema( String schemaName ) throws LdapException
{
Schema schema = registries.getLoadedSchema( schemaName );
@@ -488,50 +488,50 @@ public class SchemaSynchronizer implemen
LOG.error( msg );
throw new LdapUnwillingToPerformException( ResultCodeEnum.UNWILLING_TO_PERFORM, msg );
}
-
+
return schemaManager.disable( schemaName );
/*
// First check that the schema is not already disabled
Map<String, Schema> schemas = registries.getLoadedSchemas();
-
+
Schema schema = schemas.get( schemaName );
-
+
if ( ( schema == null ) || schema.isDisabled() )
{
// The schema is disabled, do nothing
return SCHEMA_UNCHANGED;
}
-
+
Set<String> dependents = schemaManager.listEnabledDependentSchemaNames( schemaName );
-
+
if ( ! dependents.isEmpty() )
{
throw new LdapUnwillingToPerformException(
"Cannot disable schema with enabled dependents: " + dependents,
ResultCodeEnum.UNWILLING_TO_PERFORM );
}
-
+
schema.disable();
-
+
// Use brute force right now : iterate through all the schemaObjects
// searching for those associated with the disabled schema
disableAT( session, schemaName );
-
- Set<SchemaObjectWrapper> content = registries.getLoadedSchema( schemaName ).getContent();
+
+ Set<SchemaObjectWrapper> content = registries.getLoadedSchema( schemaName ).getContent();
for ( SchemaObjectWrapper schemaWrapper : content )
{
SchemaObject schemaObject = schemaWrapper.get();
-
+
System.out.println( "Disabling " + schemaObject.getName() );
}
-
+
return SCHEMA_MODIFIED;
*/
}
-
-
+
+
/**
* Enabling a schema consist on switching all of its schema element to enable.
* We have to do it on a temporary registries.
@@ -545,7 +545,7 @@ public class SchemaSynchronizer implemen
// We have to load the schema before enabling it.
schemaManager.loadDisabled( schemaName );
}
-
+
return schemaManager.enable( schemaName );
}
@@ -553,7 +553,7 @@ public class SchemaSynchronizer implemen
/**
* Checks to make sure the dependencies either exist for disabled metaSchemas,
* or exist and are loaded (enabled) for enabled metaSchemas.
- *
+ *
* @param isEnabled whether or not the new metaSchema is enabled
* @param entry the Attributes for the new metaSchema object
* @throws NamingException if the dependencies do not resolve or are not
@@ -567,20 +567,20 @@ public class SchemaSynchronizer implemen
{
return;
}
-
+
if ( isEnabled )
{
// check to make sure all the dependencies are also enabled
Map<String,Schema> loaded = registries.getLoadedSchemas();
-
+
for ( Value<?> value:dependencies )
{
String dependency = value.getString();
-
+
if ( ! loaded.containsKey( dependency ) )
{
- throw new LdapUnwillingToPerformException(
- ResultCodeEnum.UNWILLING_TO_PERFORM, "Unwilling to perform operation on enabled schema with disabled or missing dependencies: "
+ throw new LdapUnwillingToPerformException(
+ ResultCodeEnum.UNWILLING_TO_PERFORM, "Unwilling to perform operation on enabled schema with disabled or missing dependencies: "
+ dependency );
}
}
@@ -590,10 +590,10 @@ public class SchemaSynchronizer implemen
for ( Value<?> value:dependencies )
{
String dependency = value.getString();
-
+
if ( schemaManager.getLoadedSchema( StringTools.toLowerCase( dependency ) ) == null )
{
- throw new LdapUnwillingToPerformException( ResultCodeEnum.UNWILLING_TO_PERFORM,
+ throw new LdapUnwillingToPerformException( ResultCodeEnum.UNWILLING_TO_PERFORM,
I18n.err( I18n.ERR_385, dependency ) );
}
}
Modified: directory/apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/ServerContext.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/ServerContext.java?rev=982332&r1=982331&r2=982332&view=diff
==============================================================================
--- directory/apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/ServerContext.java (original)
+++ directory/apacheds/trunk/core-jndi/src/main/java/org/apache/directory/server/core/jndi/ServerContext.java Wed Aug 4 17:13:46 2010
@@ -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.server.core.jndi;
@@ -112,10 +112,10 @@ public abstract class ServerContext impl
/** The directory service which owns this context **/
private final DirectoryService service;
-
+
/** The SchemManager instance */
protected SchemaManager schemaManager;
-
+
/** A reference to the ObjectClass AT */
protected AttributeType OBJECT_CLASS_AT;
@@ -126,7 +126,7 @@ public abstract class ServerContext impl
private final DN dn;
/** The set of registered NamingListeners */
- private final Map<NamingListener,DirectoryListener> listeners =
+ private final Map<NamingListener,DirectoryListener> listeners =
new HashMap<NamingListener,DirectoryListener>();
/** The request controls to set on operations before performing them */
@@ -137,7 +137,7 @@ public abstract class ServerContext impl
/** Connection level controls associated with the session */
protected Control[] connectControls = EMPTY_CONTROLS;
-
+
private final CoreSession session;
@@ -152,10 +152,10 @@ public abstract class ServerContext impl
* of the newly created context. It also checks to make sure the
* referenced name actually exists within the system. This constructor
* is used for all InitialContext requests.
- *
+ *
* @param service the parent service that manages this context
* @param env the environment properties used by this context.
- * @throws NamingException if the environment parameters are not set
+ * @throws NamingException if the environment parameters are not set
* correctly.
*/
protected ServerContext( DirectoryService service, Hashtable<String, Object> env ) throws Exception
@@ -163,32 +163,32 @@ public abstract class ServerContext impl
this.service = service;
this.env = env;
-
+
LdapJndiProperties props = LdapJndiProperties.getLdapJndiProperties( this.env );
dn = props.getProviderDn();
/*
- * Need do bind operation here, and bindContext returned contains the
+ * Need do bind operation here, and bindContext returned contains the
* newly created session.
*/
- BindOperationContext bindContext = doBindOperation( props.getBindDn(), props.getCredentials(),
+ BindOperationContext bindContext = doBindOperation( props.getBindDn(), props.getCredentials(),
props.getSaslMechanism(), props.getSaslAuthId() );
session = bindContext.getSession();
OperationManager operationManager = service.getOperationManager();
-
+
if ( ! operationManager.hasEntry( new EntryOperationContext( session, dn ) ) )
{
throw new NameNotFoundException( I18n.err( I18n.ERR_490, dn ) );
}
-
+
schemaManager = service.getSchemaManager();
// setup attribute type value
OBJECT_CLASS_AT = schemaManager.getAttributeType( SchemaConstants.OBJECT_CLASS_AT );
}
-
-
+
+
/**
* Must be called by all subclasses to initialize the nexus proxy and the
* environment settings to be used by this Context implementation. This
@@ -209,12 +209,12 @@ public abstract class ServerContext impl
this.env.put( DirectoryService.JNDI_KEY, service );
session = new DefaultCoreSession( principal, service );
OperationManager operationManager = service.getOperationManager();
-
+
if ( ! operationManager.hasEntry( new EntryOperationContext( session, dn ) ) )
{
throw new NameNotFoundException( I18n.err( I18n.ERR_490, dn ) );
}
-
+
schemaManager = service.getSchemaManager();
// setup attribute type value
@@ -231,12 +231,12 @@ public abstract class ServerContext impl
this.env.put( DirectoryService.JNDI_KEY, service );
this.session = session;
OperationManager operationManager = service.getOperationManager();
-
- if ( ! operationManager.hasEntry( new EntryOperationContext( session, ( DN ) dn ) ) )
+
+ if ( ! operationManager.hasEntry( new EntryOperationContext( session, dn ) ) )
{
throw new NameNotFoundException( I18n.err( I18n.ERR_490, dn ) );
}
-
+
schemaManager = service.getSchemaManager();
// setup attribute type value
@@ -260,7 +260,7 @@ public abstract class ServerContext impl
}
else
{
- // TODO : handle the 'follow' referral option
+ // TODO : handle the 'follow' referral option
opCtx.throwReferral();
}
}
@@ -268,9 +268,9 @@ public abstract class ServerContext impl
// Protected Methods for Operations
// ------------------------------------------------------------------------
// Use these methods instead of manually calling the nexusProxy so we can
- // add request controls to operation contexts before the call and extract
- // response controls from the contexts after the call. NOTE that the
- // JndiUtils.fromJndiControls( requestControls ) must be cleared after each operation. This makes a
+ // add request controls to operation contexts before the call and extract
+ // response controls from the contexts after the call. NOTE that the
+ // JndiUtils.fromJndiControls( requestControls ) must be cleared after each operation. This makes a
// context not thread safe.
// ------------------------------------------------------------------------
@@ -285,15 +285,15 @@ public abstract class ServerContext impl
AddOperationContext opCtx = new AddOperationContext( session, entry );
opCtx.addRequestControls( JndiUtils.fromJndiControls( requestControls ) );
-
+
// Inject the referral handling into the operation context
injectReferralControl( opCtx );
-
+
// execute add operation
OperationManager operationManager = service.getOperationManager();
operationManager.add( opCtx );
-
- // clear the request controls and set the response controls
+
+ // clear the request controls and set the response controls
requestControls = EMPTY_CONTROLS;
responseControls = JndiUtils.toJndiControls( opCtx.getResponseControls() );
}
@@ -317,7 +317,7 @@ public abstract class ServerContext impl
OperationManager operationManager = service.getOperationManager();
operationManager.delete( opCtx );
- // clear the request controls and set the response controls
+ // clear the request controls and set the response controls
requestControls = EMPTY_CONTROLS;
responseControls = JndiUtils.toJndiControls( opCtx.getResponseControls() );
}
@@ -336,18 +336,18 @@ public abstract class ServerContext impl
{
OperationManager operationManager = service.getOperationManager();
EntryFilteringCursor results = null;
-
+
Object typesOnlyObj = getEnvironment().get( "java.naming.ldap.typesOnly" );
boolean typesOnly = false;
-
+
if( typesOnlyObj != null )
{
typesOnly = Boolean.parseBoolean( typesOnlyObj.toString() );
}
-
+
SearchOperationContext searchContext = null;
- // We have to check if it's a compare operation or a search.
+ // We have to check if it's a compare operation or a search.
// A compare operation has a OBJECT scope search, the filter must
// be of the form (object=value) (no wildcards), and no attributes
// should be asked to be returned.
@@ -357,7 +357,7 @@ public abstract class ServerContext impl
&& ( filter instanceof EqualityNode ) )
{
CompareOperationContext compareContext = new CompareOperationContext( session, dn, ((EqualityNode)filter).getAttribute(), ((EqualityNode)filter).getValue() );
-
+
// Inject the referral handling into the operation context
injectReferralControl( compareContext );
@@ -369,12 +369,12 @@ public abstract class ServerContext impl
searchControls );
searchContext.setAliasDerefMode( aliasDerefMode );
searchContext.addRequestControls( JndiUtils.fromJndiControls( requestControls ) );
-
+
searchContext.setTypesOnly( typesOnly );
-
+
if ( result )
{
- Entry emptyEntry = new DefaultEntry( service.getSchemaManager(), DN.EMPTY_DN );
+ Entry emptyEntry = new DefaultEntry( service.getSchemaManager(), DN.EMPTY_DN );
return new BaseEntryFilteringCursor( new SingletonCursor<Entry>( emptyEntry ), searchContext );
}
else
@@ -385,13 +385,13 @@ public abstract class ServerContext impl
else
{
// It's a Search
-
+
// setup the op context and populate with request controls
searchContext = new SearchOperationContext( session, dn, filter, searchControls );
searchContext.setAliasDerefMode( aliasDerefMode );
searchContext.addRequestControls( JndiUtils.fromJndiControls( requestControls ) );
searchContext.setTypesOnly( typesOnly );
-
+
// Inject the referral handling into the operation context
injectReferralControl( searchContext );
@@ -399,7 +399,7 @@ public abstract class ServerContext impl
results = operationManager.search( searchContext );
}
- // clear the request controls and set the response controls
+ // clear the request controls and set the response controls
requestControls = EMPTY_CONTROLS;
responseControls = JndiUtils.toJndiControls( searchContext.getResponseControls() );
@@ -420,7 +420,7 @@ public abstract class ServerContext impl
OperationManager operationManager = service.getOperationManager();
EntryFilteringCursor results = operationManager.list( listContext );
- // clear the request controls and set the response controls
+ // clear the request controls and set the response controls
requestControls = EMPTY_CONTROLS;
responseControls = JndiUtils.toJndiControls( listContext.getResponseControls() );
@@ -433,7 +433,7 @@ public abstract class ServerContext impl
GetRootDSEOperationContext getRootDseContext = new GetRootDSEOperationContext( session, target );
getRootDseContext.addRequestControls( JndiUtils.fromJndiControls( requestControls ) );
- // do not reset request controls since this is not an external
+ // do not reset request controls since this is not an external
// operation and not do bother setting the response controls either
OperationManager operationManager = service.getOperationManager();
return operationManager.getRootDSE( getRootDseContext );
@@ -452,7 +452,7 @@ public abstract class ServerContext impl
OperationManager operationManager = service.getOperationManager();
Entry serverEntry = operationManager.lookup( lookupContext );
- // clear the request controls and set the response controls
+ // clear the request controls and set the response controls
requestControls = EMPTY_CONTROLS;
responseControls = JndiUtils.toJndiControls( lookupContext.getResponseControls() );
return serverEntry;
@@ -471,7 +471,7 @@ public abstract class ServerContext impl
OperationManager operationManager = service.getOperationManager();
Entry serverEntry = operationManager.lookup( lookupContext );
- // clear the request controls and set the response controls
+ // clear the request controls and set the response controls
requestControls = EMPTY_CONTROLS;
responseControls = JndiUtils.toJndiControls( lookupContext.getResponseControls() );
@@ -490,7 +490,7 @@ public abstract class ServerContext impl
/**
* Used to encapsulate [de]marshalling of controls before and after bind operations.
*/
- protected BindOperationContext doBindOperation( DN bindDn, byte[] credentials, String saslMechanism,
+ protected BindOperationContext doBindOperation( DN bindDn, byte[] credentials, String saslMechanism,
String saslAuthId ) throws Exception
{
// setup the op context and populate with request controls
@@ -505,7 +505,7 @@ public abstract class ServerContext impl
OperationManager operationManager = service.getOperationManager();
operationManager.bind( bindContext );
- // clear the request controls and set the response controls
+ // clear the request controls and set the response controls
requestControls = EMPTY_CONTROLS;
responseControls = JndiUtils.toJndiControls( bindContext.getResponseControls() );
return bindContext;
@@ -525,12 +525,12 @@ public abstract class ServerContext impl
// Inject the referral handling into the operation context
injectReferralControl( moveAndRenameContext );
-
+
// execute moveAndRename operation
OperationManager operationManager = service.getOperationManager();
operationManager.moveAndRename( moveAndRenameContext );
- // clear the request controls and set the response controls
+ // clear the request controls and set the response controls
requestControls = EMPTY_CONTROLS;
responseControls = JndiUtils.toJndiControls( moveAndRenameContext.getResponseControls() );
}
@@ -547,12 +547,12 @@ public abstract class ServerContext impl
// Inject the referral handling into the operation context
injectReferralControl( modifyContext );
-
+
// execute modify operation
OperationManager operationManager = service.getOperationManager();
operationManager.modify( modifyContext );
- // clear the request controls and set the response controls
+ // clear the request controls and set the response controls
requestControls = EMPTY_CONTROLS;
responseControls = JndiUtils.toJndiControls( modifyContext.getResponseControls() );
}
@@ -569,12 +569,12 @@ public abstract class ServerContext impl
// Inject the referral handling into the operation context
injectReferralControl( moveContext );
-
+
// execute move operation
OperationManager operationManager = service.getOperationManager();
operationManager.move( moveContext );
- // clear the request controls and set the response controls
+ // clear the request controls and set the response controls
requestControls = EMPTY_CONTROLS;
responseControls = JndiUtils.toJndiControls( moveContext.getResponseControls() );
}
@@ -591,29 +591,29 @@ public abstract class ServerContext impl
// Inject the referral handling into the operation context
injectReferralControl( renameContext );
-
+
// execute rename operation
OperationManager operationManager = service.getOperationManager();
operationManager.rename( renameContext );
- // clear the request controls and set the response controls
+ // clear the request controls and set the response controls
requestControls = EMPTY_CONTROLS;
responseControls = JndiUtils.toJndiControls( renameContext.getResponseControls() );
}
-
+
public CoreSession getSession()
{
return session;
}
-
-
+
+
public DirectoryService getDirectoryService()
{
return service;
}
-
-
+
+
// ------------------------------------------------------------------------
// New Impl Specific Public Methods
// ------------------------------------------------------------------------
@@ -642,10 +642,10 @@ public abstract class ServerContext impl
// Protected Accessor Methods
// ------------------------------------------------------------------------
-
+
/**
* Gets the distinguished name of the entry associated with this Context.
- *
+ *
* @return the distinguished name of this Context's entry.
*/
protected DN getDn()
@@ -674,7 +674,7 @@ public abstract class ServerContext impl
JndiUtils.wrap( e );
}
}
-
+
listeners.clear();
}
@@ -698,7 +698,7 @@ public abstract class ServerContext impl
/**
- * @see javax.naming.Context#addToEnvironment(java.lang.String,
+ * @see javax.naming.Context#addToEnvironment(java.lang.String,
* java.lang.Object)
*/
public Object addToEnvironment( String propName, Object propVal ) throws NamingException
@@ -732,7 +732,7 @@ public abstract class ServerContext impl
{
DN target = buildTarget( DN.fromName( name ) );
Entry serverEntry = null;
-
+
try
{
serverEntry = service.newEntry( target );
@@ -741,7 +741,7 @@ public abstract class ServerContext impl
{
throw new NamingException( le.getMessage() );
}
-
+
try
{
serverEntry.add( SchemaConstants.OBJECT_CLASS_AT, SchemaConstants.TOP_OC, JavaLdapSupport.JCONTAINER_ATTR );
@@ -773,10 +773,10 @@ public abstract class ServerContext impl
}
/*
- * Add the new context to the server which as a side effect adds
+ * Add the new context to the server which as a side effect adds
* operational attributes to the serverEntry refering instance which
* can them be used to initialize a new ServerLdapContext. Remember
- * we need to copy over the controls as well to propagate the complete
+ * we need to copy over the controls as well to propagate the complete
* environment besides what's in the hashtable for env.
*/
try
@@ -787,9 +787,9 @@ public abstract class ServerContext impl
{
JndiUtils.wrap( e );
}
-
+
ServerLdapContext ctx = null;
-
+
try
{
ctx = new ServerLdapContext( service, session.getEffectivePrincipal(), DN.toName( target ) );
@@ -798,7 +798,7 @@ public abstract class ServerContext impl
{
JndiUtils.wrap( e );
}
-
+
return ctx;
}
@@ -875,7 +875,7 @@ public abstract class ServerContext impl
// let's be sure that the Attributes is case insensitive
Entry outServerEntry = null;
-
+
try
{
outServerEntry = ServerEntryUtils.toServerEntry( AttributeUtils.toCaseInsensitive( res
@@ -925,7 +925,7 @@ public abstract class ServerContext impl
{
// Serialize and add outAttrs
Entry serverEntry = null;
-
+
try
{
serverEntry = service.newEntry( target );
@@ -955,14 +955,14 @@ public abstract class ServerContext impl
// Serialize object into entry attributes and add it.
try
- {
+ {
JavaLdapSupport.serialize( serverEntry, obj, service.getSchemaManager() );
}
catch ( LdapException le )
{
throw new NamingException( I18n.err( I18n.ERR_495, obj ) );
}
-
+
try
{
doAddOperation( target, serverEntry );
@@ -976,9 +976,9 @@ public abstract class ServerContext impl
{
// Grab attributes and merge with outAttrs
Entry serverEntry = null;
-
+
try
- {
+ {
serverEntry = ServerEntryUtils.toServerEntry( ( ( DirContext ) obj ).getAttributes( "" ),
target, service.getSchemaManager() );
}
@@ -992,7 +992,7 @@ public abstract class ServerContext impl
for ( EntryAttribute serverAttribute : outServerEntry )
{
try
- {
+ {
serverEntry.put( serverAttribute );
}
catch ( LdapException le )
@@ -1043,7 +1043,7 @@ public abstract class ServerContext impl
// calculate parents
DN oldParent = oldDn;
-
+
try
{
oldParent = oldParent.remove( oldDn.size() - 1 );
@@ -1052,9 +1052,9 @@ public abstract class ServerContext impl
{
throw new NamingException( I18n.err( I18n.ERR_313, lide.getMessage() ) );
}
-
+
DN newParent = newDn;
-
+
try
{
newParent = newParent.remove( newDn.size() - 1 );
@@ -1071,7 +1071,7 @@ public abstract class ServerContext impl
/*
* Attempt to use the java.naming.ldap.deleteRDN environment property
- * to get an override for the deleteOldRdn option to modifyRdn.
+ * to get an override for the deleteOldRdn option to modifyRdn.
*/
if ( null != env.get( DELETE_OLD_RDN_PROP ) )
{
@@ -1085,7 +1085,7 @@ public abstract class ServerContext impl
* RDN name change or a move operation. If the two names are the same
* except for the RDN then it is a simple modifyRdn operation. If the
* names differ in size or have a different baseDN then the operation is
- * a move operation. Furthermore if the RDN in the move operation
+ * a move operation. Furthermore if the RDN in the move operation
* changes it is both an RDN change and a move operation.
*/
if ( oldParent.equals( newParent ) )
@@ -1143,7 +1143,7 @@ public abstract class ServerContext impl
{
DN target = buildTarget( DN.fromName( name ) );
OperationManager operationManager = service.getOperationManager();
-
+
try
{
if ( operationManager.hasEntry( new EntryOperationContext( session, target ) ) )
@@ -1229,7 +1229,7 @@ public abstract class ServerContext impl
try
{
- obj = DirectoryManager.getObjectInstance( null, name, this, env,
+ obj = DirectoryManager.getObjectInstance( null, name, this, env,
ServerEntryUtils.toBasicAttributes( serverEntry ) );
}
catch ( Exception e )
@@ -1254,7 +1254,7 @@ public abstract class ServerContext impl
// Initialize and return a context since the entry is not a java object
ServerLdapContext ctx = null;
-
+
try
{
ctx = new ServerLdapContext( service, session.getEffectivePrincipal(), DN.toName( target ) );
@@ -1263,7 +1263,7 @@ public abstract class ServerContext impl
{
JndiUtils.wrap( e );
}
-
+
return ctx;
}
@@ -1287,11 +1287,11 @@ public abstract class ServerContext impl
/**
- * Non-federated implementation presuming the name argument is not a
- * composite name spanning multiple namespaces but a compound name in
+ * Non-federated implementation presuming the name argument is not a
+ * composite name spanning multiple namespaces but a compound name in
* the same LDAP namespace. Hence the parser returned is always the
- * same as calling this method with the empty String.
- *
+ * same as calling this method with the empty String.
+ *
* @see javax.naming.Context#getNameParser(java.lang.String)
*/
public NameParser getNameParser( String name ) throws NamingException
@@ -1314,11 +1314,11 @@ public abstract class ServerContext impl
/**
- * Non-federated implementation presuming the name argument is not a
- * composite name spanning multiple namespaces but a compound name in
+ * Non-federated implementation presuming the name argument is not a
+ * composite name spanning multiple namespaces but a compound name in
* the same LDAP namespace. Hence the parser returned is always the
* same as calling this method with the empty String Name.
- *
+ *
* @see javax.naming.Context#getNameParser(javax.naming.Name)
*/
public NameParser getNameParser( final Name name ) throws NamingException
@@ -1431,13 +1431,13 @@ public abstract class ServerContext impl
* Example: This context is ou=people and say name is the relative
* name of uid=jwalker and the prefix is dc=domain. Then we must
* compose the name relative to prefix which would be:
- *
+ *
* uid=jwalker,ou=people,dc=domain.
- *
+ *
* The following general algorithm generates the right name:
* 1). Find the Dn for name and walk it from the head to tail
* trying to match for the head of prefix.
- * 2). Remove name components from the Dn until a match for the
+ * 2). Remove name components from the Dn until a match for the
* head of the prefix is found.
* 3). Return the remainder of the fqn or Dn after chewing off some
*/
@@ -1455,7 +1455,7 @@ public abstract class ServerContext impl
return DN.toName( fqn );
}
else
- // 2). Remove name components from the Dn until a match
+ // 2). Remove name components from the Dn until a match
{
try
{
@@ -1489,7 +1489,7 @@ public abstract class ServerContext impl
criteria.setScope( SearchScope.getSearchScope( scope ) );
criteria.setAliasDerefMode( AliasDerefMode.getEnum( env ) );
criteria.setBase( buildTarget( DN.fromName( name ) ) );
-
+
service.getEventService().addListener( listener );
listeners.put( namingListener, listener );
}
@@ -1511,7 +1511,7 @@ public abstract class ServerContext impl
try
{
DirectoryListener listener = listeners.remove( namingListener );
-
+
if ( listener != null )
{
service.getEventService().removeListener( listener );
@@ -1546,9 +1546,9 @@ public abstract class ServerContext impl
// ------------------------------------------------------------------------
/**
- * Clones this context's DN and adds the components of the name relative to
- * this context to the left hand side of this context's cloned DN.
- *
+ * Clones this context's DN and adds the components of the name relative to
+ * this context to the left hand side of this context's cloned DN.
+ *
* @param relativeName a name relative to this context.
* @return the name of the target
* @throws InvalidNameException if relativeName is not a valid name in
@@ -1561,14 +1561,14 @@ public abstract class ServerContext impl
// Add to left hand side of cloned DN the relative name arg
try
{
- relativeName.normalize( schemaManager.getNormalizerMapping() );
+ relativeName.normalize( schemaManager );
target = target.addAllNormalized( target.size(), relativeName );
}
catch (LdapInvalidDnException lide )
{
throw new InvalidNameException( lide.getMessage() );
}
-
+
return target;
}
}