You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2012/09/24 04:17:20 UTC
svn commit: r1389184 [1/13] - in /directory/apacheds/trunk:
core-annotations/src/main/java/org/apache/directory/server/core/factory/
core-api/src/main/java/org/apache/directory/server/core/api/
core-api/src/main/java/org/apache/directory/server/core/ap...
Author: elecharny
Date: Mon Sep 24 02:17:13 2012
New Revision: 1389184
URL: http://svn.apache.org/viewvc?rev=1389184&view=rev
Log:
Merged mvbt branch into trunk
Added:
directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/ParentIdAndRdnSerializer.java
directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/UuidSerializer.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/KeyTupleArrayCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/PartitionSearchResult.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/cursor/
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/cursor/AllEntriesCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/cursor/AndCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/cursor/ApproximateCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/cursor/ChildrenCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/cursor/DescendantCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/cursor/EqualityCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/cursor/GreaterEqCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/cursor/LessEqCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/cursor/NotCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/cursor/OrCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/cursor/PresenceCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/cursor/SubstringCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/evaluator/
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/evaluator/AndEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/evaluator/ApproximateEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/evaluator/EqualityEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/evaluator/GreaterEqEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/evaluator/LeafEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/evaluator/LessEqEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/evaluator/NotEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/evaluator/OneLevelScopeEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/evaluator/OrEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/evaluator/PassThroughEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/evaluator/PresenceEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/evaluator/SubstringEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/evaluator/SubtreeScopeEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/IndexEntryTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/AbstractCursorTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/EqualityTest.java
Removed:
directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/KeyTupleArrayCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/ValueArrayCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/AbstractIndexEntry.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/ForwardIndexEntry.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/IndexCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/ReverseIndexEntry.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/AllEntriesCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/AndCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/AndEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/ApproximateCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/ApproximateEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/ChildrenCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/DescendantCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/EqualityCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/EqualityEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/GreaterEqCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/GreaterEqEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/LeafEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/LessEqCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/LessEqEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/NotCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/NotEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/OneLevelScopeCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/OneLevelScopeEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/OrCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/OrEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/PresenceCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/PresenceEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/SubstringEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/SubtreeScopeCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/SubtreeScopeEvaluator.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/ForwardIndexEntryTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/ReverseIndexEntryTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/OneLevelScopeTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/SubtreeScopeTest.java
Modified:
directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/AvlPartitionFactory.java
directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/DSAnnotationProcessor.java
directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/JdbmPartitionFactory.java
directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/LdifPartitionFactory.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/EntryToResponseCursor.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/LdapCoreSessionConnection.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/BaseEntryFilteringCursor.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/CursorList.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/partition/AbstractPartition.java
directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/partition/Partition.java
directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/api/MockCursor.java
directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/ArrayMarshaller.java
directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/ArrayTreeCursor.java
directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/authz/ModifyAuthorizationIT.java
directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/authz/SearchAuthorizationIT.java
directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/exception/ExceptionServiceIT.java
directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/search/AliasSearchIT.java
directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/search/SearchPerfIT.java
directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryServiceIT.java
directory/apacheds/trunk/core-shared/src/main/java/org/apache/directory/server/core/shared/DefaultDnFactory.java
directory/apacheds/trunk/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultPartitionNexus.java
directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultOperationManager.java
directory/apacheds/trunk/interceptors/admin/src/main/java/org/apache/directory/server/core/admin/AdministrativePointInterceptor.java
directory/apacheds/trunk/interceptors/authz/src/main/java/org/apache/directory/server/core/authz/AciAuthorizationInterceptor.java
directory/apacheds/trunk/interceptors/authz/src/main/java/org/apache/directory/server/core/authz/DefaultAuthorizationInterceptor.java
directory/apacheds/trunk/interceptors/authz/src/main/java/org/apache/directory/server/core/authz/GroupCache.java
directory/apacheds/trunk/interceptors/normalization/src/main/java/org/apache/directory/server/core/normalization/NormalizationInterceptor.java
directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/DupsContainerCursor.java
directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmIndex.java
directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmMasterTable.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/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmRdnIndex.java
directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmTable.java
directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/NoDupsCursor.java
directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/StringSerializer.java
directory/apacheds/trunk/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmIndexTest.java
directory/apacheds/trunk/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmMasterTableTest.java
directory/apacheds/trunk/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmRdnIndexTest.java
directory/apacheds/trunk/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmStoreTest.java
directory/apacheds/trunk/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/KeyBTreeCursorTest.java
directory/apacheds/trunk/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/KeyCursorTest.java
directory/apacheds/trunk/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/KeyTupleArrayCursorTest.java
directory/apacheds/trunk/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/StringSerializerTest.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/server/kerberos/shared/crypto/encryption/Des3CbcSha1KdEncryption.java
directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/components/TransitedEncoding.java
directory/apacheds/trunk/kerberos-test/src/test/java/org/apache/directory/server/kerberos/kdc/KerberosTestUtils.java
directory/apacheds/trunk/ldap-client-test/src/test/java/org/apache/directory/shared/client/api/LdapConnectionTest.java
directory/apacheds/trunk/ldif-partition/src/main/java/org/apache/directory/server/core/partition/ldif/AbstractLdifPartition.java
directory/apacheds/trunk/ldif-partition/src/main/java/org/apache/directory/server/core/partition/ldif/LdifPartition.java
directory/apacheds/trunk/ldif-partition/src/main/java/org/apache/directory/server/core/partition/ldif/SingleFileLdifPartition.java
directory/apacheds/trunk/ldif-partition/src/main/resources/ads-2.ldif
directory/apacheds/trunk/ldif-partition/src/main/resources/sample-config.ldif
directory/apacheds/trunk/ldif-partition/src/test/java/org/apache/directory/server/core/partition/ldif/SingleFileLdifPartitionTest.java
directory/apacheds/trunk/protocol-kerberos/src/main/java/org/apache/directory/server/kerberos/kdc/authentication/AuthenticationService.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/AbstractSaslServer.java
directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/controls/PagedSearchContext.java
directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/extended/StartTlsHandler.java
directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplicaEventLog.java
directory/apacheds/trunk/protocol-ldap/src/test/java/org/apache/directory/server/ldap/JournalTest.java
directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/IndexTest.java
directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/bind/BindIT.java
directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/ldapsdk/AddIT.java
directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/ldapsdk/BindIT.java
directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/ldapsdk/CompareIT.java
directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/ldapsdk/DeleteIT.java
directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/ldapsdk/ModifyDnReferralIT.java
directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/ldapsdk/ModifyReferralIT.java
directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/search/PagedSearchIT.java
directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/search/SearchIT.java
directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/search/SearchPerfIT.java
directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/replication/ClientServerReplicationIT.java
directory/apacheds/trunk/server-integ/src/test/resources/log4j.properties
directory/apacheds/trunk/service-builder/src/main/java/org/apache/directory/server/config/builder/ServiceBuilder.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/AbstractBTreePartition.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/EntryCursorAdaptor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/IndexAssertionEnumeration.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/IndexCursorAdaptor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/IndexEnumeration.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/AbstractIndexCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/EmptyIndexCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/Index.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/IndexEntry.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/MasterTable.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/ParentIdAndRdn.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/ParentIdAndRdnComparator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/SingletonIndexCursor.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/Store.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/impl/avl/AvlIndex.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/impl/avl/AvlMasterTable.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/impl/avl/AvlRdnIndex.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/Evaluator.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/SearchEngine.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/CursorBuilder.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/DefaultOptimizer.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/DefaultSearchEngine.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/EvaluatorBuilder.java
directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/ScanCountComparator.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/AbstractIndexCursorTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/EmptyIndexCursorTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/ParentIdAndRdnTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/PartitionTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/SingletonIndexCursorTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/StoreUtils.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/impl/avl/AvlPartitionTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/impl/avl/AvlRdnIndexTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/AndCursorTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/GreaterEqTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/LessEqTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/NestedFilterTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/NotCursorTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/OrCursorTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/PresenceTest.java
directory/apacheds/trunk/xdbm-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/SubstringTest.java
directory/apacheds/trunk/xdbm-tools/src/main/java/org/apache/directory/server/core/partition/impl/btree/gui/AttributesTableModel.java
directory/apacheds/trunk/xdbm-tools/src/main/java/org/apache/directory/server/core/partition/impl/btree/gui/EntryNode.java
directory/apacheds/trunk/xdbm-tools/src/main/java/org/apache/directory/server/core/partition/impl/btree/gui/IndexDialog.java
directory/apacheds/trunk/xdbm-tools/src/main/java/org/apache/directory/server/core/partition/impl/btree/gui/PartitionFrame.java
directory/apacheds/trunk/xdbm-tools/src/main/java/org/apache/directory/server/xdbm/tools/IndexDialog.java
directory/apacheds/trunk/xdbm-tools/src/main/java/org/apache/directory/server/xdbm/tools/IndexUtils.java
Modified: directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/AvlPartitionFactory.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/AvlPartitionFactory.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/AvlPartitionFactory.java (original)
+++ directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/AvlPartitionFactory.java Mon Sep 24 02:17:13 2012
@@ -67,9 +67,9 @@ public class AvlPartitionFactory impleme
}
AvlPartition avlPartition = ( AvlPartition ) partition;
- Set<Index<?, Entry, Long>> indexedAttributes = avlPartition.getIndexedAttributes();
+ Set<Index<?, ?, String>> indexedAttributes = avlPartition.getIndexedAttributes();
- AvlIndex<Object, Entry> index = new AvlIndex<Object, Entry>( attributeId );
+ AvlIndex<Object, Entry> index = new AvlIndex<Object, Entry>( attributeId, false );
//index.setCacheSize( cacheSize );
indexedAttributes.add( index );
Modified: directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/DSAnnotationProcessor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/DSAnnotationProcessor.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/DSAnnotationProcessor.java (original)
+++ directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/DSAnnotationProcessor.java Mon Sep 24 02:17:13 2012
@@ -171,9 +171,9 @@ public class DSAnnotationProcessor
partition.setId( createPartition.name() );
partition.setSuffixDn( new Dn( service.getSchemaManager(), createPartition.suffix() ) );
- if ( partition instanceof AbstractBTreePartition<?> )
+ if ( partition instanceof AbstractBTreePartition )
{
- AbstractBTreePartition<?> btreePartition = ( AbstractBTreePartition<?> ) partition;
+ AbstractBTreePartition btreePartition = ( AbstractBTreePartition ) partition;
btreePartition.setCacheSize( createPartition.cacheSize() );
btreePartition.setPartitionPath( new File( service
.getInstanceLayout().getPartitionsDirectory(),
@@ -187,8 +187,7 @@ public class DSAnnotationProcessor
// The annotation does not specify a specific index
// type.
// We use the generic index implementation.
- JdbmIndex index = new JdbmIndex();
- index.setAttributeId( createIndex.attribute() );
+ JdbmIndex index = new JdbmIndex( createIndex.attribute(), false );
btreePartition.addIndexedAttributes( index );
}
Modified: directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/JdbmPartitionFactory.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/JdbmPartitionFactory.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/JdbmPartitionFactory.java (original)
+++ directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/JdbmPartitionFactory.java Mon Sep 24 02:17:13 2012
@@ -67,9 +67,9 @@ public class JdbmPartitionFactory implem
}
JdbmPartition jdbmPartition = ( JdbmPartition ) partition;
- Set<Index<?, Entry, Long>> indexedAttributes = jdbmPartition.getIndexedAttributes();
+ Set<Index<?, ?, String>> indexedAttributes = jdbmPartition.getIndexedAttributes();
- JdbmIndex<Object, Entry> index = new JdbmIndex<Object, Entry>( attributeId );
+ JdbmIndex<Object, Entry> index = new JdbmIndex<Object, Entry>( attributeId, false );
index.setCacheSize( cacheSize );
indexedAttributes.add( index );
Modified: directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/LdifPartitionFactory.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/LdifPartitionFactory.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/LdifPartitionFactory.java (original)
+++ directory/apacheds/trunk/core-annotations/src/main/java/org/apache/directory/server/core/factory/LdifPartitionFactory.java Mon Sep 24 02:17:13 2012
@@ -67,9 +67,9 @@ public class LdifPartitionFactory implem
}
LdifPartition ldifPartition = ( LdifPartition ) partition;
- Set<Index<?, Entry, Long>> indexedAttributes = ldifPartition.getIndexedAttributes();
+ Set<Index<?, ?, String>> indexedAttributes = ldifPartition.getIndexedAttributes();
- AvlIndex<Object, Entry> index = new AvlIndex<Object, Entry>( attributeId );
+ AvlIndex<Object, Entry> index = new AvlIndex<Object, Entry>( attributeId, false );
//index.setCacheSize( cacheSize );
indexedAttributes.add( index );
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/EntryToResponseCursor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/EntryToResponseCursor.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/EntryToResponseCursor.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/EntryToResponseCursor.java Mon Sep 24 02:17:13 2012
@@ -23,8 +23,7 @@ package org.apache.directory.server.core
import java.util.Iterator;
-import org.apache.directory.server.core.api.entry.ClonedServerEntry;
-import org.apache.directory.shared.i18n.I18n;
+import org.apache.directory.shared.ldap.model.cursor.AbstractCursor;
import org.apache.directory.shared.ldap.model.cursor.ClosureMonitor;
import org.apache.directory.shared.ldap.model.cursor.Cursor;
import org.apache.directory.shared.ldap.model.cursor.SearchCursor;
@@ -48,7 +47,7 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class EntryToResponseCursor implements SearchCursor
+public class EntryToResponseCursor extends AbstractCursor<Response> implements SearchCursor
{
/** A dedicated log for cursors */
private static final Logger LOG_CURSOR = LoggerFactory.getLogger( "CURSOR" );
@@ -130,7 +129,7 @@ public class EntryToResponseCursor imple
public Response get() throws Exception
{
- Entry entry = ( ClonedServerEntry ) wrapped.get();
+ Entry entry = wrapped.get();
SearchResultEntry se = new SearchResultEntryImpl( messageId );
se.setEntry( entry );
@@ -190,46 +189,6 @@ public class EntryToResponseCursor imple
/**
* {@inheritDoc}
*/
- public boolean isAfterLast() throws Exception
- {
- throw new UnsupportedOperationException( I18n.err( I18n.ERR_02014_UNSUPPORTED_OPERATION, getClass().getName()
- .concat( "." ).concat( "isAfterLast()" ) ) );
- }
-
-
- /**
- * {@inheritDoc}
- */
- public boolean isBeforeFirst() throws Exception
- {
- throw new UnsupportedOperationException( I18n.err( I18n.ERR_02014_UNSUPPORTED_OPERATION, getClass().getName()
- .concat( "." ).concat( "isBeforeFirst()" ) ) );
- }
-
-
- /**
- * {@inheritDoc}
- */
- public boolean isFirst() throws Exception
- {
- throw new UnsupportedOperationException( I18n.err( I18n.ERR_02014_UNSUPPORTED_OPERATION, getClass().getName()
- .concat( "." ).concat( "isFirst()" ) ) );
- }
-
-
- /**
- * {@inheritDoc}
- */
- public boolean isLast() throws Exception
- {
- throw new UnsupportedOperationException( I18n.err( I18n.ERR_02014_UNSUPPORTED_OPERATION, getClass().getName()
- .concat( "." ).concat( "isLast()" ) ) );
- }
-
-
- /**
- * {@inheritDoc}
- */
public boolean isDone()
{
return done;
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/LdapCoreSessionConnection.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/LdapCoreSessionConnection.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/LdapCoreSessionConnection.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/LdapCoreSessionConnection.java Mon Sep 24 02:17:13 2012
@@ -26,6 +26,7 @@ import java.io.IOException;
import java.util.Collection;
import java.util.Iterator;
import java.util.List;
+
import org.apache.directory.ldap.client.api.AbstractLdapConnection;
import org.apache.directory.ldap.client.api.EntryCursorImpl;
import org.apache.directory.server.core.api.filtering.EntryFilteringCursor;
@@ -382,7 +383,14 @@ public class LdapCoreSessionConnection e
DeleteResponse deleteResponse = delete( deleteRequest );
- processResponse( deleteResponse );
+ try
+ {
+ processResponse( deleteResponse );
+ }
+ catch ( LdapException e )
+ {
+ throw e;
+ }
}
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/BaseEntryFilteringCursor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/BaseEntryFilteringCursor.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/BaseEntryFilteringCursor.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/BaseEntryFilteringCursor.java Mon Sep 24 02:17:13 2012
@@ -22,16 +22,14 @@ package org.apache.directory.server.core
import java.util.ArrayList;
import java.util.Collections;
-import java.util.Iterator;
import java.util.List;
import org.apache.directory.server.core.api.entry.ClonedServerEntry;
import org.apache.directory.server.core.api.entry.ClonedServerEntrySearch;
import org.apache.directory.server.core.api.interceptor.context.SearchingOperationContext;
-import org.apache.directory.shared.i18n.I18n;
+import org.apache.directory.shared.ldap.model.cursor.AbstractCursor;
import org.apache.directory.shared.ldap.model.cursor.ClosureMonitor;
import org.apache.directory.shared.ldap.model.cursor.Cursor;
-import org.apache.directory.shared.ldap.model.cursor.CursorIterator;
import org.apache.directory.shared.ldap.model.cursor.InvalidCursorPositionException;
import org.apache.directory.shared.ldap.model.entry.Attribute;
import org.apache.directory.shared.ldap.model.entry.Entry;
@@ -51,7 +49,7 @@ import org.slf4j.LoggerFactory;
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class BaseEntryFilteringCursor implements EntryFilteringCursor
+public class BaseEntryFilteringCursor extends AbstractCursor<Entry> implements EntryFilteringCursor
{
/** the logger used by this class */
private static final Logger log = LoggerFactory.getLogger( BaseEntryFilteringCursor.class );
@@ -165,6 +163,7 @@ public class BaseEntryFilteringCursor im
return filters.add( filter );
}
+
/* (non-Javadoc)
* @see org.apache.directory.server.core.filtering.EntryFilteringCursor#removeEntryFilter(org.apache.directory.server.core.filtering.EntryFilter)
*/
@@ -173,6 +172,7 @@ public class BaseEntryFilteringCursor im
return filters.remove( filter );
}
+
/**
* {@inheritDoc}
*/
@@ -288,7 +288,7 @@ public class BaseEntryFilteringCursor im
}
beforeFirst();
-
+
return next();
}
@@ -329,7 +329,7 @@ public class BaseEntryFilteringCursor im
}
afterLast();
-
+
return previous();
}
@@ -474,6 +474,12 @@ public class BaseEntryFilteringCursor im
Entry tempEntry = wrapped.get();
+ if ( tempEntry == null )
+ {
+ // no candidate
+ continue;
+ }
+
if ( tempEntry instanceof ClonedServerEntry )
{
tempResult = tempEntry;
@@ -546,7 +552,14 @@ public class BaseEntryFilteringCursor im
outer: while ( wrapped.previous() )
{
boolean accepted = true;
- tempResult = new ClonedServerEntrySearch( wrapped.get() );
+ Entry entry = wrapped.get();
+
+ if ( entry == null )
+ {
+ continue;
+ }
+
+ tempResult = new ClonedServerEntrySearch( entry );
/*
* O P T I M I Z A T I O N
@@ -586,7 +599,7 @@ public class BaseEntryFilteringCursor im
*/
prefetched = tempResult;
filterContents( prefetched );
-
+
return true;
}
@@ -594,53 +607,4 @@ public class BaseEntryFilteringCursor im
return false;
}
-
-
- /**
- * {@inheritDoc}
- */
- public Iterator<Entry> iterator()
- {
- return new CursorIterator<Entry>( this );
- }
-
-
- /**
- * {@inheritDoc}
- */
- public boolean isAfterLast() throws Exception
- {
- throw new UnsupportedOperationException( I18n.err( I18n.ERR_02014_UNSUPPORTED_OPERATION, getClass().getName()
- .concat( "." ).concat( "isAfterLast()" ) ) );
- }
-
-
- /**
- * {@inheritDoc}
- */
- public boolean isBeforeFirst() throws Exception
- {
- throw new UnsupportedOperationException( I18n.err( I18n.ERR_02014_UNSUPPORTED_OPERATION, getClass().getName()
- .concat( "." ).concat( "isBeforeFirst()" ) ) );
- }
-
-
- /**
- * {@inheritDoc}
- */
- public boolean isFirst() throws Exception
- {
- throw new UnsupportedOperationException( I18n.err( I18n.ERR_02014_UNSUPPORTED_OPERATION, getClass().getName()
- .concat( "." ).concat( "isFirst()" ) ) );
- }
-
-
- /**
- * {@inheritDoc}
- */
- public boolean isLast() throws Exception
- {
- throw new UnsupportedOperationException( I18n.err( I18n.ERR_02014_UNSUPPORTED_OPERATION, getClass().getName()
- .concat( "." ).concat( "isLast()" ) ) );
- }
}
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/CursorList.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/CursorList.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/CursorList.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/CursorList.java Mon Sep 24 02:17:13 2012
@@ -26,6 +26,7 @@ import java.util.List;
import org.apache.directory.server.core.api.interceptor.context.SearchingOperationContext;
import org.apache.directory.shared.i18n.I18n;
+import org.apache.directory.shared.ldap.model.cursor.AbstractCursor;
import org.apache.directory.shared.ldap.model.cursor.ClosureMonitor;
import org.apache.directory.shared.ldap.model.cursor.Cursor;
import org.apache.directory.shared.ldap.model.cursor.InvalidCursorPositionException;
@@ -40,11 +41,11 @@ import org.slf4j.LoggerFactory;
*
* This class is modeled based on the implementation of {@link org.apache.directory.shared.ldap.model.cursor.ListCursor}
*
- * WARN this is only used internally
+ * WARN this is only used internally !
*
* @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
*/
-public class CursorList implements EntryFilteringCursor
+public class CursorList extends AbstractCursor<Entry> implements EntryFilteringCursor
{
/** A dedicated log for cursors */
private static final Logger LOG_CURSOR = LoggerFactory.getLogger( "CURSOR" );
@@ -58,8 +59,14 @@ public class CursorList implements Entry
/** The ending position for the cursor in the list. It can be < List.size() */
private final int end;
+ /** The number of cursors in the list */
+ private final int listSize;
+
/** The current position in the list */
- private int index = -1;
+ private int index;
+
+ /** The current cursor being used */
+ private EntryFilteringCursor currentCursor;
/** the operation context */
private SearchingOperationContext searchContext;
@@ -67,6 +74,7 @@ public class CursorList implements Entry
/** flag to detect the closed cursor */
private boolean closed;
+ /** The logger for this class */
private static final Logger LOG = LoggerFactory.getLogger( CursorList.class );
@@ -85,7 +93,7 @@ public class CursorList implements Entry
public CursorList( int start, List<EntryFilteringCursor> list, int end, SearchingOperationContext searchContext )
{
LOG_CURSOR.debug( "Creating CursorList {}", this );
-
+
if ( list != null )
{
this.list = list;
@@ -95,19 +103,21 @@ public class CursorList implements Entry
this.list = Collections.emptyList();
}
- if ( ( start < 0 ) || ( start > this.list.size() ) )
+ listSize = list.size();
+
+ if ( ( start < 0 ) || ( start > listSize ) )
{
throw new IllegalArgumentException( I18n.err( I18n.ERR_02005_START_INDEX_OUT_OF_RANGE, start ) );
}
- if ( ( end < 0 ) || ( end > this.list.size() ) )
+ if ( ( end < 0 ) || ( end > listSize ) )
{
throw new IllegalArgumentException( I18n.err( I18n.ERR_02006_END_INDEX_OUT_OF_RANGE, end ) );
}
// check list is not empty list since the empty list is the only situation
// where we allow for start to equal the end: in other cases it makes no sense
- if ( ( this.list.size() > 0 ) && ( start >= end ) )
+ if ( ( listSize > 0 ) && ( start >= end ) )
{
throw new IllegalArgumentException( I18n.err( I18n.ERR_02007_START_INDEX_ABOVE_END_INDEX, start, end ) );
}
@@ -115,6 +125,8 @@ public class CursorList implements Entry
this.start = start;
this.end = end;
this.searchContext = searchContext;
+ index = start;
+ currentCursor = list.get( index );
}
@@ -170,7 +182,8 @@ public class CursorList implements Entry
public void beforeFirst() throws Exception
{
index = 0;
- list.get( index ).beforeFirst();
+ currentCursor = list.get( index );
+ currentCursor.beforeFirst();
}
@@ -180,7 +193,8 @@ public class CursorList implements Entry
public void afterLast() throws Exception
{
index = end - 1;
- list.get( index ).afterLast();
+ currentCursor = list.get( index );
+ currentCursor.afterLast();
}
@@ -189,10 +203,10 @@ public class CursorList implements Entry
*/
public boolean first() throws Exception
{
- if ( list.size() > 0 )
+ if ( listSize > 0 )
{
index = start;
-
+
return list.get( index ).first();
}
@@ -205,10 +219,12 @@ public class CursorList implements Entry
*/
public boolean last() throws Exception
{
- if ( list.size() > 0 )
+ if ( listSize > 0 )
{
index = end - 1;
- return list.get( index ).last();
+ currentCursor = list.get( index );
+
+ return currentCursor.last();
}
return false;
@@ -220,7 +236,7 @@ public class CursorList implements Entry
*/
public boolean isFirst() throws Exception
{
- return ( list.size() > 0 ) && ( index == start ) && list.get( index ).first();
+ return ( listSize > 0 ) && ( index == start ) && list.get( index ).isFirst();
}
@@ -229,7 +245,7 @@ public class CursorList implements Entry
*/
public boolean isLast() throws Exception
{
- return ( list.size() > 0 ) && ( index == end - 1 ) && list.get( index ).last();
+ return ( listSize > 0 ) && ( index == end - 1 ) && list.get( index ).isLast();
}
@@ -238,7 +254,7 @@ public class CursorList implements Entry
*/
public boolean isAfterLast() throws Exception
{
- return index == end;
+ return ( index == end );
}
@@ -263,25 +279,20 @@ public class CursorList implements Entry
}
// if the index moved back is still greater than or eq to start then OK
- if ( index - 1 >= start )
+ if ( index > start )
{
if ( index == end )
{
index--;
+ currentCursor = list.get( index );
}
- if ( !list.get( index ).previous() )
+ if ( !currentCursor.previous() )
{
index--;
-
- if ( index != -1 )
- {
- return list.get( index ).previous();
- }
- else
- {
- return false;
- }
+ currentCursor = list.get( index );
+
+ return currentCursor.previous();
}
else
{
@@ -292,10 +303,11 @@ public class CursorList implements Entry
// if the index currently less than or equal to start we need to park it at -1 and return false
if ( index <= start )
{
- if ( !list.get( index ).previous() )
+ if ( !currentCursor.previous() )
{
index = -1;
-
+ currentCursor = null;
+
return false;
}
else
@@ -304,11 +316,6 @@ public class CursorList implements Entry
}
}
- if ( list.size() <= 0 )
- {
- index = -1;
- }
-
return false;
}
@@ -318,52 +325,56 @@ public class CursorList implements Entry
*/
public boolean next() throws Exception
{
- // if parked at -1 we advance to the start index and return true
- if ( ( list.size() ) > 0 && ( index == -1 ) )
+ if ( listSize > 0 )
{
- index = start;
- return list.get( index ).next();
- }
+ // if parked at -1 we advance to the start index and return true
+ if ( index == -1 )
+ {
+ index = start;
+ currentCursor = list.get( index );
- // if the index plus one is less than the end then increment and return true
- if ( ( list.size() > 0 ) && ( index + 1 < end ) )
- {
- if ( !list.get( index ).next() )
+ return currentCursor.next();
+ }
+
+ // if the index plus one is less than the end then increment and return true
+ if ( index < end - 1 )
{
- index++;
-
- if ( index < end )
+ if ( !currentCursor.next() )
{
- return list.get( index ).next();
+ index++;
+
+ if ( index < end )
+ {
+ currentCursor = list.get( index );
+
+ return currentCursor.next();
+ }
+ else
+ {
+ return false;
+ }
}
else
{
- return false;
+ return true;
}
}
- else
- {
- return true;
- }
- }
- // if the index plus one is equal to the end then increment and return false
- if ( ( list.size() > 0 ) && ( index + 1 == end ) )
- {
- if ( !list.get( index ).next() )
+ // if the index plus one is equal to the end then increment and return false
+ if ( index == end - 1 )
{
- index++;
- return false;
- }
- else
- {
- return true;
- }
- }
+ if ( !currentCursor.next() )
+ {
+ index++;
+ currentCursor = null;
- if ( list.size() <= 0 )
- {
- index = end;
+ return false;
+ }
+ else
+ {
+ return true;
+ }
+ }
}
return false;
@@ -375,14 +386,14 @@ public class CursorList implements Entry
*/
public Entry get() throws Exception
{
- if ( index < start || index >= end )
+ if ( ( index < start ) || ( index >= end ) )
{
throw new IOException( I18n.err( I18n.ERR_02009_CURSOR_NOT_POSITIONED ) );
}
- if ( list.get( index ).available() )
+ if ( currentCursor.available() )
{
- return list.get( index ).get();
+ return currentCursor.get();
}
throw new InvalidCursorPositionException();
@@ -428,12 +439,6 @@ public class CursorList implements Entry
}
- public boolean removeEntryFilter( EntryFilter filter )
- {
- return false;
- }
-
-
public void setAbandoned( boolean abandoned )
{
getOperationContext().setAbandoned( abandoned );
@@ -457,17 +462,17 @@ public class CursorList implements Entry
LOG_CURSOR.debug( "Closing CursorList {}", this );
closed = true;
- for ( Cursor<?> c : list )
+ for ( EntryFilteringCursor cursor : list )
{
try
{
if ( reason != null )
{
- c.close( reason );
+ cursor.close( reason );
}
else
{
- c.close();
+ cursor.close();
}
}
catch ( Exception e )
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/partition/AbstractPartition.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/partition/AbstractPartition.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/partition/AbstractPartition.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/partition/AbstractPartition.java Mon Sep 24 02:17:13 2012
@@ -188,10 +188,7 @@ public abstract class AbstractPartition
this.suffixDn = suffixDn;
- if ( schemaManager != null )
- {
- this.suffixDn.apply( schemaManager );
- }
+ this.suffixDn.apply( schemaManager );
}
Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/partition/Partition.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/partition/Partition.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/partition/Partition.java (original)
+++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/partition/Partition.java Mon Sep 24 02:17:13 2012
@@ -22,6 +22,7 @@ package org.apache.directory.server.core
import java.io.IOException;
import java.io.OutputStream;
+import java.util.UUID;
import org.apache.directory.server.core.api.entry.ServerSearchResult;
import org.apache.directory.server.core.api.filtering.EntryFilteringCursor;
@@ -52,6 +53,13 @@ import org.apache.directory.shared.ldap.
*/
public interface Partition
{
+ /** root ID common to all partitions */
+ String ROOT_ID = new UUID( 0L, 0L ).toString();
+
+ /** Default id used for context entry if context entry doesn't exists */
+ String DEFAULT_ID = new UUID( 0L, 1L ).toString();
+
+
// -----------------------------------------------------------------------
// C O N F I G U R A T I O N M E T H O D S
// -----------------------------------------------------------------------
Modified: directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/api/MockCursor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/api/MockCursor.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/api/MockCursor.java (original)
+++ directory/apacheds/trunk/core-api/src/test/java/org/apache/directory/server/core/api/MockCursor.java Mon Sep 24 02:17:13 2012
@@ -20,20 +20,17 @@
package org.apache.directory.server.core.api;
-import java.util.Iterator;
import java.util.NoSuchElementException;
-import org.apache.directory.shared.i18n.I18n;
+import org.apache.directory.shared.ldap.model.cursor.AbstractCursor;
import org.apache.directory.shared.ldap.model.cursor.ClosureMonitor;
-import org.apache.directory.shared.ldap.model.cursor.Cursor;
-import org.apache.directory.shared.ldap.model.cursor.CursorIterator;
import org.apache.directory.shared.ldap.model.entry.DefaultEntry;
import org.apache.directory.shared.ldap.model.entry.Entry;
import org.apache.directory.shared.ldap.model.schema.SchemaManager;
import org.apache.directory.shared.util.exception.NotImplementedException;
-public class MockCursor implements Cursor<Entry>
+public class MockCursor extends AbstractCursor<Entry>
{
final int count;
int ii;
@@ -150,12 +147,6 @@ public class MockCursor implements Curso
}
- public Iterator<Entry> iterator()
- {
- return new CursorIterator<Entry>( this );
- }
-
-
public void close( Exception reason ) throws Exception
{
}
@@ -170,44 +161,4 @@ public class MockCursor implements Curso
{
this.schemaManager = schemaManager;
}
-
-
- /**
- * {@inheritDoc}
- */
- public boolean isAfterLast() throws Exception
- {
- throw new UnsupportedOperationException( I18n.err( I18n.ERR_02014_UNSUPPORTED_OPERATION, getClass().getName()
- .concat( "." ).concat( "isAfterLast()" ) ) );
- }
-
-
- /**
- * {@inheritDoc}
- */
- public boolean isBeforeFirst() throws Exception
- {
- throw new UnsupportedOperationException( I18n.err( I18n.ERR_02014_UNSUPPORTED_OPERATION, getClass().getName()
- .concat( "." ).concat( "isBeforeFirst()" ) ) );
- }
-
-
- /**
- * {@inheritDoc}
- */
- public boolean isFirst() throws Exception
- {
- throw new UnsupportedOperationException( I18n.err( I18n.ERR_02014_UNSUPPORTED_OPERATION, getClass().getName()
- .concat( "." ).concat( "isFirst()" ) ) );
- }
-
-
- /**
- * {@inheritDoc}
- */
- public boolean isLast() throws Exception
- {
- throw new UnsupportedOperationException( I18n.err( I18n.ERR_02014_UNSUPPORTED_OPERATION, getClass().getName()
- .concat( "." ).concat( "isLast()" ) ) );
- }
}
Modified: directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/ArrayMarshaller.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/ArrayMarshaller.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/ArrayMarshaller.java (original)
+++ directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/ArrayMarshaller.java Mon Sep 24 02:17:13 2012
@@ -115,6 +115,7 @@ public class ArrayMarshaller<E> implemen
data = byteStream.toByteArray();
// Try to deserialize, just to see
+ /*
try
{
deserialize( data );
@@ -124,6 +125,7 @@ public class ArrayMarshaller<E> implemen
System.out.println( I18n.err( I18n.ERR_438, Strings.dumpBytes( data ) ) );
throw npe;
}
+ */
out.close();
}
Modified: directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/ArrayTreeCursor.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/ArrayTreeCursor.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/ArrayTreeCursor.java (original)
+++ directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/ArrayTreeCursor.java Mon Sep 24 02:17:13 2012
@@ -318,4 +318,36 @@ public class ArrayTreeCursor<E> extends
LOG_CURSOR.debug( "Closing ArrayTreeCursor {}", this );
super.close( reason );
}
+
+
+ /**
+ * @see Object#toString()
+ */
+ public String toString( String tabs )
+ {
+ StringBuilder sb = new StringBuilder();
+
+ sb.append( tabs ).append( "ArrayTreeCursor (" );
+
+ if ( available() )
+ {
+ sb.append( "available)" );
+ sb.append( "#<" ).append( current ).append( ":" ).append( array.get( current ) ).append( ">" );
+ }
+ else
+ {
+ sb.append( "absent)" );
+ }
+
+ return sb.toString();
+ }
+
+
+ /**
+ * @see Object#toString()
+ */
+ public String toString()
+ {
+ return toString( "" );
+ }
}
Modified: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/authz/ModifyAuthorizationIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/authz/ModifyAuthorizationIT.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/authz/ModifyAuthorizationIT.java (original)
+++ directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/authz/ModifyAuthorizationIT.java Mon Sep 24 02:17:13 2012
@@ -37,11 +37,11 @@ import org.apache.directory.server.core.
import org.apache.directory.server.core.integ.FrameworkRunner;
import org.apache.directory.server.core.integ.IntegrationUtils;
import org.apache.directory.shared.ldap.model.constants.SchemaConstants;
-import org.apache.directory.shared.ldap.model.entry.DefaultEntry;
+import org.apache.directory.shared.ldap.model.entry.Attribute;
import org.apache.directory.shared.ldap.model.entry.DefaultAttribute;
+import org.apache.directory.shared.ldap.model.entry.DefaultEntry;
import org.apache.directory.shared.ldap.model.entry.DefaultModification;
import org.apache.directory.shared.ldap.model.entry.Entry;
-import org.apache.directory.shared.ldap.model.entry.Attribute;
import org.apache.directory.shared.ldap.model.entry.Modification;
import org.apache.directory.shared.ldap.model.entry.ModificationOperation;
import org.apache.directory.shared.ldap.model.message.ModifyRequest;
@@ -279,12 +279,27 @@ public class ModifyAuthorizationIT exten
// Gives grantModify, and grantRead perm to all users in the Administrators group for
// entries and all attribute types and values
- createAccessControlSubentry( "selfModifyUserPassword", "{ " + " identificationTag \"addAci\", "
- + " precedence 14, " + " authenticationLevel none, " + " itemOrUserFirst userFirst: " + " { "
- + " userClasses { thisEntry }, " + " userPermissions " + " { " + " { "
- + " protectedItems {entry}, " + " grantsAndDenials { grantModify, grantBrowse, grantRead } "
- + " }, " + " { " + " protectedItems {allAttributeValues {userPassword}}, "
- + " grantsAndDenials { grantAdd, grantRemove } " + " } " + " } " + " } " + "}" );
+ createAccessControlSubentry(
+ "selfModifyUserPassword",
+ "{ " +
+ " identificationTag \"addAci\", " +
+ " precedence 14, " +
+ " authenticationLevel none, " +
+ " itemOrUserFirst userFirst: " +
+ " { " +
+ " userClasses { thisEntry }, " +
+ " userPermissions " + " { " +
+ " { " +
+ " protectedItems {entry}, " +
+ " grantsAndDenials { grantModify, grantBrowse, grantRead } " +
+ " }, " +
+ " { " +
+ " protectedItems {allAttributeValues {userPassword}}, " +
+ " grantsAndDenials { grantAdd, grantRemove } " +
+ " } " +
+ " } " +
+ " } " +
+ "}" );
// try a modify operation which should succeed with ACI
assertTrue( checkCanSelfModify( "billyd", "billyd", mods ) );
Modified: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/authz/SearchAuthorizationIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/authz/SearchAuthorizationIT.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/authz/SearchAuthorizationIT.java (original)
+++ directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/authz/SearchAuthorizationIT.java Mon Sep 24 02:17:13 2012
@@ -190,11 +190,12 @@ public class SearchAuthorizationIT exten
{
Entry entry = entries.get();
Dn childRdn = entry.getDn();
+
recursivelyDelete( childRdn );
}
entries.close();
-
+
reusableAdminCon.delete( rdn );
}
@@ -319,7 +320,7 @@ public class SearchAuthorizationIT exten
results.put( result.getDn().getName(), result );
counter++;
}
-
+
cursor.close();
recursivelyDelete( base );
@@ -340,7 +341,7 @@ public class SearchAuthorizationIT exten
{
LdapConnection connection = getAdminConnection();
Dn base = addSearchData( new Dn( "ou=system" ), 3, 10 );
-
+
EntryCursor entries = connection.search( base.getName(), "(objectClass=*)", SearchScope.SUBTREE,
"+" );
int counter = 0;
@@ -350,7 +351,7 @@ public class SearchAuthorizationIT exten
entries.get();
counter++;
}
-
+
entries.close();
assertEquals( 10, counter );
Modified: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/exception/ExceptionServiceIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/exception/ExceptionServiceIT.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/exception/ExceptionServiceIT.java (original)
+++ directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/exception/ExceptionServiceIT.java Mon Sep 24 02:17:13 2012
@@ -133,7 +133,7 @@ public class ExceptionServiceIT extends
SearchScope.ONELEVEL, "*" );
assertFalse( cursor.next() );
-
+
cursor.close();
}
@@ -246,27 +246,27 @@ public class ExceptionServiceIT extends
LdapConnection connection = getAdminConnection( getService() );
Entry entry = connection.lookup( "ou=users,ou=system" );
-
+
assertNotNull( entry );
assertEquals( 1, entry.get( "ou" ).size() );
assertEquals( "users", entry.get( "ou" ).getString() );
connection.rename( "ou=users,ou=system", "ou=Users" );
-
+
entry = connection.lookup( "ou=Users,ou=system" );
-
+
assertNotNull( entry );
assertEquals( 1, entry.get( "ou" ).size() );
assertEquals( "Users", entry.get( "ou" ).getString() );
}
-
+
/**
* Test modifyRdn operation failure when the object renamed is existant.
*
* @throws Exception on error
*/
- @Test(expected=LdapEntryAlreadyExistsException.class)
+ @Test(expected = LdapEntryAlreadyExistsException.class)
public void testFailModifyRdnEntryAlreadyExists() throws Exception
{
LdapConnection connection = getAdminConnection( getService() );
@@ -504,7 +504,7 @@ public class ExceptionServiceIT extends
// ------------------------------------------------------------------------
/**
- * Tests for delete failure when the entry to be deleted has child entires.
+ * Tests for delete failure when the entry to be deleted has child entries.
*
* @throws Exception on error
*/
Modified: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/search/AliasSearchIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/search/AliasSearchIT.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/search/AliasSearchIT.java (original)
+++ directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/search/AliasSearchIT.java Mon Sep 24 02:17:13 2012
@@ -450,7 +450,7 @@ public class AliasSearchIT extends Abstr
cursor.beforeFirst();
List<String> nextResults = new ArrayList<String>();
-
+
while ( nextResults.size() < count && cursor.next() )
{
nextResults.add( cursor.get().getDn().getName() );
@@ -459,7 +459,7 @@ public class AliasSearchIT extends Abstr
cursor.next();
List<String> prevResults = new ArrayList<String>();
-
+
while ( cursor.previous() )
{
prevResults.add( 0, cursor.get().getDn().getName() );
@@ -468,7 +468,7 @@ public class AliasSearchIT extends Abstr
assertEquals( nextResults.size(), prevResults.size() );
assertEquals( nextResults, prevResults );
}
-
+
cursor.close();
}
catch ( UnsupportedOperationException e )
@@ -497,7 +497,7 @@ public class AliasSearchIT extends Abstr
cursor.afterLast();
List<String> prevResults = new ArrayList<String>();
-
+
while ( prevResults.size() < count && cursor.previous() )
{
prevResults.add( cursor.get().getDn().getName() );
@@ -506,7 +506,7 @@ public class AliasSearchIT extends Abstr
cursor.previous();
List<String> nextResults = new ArrayList<String>();
-
+
while ( cursor.next() )
{
nextResults.add( 0, cursor.get().getDn().getName() );
@@ -515,7 +515,7 @@ public class AliasSearchIT extends Abstr
assertEquals( nextResults.size(), prevResults.size() );
assertEquals( nextResults, prevResults );
}
-
+
cursor.close();
}
catch ( UnsupportedOperationException e )
@@ -530,7 +530,7 @@ public class AliasSearchIT extends Abstr
{
List<String> result = search( base, scope, filter, aliasDerefMode );
assertEquals( expectedResults.length, result.size() );
-
+
for ( String expected : expectedResults )
{
assertTrue( result.contains( expected ) );
@@ -582,11 +582,11 @@ public class AliasSearchIT extends Abstr
{
List<String> nextResults = new ArrayList<String>();
- ExprNode exprNode = FilterParser.parse(getService().getSchemaManager(), filter);
+ ExprNode exprNode = FilterParser.parse( getService().getSchemaManager(), filter );
EntryFilteringCursor cursor = getService().getAdminSession().search( new Dn( base ), scope, exprNode,
aliasDerefMode, null );
cursor.beforeFirst();
-
+
while ( cursor.next() )
{
nextResults.add( cursor.get().getDn().getName() );
@@ -596,7 +596,7 @@ public class AliasSearchIT extends Abstr
{
List<String> prevResults = new ArrayList<String>();
cursor.afterLast();
-
+
while ( cursor.previous() )
{
prevResults.add( 0, cursor.get().getDn().getName() );
Modified: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/search/SearchPerfIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/search/SearchPerfIT.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/search/SearchPerfIT.java (original)
+++ directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/search/SearchPerfIT.java Mon Sep 24 02:17:13 2012
@@ -71,7 +71,7 @@ public class SearchPerfIT extends Abstra
assertEquals( 1, i );
int nbIterations = 1500000;
-
+
Dn dn = new Dn( getService().getSchemaManager(), "uid=admin,ou=system" );
SearchRequest searchRequest = new SearchRequestImpl();
@@ -85,7 +85,8 @@ public class SearchPerfIT extends Abstra
long t0 = System.currentTimeMillis();
long t00 = 0L;
long tt0 = System.currentTimeMillis();
-
+ int count = 0;
+
for ( i = 0; i < nbIterations; i++ )
{
if ( i % 100000 == 0 )
@@ -106,8 +107,9 @@ public class SearchPerfIT extends Abstra
while ( cursor.next() )
{
cursor.get();
+ count++;
}
-
+
cursor.close();
}
@@ -115,7 +117,7 @@ public class SearchPerfIT extends Abstra
Long deltaWarmed = ( t1 - t00 );
System.out.println( "Delta : " + deltaWarmed + "( " + ( ( ( nbIterations - 500000 ) * 1000 ) / deltaWarmed )
- + " per s ) /" + ( t1 - t0 ) );
+ + " per s ) /" + ( t1 - t0 ) + ", count : " + count );
connection.close();
}
@@ -156,6 +158,7 @@ public class SearchPerfIT extends Abstra
long t0 = System.currentTimeMillis();
long t00 = 0L;
long tt0 = System.currentTimeMillis();
+ int count = 0;
for ( i = 0; i < nbIterations; i++ )
{
@@ -177,8 +180,9 @@ public class SearchPerfIT extends Abstra
while ( cursor.next() )
{
cursor.get();
+ count++;
}
-
+
cursor.close();
}
@@ -186,7 +190,7 @@ public class SearchPerfIT extends Abstra
Long deltaWarmed = ( t1 - t00 );
System.out.println( "Delta : " + deltaWarmed + "( " + ( ( ( nbIterations - 50000 ) * 1000 ) / deltaWarmed ) * 5
- + " per s ) /" + ( t1 - t0 ) );
+ + " per s ) /" + ( t1 - t0 ) + ", count : " + count );
connection.close();
}
@@ -227,6 +231,7 @@ public class SearchPerfIT extends Abstra
long t0 = System.currentTimeMillis();
long t00 = 0L;
long tt0 = System.currentTimeMillis();
+ int count = 0;
for ( i = 0; i < nbIterations; i++ )
{
@@ -248,16 +253,18 @@ public class SearchPerfIT extends Abstra
while ( cursor.next() )
{
cursor.get();
+ count++;
}
-
+
cursor.close();
}
long t1 = System.currentTimeMillis();
Long deltaWarmed = ( t1 - t00 );
- System.out.println( "Delta : " + deltaWarmed + "( " + ( ( ( nbIterations - 50000 ) * 1000 ) / deltaWarmed ) * 10
- + " per s ) /" + ( t1 - t0 ) );
+ System.out.println( "Delta : " + deltaWarmed + "( " + ( ( ( nbIterations - 50000 ) * 1000 ) / deltaWarmed )
+ * 10
+ + " per s ) /" + ( t1 - t0 ) + ", count : " + count );
connection.close();
}
}
Modified: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryServiceIT.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryServiceIT.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryServiceIT.java (original)
+++ directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/subtree/SubentryServiceIT.java Mon Sep 24 02:17:13 2012
@@ -1303,7 +1303,7 @@ public class SubentryServiceIT extends A
LdapApiService codec = LdapApiServiceFactory.getSingleton();
SubentriesDecorator decorator = new SubentriesDecorator( codec );
- Subentries ctl = ( Subentries ) decorator.getDecorated();
+ Subentries ctl = decorator.getDecorated();
ctl.setVisibility( true );
decorator.getValue();
sysRoot.setRequestControls( JndiUtils.toJndiControls( codec, new Control[]
Modified: directory/apacheds/trunk/core-shared/src/main/java/org/apache/directory/server/core/shared/DefaultDnFactory.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-shared/src/main/java/org/apache/directory/server/core/shared/DefaultDnFactory.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-shared/src/main/java/org/apache/directory/server/core/shared/DefaultDnFactory.java (original)
+++ directory/apacheds/trunk/core-shared/src/main/java/org/apache/directory/server/core/shared/DefaultDnFactory.java Mon Sep 24 02:17:13 2012
@@ -114,10 +114,7 @@ public class DefaultDnFactory implements
}
else
{
- if ( !cachedDn.isSchemaAware() && ( schemaManager != null ) )
- {
- cachedDn.apply( schemaManager );
- }
+ cachedDn.apply( schemaManager );
if ( enableStats )
{
Modified: directory/apacheds/trunk/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultPartitionNexus.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultPartitionNexus.java?rev=1389184&r1=1389183&r2=1389184&view=diff
==============================================================================
--- directory/apacheds/trunk/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultPartitionNexus.java (original)
+++ directory/apacheds/trunk/core-shared/src/main/java/org/apache/directory/server/core/shared/partition/DefaultPartitionNexus.java Mon Sep 24 02:17:13 2012
@@ -44,8 +44,8 @@ import org.apache.directory.server.core.
import org.apache.directory.server.core.api.interceptor.context.AddOperationContext;
import org.apache.directory.server.core.api.interceptor.context.CompareOperationContext;
import org.apache.directory.server.core.api.interceptor.context.DeleteOperationContext;
-import org.apache.directory.server.core.api.interceptor.context.HasEntryOperationContext;
import org.apache.directory.server.core.api.interceptor.context.GetRootDseOperationContext;
+import org.apache.directory.server.core.api.interceptor.context.HasEntryOperationContext;
import org.apache.directory.server.core.api.interceptor.context.ListOperationContext;
import org.apache.directory.server.core.api.interceptor.context.LookupOperationContext;
import org.apache.directory.server.core.api.interceptor.context.ModifyOperationContext;
@@ -559,28 +559,6 @@ public class DefaultPartitionNexus exten
Entry retval = new ClonedServerEntry( rootDse );
return retval;
-
- /*
- if ( ( lookupContext.getAttrsId() != null ) && !lookupContext.getAttrsId().isEmpty() )
- {
- for ( Attribute attribute : rootDse.getAttributes() )
- {
- AttributeType attributeType = attribute.getAttributeType();
- String oid = attributeType.getOid();
-
- if ( !lookupContext.getAttrsId().contains( oid ) )
- {
- retval.removeAttributes( attributeType );
- }
- }
-
- return retval;
- }
- else
- {
- return new ClonedServerEntry( rootDse );
- }
- */
}
Partition partition = getPartition( dn );
@@ -739,97 +717,121 @@ public class DefaultPartitionNexus exten
public EntryFilteringCursor search( SearchOperationContext searchContext ) throws LdapException
{
Dn base = searchContext.getDn();
- ExprNode filter = searchContext.getFilter();
// TODO since we're handling the *, and + in the EntryFilteringCursor
// we may not need this code: we need see if this is actually the
// case and remove this code.
if ( base.size() == 0 )
{
- // We are searching from the rootDSE. We have to distinguish three cases :
- // 1) The scope is OBJECT : we have to return the rootDSE entry, filtered
- // 2) The scope is ONELEVEL : we have to return all the Naming Contexts
- boolean isObjectScope = searchContext.getScope() == SearchScope.OBJECT;
+ return searchFromRoot( searchContext );
+ }
- boolean isOnelevelScope = searchContext.getScope() == SearchScope.ONELEVEL;
+ // Not sure we need this code...
+ base.apply( schemaManager );
- boolean isSublevelScope = searchContext.getScope() == SearchScope.SUBTREE;
+ // Normal case : do a search on the specific partition
+ Partition backend = getPartition( base );
- // test for (objectClass=*)
- boolean isSearchAll = false;
+ return backend.search( searchContext );
+ }
- // We have to be careful, as we may have a filter which is not a PresenceFilter
- if ( filter instanceof PresenceNode )
- {
- isSearchAll = ( ( PresenceNode ) filter ).getAttributeType().equals( OBJECT_CLASS_AT );
- }
- /*
- * if basedn is "", filter is "(objectclass=*)" and scope is object
- * then we have a request for the rootDSE
- */
- if ( ( filter instanceof PresenceNode ) && isObjectScope && isSearchAll )
+ /**
+ * Do a search from the root of the DIT. We have a few use cases to consider :
+ * A) The scope is OBJECT
+ * If the filter is (ObjectClass = *), then this is a RootDSE fetch, otherwise, we just
+ * return nothing.
+ * B) The scope is ONELEVEL
+ * We just return the contextEntries of all the existing partitions
+ * C) The scope is SUBLEVEL :
+ * In this case, we have to do a search in each of the existing partition. We will get
+ * back a list of cursors and we will wrap this list in the resulting EntryFilteringCursor.
+ *
+ * @param searchContext
+ * @return
+ * @throws LdapException
+ */
+ private EntryFilteringCursor searchFromRoot( SearchOperationContext searchContext )
+ throws LdapException
+ {
+ ExprNode filter = searchContext.getFilter();
+
+ // We are searching from the rootDSE. We have to distinguish three cases :
+ // 1) The scope is OBJECT : we have to return the rootDSE entry, filtered
+ // 2) The scope is ONELEVEL : we have to return all the Naming Contexts
+ boolean isObjectScope = searchContext.getScope() == SearchScope.OBJECT;
+
+ boolean isOnelevelScope = searchContext.getScope() == SearchScope.ONELEVEL;
+
+ // test for (objectClass=*)
+ boolean isSearchAll = false;
+
+ // We have to be careful, as we may have a filter which is not a PresenceFilter
+ if ( filter instanceof PresenceNode )
+ {
+ isSearchAll = ( ( PresenceNode ) filter ).getAttributeType().equals( OBJECT_CLASS_AT );
+ }
+
+ if ( isObjectScope )
+ {
+ if ( isSearchAll )
{
+ // if basedn is "", filter is "(objectclass=*)" and scope is object
+ // then we have a request for the rootDSE
return searchRootDse( searchContext );
}
- else if ( isObjectScope && ( !isSearchAll ) )
+ else
{
+ // Nothing to return in this case
return new BaseEntryFilteringCursor( new EmptyCursor<Entry>(), searchContext );
}
- else if ( isOnelevelScope )
+ }
+ else if ( isOnelevelScope )
+ {
+ // Loop on all the partitions
+ // We will look into all the partitions, thus we create a list of cursors.
+ List<EntryFilteringCursor> cursors = new ArrayList<EntryFilteringCursor>();
+
+ for ( Partition partition : partitions.values() )
{
- List<EntryFilteringCursor> cursors = new ArrayList<EntryFilteringCursor>();
+ Dn contextDn = partition.getSuffixDn();
+ HasEntryOperationContext hasEntryContext = new HasEntryOperationContext(
+ searchContext.getSession(), contextDn );
- for ( Partition partition : partitions.values() )
+ // search only if the context entry exists
+ if ( partition.hasEntry( hasEntryContext ) )
{
- Dn contextDn = partition.getSuffixDn();
- HasEntryOperationContext hasEntryContext = new HasEntryOperationContext(
- searchContext.getSession(), contextDn );
-
- // search only if the context entry exists
- if ( partition.hasEntry( hasEntryContext ) )
- {
- searchContext.setDn( contextDn );
- searchContext.setScope( SearchScope.OBJECT );
- cursors.add( partition.search( searchContext ) );
- }
+ searchContext.setDn( contextDn );
+ searchContext.setScope( SearchScope.OBJECT );
+ cursors.add( partition.search( searchContext ) );
}
-
- return new CursorList( cursors, searchContext );
}
- else if ( isSublevelScope )
+
+ return new CursorList( cursors, searchContext );
+ }
+ else
+ {
+ // This is a SUBLEVEL search. We will do multiple searches and wrap
+ // a CursorList into the EntryFilteringCursor
+ List<EntryFilteringCursor> cursors = new ArrayList<EntryFilteringCursor>();
+
+ for ( Partition partition : partitions.values() )
{
- List<EntryFilteringCursor> cursors = new ArrayList<EntryFilteringCursor>();
+ Dn contextDn = partition.getSuffixDn();
+ HasEntryOperationContext hasEntryContext = new HasEntryOperationContext(
+ searchContext.getSession(), contextDn );
- for ( Partition partition : partitions.values() )
+ if ( partition.hasEntry( hasEntryContext ) )
{
- Entry entry = partition.lookup( new LookupOperationContext( directoryService.getAdminSession(),
- partition.getSuffixDn() ) );
-
- if ( entry != null )
- {
- Partition backend = getPartition( entry.getDn() );
- searchContext.setDn( entry.getDn() );
- cursors.add( backend.search( searchContext ) );
- }
+ searchContext.setDn( contextDn );
+ EntryFilteringCursor cursor = partition.search( searchContext );
+ cursors.add( cursor );
}
-
- // don't feed the above Cursors' list to a BaseEntryFilteringCursor it is skipping the naming context entry of each partition
- return new CursorList( cursors, searchContext );
}
- // TODO : handle searches based on the RootDSE
- throw new LdapNoSuchObjectException();
+ // don't feed the above Cursors' list to a BaseEntryFilteringCursor it is skipping the naming context entry of each partition
+ return new CursorList( cursors, searchContext );
}
-
- if ( !base.isSchemaAware() )
- {
- base.apply( schemaManager );
- }
-
- Partition backend = getPartition( base );
-
- return backend.search( searchContext );
}