Author: elecharny Date: Wed Apr 11 12:51:45 2012 New Revision: 1324744 URL: http://svn.apache.org/viewvc?rev=1324744&view=rev Log: Merged the index branch into trunk : the OneLevelIndex has been removed, and all the cursors have been closed Added: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/move/MoveIT.java - copied unchanged from r1324714, directory/apacheds/branches/index-work/core-integ/src/test/java/org/apache/directory/server/core/operations/move/MoveIT.java directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/ChildrenCursor.java - copied unchanged from r1324714, directory/apacheds/branches/index-work/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/search/impl/ChildrenCursor.java Modified: directory/apacheds/trunk/ (props changed) directory/apacheds/trunk/all/ (props changed) directory/apacheds/trunk/apache-felix/ApacheDS-OSGI.launch directory/apacheds/trunk/core/ (props changed) directory/apacheds/trunk/core-annotations/ (props changed) directory/apacheds/trunk/core-api/ (props changed) 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/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/filtering/EntryFilteringCursor.java directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/schema/SchemaPartition.java directory/apacheds/trunk/core-avl/ (props changed) directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/ArrayTreeCursor.java directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlSingletonOrOrderedSetCursor.java directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeCursor.java directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeMapNoDupsWrapperCursor.java directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/KeyTupleAvlCursor.java directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/ArrayTreeCursorTest.java directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeCursorTest.java directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeMapNoDupsCursorTest.java directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeMarshallerTest.java directory/apacheds/trunk/core-constants/ (props changed) directory/apacheds/trunk/core-constants/src/main/java/org/apache/directory/server/constants/ApacheSchemaConstants.java directory/apacheds/trunk/core-integ/ (props changed) directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/authz/AuthorizationServiceAsNonAdminIT.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/collective/CollectiveAttributeServiceIT.java (contents, props changed) 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/jndi/DIRSERVER169IT.java directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/jndi/ListIT.java directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operational/OperationalAttributeServiceIT.java directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/getRootDse/GetRootDsePerfIT.java directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/hasEntry/hasEntryPerfIT.java directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/list/ListPerfIT.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/SearchIT.java directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/search/SearchWithIndicesIT.java directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/schema/PartitionSchemaLoaderTest.java (props changed) directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/schema/SchemaServiceIT.java directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/suites/MigratedStockCoreISuite.java directory/apacheds/trunk/core-jndi/ (props changed) directory/apacheds/trunk/core/src/main/java/org/apache/directory/server/core/DefaultDirectoryService.java directory/apacheds/trunk/http-integration/ (props changed) directory/apacheds/trunk/i18n/ (props changed) directory/apacheds/trunk/installers/ (props changed) directory/apacheds/trunk/installers-maven-plugin/ (props changed) directory/apacheds/trunk/interceptor-kerberos/ (props changed) directory/apacheds/trunk/interceptors/authn/ (props changed) directory/apacheds/trunk/interceptors/authz/ (props changed) directory/apacheds/trunk/interceptors/changelog/ (props changed) directory/apacheds/trunk/interceptors/collective/ (props changed) directory/apacheds/trunk/interceptors/event/ (props changed) directory/apacheds/trunk/interceptors/exception/ (props changed) directory/apacheds/trunk/interceptors/journal/ (props changed) directory/apacheds/trunk/interceptors/operational/ (props changed) directory/apacheds/trunk/interceptors/subtree/ (props changed) directory/apacheds/trunk/interceptors/subtree/src/main/java/org/apache/directory/server/core/subtree/SubentryInterceptor.java directory/apacheds/trunk/interceptors/trigger/ (props changed) directory/apacheds/trunk/jdbm-partition/ (props changed) 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/DupsCursor.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/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/KeyBTreeCursor.java directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/KeyTupleArrayCursor.java directory/apacheds/trunk/jdbm-partition/src/main/java/org/apache/directory/server/core/partition/impl/btree/jdbm/KeyTupleBTreeCursor.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/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/DupsContainerCursorTest.java directory/apacheds/trunk/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/DupsCursorTest.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/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/JdbmTableNoDuplicatesTest.java directory/apacheds/trunk/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/JdbmTableWithDuplicatesTest.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/KeyTupleBTreeCursorTest.java directory/apacheds/trunk/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/impl/btree/jdbm/NoDupsCursorTest.java directory/apacheds/trunk/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/tree/ (props changed) directory/apacheds/trunk/jdbm-partition/src/test/java/org/apache/directory/server/core/partition/tree/PartitionTreeTest.java (props changed) directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/server/ (props changed) directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/server/kerberos/protocol/codec/KerberosProtocolCodecFactory.java (props changed) directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/types/PaDataType.java (props changed) directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/codec/types/SamType.java (props changed) directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/components/Checksum.java (props changed) directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/components/EncryptionKey.java (props changed) directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/components/PaData.java (props changed) directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/crypto/checksum/ChecksumType.java (props changed) directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/flags/ (props changed) directory/apacheds/trunk/kerberos-codec/src/main/java/org/apache/directory/shared/kerberos/messages/KrbError.java (props changed) directory/apacheds/trunk/kerberos-codec/src/test/java/org/apache/directory/server/ (props changed) directory/apacheds/trunk/kerberos-test/ (props changed) directory/apacheds/trunk/ldap-client-test/ (props changed) directory/apacheds/trunk/ldif-partition/ (props changed) directory/apacheds/trunk/ldif-partition/src/main/java/org/apache/directory/server/core/partition/ldif/SingleFileLdifPartition.java directory/apacheds/trunk/ldif-partition/src/test/java/org/apache/directory/server/core/partition/ldif/LdifPartitionTest.java directory/apacheds/trunk/ldif-partition/src/test/java/org/apache/directory/server/core/partition/ldif/SingleFileLdifPartitionTest.java directory/apacheds/trunk/protocol-changepw/ (props changed) directory/apacheds/trunk/protocol-dhcp/ (props changed) directory/apacheds/trunk/protocol-dns/ (props changed) directory/apacheds/trunk/protocol-kerberos/ (props changed) directory/apacheds/trunk/protocol-ldap/ (props changed) directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/LdapSession.java directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/handlers/UnbindHandler.java directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/consumer/ReplicationConsumerImpl.java (props changed) directory/apacheds/trunk/protocol-ldap/src/main/java/org/apache/directory/server/ldap/replication/provider/ReplicaJournalCursor.java directory/apacheds/trunk/protocol-ldap/src/test/java/org/apache/directory/server/ldap/JournalTest.java directory/apacheds/trunk/protocol-ntp/ (props changed) directory/apacheds/trunk/protocol-shared/ (props changed) directory/apacheds/trunk/server-annotations/ (props changed) directory/apacheds/trunk/server-config/ (props changed) directory/apacheds/trunk/server-config/src/main/java/org/apache/directory/server/config/ConfigPartitionReader.java (props changed) directory/apacheds/trunk/server-config/src/main/resources/ (props changed) directory/apacheds/trunk/server-config/src/test/java/org/apache/directory/server/config/ConfigPartitionReaderTest.java (props changed) directory/apacheds/trunk/server-integ/ (props changed) 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/add/AddAliasIT.java directory/apacheds/trunk/server-integ/src/test/java/org/apache/directory/server/operations/add/AddingEntriesWithSpecialCharactersInRDNIT.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-jndi/ (props changed) directory/apacheds/trunk/server-replication/ (props changed) directory/apacheds/trunk/server-tools/ (props changed) directory/apacheds/trunk/service/ (props changed) directory/apacheds/trunk/service-builder/ (props changed) directory/apacheds/trunk/test-framework/ (props changed) directory/apacheds/trunk/xdbm-partition/ (props changed) 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/IndexCursorAdaptor.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/AbstractIndexCursor.java directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/AbstractTable.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/ParentIdAndRdn.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/AvlRdnIndex.java directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/impl/avl/AvlTable.java directory/apacheds/trunk/xdbm-partition/src/main/java/org/apache/directory/server/xdbm/impl/avl/AvlTableDupsCursor.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/ApproximateCursor.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/EqualityCursor.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/LessEqCursor.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/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/PresenceCursor.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/SubtreeScopeCursor.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/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/impl/avl/AvlTableTest.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/OneLevelScopeTest.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-partition/src/test/java/org/apache/directory/server/xdbm/search/impl/SubtreeScopeTest.java directory/apacheds/trunk/xdbm-tools/ (props changed) Propchange: directory/apacheds/trunk/ ------------------------------------------------------------------------------ Merged /directory/apacheds/branches/index-work:r1304337-1324714 Propchange: directory/apacheds/trunk/all/ ------------------------------------------------------------------------------ Merged /directory/apacheds/branches/index-work/all:r1304337-1324714 Modified: directory/apacheds/trunk/apache-felix/ApacheDS-OSGI.launch URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/apache-felix/ApacheDS-OSGI.launch?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/apache-felix/ApacheDS-OSGI.launch (original) +++ directory/apacheds/trunk/apache-felix/ApacheDS-OSGI.launch Wed Apr 11 12:51:45 2012 @@ -1,15 +1,19 @@ - + - + + + + - - - + + + + Propchange: directory/apacheds/trunk/core/ ------------------------------------------------------------------------------ Merged /directory/apacheds/branches/index-work/core:r1304337-1324714 Propchange: directory/apacheds/trunk/core-annotations/ ------------------------------------------------------------------------------ Merged /directory/apacheds/branches/index-work/core-annotations:r1304337-1324714 Propchange: directory/apacheds/trunk/core-api/ ------------------------------------------------------------------------------ Merged /directory/apacheds/branches/index-work/core-api:r1304337-1324714 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=1324744&r1=1324743&r2=1324744&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 Wed Apr 11 12:51:45 2012 @@ -38,6 +38,8 @@ import org.apache.directory.shared.ldap. import org.apache.directory.shared.ldap.model.message.SearchResultDoneImpl; import org.apache.directory.shared.ldap.model.message.SearchResultEntry; import org.apache.directory.shared.ldap.model.message.SearchResultEntryImpl; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** @@ -48,6 +50,9 @@ import org.apache.directory.shared.ldap. */ public class EntryToResponseCursor implements SearchCursor { + /** A dedicated log for cursors */ + private static final Logger LOG_CURSOR = LoggerFactory.getLogger( "CURSOR" ); + /** the underlying cursor */ private Cursor wrapped; @@ -61,6 +66,7 @@ public class EntryToResponseCursor imple public EntryToResponseCursor( int messageId, Cursor wrapped ) { + LOG_CURSOR.debug( "Creating EntryToResponseCursor {}", this ); this.wrapped = wrapped; this.messageId = messageId; } @@ -104,12 +110,14 @@ public class EntryToResponseCursor imple public void close() throws Exception { + LOG_CURSOR.debug( "Closing EntryToResponseCursor {}", this ); wrapped.close(); } public void close( Exception e ) throws Exception { + LOG_CURSOR.debug( "Closing EntryToResponseCursor {}", this ); wrapped.close( 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=1324744&r1=1324743&r2=1324744&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 Wed Apr 11 12:51:45 2012 @@ -29,6 +29,7 @@ import org.apache.directory.server.core. 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; @@ -56,6 +57,9 @@ public class BaseEntryFilteringCursor im /** the logger used by this class */ private static final Logger log = LoggerFactory.getLogger( BaseEntryFilteringCursor.class ); + /** A dedicated log for cursors */ + private static final Logger LOG_CURSOR = LoggerFactory.getLogger( "CURSOR" ); + /** the underlying wrapped search results Cursor */ private final Cursor wrapped; @@ -100,6 +104,7 @@ public class BaseEntryFilteringCursor im */ public BaseEntryFilteringCursor( Cursor wrapped, SearchingOperationContext operationContext ) { + LOG_CURSOR.debug( "Creating BaseEntryFilteringCursor {}", this ); this.wrapped = wrapped; this.operationContext = operationContext; this.filters = new ArrayList(); @@ -118,6 +123,7 @@ public class BaseEntryFilteringCursor im public BaseEntryFilteringCursor( Cursor wrapped, SearchingOperationContext operationContext, List filters ) { + LOG_CURSOR.debug( "Creating BaseEntryFilteringCursor {}", this ); this.wrapped = wrapped; this.operationContext = operationContext; this.filters = new ArrayList(); @@ -160,7 +166,6 @@ 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) */ @@ -169,9 +174,8 @@ public class BaseEntryFilteringCursor im return filters.remove( filter ); } - - /* (non-Javadoc) - * @see org.apache.directory.server.core.filtering.EntryFilteringCursor#getEntryFilters() + /** + * {@inheritDoc} */ public List getEntryFilters() { @@ -179,8 +183,8 @@ public class BaseEntryFilteringCursor im } - /* (non-Javadoc) - * @see org.apache.directory.server.core.filtering.EntryFilteringCursor#getOperationContext() + /** + * {@inheritDoc} */ public SearchingOperationContext getOperationContext() { @@ -191,7 +195,6 @@ public class BaseEntryFilteringCursor im // ------------------------------------------------------------------------ // Cursor Interface Methods // ------------------------------------------------------------------------ - /* * @see Cursor#after(Object) */ @@ -204,11 +207,8 @@ public class BaseEntryFilteringCursor im } - /* - * @see Cursor#afterLast() - */ - /* (non-Javadoc) - * @see org.apache.directory.server.core.filtering.EntryFilteringCursor#afterLast() + /** + * {@inheritDoc} */ public void afterLast() throws Exception { @@ -217,11 +217,8 @@ public class BaseEntryFilteringCursor im } - /* - * @see Cursor#available() - */ - /* (non-Javadoc) - * @see org.apache.directory.server.core.filtering.EntryFilteringCursor#available() + /** + * {@inheritDoc} */ public boolean available() { @@ -241,11 +238,8 @@ public class BaseEntryFilteringCursor im } - /* - * @see Cursor#beforeFirst() - */ - /* (non-Javadoc) - * @see org.apache.directory.server.core.filtering.EntryFilteringCursor#beforeFirst() + /** + * {@inheritDoc} */ public void beforeFirst() throws Exception { @@ -254,27 +248,23 @@ public class BaseEntryFilteringCursor im } - /* - * @see Cursor#close() - */ - /* (non-Javadoc) - * @see org.apache.directory.server.core.filtering.EntryFilteringCursor#close() + /** + * {@inheritDoc} */ public void close() throws Exception { + LOG_CURSOR.debug( "Closing BaseEntryFilteringCursor {}", this ); wrapped.close(); prefetched = null; } - /* - * @see Cursor#close() - */ - /* (non-Javadoc) - * @see org.apache.directory.server.core.filtering.EntryFilteringCursor#close() + /** + * {@inheritDoc} */ public void close( Exception reason ) throws Exception { + LOG_CURSOR.debug( "Closing BaseEntryFilteringCursor {}", this ); wrapped.close( reason ); prefetched = null; } @@ -286,11 +276,8 @@ public class BaseEntryFilteringCursor im } - /* - * @see Cursor#first() - */ - /* (non-Javadoc) - * @see org.apache.directory.server.core.filtering.EntryFilteringCursor#first() + /** + * {@inheritDoc} */ public boolean first() throws Exception { @@ -302,15 +289,13 @@ public class BaseEntryFilteringCursor im } beforeFirst(); + return next(); } - /* - * @see Cursor#get() - */ - /* (non-Javadoc) - * @see org.apache.directory.server.core.filtering.EntryFilteringCursor#get() + /** + * {@inheritDoc} */ public Entry get() throws Exception { @@ -323,11 +308,8 @@ public class BaseEntryFilteringCursor im } - /* - * @see Cursor#isClosed() - */ - /* (non-Javadoc) - * @see org.apache.directory.server.core.filtering.EntryFilteringCursor#isClosed() + /** + * {@inheritDoc} */ public boolean isClosed() throws Exception { @@ -335,11 +317,8 @@ public class BaseEntryFilteringCursor im } - /* - * @see Cursor#last() - */ - /* (non-Javadoc) - * @see org.apache.directory.server.core.filtering.EntryFilteringCursor#last() + /** + * {@inheritDoc} */ public boolean last() throws Exception { @@ -351,6 +330,7 @@ public class BaseEntryFilteringCursor im } afterLast(); + return previous(); } @@ -475,11 +455,8 @@ public class BaseEntryFilteringCursor im } - /* - * @see Cursor#next() - */ - /* (non-Javadoc) - * @see org.apache.directory.server.core.filtering.EntryFilteringCursor#next() + /** + * {@inheritDoc} */ public boolean next() throws Exception { @@ -533,7 +510,7 @@ public class BaseEntryFilteringCursor im for ( EntryFilter filter : filters ) { // if a filter rejects then short and continue with outer loop - if ( !( accepted &= filter.accept( getOperationContext(), tempResult ) ) ) + if ( !filter.accept( getOperationContext(), tempResult ) ) { continue outer; } @@ -553,11 +530,8 @@ public class BaseEntryFilteringCursor im } - /* - * @see Cursor#previous() - */ - /* (non-Javadoc) - * @see org.apache.directory.server.core.filtering.EntryFilteringCursor#previous() + /** + * {@inheritDoc} */ public boolean previous() throws Exception { @@ -602,7 +576,7 @@ public class BaseEntryFilteringCursor im for ( EntryFilter filter : filters ) { // if a filter rejects then short and continue with outer loop - if ( !( accepted &= filter.accept( getOperationContext(), tempResult ) ) ) + if ( !filter.accept( getOperationContext(), tempResult ) ) { continue outer; } @@ -613,6 +587,7 @@ public class BaseEntryFilteringCursor im */ prefetched = tempResult; filterContents( prefetched ); + return true; } @@ -622,11 +597,8 @@ public class BaseEntryFilteringCursor im } - /* - * @see Iterable#iterator() - */ - /* (non-Javadoc) - * @see org.apache.directory.server.core.filtering.EntryFilteringCursor#iterator() + /** + * {@inheritDoc} */ public Iterator iterator() { 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=1324744&r1=1324743&r2=1324744&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 Wed Apr 11 12:51:45 2012 @@ -46,6 +46,9 @@ import org.slf4j.LoggerFactory; */ public class CursorList implements EntryFilteringCursor { + /** A dedicated log for cursors */ + private static final Logger LOG_CURSOR = LoggerFactory.getLogger( "CURSOR" ); + /** The inner List */ private final List list; @@ -81,6 +84,8 @@ public class CursorList implements Entry */ public CursorList( int start, List list, int end, SearchingOperationContext searchContext ) { + LOG_CURSOR.debug( "Creating CursorList {}", this ); + if ( list != null ) { this.list = list; @@ -130,7 +135,7 @@ public class CursorList implements Entry */ public boolean available() { - if ( index >= 0 && index < end ) + if ( ( index >= 0 ) && ( index < end ) ) { return list.get( index ).available(); } @@ -164,7 +169,7 @@ public class CursorList implements Entry */ public void beforeFirst() throws Exception { - this.index = 0; + index = 0; list.get( index ).beforeFirst(); } @@ -174,7 +179,7 @@ public class CursorList implements Entry */ public void afterLast() throws Exception { - this.index = end - 1; + index = end - 1; list.get( index ).afterLast(); } @@ -187,6 +192,7 @@ public class CursorList implements Entry if ( list.size() > 0 ) { index = start; + return list.get( index ).first(); } @@ -267,6 +273,7 @@ public class CursorList implements Entry if ( !list.get( index ).previous() ) { index--; + if ( index != -1 ) { return list.get( index ).previous(); @@ -288,6 +295,7 @@ public class CursorList implements Entry if ( !list.get( index ).previous() ) { index = -1; + return false; } else @@ -311,18 +319,19 @@ 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 ( ( list.size() ) > 0 && ( index == -1 ) ) { index = start; return list.get( index ).next(); } // if the index plus one is less than the end then increment and return true - if ( list.size() > 0 && index + 1 < end ) + if ( ( list.size() > 0 ) && ( index + 1 < end ) ) { if ( !list.get( index ).next() ) { index++; + if ( index < end ) { return list.get( index ).next(); @@ -339,7 +348,7 @@ public class CursorList implements Entry } // if the index plus one is equal to the end then increment and return false - if ( list.size() > 0 && index + 1 == end ) + if ( ( list.size() > 0 ) && ( index + 1 == end ) ) { if ( !list.get( index ).next() ) { @@ -380,6 +389,9 @@ public class CursorList implements Entry } + /** + * {@inheritDoc} + */ public boolean addEntryFilter( EntryFilter filter ) { for ( EntryFilteringCursor efc : list ) @@ -392,12 +404,18 @@ public class CursorList implements Entry } + /** + * {@inheritDoc} + */ public List getEntryFilters() { throw new UnsupportedOperationException( "CursorList doesn't support this operation" ); } + /** + * {@inheritDoc} + */ public SearchingOperationContext getOperationContext() { return searchContext; @@ -429,12 +447,14 @@ public class CursorList implements Entry public void close() throws Exception { + LOG_CURSOR.debug( "Closing CursorList {}", this ); close( null ); } public void close( Exception reason ) throws Exception { + LOG_CURSOR.debug( "Closing CursorList {}", this ); closed = true; for ( Cursor c : list ) @@ -470,12 +490,14 @@ public class CursorList implements Entry } + /** + * {@inheritDoc} + */ public void setClosureMonitor( ClosureMonitor monitor ) { - for ( Cursor c : list ) + for ( EntryFilteringCursor c : list ) { c.setClosureMonitor( monitor ); } } - } Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/EntryFilteringCursor.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/EntryFilteringCursor.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/EntryFilteringCursor.java (original) +++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/filtering/EntryFilteringCursor.java Wed Apr 11 12:51:45 2012 @@ -28,30 +28,12 @@ import org.apache.directory.shared.ldap. /** - * - * TODO Add Javadoc ! + * A wrapper on top of a Cursor used to filter entries we get from the backend. * * @author Apache Directory Project */ public interface EntryFilteringCursor extends Cursor { - - /** - * Gets whether or not this BaseEntryFilteringCursor has been abandoned. - * - * @return true if abandoned, false if not - */ - public abstract boolean isAbandoned(); - - - /** - * Sets whether this BaseEntryFilteringCursor has been abandoned. - * - * @param abandoned true if abandoned, false if not - */ - public abstract void setAbandoned( boolean abandoned ); - - /** * Adds an entry filter to this BaseEntryFilteringCursor at the very end of * the filter list. EntryFilters are applied in the order of addition. @@ -59,17 +41,7 @@ public interface EntryFilteringCursor ex * @param filter a filter to apply to the entries * @return the result of {@link List#add(Object)} */ - public abstract boolean addEntryFilter( EntryFilter filter ); - - - /** - * Removes an entry filter to this BaseEntryFilteringCursor at the very end of - * the filter list. - * - * @param filter a filter to remove from the filter list - * @return the result of {@link List#remove(Object)} - */ - public abstract boolean removeEntryFilter( EntryFilter filter ); + boolean addEntryFilter( EntryFilter filter ); /** @@ -77,11 +49,11 @@ public interface EntryFilteringCursor ex * * @return an unmodifiable list of EntryFilters applied */ - public abstract List getEntryFilters(); + List getEntryFilters(); /** * @return the operationContext */ - public abstract SearchingOperationContext getOperationContext(); + SearchingOperationContext getOperationContext(); } \ No newline at end of file Modified: directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/schema/SchemaPartition.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/schema/SchemaPartition.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/schema/SchemaPartition.java (original) +++ directory/apacheds/trunk/core-api/src/main/java/org/apache/directory/server/core/api/schema/SchemaPartition.java Wed Apr 11 12:51:45 2012 @@ -310,6 +310,8 @@ public final class SchemaPartition exten { nbEntry++; } + + cursor.close(); return nbEntry; } Propchange: directory/apacheds/trunk/core-avl/ ------------------------------------------------------------------------------ Merged /directory/apacheds/branches/index-work/core-avl:r1304337-1324714 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=1324744&r1=1324743&r2=1324744&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 Wed Apr 11 12:51:45 2012 @@ -22,6 +22,8 @@ package org.apache.directory.server.core import org.apache.directory.shared.ldap.model.cursor.AbstractCursor; import org.apache.directory.shared.ldap.model.cursor.InvalidCursorPositionException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** @@ -31,6 +33,9 @@ import org.apache.directory.shared.ldap. */ public class ArrayTreeCursor extends AbstractCursor { + /** A dedicated log for cursors */ + private static final Logger LOG_CURSOR = LoggerFactory.getLogger( "CURSOR" ); + /** The underlying ArrayTree */ private ArrayTree array; @@ -47,6 +52,7 @@ public class ArrayTreeCursor extends */ public ArrayTreeCursor( ArrayTree array ) { + LOG_CURSOR.debug( "Creating ArrayTreeCursor {}", this ); this.array = array; position = Position.BEFORE_FIRST; } @@ -292,4 +298,24 @@ public class ArrayTreeCursor extends throw new IllegalStateException( "Unexpected position " + position ); } } + + + /** + * {@inheritDoc} + */ + public void close() throws Exception + { + LOG_CURSOR.debug( "Closing ArrayTreeCursor {}", this ); + super.close(); + } + + + /** + * {@inheritDoc} + */ + public void close( Exception reason ) throws Exception + { + LOG_CURSOR.debug( "Closing ArrayTreeCursor {}", this ); + super.close( reason ); + } } Modified: directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlSingletonOrOrderedSetCursor.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlSingletonOrOrderedSetCursor.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlSingletonOrOrderedSetCursor.java (original) +++ directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlSingletonOrOrderedSetCursor.java Wed Apr 11 12:51:45 2012 @@ -25,6 +25,8 @@ import java.util.Comparator; import org.apache.directory.shared.ldap.model.cursor.AbstractCursor; import org.apache.directory.shared.ldap.model.cursor.InvalidCursorPositionException; import org.apache.directory.shared.ldap.model.cursor.Tuple; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** @@ -34,6 +36,9 @@ import org.apache.directory.shared.ldap. */ public class AvlSingletonOrOrderedSetCursor extends AbstractCursor>> { + /** A dedicated log for cursors */ + private static final Logger LOG_CURSOR = LoggerFactory.getLogger( "CURSOR" ); + /** The underlying AVL tree map */ private AvlTreeMap tree; @@ -48,6 +53,7 @@ public class AvlSingletonOrOrderedSetCur public AvlSingletonOrOrderedSetCursor( AvlTreeMap tree ) { + LOG_CURSOR.debug( "Creating AvlSingletonOrOrderedSetCursor {}", this ); this.tree = tree; } @@ -285,4 +291,24 @@ public class AvlSingletonOrOrderedSetCur { throw new UnsupportedOperationException( "This Cursor does not support duplicate keys." ); } + + + /** + * {@inheritDoc} + */ + public void close() throws Exception + { + LOG_CURSOR.debug( "Closing AvlSingletonOrOrderedSetCursor {}", this ); + super.close(); + } + + + /** + * {@inheritDoc} + */ + public void close( Exception reason ) throws Exception + { + LOG_CURSOR.debug( "Closing AvlSingletonOrOrderedSetCursor {}", this ); + super.close( reason ); + } } Modified: directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeCursor.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeCursor.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeCursor.java (original) +++ directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeCursor.java Wed Apr 11 12:51:45 2012 @@ -22,6 +22,8 @@ package org.apache.directory.server.core import org.apache.directory.shared.ldap.model.cursor.AbstractCursor; import org.apache.directory.shared.ldap.model.cursor.InvalidCursorPositionException; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** @@ -31,6 +33,9 @@ import org.apache.directory.shared.ldap. */ public class AvlTreeCursor extends AbstractCursor { + /** A dedicated log for cursors */ + private static final Logger LOG_CURSOR = LoggerFactory.getLogger( "CURSOR" ); + /** The underlying AVL tree */ private AvlTree tree; @@ -43,6 +48,7 @@ public class AvlTreeCursor extends Ab public AvlTreeCursor( AvlTree tree ) { + LOG_CURSOR.debug( "Creating AvlTreeCursor {}", this ); this.tree = tree; } @@ -242,4 +248,24 @@ public class AvlTreeCursor extends Ab throw new IllegalStateException( "Unexpected position " + position ); } } + + + /** + * {@inheritDoc} + */ + public void close() throws Exception + { + LOG_CURSOR.debug( "Closing AvlTreeCursor {}", this ); + super.close(); + } + + + /** + * {@inheritDoc} + */ + public void close( Exception reason ) throws Exception + { + LOG_CURSOR.debug( "Closing AvlTreeCursor {}", this ); + super.close( reason ); + } } Modified: directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeMapNoDupsWrapperCursor.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeMapNoDupsWrapperCursor.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeMapNoDupsWrapperCursor.java (original) +++ directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/AvlTreeMapNoDupsWrapperCursor.java Wed Apr 11 12:51:45 2012 @@ -23,6 +23,8 @@ package org.apache.directory.server.core import org.apache.directory.shared.ldap.model.cursor.AbstractCursor; import org.apache.directory.shared.ldap.model.cursor.InvalidCursorPositionException; import org.apache.directory.shared.ldap.model.cursor.Tuple; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** @@ -34,12 +36,15 @@ import org.apache.directory.shared.ldap. */ public class AvlTreeMapNoDupsWrapperCursor extends AbstractCursor> { + /** A dedicated log for cursors */ + private static final Logger LOG_CURSOR = LoggerFactory.getLogger( "CURSOR" ); + private final AvlSingletonOrOrderedSetCursor wrapped; private final Tuple returnedTuple = new Tuple(); - public AvlTreeMapNoDupsWrapperCursor( AvlSingletonOrOrderedSetCursor wrapped ) { + LOG_CURSOR.debug( "Creating AvlTreeMapNoDupsWrapperCursor {}", this ); this.wrapped = wrapped; } @@ -112,7 +117,6 @@ public class AvlTreeMapNoDupsWrapperCurs if ( tuple.getValue().isOrderedSet() ) { - System.out.println( "tuple key = " + tuple.getKey() ); tuple.getValue().getOrderedSet().printTree(); } @@ -140,4 +144,18 @@ public class AvlTreeMapNoDupsWrapperCurs { return wrapped.previous(); } + + + public void close() throws Exception + { + LOG_CURSOR.debug( "Closing AvlTreeMapNoDupsWrapperCursor {}", this ); + wrapped.close(); + } + + + public void close( Exception reason ) throws Exception + { + LOG_CURSOR.debug( "Closing AvlTreeMapNoDupsWrapperCursor {}", this ); + wrapped.close( reason ); + } } Modified: directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/KeyTupleAvlCursor.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/KeyTupleAvlCursor.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/KeyTupleAvlCursor.java (original) +++ directory/apacheds/trunk/core-avl/src/main/java/org/apache/directory/server/core/avltree/KeyTupleAvlCursor.java Wed Apr 11 12:51:45 2012 @@ -23,6 +23,8 @@ import org.apache.directory.server.i18n. import org.apache.directory.shared.ldap.model.cursor.AbstractCursor; import org.apache.directory.shared.ldap.model.cursor.InvalidCursorPositionException; import org.apache.directory.shared.ldap.model.cursor.Tuple; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; /** @@ -34,6 +36,9 @@ import org.apache.directory.shared.ldap. */ public class KeyTupleAvlCursor extends AbstractCursor> { + /** A dedicated log for cursors */ + private static final Logger LOG_CURSOR = LoggerFactory.getLogger( "CURSOR" ); + private final AvlTreeCursor wrapped; private final K key; @@ -49,6 +54,7 @@ public class KeyTupleAvlCursor ext */ public KeyTupleAvlCursor( AvlTree avlTree, K key ) { + LOG_CURSOR.debug( "Creating KeyTupleAvlCursor {}", this ); this.key = key; this.wrapped = new AvlTreeCursor( avlTree ); } @@ -204,4 +210,34 @@ public class KeyTupleAvlCursor ext throw new InvalidCursorPositionException(); } + + + /** + * {@inheritDoc} + */ + public void close() throws Exception + { + LOG_CURSOR.debug( "Closing KeyTupleAvlCursor {}", this ); + super.close(); + + if ( wrapped != null ) + { + wrapped.close(); + } + } + + + /** + * {@inheritDoc} + */ + public void close( Exception cause ) throws Exception + { + LOG_CURSOR.debug( "Closing KeyTupleAvlCursor {}", this ); + super.close( cause ); + + if ( wrapped != null ) + { + wrapped.close( cause ); + } + } } \ No newline at end of file Modified: directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/ArrayTreeCursorTest.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/ArrayTreeCursorTest.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/ArrayTreeCursorTest.java (original) +++ directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/ArrayTreeCursorTest.java Wed Apr 11 12:51:45 2012 @@ -185,6 +185,8 @@ public class ArrayTreeCursorTest assertTrue( cursor.previous() ); assertTrue( cursor.available() ); assertEquals( 7, ( int ) cursor.get() ); + + cursor.close(); } @@ -383,6 +385,8 @@ public class ArrayTreeCursorTest cursor.before( 2 ); assertFalse( cursor.previous() ); assertFalse( cursor.available() ); + + cursor.close(); } class IntegerComparator implements Comparator Modified: directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeCursorTest.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeCursorTest.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeCursorTest.java (original) +++ directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeCursorTest.java Wed Apr 11 12:51:45 2012 @@ -185,6 +185,8 @@ public class AvlTreeCursorTest assertTrue( cursor.previous() ); assertTrue( cursor.available() ); assertEquals( 7, ( int ) cursor.get() ); + + cursor.close(); } @@ -383,6 +385,7 @@ public class AvlTreeCursorTest cursor.before( 2 ); assertFalse( cursor.previous() ); assertFalse( cursor.available() ); + cursor.close(); } class IntegerComparator implements Comparator Modified: directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeMapNoDupsCursorTest.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeMapNoDupsCursorTest.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeMapNoDupsCursorTest.java (original) +++ directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeMapNoDupsCursorTest.java Wed Apr 11 12:51:45 2012 @@ -30,6 +30,7 @@ import java.util.Comparator; import org.apache.directory.shared.ldap.model.cursor.InvalidCursorPositionException; import org.apache.directory.shared.ldap.model.cursor.Tuple; +import org.junit.After; import org.junit.Before; import org.junit.Test; @@ -64,6 +65,13 @@ public class AvlTreeMapNoDupsCursorTest cursor = new AvlSingletonOrOrderedSetCursor( tree ); } + + + @After + public void cleanup() throws Exception + { + cursor.close(); + } @Test @@ -105,9 +113,6 @@ public class AvlTreeMapNoDupsCursorTest cursor.after( new Tuple>( 3, null ) ); assertFalse( cursor.available() ); - - cursor.close(); - assertTrue( cursor.isClosed() ); } @@ -480,5 +485,6 @@ public class AvlTreeMapNoDupsCursorTest assertEquals( 10, valCursor.get().intValue() ); assertFalse( valCursor.next() ); + valCursor.close(); } } Modified: directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeMarshallerTest.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeMarshallerTest.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeMarshallerTest.java (original) +++ directory/apacheds/trunk/core-avl/src/test/java/org/apache/directory/server/core/avltree/AvlTreeMarshallerTest.java Wed Apr 11 12:51:45 2012 @@ -299,6 +299,8 @@ public class AvlTreeMarshallerTest assertEquals( ii, ( int ) cursor.get() ); cursor.next(); } + + cursor.close(); } @@ -336,6 +338,8 @@ public class AvlTreeMarshallerTest // this marshaller fails to preserve last node reference assertNotNull( deserialized.getLast() ); assertEquals( 99, ( int ) deserialized.getLast().getKey() ); + + cursor.close(); } @@ -370,6 +374,8 @@ public class AvlTreeMarshallerTest assertEquals( ii, ( int ) cursor.get().intValue ); cursor.next(); } + + cursor.close(); } static class Bar implements Serializable Propchange: directory/apacheds/trunk/core-constants/ ------------------------------------------------------------------------------ Merged /directory/apacheds/branches/index-work/core-constants:r1304337-1324714 Modified: directory/apacheds/trunk/core-constants/src/main/java/org/apache/directory/server/constants/ApacheSchemaConstants.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-constants/src/main/java/org/apache/directory/server/constants/ApacheSchemaConstants.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-constants/src/main/java/org/apache/directory/server/constants/ApacheSchemaConstants.java (original) +++ directory/apacheds/trunk/core-constants/src/main/java/org/apache/directory/server/constants/ApacheSchemaConstants.java Wed Apr 11 12:51:45 2012 @@ -98,10 +98,6 @@ public final class ApacheSchemaConstants public final static String APACHE_PRESENCE_AT = "ApachePresence"; public final static String APACHE_PRESENCE_AT_OID = "1.3.6.1.4.1.18060.0.4.1.2.3"; - // ApacheOneLevel - public final static String APACHE_ONE_LEVEL_AT = "apacheOneLevel"; - public final static String APACHE_ONE_LEVEL_AT_OID = "1.3.6.1.4.1.18060.0.4.1.2.4"; - // ApacheOneAlias public final static String APACHE_ONE_ALIAS_AT = "apacheOneAlias"; public final static String APACHE_ONE_ALIAS_AT_OID = "1.3.6.1.4.1.18060.0.4.1.2.5"; Propchange: directory/apacheds/trunk/core-integ/ ------------------------------------------------------------------------------ Merged /directory/apacheds/branches/index-work/core-integ:r1304337-1324714 Modified: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/authz/AuthorizationServiceAsNonAdminIT.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/authz/AuthorizationServiceAsNonAdminIT.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/authz/AuthorizationServiceAsNonAdminIT.java (original) +++ directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/authz/AuthorizationServiceAsNonAdminIT.java Wed Apr 11 12:51:45 2012 @@ -180,6 +180,8 @@ public class AuthorizationServiceAsNonAd { fail(); } + + cursor.close(); } catch ( LdapNoPermissionException e ) { 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=1324744&r1=1324743&r2=1324744&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 Wed Apr 11 12:51:45 2012 @@ -195,6 +195,7 @@ public class SearchAuthorizationIT exten } results.close(); + reusableAdminCon.delete( rdn ); } @@ -319,6 +320,8 @@ public class SearchAuthorizationIT exten results.put( result.getDn().getName(), result ); counter++; } + + cursor.close(); recursivelyDelete( base ); @@ -348,6 +351,8 @@ public class SearchAuthorizationIT exten results.get(); counter++; } + + results.close(); assertEquals( 10, counter ); recursivelyDelete( base ); @@ -958,7 +963,7 @@ public class SearchAuthorizationIT exten * @return the single search result if access is allowed or null * @throws Exception if the search fails w/ exception other than no permission */ - private Entry checkCanSearhSubentryAs( String uid, String password, Dn dn ) throws Exception + private Entry checkCanSearchSubentryAs( String uid, String password, Dn dn ) throws Exception { LdapConnection userCtx = getConnectionAs( new Dn( "uid=" + uid + ",ou=users,ou=system" ), password ); Entry result = null; @@ -1003,7 +1008,7 @@ public class SearchAuthorizationIT exten "}" ); // check and see if we can access the subentry now - assertNotNull( checkCanSearhSubentryAs( "billyd", "billyd", new Dn( "cn=anybodySearch,ou=system" ) ) ); + assertNotNull( checkCanSearchSubentryAs( "billyd", "billyd", new Dn( "cn=anybodySearch,ou=system" ) ) ); // now add a denial to prevent all users except the admin from accessing the subentry addSubentryACI( @@ -1025,7 +1030,7 @@ public class SearchAuthorizationIT exten "}" ); // now we should not be able to access the subentry with a search - assertNull( checkCanSearhSubentryAs( "billyd", "billyd", new Dn( "cn=anybodySearch,ou=system" ) ) ); + assertNull( checkCanSearchSubentryAs( "billyd", "billyd", new Dn( "cn=anybodySearch,ou=system" ) ) ); } @@ -1136,7 +1141,7 @@ public class SearchAuthorizationIT exten "}" ); // check and see if we can access the subentry now - assertNotNull( checkCanSearhSubentryAs( "billyd", "billyd", new Dn( + assertNotNull( checkCanSearchSubentryAs( "billyd", "billyd", new Dn( "ou=phoneBook,uid=billyd,ou=users,ou=system" ) ) ); // now add a denial to prevent all users except the admin from accessing the subentry @@ -1159,7 +1164,7 @@ public class SearchAuthorizationIT exten "}" ); // now we should not be able to access the subentry with a search - assertNull( checkCanSearhSubentryAs( "billyd", "billyd", new Dn( "ou=phoneBook,uid=billyd,ou=users,ou=system" ) ) ); + assertNull( checkCanSearchSubentryAs( "billyd", "billyd", new Dn( "ou=phoneBook,uid=billyd,ou=users,ou=system" ) ) ); } Modified: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/collective/CollectiveAttributeServiceIT.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/collective/CollectiveAttributeServiceIT.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/collective/CollectiveAttributeServiceIT.java (original) +++ directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/collective/CollectiveAttributeServiceIT.java Wed Apr 11 12:51:45 2012 @@ -143,6 +143,8 @@ public class CollectiveAttributeServiceI resultMap.put( entry.getDn().getName(), entry ); } + + cursor.close(); return resultMap; } @@ -159,6 +161,8 @@ public class CollectiveAttributeServiceI Entry entry = cursor.get(); resultMap.put( entry.getDn().getName(), entry ); } + + cursor.close(); return resultMap; } @@ -177,6 +181,8 @@ public class CollectiveAttributeServiceI resultMap.put( entry.getDn().getName(), entry ); } + + cursor.close(); return resultMap; } @@ -344,6 +350,8 @@ public class CollectiveAttributeServiceI found = true; break; } + + cursor.close(); assertTrue( found ); } @@ -383,6 +391,8 @@ public class CollectiveAttributeServiceI assertTrue( entry.contains( "ou", "services" ) ); assertTrue( entry.contains( "c-ou", "configuration" ) ); } + + responses.close(); // ------------------------------------------------------------------ // test an entry that should show the collective attribute c-ou, Propchange: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/collective/CollectiveAttributeServiceIT.java ------------------------------------------------------------------------------ Merged /directory/apacheds/branches/index-work/core-integ/src/test/java/org/apache/directory/server/core/collective/CollectiveAttributeServiceIT.java:r1304337-1324714 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=1324744&r1=1324743&r2=1324744&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 Wed Apr 11 12:51:45 2012 @@ -116,6 +116,7 @@ public class ExceptionServiceIT extends EntryCursor cursor = getAdminConnection( getService() ).search( "ou=blah", "(objectClass=*)", SearchScope.ONELEVEL, "*" ); assertFalse( cursor.next() ); + cursor.close(); } @@ -132,6 +133,8 @@ public class ExceptionServiceIT extends SearchScope.ONELEVEL, "*" ); assertFalse( cursor.next() ); + + cursor.close(); } Modified: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/jndi/DIRSERVER169IT.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/jndi/DIRSERVER169IT.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/jndi/DIRSERVER169IT.java (original) +++ directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/jndi/DIRSERVER169IT.java Wed Apr 11 12:51:45 2012 @@ -160,5 +160,7 @@ public class DIRSERVER169IT extends Abst // We should have a match assertTrue( results.hasMore() ); + + results.close(); } } Modified: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/jndi/ListIT.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/jndi/ListIT.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/jndi/ListIT.java (original) +++ directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/jndi/ListIT.java Wed Apr 11 12:51:45 2012 @@ -30,6 +30,8 @@ import java.util.HashSet; import javax.naming.NameClassPair; import javax.naming.NamingEnumeration; +import javax.naming.directory.SearchControls; +import javax.naming.directory.SearchResult; import javax.naming.ldap.LdapContext; import org.apache.directory.server.core.annotations.CreateDS; @@ -109,11 +111,26 @@ public class ListIT extends AbstractLdap { NameClassPair ncp = list.next(); set.add( ncp.getName() ); + + System.out.println( ncp.getName() ); } assertTrue( set.contains( "uid=admin,ou=system" ) ); assertTrue( set.contains( "ou=users,ou=system" ) ); assertTrue( set.contains( "ou=groups,ou=system" ) ); + + System.out.println( "--------------------" ); + + SearchControls sc = new SearchControls(); + sc.setSearchScope( SearchControls.SUBTREE_SCOPE ); + NamingEnumeration ne = sysRoot.search( "", "(objectClass=*)", sc ); + + while ( ne.hasMoreElements() ) + { + SearchResult sr = ne.nextElement(); + + System.out.println( sr.getName() ); + } } Modified: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operational/OperationalAttributeServiceIT.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operational/OperationalAttributeServiceIT.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operational/OperationalAttributeServiceIT.java (original) +++ directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operational/OperationalAttributeServiceIT.java Wed Apr 11 12:51:45 2012 @@ -198,6 +198,8 @@ public class OperationalAttributeService // test to make sure op attribute do not occur - this is the control assertNull( entry.get( "creatorsName" ) ); assertNull( entry.get( "createTimestamp" ) ); + + responses.close(); // now we ask for all the op attributes and check to get them responses = connection.search( "ou=system", "(objectClass=*)", SearchScope.OBJECT, "creatorsName", @@ -210,6 +212,8 @@ public class OperationalAttributeService // We should not have any other operational Attribute assertNull( entry.get( "entryUuid" ) ); + + responses.close(); } Modified: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/getRootDse/GetRootDsePerfIT.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/getRootDse/GetRootDsePerfIT.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/getRootDse/GetRootDsePerfIT.java (original) +++ directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/getRootDse/GetRootDsePerfIT.java Wed Apr 11 12:51:45 2012 @@ -55,6 +55,8 @@ public class GetRootDsePerfIT extends Ab for ( int i = 0; i < nbIterations; i++ ) { + getRootDseContext.setCurrentInterceptor( 0 ); + if ( i % 1000 == 0 ) { long tt1 = System.currentTimeMillis(); Modified: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/hasEntry/hasEntryPerfIT.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/hasEntry/hasEntryPerfIT.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/hasEntry/hasEntryPerfIT.java (original) +++ directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/hasEntry/hasEntryPerfIT.java Wed Apr 11 12:51:45 2012 @@ -58,6 +58,8 @@ public class hasEntryPerfIT extends Abst for ( int i = 0; i < nbIterations; i++ ) { + hasEntryContext.setCurrentInterceptor( 0 ); + if ( i % 1000 == 0 ) { long tt1 = System.currentTimeMillis(); Modified: directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/list/ListPerfIT.java URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/list/ListPerfIT.java?rev=1324744&r1=1324743&r2=1324744&view=diff ============================================================================== --- directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/list/ListPerfIT.java (original) +++ directory/apacheds/trunk/core-integ/src/test/java/org/apache/directory/server/core/operations/list/ListPerfIT.java Wed Apr 11 12:51:45 2012 @@ -73,6 +73,8 @@ public class ListPerfIT extends Abstract for ( int i = 0; i < nbIterations; i++ ) { + listContext.setCurrentInterceptor( 0 ); + if ( i % 1000 == 0 ) { long tt1 = System.currentTimeMillis(); 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=1324744&r1=1324743&r2=1324744&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 Wed Apr 11 12:51:45 2012 @@ -450,6 +450,7 @@ public class AliasSearchIT extends Abstr cursor.beforeFirst(); List nextResults = new ArrayList(); + while ( nextResults.size() < count && cursor.next() ) { nextResults.add( cursor.get().getDn().getName() ); @@ -458,6 +459,7 @@ public class AliasSearchIT extends Abstr cursor.next(); List prevResults = new ArrayList(); + while ( cursor.previous() ) { prevResults.add( 0, cursor.get().getDn().getName() ); @@ -466,6 +468,8 @@ public class AliasSearchIT extends Abstr assertEquals( nextResults.size(), prevResults.size() ); assertEquals( nextResults, prevResults ); } + + cursor.close(); } catch ( UnsupportedOperationException e ) { @@ -493,6 +497,7 @@ public class AliasSearchIT extends Abstr cursor.afterLast(); List prevResults = new ArrayList(); + while ( prevResults.size() < count && cursor.previous() ) { prevResults.add( cursor.get().getDn().getName() ); @@ -501,6 +506,7 @@ public class AliasSearchIT extends Abstr cursor.previous(); List nextResults = new ArrayList(); + while ( cursor.next() ) { nextResults.add( 0, cursor.get().getDn().getName() ); @@ -509,6 +515,8 @@ public class AliasSearchIT extends Abstr assertEquals( nextResults.size(), prevResults.size() ); assertEquals( nextResults, prevResults ); } + + cursor.close(); } catch ( UnsupportedOperationException e ) { @@ -522,6 +530,7 @@ public class AliasSearchIT extends Abstr { List result = search( base, scope, filter, aliasDerefMode ); assertEquals( expectedResults.length, result.size() ); + for ( String expected : expectedResults ) { assertTrue( result.contains( expected ) ); @@ -577,6 +586,7 @@ public class AliasSearchIT extends Abstr EntryFilteringCursor cursor = getService().getAdminSession().search( new Dn( base ), scope, exprNode, aliasDerefMode, null ); cursor.beforeFirst(); + while ( cursor.next() ) { nextResults.add( cursor.get().getDn().getName() ); @@ -586,6 +596,7 @@ public class AliasSearchIT extends Abstr { List prevResults = new ArrayList(); cursor.afterLast(); + while ( cursor.previous() ) { prevResults.add( 0, cursor.get().getDn().getName() ); @@ -598,6 +609,10 @@ public class AliasSearchIT extends Abstr { LOG.warn( "Partition doesn't support previous test" ); } + finally + { + cursor.close(); + } return nextResults; }