directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From akaras...@apache.org
Subject svn commit: r613608 [1/15] - in /directory/sandbox/akarasulu/bigbang/apacheds: ./ bootstrap-plugin/ bootstrap-plugin/src/main/java/org/apache/directory/server/core/bootstrap/plugin/ core-entry/ core-entry/src/main/java/org/apache/directory/server/core/...
Date Sun, 20 Jan 2008 16:59:36 GMT
Author: akarasulu
Date: Sun Jan 20 08:59:10 2008
New Revision: 613608

URL: http://svn.apache.org/viewvc?rev=613608&view=rev
Log:
merging changes in from big bang branch to start working with all the work 
emmanuel did with ServerEntry interfaces.  Here's a breakdown of the merge
that took place:

Sun Jan 20 11:07:38 EST 2008
----------------------------
svn merge -r 604350:613587 https://svn.apache.org/repos/asf/directory/apacheds/b
ranches/bigbang .


Added:
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/AbstractServerAttribute.java
      - copied unchanged from r613587, directory/apacheds/branches/bigbang/core-entry/src/main/java/org/apache/directory/server/core/entry/AbstractServerAttribute.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/DefaultServerAttribute.java
      - copied unchanged from r613587, directory/apacheds/branches/bigbang/core-entry/src/main/java/org/apache/directory/server/core/entry/DefaultServerAttribute.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/DefaultServerEntry.java
      - copied unchanged from r613587, directory/apacheds/branches/bigbang/core-entry/src/main/java/org/apache/directory/server/core/entry/DefaultServerEntry.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerAttributeSerializerUtils.java
      - copied unchanged from r613587, directory/apacheds/branches/bigbang/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerAttributeSerializerUtils.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerEntryFactory.java
      - copied unchanged from r613587, directory/apacheds/branches/bigbang/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerEntryFactory.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerEntryPropertyEditor.java
      - copied unchanged from r613587, directory/apacheds/branches/bigbang/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerEntryPropertyEditor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerEntrySerializerUtils.java
      - copied unchanged from r613587, directory/apacheds/branches/bigbang/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerEntrySerializerUtils.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerEntryUtils.java
      - copied unchanged from r613587, directory/apacheds/branches/bigbang/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerEntryUtils.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/test/java/org/apache/directory/server/core/entry/DefaultServerAttributeTest.java
      - copied unchanged from r613587, directory/apacheds/branches/bigbang/core-entry/src/test/java/org/apache/directory/server/core/entry/DefaultServerAttributeTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/test/java/org/apache/directory/server/core/entry/DefaultServerEntryTest.java
      - copied unchanged from r613587, directory/apacheds/branches/bigbang/core-entry/src/test/java/org/apache/directory/server/core/entry/DefaultServerEntryTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/test/java/org/apache/directory/server/core/entry/ObjectClassAttributeTest.java
      - copied unchanged from r613587, directory/apacheds/branches/bigbang/core-entry/src/test/java/org/apache/directory/server/core/entry/ObjectClassAttributeTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/test/java/org/apache/directory/server/core/entry/ServerBinaryValueTest.java
      - copied unchanged from r613587, directory/apacheds/branches/bigbang/core-entry/src/test/java/org/apache/directory/server/core/entry/ServerBinaryValueTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/test/java/org/apache/directory/server/core/entry/ServerStreamedValueTest.java
      - copied unchanged from r613587, directory/apacheds/branches/bigbang/core-entry/src/test/java/org/apache/directory/server/core/entry/ServerStreamedValueTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/protocol-dns/src/test/java/org/apache/directory/server/dns/messages/
      - copied from r613587, directory/apacheds/branches/bigbang/protocol-dns/src/test/java/org/apache/directory/server/dns/messages/
    directory/sandbox/akarasulu/bigbang/apacheds/protocol-dns/src/test/java/org/apache/directory/server/dns/messages/RecordClassTest.java
      - copied unchanged from r613587, directory/apacheds/branches/bigbang/protocol-dns/src/test/java/org/apache/directory/server/dns/messages/RecordClassTest.java
Removed:
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/BasicServerAttribute.java
    directory/sandbox/akarasulu/bigbang/apacheds/protocol-shared/src/main/java/org/apache/directory/server/protocol/shared/store/KerberosAttribute.java
Modified:
    directory/sandbox/akarasulu/bigbang/apacheds/LAST_BIG_BANG_MERGE
    directory/sandbox/akarasulu/bigbang/apacheds/bootstrap-plugin/pom.xml
    directory/sandbox/akarasulu/bigbang/apacheds/bootstrap-plugin/src/main/java/org/apache/directory/server/core/bootstrap/plugin/BootstrapPlugin.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/pom.xml
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ObjectClassAttribute.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerAttribute.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerBinaryValue.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerEntry.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerModification.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerStreamedValue.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerStringValue.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerValue.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/test/java/org/apache/directory/server/core/entry/ServerModificationTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/test/java/org/apache/directory/server/core/entry/ServerStringValueTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/main/java/org/apache/directory/server/core/integ/AnnotationUtils.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/main/java/org/apache/directory/server/core/integ/CiRunner.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/main/java/org/apache/directory/server/core/integ/CiSuite.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/main/java/org/apache/directory/server/core/integ/DirectoryServiceFactory.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/main/java/org/apache/directory/server/core/integ/annotations/ApplyLdifFiles.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/main/java/org/apache/directory/server/core/integ/annotations/ApplyLdifs.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/main/java/org/apache/directory/server/core/integ/annotations/CleanupLevel.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/main/java/org/apache/directory/server/core/integ/annotations/Factory.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/main/java/org/apache/directory/server/core/integ/annotations/Mode.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/main/java/org/apache/directory/server/core/integ/state/NonExistentState.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/main/java/org/apache/directory/server/core/integ/state/StartedRevertedState.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/main/java/org/apache/directory/server/core/integ/state/StoppedDirtyState.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/main/java/org/apache/directory/server/core/integ/state/StoppedPristineState.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/main/java/org/apache/directory/server/core/integ/state/TestServiceContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/main/java/org/apache/directory/server/core/integ/state/TestServiceState.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/StockCoreISuite.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/authn/SimpleAuthenticationIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/authz/AddAuthorizationIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/authz/AdministratorsGroupIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/authz/AuthorizationServiceAsAdminIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/authz/AuthorizationServiceAsNonAdminIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/authz/AuthzAuthnIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/authz/AuthzISuite.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/authz/AutzIntegUtils.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/authz/CompareAuthorizationIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/authz/DeleteAuthorizationIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/authz/ModifyAuthorizationIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/authz/MoveRenameAuthorizationIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/authz/SearchAuthorizationIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/changelog/DefaultChangeLogIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/collective/CollectiveAttributeServiceIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/configuration/PartitionConfigurationIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/event/EventServiceIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/exception/ExceptionServiceIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/jndi/CreateContextIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/jndi/DIRSERVER169IT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/jndi/DIRSERVER759IT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/jndi/DIRSERVER783IT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/jndi/DIRSERVER791IT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/jndi/DestroyContextIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/jndi/ListIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/jndi/MixedCaseITest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/jndi/ModifyContextIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/jndi/ObjStateFactoryIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/jndi/RFC2713IT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/jndi/ReferralIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/jndi/RootDSEIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/jndi/SearchIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/jndi/SearchWithIndicesITest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/jndi/UniqueMemberIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/normalization/NormalizationServiceIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/operational/OperationalAttributeServiceIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/prefs/PreferencesIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaAttributeTypeHandlerIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaComparatorHandlerIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaMatchingRuleHandlerIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaNormalizerHandlerIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaObjectClassHandlerIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaSchemaHandlerIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaSyntaxCheckerHandlerIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/schema/MetaSyntaxHandlerIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/schema/ObjectClassCreateIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/schema/SchemaISuite.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/schema/SchemaPersistenceIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/schema/SchemaServiceIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/schema/SubschemaSubentryIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/sp/LdapClassLoaderIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/subtree/BadSubentryServiceIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryServiceEntryModificationHandlingIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryServiceIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryServiceObjectClassChangeHandlingIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/trigger/BackupUtilitiesSP.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/trigger/ListUtilsSP.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-integ/src/test/java/org/apache/directory/server/core/trigger/SubentryServiceForTriggersIT.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-plugin/src/main/antlr/openldap.g
    directory/sandbox/akarasulu/bigbang/apacheds/core-plugin/src/test/java/org/apache/directory/server/core/tools/schema/OpenLdapSchemaParserTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-unit/src/main/java/org/apache/directory/server/core/unit/AbstractAdminTestCase.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-unit/src/main/java/org/apache/directory/server/core/unit/AbstractTestCase.java
    directory/sandbox/akarasulu/bigbang/apacheds/core-unit/src/main/java/org/apache/directory/server/core/unit/IntegrationUtils.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/pom.xml
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/DirectoryService.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authn/AbstractAuthenticator.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authn/AnonymousAuthenticator.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authn/AuthenticationInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authn/LdapPrincipal.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authn/SimpleAuthenticator.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authz/AciAuthorizationInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authz/GroupCache.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authz/TupleCache.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/ACDFEngine.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/ACITupleFilter.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/HighestPrecedenceFilter.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/MaxImmSubFilter.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/MaxValueCountFilter.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/MicroOperationFilter.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/MostSpecificProtectedItemFilter.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/MostSpecificUserClassFilter.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/RelatedProtectedItemFilter.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/RelatedUserClassFilter.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/authz/support/RestrictedByFilter.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/changelog/ChangeLogInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/changelog/OriginalChangeLogInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/collective/CollectiveAttributeInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/collective/CollectiveAttributesSchemaChecker.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/enumeration/ReferralHandlingEnumeration.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/event/EventInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/exception/ExceptionInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/BaseInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/Interceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/InterceptorChain.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/NextInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/AbstractOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/AddContextPartitionOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/AddOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/BindOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/CompareOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/DeleteOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/EmptyOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/EntryOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/GetMatchedNameOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/GetRootDSEOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/GetSuffixOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/ListOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/ListSuffixOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/LookupOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/ModifyOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/MoveAndRenameOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/MoveOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/OperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/RemoveContextPartitionOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/RenameOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/ReplaceOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/SearchOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/interceptor/context/UnbindOperationContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/jndi/ServerContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/jndi/ServerDirContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/jndi/ServerLdapContext.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/ExpandingVisitor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/normalization/NormalizingVisitor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/operational/OperationalAttributeInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/partition/AbstractPartition.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/partition/DefaultPartitionNexus.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/partition/Partition.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/partition/PartitionNexus.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/partition/PartitionNexusProxy.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/BTreePartition.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/gui/PartitionFrame.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmPartition.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/referral/ReferralInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/AbstractSchemaChangeHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/AttributeClassLoader.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/DescriptionParsers.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/MetaAttributeTypeHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/MetaComparatorHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/MetaDitContentRuleHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/MetaDitStructureRuleHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/MetaMatchingRuleHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/MetaMatchingRuleUseHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/MetaNameFormHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/MetaNormalizerHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/MetaObjectClassHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/MetaSchemaHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/MetaSyntaxCheckerHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/MetaSyntaxHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/PartitionSchemaLoader.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/SchemaChangeHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/SchemaEntityFactory.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/SchemaInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/SchemaOperationControl.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/SchemaPartitionDao.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/SchemaService.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/schema/SchemaSubentryModifier.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/sp/LdapClassLoader.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/sp/StoredProcEngine.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/sp/StoredProcExecutionManager.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/sp/java/JavaStoredProcEngine.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/sp/java/LdapJavaStoredProcClassLoader.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/subtree/SubentryInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/subtree/SubtreeEvaluator.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/trigger/AbstractStoredProcedureParameterInjector.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/trigger/AddStoredProcedureParameterInjector.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/trigger/DeleteStoredProcedureParameterInjector.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/trigger/ModifyDNStoredProcedureParameterInjector.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/trigger/ModifyStoredProcedureParameterInjector.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/trigger/StoredProcedureParameterInjector.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/trigger/TriggerInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/main/java/org/apache/directory/server/core/trigger/TriggerSpecCache.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/test/java/org/apache/directory/server/core/authz/support/HighestPrecedenceFilterTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/test/java/org/apache/directory/server/core/authz/support/MaxImmSubFilterTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/test/java/org/apache/directory/server/core/authz/support/MaxValueCountFilterTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/test/java/org/apache/directory/server/core/authz/support/MicroOperationFilterTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/test/java/org/apache/directory/server/core/authz/support/MostSpecificProtectedItemFilterTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/test/java/org/apache/directory/server/core/authz/support/MostSpecificUserClassFilterTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/test/java/org/apache/directory/server/core/authz/support/RelatedProtectedItemFilterTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/test/java/org/apache/directory/server/core/authz/support/RelatedUserClassFilterTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/test/java/org/apache/directory/server/core/authz/support/RestrictedByFilterTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/test/java/org/apache/directory/server/core/interceptor/InterceptorChainTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/test/java/org/apache/directory/server/core/interceptor/MockInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/test/java/org/apache/directory/server/core/schema/PartitionSchemaLoaderTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/core/src/test/java/org/apache/directory/server/core/subtree/SubtreeEvaluatorTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/interceptor-kerberos/src/main/java/org/apache/directory/server/core/kerberos/KeyDerivationInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/interceptor-kerberos/src/main/java/org/apache/directory/server/core/kerberos/PasswordPolicyInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/jdbm-store/pom.xml
    directory/sandbox/akarasulu/bigbang/apacheds/jdbm-store/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStore.java
    directory/sandbox/akarasulu/bigbang/apacheds/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/messages/value/Checksum.java
    directory/sandbox/akarasulu/bigbang/apacheds/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/messages/value/flags/AbstractKerberosFlags.java
    directory/sandbox/akarasulu/bigbang/apacheds/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/store/KerberosAttribute.java
    directory/sandbox/akarasulu/bigbang/apacheds/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/store/SingleBaseSearch.java
    directory/sandbox/akarasulu/bigbang/apacheds/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/store/operations/ChangePassword.java
    directory/sandbox/akarasulu/bigbang/apacheds/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/store/operations/DeletePrincipal.java
    directory/sandbox/akarasulu/bigbang/apacheds/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/store/operations/GetAllPrincipals.java
    directory/sandbox/akarasulu/bigbang/apacheds/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/store/operations/GetPrincipal.java
    directory/sandbox/akarasulu/bigbang/apacheds/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/store/operations/PrincipalObjectFactory.java
    directory/sandbox/akarasulu/bigbang/apacheds/kerberos-shared/src/main/java/org/apache/directory/server/kerberos/shared/store/operations/PrincipalStateFactory.java
    directory/sandbox/akarasulu/bigbang/apacheds/kerberos-shared/src/test/java/org/apache/directory/server/kerberos/shared/messages/value/ChecksumTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/operation/AddAttributeOperation.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/operation/AddEntryOperation.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/operation/AttributeOperation.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/operation/CompositeOperation.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/operation/DeleteAttributeOperation.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/operation/Operation.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/operation/OperationCodec.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/operation/OperationFactory.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/operation/ReplaceAttributeOperation.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/operation/support/EntryUtil.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/ReplicationInterceptor.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationClientContextHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/service/protocol/handler/ReplicationServerContextHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/ReplicationStore.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/main/java/org/apache/directory/mitosis/store/derby/DerbyReplicationStore.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/test/java/org/apache/directory/mitosis/service/AbstractReplicationServiceTestCase.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/test/java/org/apache/directory/mitosis/service/DIRSERVER1013ITest.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/test/java/org/apache/directory/mitosis/service/ReplicationServiceITest.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/test/java/org/apache/directory/mitosis/service/protocol/codec/AbstractMessageCodecTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/test/java/org/apache/directory/mitosis/service/protocol/codec/LogEntryMessageCodecTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/mitosis/src/test/java/org/apache/directory/mitosis/store/derby/DerbyReplicationStoreTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/protocol-dns/src/main/java/org/apache/directory/server/dns/Main.java
    directory/sandbox/akarasulu/bigbang/apacheds/protocol-dns/src/main/java/org/apache/directory/server/dns/io/decoder/DnsMessageDecoder.java
    directory/sandbox/akarasulu/bigbang/apacheds/protocol-dns/src/main/java/org/apache/directory/server/dns/messages/RecordClass.java
    directory/sandbox/akarasulu/bigbang/apacheds/protocol-kerberos/src/main/java/org/apache/directory/server/kerberos/kdc/KdcServer.java
    directory/sandbox/akarasulu/bigbang/apacheds/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/kdc/SaslGssapiBindITest.java
    directory/sandbox/akarasulu/bigbang/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapServer.java
    directory/sandbox/akarasulu/bigbang/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/BindHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/DefaultBindHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/ExtendedHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/bind/GetBindDn.java
    directory/sandbox/akarasulu/bigbang/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/extended/LaunchDiagnosticUiHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/protocol-ldap/src/main/java/org/apache/directory/server/ldap/support/extended/StoredProcedureExtendedOperationHandler.java
    directory/sandbox/akarasulu/bigbang/apacheds/protocol-ldap/src/test/java/org/apache/directory/server/ldap/LdapServerTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/schema-registries/src/main/java/org/apache/directory/server/schema/ConcreteNameComponentNormalizer.java
    directory/sandbox/akarasulu/bigbang/apacheds/schema-registries/src/main/java/org/apache/directory/server/schema/registries/DefaultAttributeTypeRegistry.java
    directory/sandbox/akarasulu/bigbang/apacheds/schema-registries/src/main/java/org/apache/directory/server/schema/registries/DefaultObjectClassRegistry.java
    directory/sandbox/akarasulu/bigbang/apacheds/schema-registries/src/main/java/org/apache/directory/server/schema/registries/DefaultRegistries.java
    directory/sandbox/akarasulu/bigbang/apacheds/server-jndi/src/main/java/org/apache/directory/server/configuration/ApacheDS.java
    directory/sandbox/akarasulu/bigbang/apacheds/server-tools/src/main/java/org/apache/directory/server/tools/CapacityTestCommand.java
    directory/sandbox/akarasulu/bigbang/apacheds/server-tools/src/main/java/org/apache/directory/server/tools/commands/dumpcmd/DumpCommandExecutor.java
    directory/sandbox/akarasulu/bigbang/apacheds/server-tools/src/main/java/org/apache/directory/server/tools/commands/importcmd/ImportCommandExecutor.java
    directory/sandbox/akarasulu/bigbang/apacheds/server-unit/src/main/java/org/apache/directory/server/unit/AbstractServerTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/server-unit/src/test/java/org/apache/directory/server/DIRSERVER951ITest.java
    directory/sandbox/akarasulu/bigbang/apacheds/server-unit/src/test/java/org/apache/directory/server/KeyDerivationServiceITest.java
    directory/sandbox/akarasulu/bigbang/apacheds/server-unit/src/test/java/org/apache/directory/server/MiscTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/server-unit/src/test/java/org/apache/directory/server/NegationOperatorITest.java
    directory/sandbox/akarasulu/bigbang/apacheds/server-unit/src/test/java/org/apache/directory/server/PasswordPolicyServiceITest.java
    directory/sandbox/akarasulu/bigbang/apacheds/server-unit/src/test/java/org/apache/directory/server/SaslBindITest.java
    directory/sandbox/akarasulu/bigbang/apacheds/server-unit/src/test/java/org/apache/directory/server/StoredProcedureExecutionITest.java
    directory/sandbox/akarasulu/bigbang/apacheds/server-unit/src/test/java/org/apache/directory/server/jndi/ServerContextFactoryTest.java
    directory/sandbox/akarasulu/bigbang/apacheds/server-xml/src/main/resources/server.xml

Modified: directory/sandbox/akarasulu/bigbang/apacheds/LAST_BIG_BANG_MERGE
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/apacheds/LAST_BIG_BANG_MERGE?rev=613608&r1=613607&r2=613608&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/apacheds/LAST_BIG_BANG_MERGE (original)
+++ directory/sandbox/akarasulu/bigbang/apacheds/LAST_BIG_BANG_MERGE Sun Jan 20 08:59:10 2008
@@ -4,6 +4,7 @@
    https://svn.apache.org/repos/asf/directory/apacheds/branches/bigbang/
 
 
+Sun Jan 20 11:07:38 EST 2008
 ----------------------------
-svn merge -r : https://svn.apache.org/repos/asf/directory/apacheds/branches/bigbang .
+svn merge -r 604350:613587 https://svn.apache.org/repos/asf/directory/apacheds/branches/bigbang .
 

Modified: directory/sandbox/akarasulu/bigbang/apacheds/bootstrap-plugin/pom.xml
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/apacheds/bootstrap-plugin/pom.xml?rev=613608&r1=613607&r2=613608&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/apacheds/bootstrap-plugin/pom.xml (original)
+++ directory/sandbox/akarasulu/bigbang/apacheds/bootstrap-plugin/pom.xml Sun Jan 20 08:59:10 2008
@@ -65,6 +65,12 @@
 
     <dependency>
       <groupId>org.apache.directory.server</groupId>
+      <artifactId>apacheds-core-entry</artifactId>
+      <version>${pom.version}</version>
+    </dependency>
+
+    <dependency>
+      <groupId>org.apache.directory.server</groupId>
       <artifactId>apacheds-schema-bootstrap</artifactId>
       <version>${pom.version}</version>
     </dependency>

Modified: directory/sandbox/akarasulu/bigbang/apacheds/bootstrap-plugin/src/main/java/org/apache/directory/server/core/bootstrap/plugin/BootstrapPlugin.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/apacheds/bootstrap-plugin/src/main/java/org/apache/directory/server/core/bootstrap/plugin/BootstrapPlugin.java?rev=613608&r1=613607&r2=613608&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/apacheds/bootstrap-plugin/src/main/java/org/apache/directory/server/core/bootstrap/plugin/BootstrapPlugin.java (original)
+++ directory/sandbox/akarasulu/bigbang/apacheds/bootstrap-plugin/src/main/java/org/apache/directory/server/core/bootstrap/plugin/BootstrapPlugin.java Sun Jan 20 08:59:10 2008
@@ -22,6 +22,9 @@
 
 import org.apache.directory.server.constants.ApacheSchemaConstants;
 import org.apache.directory.server.constants.MetaSchemaConstants;
+import org.apache.directory.server.constants.ServerDNConstants;
+import org.apache.directory.server.core.entry.DefaultServerEntry;
+import org.apache.directory.server.core.entry.ServerEntry;
 import org.apache.directory.server.core.partition.impl.btree.Index;
 import org.apache.directory.server.core.partition.impl.btree.IndexNotFoundException;
 import org.apache.directory.server.core.partition.impl.btree.jdbm.JdbmIndex;
@@ -202,7 +205,16 @@
         }
 
         initializeSchemas();
-        initializePartition( schemaDirectory );
+        
+        try
+        {
+            initializePartition( schemaDirectory );
+        }
+        catch ( NamingException ne )
+        {
+            throw new MojoFailureException( "Failed to initialize the root partition :" + 
+                ne.getMessage() );
+        }
 
         try
         {
@@ -616,7 +628,7 @@
      *
      * @throws MojoFailureException
      */
-    private void initializePartition( File workingDirectory ) throws MojoFailureException
+    private void initializePartition( File workingDirectory ) throws MojoFailureException, NamingException
     {
         store.setCacheSize( 1000 );
         store.setEnableOptimizer( false );
@@ -637,8 +649,8 @@
         
         store.setUserIndices( userIndices );
 
-        Attributes rootEntry = new AttributesImpl( SchemaConstants.OBJECT_CLASS_AT, 
-            SchemaConstants.ORGANIZATIONAL_UNIT_OC, true );
+        ServerEntry rootEntry = new DefaultServerEntry( registries, new LdapDN( ServerDNConstants.OU_SCHEMA_DN ) );
+        rootEntry.put( SchemaConstants.OBJECT_CLASS_AT, SchemaConstants.ORGANIZATIONAL_UNIT_OC );
         rootEntry.put( SchemaConstants.OU_AT, "schema" );
         store.setContextEntry( rootEntry );
 

Modified: directory/sandbox/akarasulu/bigbang/apacheds/core-entry/pom.xml
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/apacheds/core-entry/pom.xml?rev=613608&r1=613607&r2=613608&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/apacheds/core-entry/pom.xml (original)
+++ directory/sandbox/akarasulu/bigbang/apacheds/core-entry/pom.xml Sun Jan 20 08:59:10 2008
@@ -38,6 +38,18 @@
       <version>${pom.version}</version>
       <artifactId>apacheds-schema-registries</artifactId>
     </dependency>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <version>${pom.version}</version>
+      <artifactId>apacheds-schema-bootstrap</artifactId>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>${pom.groupId}</groupId>
+      <version>${pom.version}</version>
+      <artifactId>apacheds-schema-extras</artifactId>
+      <scope>test</scope>
+    </dependency>
   </dependencies>
   
 </project>

Modified: directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ObjectClassAttribute.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ObjectClassAttribute.java?rev=613608&r1=613607&r2=613608&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ObjectClassAttribute.java (original)
+++ directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ObjectClassAttribute.java Sun Jan 20 08:59:10 2008
@@ -26,8 +26,10 @@
 import org.slf4j.LoggerFactory;
 
 import javax.naming.NamingException;
+import javax.naming.directory.InvalidAttributeIdentifierException;
+import javax.naming.directory.InvalidAttributeValueException;
+
 import java.util.HashSet;
-import java.util.Iterator;
 import java.util.Set;
 import java.util.Collections;
 
@@ -38,19 +40,20 @@
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$, $Date$
  */
-public class ObjectClassAttribute implements ServerAttribute
+public class ObjectClassAttribute extends AbstractServerAttribute
 {
-    /** A logger */
+    /** Used for serialization */
+    public static final long serialVersionUID = 2L;
+    
+    /** logger for reporting errors that might not be handled properly upstream */
     private static final Logger LOG = LoggerFactory.getLogger( ObjectClassAttribute.class );
-
-    /** An unordered set storing the values */
-    private HashSet<ServerValue<?>> values = new HashSet<ServerValue<?>>();
-
-    /** The associated Attribute Type */
-    private AttributeType attributeType;
     
-    /** The attribute User Provided ID */
-    private String upId;
+    /** A speedup to get the ObjectClass attribute */
+    private static transient AttributeType OBJECT_CLASS_AT;
+    
+    /** A mutex to manage synchronization*/
+    private transient static Object MUTEX = new Object();
+
 
     // Sets dealing with objectClass operations
     private Set<ObjectClass> allObjectClasses = new HashSet<ObjectClass>();
@@ -60,20 +63,103 @@
 
     private Set<AttributeType> mayList = new HashSet<AttributeType>();
     private Set<AttributeType> mustList = new HashSet<AttributeType>();
+    
+    /** The global registries */
+    private transient Registries registries;
+
 
+    /**
+     * This method is used to initialize the OBJECT_CLASS_AT attributeType.
+     * 
+     * We want to do it only once, so it's a synchronized method. Note that
+     * the alternative would be to call the lookup() every time, but this won't
+     * be very efficient, as it will get the AT from a map, which is also
+     * synchronized, so here, we have a very minimal cost.
+     * 
+     * We can't do it once as a static part in the body of this class, because
+     * the access to the registries is mandatory to get back the AttributeType.
+     */
+    private void initObjectClassAT( Registries registries )
+    {
+        if ( OBJECT_CLASS_AT == null )
+        {
+            try
+            {
+                synchronized ( MUTEX )
+                {
+                    OBJECT_CLASS_AT = registries.getAttributeTypeRegistry().lookup( SchemaConstants.OBJECT_CLASS_AT );
+                }
+            }
+            catch ( NamingException ne )
+            {
+                // do nothing...
+            }
+        }
+    }
+
+
+    /**
+     * Creates a new ObjectClassAttribute with a null ID.
+     * <p>
+     * We will use the default name : 'objectClass'
+     * 
+     * @param registries The server registries to use
+     */
+    public ObjectClassAttribute( Registries registries )
+    {
+        this( registries, SchemaConstants.OBJECT_CLASS_AT );
+    }
 
 
-    // maybe have some additional convenience constructors which take
-    // an initial value as a string or a byte[]
-    
     /**
-     * Creates a new ObjectClassAttribute with a null ID
+     * Creates a new ObjectClassAttribute with ServerAttribute.
+     * <p>
+     * The ServerAttribute must have the ObjectClass attributeType
      * 
      * @param registries The server registries to use
+     * @param serverAttribute The serverAttribute containing the objectClasses
      */
-    public ObjectClassAttribute( Registries registries ) throws NamingException
+    public ObjectClassAttribute( Registries registries, ServerAttribute serverAttribute )
     {
-        this( null, registries );
+        this( registries, SchemaConstants.OBJECT_CLASS_AT );
+
+        if ( serverAttribute == null )
+        {
+            LOG.error( "We cannot create an ObjectClassAttribute without any serverAttribute" );
+        }
+        else
+        {
+            if ( !serverAttribute.getType().getOid().equals( SchemaConstants.OBJECT_CLASS_AT_OID ) )
+            {
+                LOG.error(  "The ServerAttribute does not represent an ObjectClass" );
+            }
+            else
+            {
+                // Iterate through the attribute values and store them in the ObjectClass,
+                // if they are valid.
+                for ( ServerValue<?> value:serverAttribute )
+                {
+                    if ( value instanceof ServerStringValue )
+                    {
+                        String objectClassName = ((ServerStringValue)value).get();
+                        
+                    
+                        try
+                        {
+                            // Fond the objectClass and update the internal structures
+                            ObjectClass objectClass =  registries.getObjectClassRegistry().lookup( objectClassName );
+
+                            addObjectClass( objectClass );
+                        }
+                        catch ( NamingException ne )
+                        {
+                            // We didn't found the objectClass. Just ditch it
+                            LOG.error(  "The '{}' objectclass does not exist or the associated schema is not loaded", objectClassName );
+                        }
+                    }
+                }
+            }
+        }
     }
 
 
@@ -81,26 +167,30 @@
      * Creates a new instance of ObjectClassAttribute.
      *
      * @param upId The ObjectClass ID
-     * @param registries The registries to use to initialize this object
+     * @param registries The atRegistry to use to initialize this object
      * @throws NamingException If something went wrong
      */
-    public ObjectClassAttribute( String upId, Registries registries ) throws NamingException
+    public ObjectClassAttribute( Registries registries, String upId )
     {
-        setAttributeTypeAndRegistries( registries );
-        setUpId( upId );
+        this.registries = registries;
+        
+        initObjectClassAT( registries );
+        
+        attributeType = OBJECT_CLASS_AT;
+        setUpId( upId, attributeType );
     }
 
 
     /**
      * Doc me more!
      *
-     * If the value does not correspond to the same attributeType, then it's
+     * If the values does not correspond to the same attributeType, then it's
      * wrapped value is copied into a new ServerValue which uses the specified
      * attributeType.
      */
-    public ObjectClassAttribute( Registries registries, ServerValue<?> val ) throws NamingException
+    public ObjectClassAttribute( Registries registries, ServerValue<?>... values ) throws NamingException
     {
-        this( null, registries, val );
+        this( registries, null, values );
     }
 
 
@@ -111,105 +201,57 @@
      * wrapped value is copied into a new ServerValue which uses the specified
      * attributeType.
      */
-    public ObjectClassAttribute( String upId, Registries registries, ServerValue<?> val ) throws NamingException
+    public ObjectClassAttribute( Registries registries, String upId, ServerValue<?>... vals ) throws NamingException
     {
-        setAttributeTypeAndRegistries( registries );
+        this.registries = registries;
+        attributeType = registries.getAttributeTypeRegistry().lookup( SchemaConstants.OBJECT_CLASS_AT_OID );
 
-        if ( val == null )
+        if ( vals == null )
         {
             values.add( new ServerStringValue( attributeType ) );
         }
-        else if ( ! ( val instanceof ServerStringValue ) )
-        {
-            throw new UnsupportedOperationException( "Only String values supported for objectClass attribute" );
-        }
         else
         {
-            values.add( val );
+            for ( ServerValue<?> val:vals )
+            {
+                if ( ! ( val instanceof ServerStringValue ) )
+                {
+                    String message = "Only String values supported for objectClass attribute";
+                    LOG.error( message );
+                    throw new UnsupportedOperationException( message );
+                }
+                else
+                {
+                    values.add( val );
+                }
+            }
         }
 
-        setUpId( upId );
+        setUpId( upId, attributeType );
     }
 
 
-    public ObjectClassAttribute( Registries registries, String val ) throws NamingException
+    public ObjectClassAttribute( Registries registries, String upId, String... vals ) throws NamingException
     {
-        this( null, registries, val );
-    }
-
-
-    public ObjectClassAttribute( String upId, Registries registries, String val ) throws NamingException
-    {
-        setAttributeTypeAndRegistries( registries );
+        this.registries = registries;
+        attributeType = registries.getAttributeTypeRegistry().lookup( SchemaConstants.OBJECT_CLASS_AT_OID );
         
-        if ( val == null )
+        if ( vals == null )
         {
             values.add( new ServerStringValue( attributeType ) );
         }
         else
         {
-            values.add( new ServerStringValue( attributeType, val ) );
-        }
-
-        setUpId( upId );
-    }
-
-    
-    /**
-     * Initialize the ObjectClass attributeType, using the ObjectClass' OID.
-     * 
-     * TODO This is a strange method : we _know_ that the ObjectClass' attributeType
-     * will always be the same, but we can't initialize it to its default value,
-     * unless the server is already started, or if we call this method only once, 
-     * but then we need to synchronize this class, which can be a burden.
-     * 
-     * This is was seems the best anyway...
-     *
-     * @param registries The registries used to extract the AttributeType
-     * 
-     * @throws NamingException If something went wrong (very unlikely)
-     */
-    private void setAttributeTypeAndRegistries( Registries registries ) throws NamingException
-    {
-        synchronized ( attributeType )
-        {
-            if ( attributeType == null )
+            for ( String val:vals )
             {
-                attributeType = registries.getAttributeTypeRegistry().lookup( SchemaConstants.OBJECT_CLASS_AT_OID );
+                values.add( new ServerStringValue( attributeType, val ) );
             }
         }
-    }
 
-
-    /**
-     * Set the user provided value for this objectClass.
-     *
-     * @param upId The user provided ID
-     * @param attributeType 
-     */
-    private void setUpId( String upId )
-    {
-        if ( upId == null )
-        {
-            String name = attributeType.getName();
-            
-            if ( name == null )
-            {
-                this.upId = attributeType.getOid();
-            }
-            else
-            {
-                this.upId = name;
-            }
-        }
-        else
-        {
-            this.upId = upId;
-        }
+        setUpId( upId, attributeType );
     }
 
-
-
+    
     // -----------------------------------------------------------------------
 
 
@@ -268,9 +310,13 @@
                     break;
                     
                 default:
-                    throw new IllegalStateException( "Unrecognized objectClass type value: " + oc.getType() );
+                    String message = "Unrecognized objectClass type value: " + oc.getType();
+                    LOG.error( message );
+                    throw new UnsupportedOperationException( message );
             }
 
+            allObjectClasses.add( oc );
+            
             // now go through all objectClassses to collect the must an may list attributes
             Collections.addAll( mayList, oc.getMayList() );
             Collections.addAll( mustList, oc.getMustList() );
@@ -299,6 +345,12 @@
     }
 
 
+    public boolean hasObjectClass( String objectClass )
+    {
+        return allObjectClasses.contains( objectClass );
+    }
+
+
     public Set<ObjectClass> getAbstractObjectClasses()
     {
         return Collections.unmodifiableSet( abstractObjectClasses );
@@ -344,145 +396,131 @@
         return Collections.unmodifiableSet( mayList );
     }
 
-
-    /**
-     * Gets the attribute type associated with this ServerAttribute.
-     *
-     * @return the attributeType associated with this entry attribute
-     */
-    public AttributeType getType()
-    {
-        return attributeType;
-    }
-
-
-    /**
-     * Get's the user provided identifier for this entry.  This is the value
-     * that will be used as the identifier for the attribute within the
-     * entry.  If this is a commonName attribute for example and the user
-     * provides "COMMONname" instead when adding the entry then this is
-     * the format the user will have that entry returned by the directory
-     * server.  To do so we store this value as it was given and track it
-     * in the attribute using this property.
-     *
-     * @return the user provided identifier for this attribute
-     */
-    public String getUpId()
-    {
-        return upId;
-    }
-
-
+    
     /**
-     * Checks to see if this attribute is valid along with the values it contains.
+     * Get the String value, if and only if the value is known to be a String,
+     * otherwise a InvalidAttributeValueException will be thrown
      *
-     * @return true if the attribute and it's values are valid, false otherwise
-     * @throws NamingException if there is a failure to check syntaxes of values
+     * @return The value as a String
+     * @throws InvalidAttributeValueException If the value is a byte[]
      */
-    public boolean isValid() throws NamingException
+    public String getString() throws InvalidAttributeValueException
     {
-        for ( ServerValue<?> value:values )
+        ServerValue<?> value = get();
+        
+        if ( value instanceof ServerStringValue )
         {
-            if ( ! value.isValid() )
-            {
-                return false;
-            }
+            return (String)value.get();
+        }
+        else
+        {
+            String message = "The value is expected to be a String";
+            LOG.error( message );
+            throw new InvalidAttributeValueException( message );
         }
-
-        return true;
     }
 
 
     /**
-     * Add a value to the current objectClass
+     * Get the byte[] value, if and only if the value is known to be Binary,
+     * otherwise a InvalidAttributeValueException will be thrown
+     *
+     * @return The value as a String
+     * @throws InvalidAttributeValueException If the value is a String
      */
-    public boolean add( ServerValue<?> val )
-    {
-        return values.add( val );
-    }
-
-
-    public boolean add( String val )
+    public byte[] getBytes() throws InvalidAttributeValueException
     {
-        return values.add( new ServerStringValue( attributeType, val ) );
+        String message = "The value for an objectClass is expected to be a String";
+        LOG.error( message );
+        throw new InvalidAttributeValueException( message );
     }
 
 
     public boolean add( byte[] val )
     {
-        throw new UnsupportedOperationException( "Binary values are not accepted by ObjectClassAttributes" );
+        String message = "Binary values are not accepted by ObjectClassAttributes";
+        LOG.error( message );
+        throw new UnsupportedOperationException( message );
     }
 
 
-    public void clear()
+    public boolean add( String val ) throws InvalidAttributeIdentifierException, NamingException
     {
-        values.clear();
-    }
-
-
-    public boolean contains( ServerValue<?> val )
-    {
-        return values.contains( val );
-    }
-
-
-    public boolean contains( String val )
-    {
-        ServerStringValue ssv = new ServerStringValue( attributeType, val );
-        return values.contains( ssv );
-    }
-
-
-    public boolean contains( byte[] val )
-    {
-        throw new UnsupportedOperationException( "There are no binary values in an ObjectClass attribute." );
+        ObjectClass objectClass = registries.getObjectClassRegistry().lookup( val );
+        
+        return addObjectClass( objectClass );
     }
 
 
-    public ServerValue<?> get()
+    public boolean add( ServerStringValue val ) throws InvalidAttributeIdentifierException, NamingException
     {
-        if ( values.isEmpty() )
+        //boolean added = super.add( val );
+        
+        ObjectClass objectClass = registries.getObjectClassRegistry().lookup( val.get() );
+        
+        if ( objectClass == null )
         {
-            return null;
+            return false;
         }
-
-        return values.iterator().next();
-    }
-
-
-    public Iterator<? extends ServerValue<?>> getAll()
-    {
-        return iterator();
-    }
-
-
-    public int size()
-    {
-        return values.size();
+        else
+        {
+            return addObjectClass( objectClass, val.get() );
+        }
+        
+        //return added;
     }
 
 
-    public boolean remove( ServerValue<?> val )
+    public boolean contains( byte[] val )
     {
-        return values.remove( val );
+        String message = "There are no binary values in an ObjectClass attribute.";
+        LOG.error( message );
+        throw new UnsupportedOperationException( message );
     }
 
 
     public boolean remove( byte[] val )
     {
-        throw new UnsupportedOperationException( "There are no binary values in an ObjectClass attribute." );
+        String message = "There are no binary values in an ObjectClass attribute.";
+        LOG.error( message );
+        throw new UnsupportedOperationException( message );
     }
-
-
-    public boolean remove( String val )
-    {
-        ServerStringValue ssv = new ServerStringValue( attributeType, val );
-        return values.remove( ssv );
-    }
-
-
-    public Iterator<ServerValue<?>> iterator()
+    
+    
+    /**
+     * @see Object#toString() 
+     */
+    public String toString()
     {
-        return values.iterator();
+        StringBuilder sb = new StringBuilder();
+        
+        sb.append( "    ObjectClass : " );
+        
+        if ( ( values != null ) && ( values.size() != 0 ) )
+        {
+            boolean isFirst = true;
+            
+            for ( ServerValue<?> objectClass:values )
+            {
+                if ( isFirst )
+                {
+                    isFirst = false;
+                }
+                else
+                {
+                    sb.append( ", " );
+                }
+                
+                sb.append( objectClass.get() );
+            }
+        }
+        else
+        {
+            sb.append( "(null)" );
+        }
+        
+        sb.append( '\n' );
+        
+        return sb.toString();
     }
 }

Modified: directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerAttribute.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerAttribute.java?rev=613608&r1=613607&r2=613608&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerAttribute.java (original)
+++ directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerAttribute.java Sun Jan 20 08:59:10 2008
@@ -23,21 +23,80 @@
 import org.apache.directory.shared.ldap.entry.EntryAttribute;
 
 import javax.naming.NamingException;
+import javax.naming.directory.InvalidAttributeValueException;
 
 
 /**
- * Document me!
+ * The server specific interface extending the EntryAttribute interface. It adds
+ * three more methods which are Server side.
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$, $Date$
  */
-public interface ServerAttribute extends EntryAttribute<ServerValue<?>>, Iterable<ServerValue<?>>
+public interface ServerAttribute extends EntryAttribute<ServerValue<?>>
 {
+    /**
+     * Gets the attribute type associated with this ServerAttribute.
+     *
+     * @return the attributeType associated with this entry attribute
+     */
     AttributeType getType();
 
-
+    /**
+     * Get's the user provided identifier for this entry.  This is the value
+     * that will be used as the identifier for the attribute within the
+     * entry.  If this is a commonName attribute for example and the user
+     * provides "COMMONname" instead when adding the entry then this is
+     * the format the user will have that entry returned by the directory
+     * server.  To do so we store this value as it was given and track it
+     * in the attribute using this property.
+     *
+     * @return the user provided identifier for this attribute
+     */
     String getUpId();
-
-
+    
+    
+    /**
+     * Set the user provided ID. If we have none, the upId is assigned
+     * the attributetype's name. If it does not have any name, we will
+     * use the OID.
+     * <p>
+     * If we have an upId and an AttributeType, they must be compatible. :
+     *  - if the upId is an OID, it must be the AttributeType's OID
+     *  - otherwise, its normalized form must be equals to ones of
+     *  the attributeType's names.
+     *
+     * @param upId The attribute ID
+     * @param attributeType The associated attributeType
+     */
+    public void setUpId( String upId, AttributeType attributeType );
+
+    
+    /**
+     * Checks to see if this attribute is valid along with the values it contains.
+     *
+     * @return true if the attribute and it's values are valid, false otherwise
+     * @throws NamingException if there is a failure to check syntaxes of values
+     */
     boolean isValid() throws NamingException;
+    
+    
+    /**
+     * Get the String value, if and only if the value is known to be a String,
+     * otherwise a InvalidAttributeValueException will be thrown
+     *
+     * @return The value as a String
+     * @throws InvalidAttributeValueException If the value is a byte[]
+     */
+    String getString() throws InvalidAttributeValueException;
+
+
+    /**
+     * Get the byte[] value, if and only if the value is known to be Binary,
+     * otherwise a InvalidAttributeValueException will be thrown
+     *
+     * @return The value as a String
+     * @throws InvalidAttributeValueException If the value is a String
+     */
+    byte[] getBytes() throws InvalidAttributeValueException;
 }

Modified: directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerBinaryValue.java
URL: http://svn.apache.org/viewvc/directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerBinaryValue.java?rev=613608&r1=613607&r2=613608&view=diff
==============================================================================
--- directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerBinaryValue.java (original)
+++ directory/sandbox/akarasulu/bigbang/apacheds/core-entry/src/main/java/org/apache/directory/server/core/entry/ServerBinaryValue.java Sun Jan 20 08:59:10 2008
@@ -20,14 +20,20 @@
 
 
 import org.apache.directory.shared.ldap.NotImplementedException;
-import org.apache.directory.shared.ldap.entry.BinaryValue;
+import org.apache.directory.shared.ldap.entry.AbstractBinaryValue;
 import org.apache.directory.shared.ldap.schema.AttributeType;
 import org.apache.directory.shared.ldap.schema.MatchingRule;
 import org.apache.directory.shared.ldap.schema.Normalizer;
+import org.apache.directory.shared.ldap.util.StringTools;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
 import javax.naming.NamingException;
+
+import java.io.Externalizable;
+import java.io.IOException;
+import java.io.ObjectInput;
+import java.io.ObjectOutput;
 import java.util.Arrays;
 import java.util.Comparator;
 
@@ -41,8 +47,11 @@
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$, $Date$
  */
-public class ServerBinaryValue extends BinaryValue implements ServerValue<byte[]>
+public class ServerBinaryValue extends AbstractBinaryValue implements ServerValue<byte[]>, Externalizable
 {
+    /** Used for serialization */
+    public static final long serialVersionUID = 2L;
+    
     /** logger for reporting errors that might not be handled properly upstream */
     private static final Logger LOG = LoggerFactory.getLogger( ServerBinaryValue.class );
 
@@ -55,6 +64,9 @@
 
     /** the canonical representation of the wrapped binary value */
     private transient byte[] normalizedValue;
+    
+    /** A flag set if the normalized data is different from the wrapped data */
+    private transient boolean same;
 
     /** cached results of the isValid() method call */
     private transient Boolean valid;
@@ -67,10 +79,7 @@
      */
     public ServerBinaryValue( AttributeType attributeType )
     {
-        if ( attributeType == null )
-        {
-            throw new NullPointerException( "attributeType cannot be null" );
-        }
+        assert checkAttributeType( attributeType) == null : logAssert( checkAttributeType( attributeType ) );
 
         try
         {
@@ -136,10 +145,40 @@
 
 
     // -----------------------------------------------------------------------
-    // ServerValue<String> Methods
+    // ServerValue<byte[]> Methods
     // -----------------------------------------------------------------------
+    public void normalize() throws NamingException
+    {
+        if ( getReference() != null )
+        {
+            Normalizer normalizer = getNormalizer();
+    
+            if ( normalizer == null )
+            {
+                normalizedValue = getCopy();
+            }
+            else
+            {
+                normalizedValue = ( byte[] ) normalizer.normalize( getCopy() );
+            }
+            
+            if ( Arrays.equals( super.getReference(), normalizedValue ) )
+            {
+                same = true;
+            }
+            else
+            {
+                same = false;
+            }
+        }
+        else
+        {
+            normalizedValue = null;
+            same = true;
+        }
+    }
 
-
+    
     /**
      * Gets the normalized (cannonical) representation for the wrapped string.
      * If the wrapped String is null, null is returned, otherwise the normalized
@@ -160,16 +199,7 @@
 
         if ( normalizedValue == null )
         {
-            Normalizer normalizer = getNormalizer();
-
-            if ( normalizer == null )
-            {
-                normalizedValue = getCopy();
-            }
-            else
-            {
-                normalizedValue = ( byte[] ) normalizer.normalize( getCopy() );
-            }
+            normalize();
         }
 
         return normalizedValue;
@@ -252,7 +282,6 @@
 
             try
             {
-                //noinspection unchecked
                 return getComparator().compare( getNormalizedReference(), binaryValue.getNormalizedReference() );
             }
             catch ( NamingException e )
@@ -285,13 +314,7 @@
             return true;
         }
 
-        //noinspection RedundantIfStatement
-        if ( this.attributeType.isDescentantOf( attributeType ) )
-        {
-            return true;
-        }
-
-        return false;
+        return this.attributeType.isDescentantOf( attributeType );
     }
 
 
@@ -316,7 +339,7 @@
 
         try
         {
-            return getNormalizedReference().hashCode();
+            return Arrays.hashCode( getNormalizedReference() );
         }
         catch ( NamingException e )
         {
@@ -342,11 +365,6 @@
             return true;
         }
 
-        if ( obj == null )
-        {
-            return false;
-        }
-
         if ( ! ( obj instanceof ServerBinaryValue ) )
         {
             return false;
@@ -451,5 +469,125 @@
         }
 
         return mr.getComparator();
+    }
+    
+    
+    /**
+     * @return a copy of the current value
+     */
+    public ServerBinaryValue clone()
+    {
+        ServerBinaryValue clone = (ServerBinaryValue)super.clone();
+        
+        if ( normalizedValue != null )
+        {
+            clone.normalizedValue = new byte[ normalizedValue.length ];
+            System.arraycopy( normalizedValue, 0, clone.normalizedValue, 0, normalizedValue.length );
+        }
+        
+        return clone;
+    }
+
+
+    /**
+     * @see Externalizable#writeExternal(ObjectOutput)
+     * 
+     * We will write the value and the normalized value, only
+     * if the normalized value is different.
+     * 
+     * The data will be stored following this structure :
+     * 
+     *  [UP value]
+     *  [Norm value] (will be null if normValue == upValue)
+     */
+    public void writeExternal( ObjectOutput out ) throws IOException
+    {
+        if ( getReference() != null )
+        {
+            out.writeInt( getReference().length );
+            out.write( getReference() );
+            
+            if ( same )
+            {
+                // If the normalized value is equal to the UP value,
+                // don't save it
+                out.writeInt( 0 );
+            }
+            else
+            {
+                out.writeInt( normalizedValue.length );
+                out.write( normalizedValue );
+            }
+        }
+        else
+        {
+            out.writeInt( -1 );
+        }
+        
+        out.flush();
+    }
+
+    
+    /**
+     * @see Externalizable#readExternal(ObjectInput)
+     */
+    public void readExternal( ObjectInput in ) throws IOException, ClassNotFoundException
+    {
+        if ( in.available() == 0 )
+        {
+            set( null );
+            normalizedValue = null;
+        }
+        else
+        {
+            int wrappedLength = in.readInt();
+            byte[] wrapped = null;
+            
+            switch ( wrappedLength )
+            {
+                case -1 :
+                    // No value, no normalized value
+                    same = true;
+                    break;
+                    
+                case 0 :
+                    // Empty value, so is the normalized value
+                    wrapped = StringTools.EMPTY_BYTES;
+                    normalizedValue = wrapped;
+                    same = true;
+                    break;
+                    
+                default :
+                    wrapped = new byte[wrappedLength];
+                    in.readFully( wrapped );
+                    
+                    int normalizedLength = in.readInt();
+                    
+                    // The normalized length should be either 0 or N, 
+                    // but it can't be -1
+                    switch ( normalizedLength )
+                    {
+                        case -1 :
+                            String message = "The normalized value cannot be null when the User Provide value is not";
+                            LOG.error(  message  );
+                            throw new IOException( message );
+                            
+                        case 0 :
+                            normalizedValue = StringTools.EMPTY_BYTES;
+                            same = true;
+                            break;
+                            
+                        default :
+                            same = false;
+                            normalizedValue = new byte[normalizedLength];
+                            in.readFully( normalizedValue );
+                            break;
+                    }
+                    
+                    break;
+            }
+            
+            set( wrapped );
+        }
     }
 }



Mime
View raw message