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 2009/11/12 06:54:16 UTC
svn commit: r835243 -
/directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/RegistrySynchronizerAdaptor.java
Author: elecharny
Date: Thu Nov 12 05:54:15 2009
New Revision: 835243
URL: http://svn.apache.org/viewvc?rev=835243&view=rev
Log:
o Added Javadoc
o Fixed error handling in the add method
o Added correct logs
o Add comments
Modified:
directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/RegistrySynchronizerAdaptor.java
Modified: directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/RegistrySynchronizerAdaptor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/RegistrySynchronizerAdaptor.java?rev=835243&r1=835242&r2=835243&view=diff
==============================================================================
--- directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/RegistrySynchronizerAdaptor.java (original)
+++ directory/apacheds/branches/apacheds-schema/core-api/src/main/java/org/apache/directory/server/core/schema/registries/synchronizers/RegistrySynchronizerAdaptor.java Thu Nov 12 05:54:15 2009
@@ -145,14 +145,18 @@
}
}
-
- /* (non-Javadoc)
- * @see org.apache.directory.server.core.schema.SchemaChangeManager#add(org.apache.directory.server.core.interceptor.context.AddOperationContext)
+
+ /**
+ * Add a new SchemaObject or a new Schema in the Schema partition.
+ *
+ * @param opContext The Add context, containing the entry to be added
+ * @throws Exception If the addition failed
*/
public void add( AddOperationContext opContext ) throws Exception
{
EntryAttribute oc = opContext.getEntry().get( objectClassAT );
+ // First check if we are adding a schemaObject
for ( Value<?> value:oc )
{
@@ -160,6 +164,8 @@
if ( objectClass2synchronizerMap.containsKey( oid ) )
{
+ // This is one of the eleven SchemaObject :
+ // AT, C, DCR, DSR, MR, MRU, NF, N, OC, S, SC
RegistrySynchronizer synchronizer = objectClass2synchronizerMap.get( oid );
ServerEntry entry = opContext.getEntry();
synchronizer.add( entry );
@@ -167,6 +173,7 @@
}
}
+ // This is a Schema
if ( oc.contains( MetaSchemaConstants.META_SCHEMA_OC ) )
{
ServerEntry entry = opContext.getEntry();
@@ -174,13 +181,14 @@
return;
}
+ // What is this for ??? TODO : remove this code if it's useless...
if ( oc.contains( SchemaConstants.ORGANIZATIONAL_UNIT_OC ) )
{
if ( opContext.getDn().size() != 3 )
{
- throw new LdapInvalidNameException(
- "Schema entity containers of objectClass organizationalUnit should be 3 name components in length.",
- ResultCodeEnum.NAMING_VIOLATION );
+ String msg = "Schema entity containers of objectClass organizationalUnit should be 3 name components in length.";
+ LOG.error( msg );
+ throw new LdapInvalidNameException( msg, ResultCodeEnum.NAMING_VIOLATION );
}
String ouValue = ( String ) opContext.getDn().getRdn().getValue();
@@ -188,14 +196,16 @@
if ( ! VALID_OU_VALUES.contains( ouValue ) )
{
- throw new LdapInvalidNameException(
- "Expecting organizationalUnit with one of the following names: " + VALID_OU_VALUES,
- ResultCodeEnum.NAMING_VIOLATION );
+ String msg = "Expecting organizationalUnit with one of the following names: " + VALID_OU_VALUES;
+ LOG.error( msg );
+ throw new LdapInvalidNameException( msg, ResultCodeEnum.NAMING_VIOLATION );
}
- return;
}
- throw new LdapOperationNotSupportedException( ResultCodeEnum.UNWILLING_TO_PERFORM );
+
+ String msg = "Cannot add an entry on " + opContext.getDn();
+ LOG.error( msg );
+ throw new LdapOperationNotSupportedException( msg, ResultCodeEnum.UNWILLING_TO_PERFORM );
}