You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2010/10/19 19:36:56 UTC

svn commit: r1024334 - in /directory/studio/branches/studio-connection-refactoring/plugins: connection.core/src/main/java/org/apache/directory/studio/connection/core/ connection.core/src/main/java/org/apache/directory/studio/connection/core/io/ connect...

Author: pamarcelot
Date: Tue Oct 19 17:36:56 2010
New Revision: 1024334

URL: http://svn.apache.org/viewvc?rev=1024334&view=rev
Log:
Added an abstraction layer for the StudioNamingEnumeration.
Updated sub-classes, added an abstract classes.
Updated depending classes accordingly.

Added:
    directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/AbstractStudioNamingEnumeration.java
      - copied, changed from r1024257, directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/CursorNamingEnumeration.java
    directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/StudioNamingEnumeration.java
    directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/
    directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/CursorStudioNamingEnumeration.java
      - copied, changed from r1024257, directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/CursorNamingEnumeration.java
    directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/DirectoryApiConnectionWrapper.java
      - copied, changed from r1024257, directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/DirectoryApiConnectionWrapper.java
    directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/jndi/JndiStudioNamingEnumeration.java
      - copied, changed from r1024257, directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/jndi/StudioNamingEnumeration.java
Removed:
    directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/CursorNamingEnumeration.java
    directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/DirectoryApiConnectionWrapper.java
    directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/jndi/StudioNamingEnumeration.java
Modified:
    directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/Connection.java
    directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/ConnectionWrapper.java
    directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/jndi/JNDIConnectionWrapper.java
    directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/ExportDsmlRunnable.java
    directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/ExportLdifRunnable.java
    directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/ImportDsmlRunnable.java
    directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/SearchRunnable.java

Modified: directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/Connection.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/Connection.java?rev=1024334&r1=1024333&r2=1024334&view=diff
==============================================================================
--- directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/Connection.java (original)
+++ directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/Connection.java Tue Oct 19 17:36:56 2010
@@ -27,7 +27,7 @@ import org.apache.directory.studio.conne
 import org.apache.directory.studio.connection.core.ConnectionParameter.NetworkProvider;
 import org.apache.directory.studio.connection.core.event.ConnectionEventRegistry;
 import org.apache.directory.studio.connection.core.io.ConnectionWrapper;
-import org.apache.directory.studio.connection.core.io.DirectoryApiConnectionWrapper;
+import org.apache.directory.studio.connection.core.io.api.DirectoryApiConnectionWrapper;
 import org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper;
 import org.eclipse.core.runtime.IAdaptable;
 

Copied: directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/AbstractStudioNamingEnumeration.java (from r1024257, directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/CursorNamingEnumeration.java)
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/AbstractStudioNamingEnumeration.java?p2=directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/AbstractStudioNamingEnumeration.java&p1=directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/CursorNamingEnumeration.java&r1=1024257&r2=1024334&rev=1024334&view=diff
==============================================================================
--- directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/CursorNamingEnumeration.java (original)
+++ directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/AbstractStudioNamingEnumeration.java Tue Oct 19 17:36:56 2010
@@ -43,7 +43,7 @@ import org.apache.directory.studio.conne
 import org.apache.directory.studio.connection.core.Connection.ReferralHandlingMethod;
 import org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper;
 import org.apache.directory.studio.connection.core.io.jndi.ReferralsInfo;
-import org.apache.directory.studio.connection.core.io.jndi.StudioNamingEnumeration;
+import org.apache.directory.studio.connection.core.io.jndi.JndiStudioNamingEnumeration;
 import org.apache.directory.studio.connection.core.io.jndi.StudioSearchResult;
 
 
@@ -52,27 +52,18 @@ import org.apache.directory.studio.conne
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class CursorNamingEnumeration extends StudioNamingEnumeration
+public abstract class AbstractStudioNamingEnumeration implements StudioNamingEnumeration
 {
-    private final Connection connection;
-    private Cursor<Response> cursor;
-    private SearchResultEntry currentSearchResultEntry;
-    private SearchResultDone searchResultDone;
-    private List<Referral> referralsList = new ArrayList<Referral>();
-    private List<String> currentReferralUrlsList;
-    private CursorNamingEnumeration cursorNamingEnumeration;
+    protected Connection connection;
 
-    private long requestNum;
-    private long resultEntryCounter;
-
-    private String searchBase;
-    private String filter;
-    private SearchControls searchControls;
-    private AliasDereferencingMethod aliasesDereferencingMethod;
-    private ReferralHandlingMethod referralsHandlingMethod;
-    private Control[] controls;
-    private StudioProgressMonitor monitor;
-    private ReferralsInfo referralsInfo;
+    protected String searchBase;
+    protected String filter;
+    protected SearchControls searchControls;
+    protected AliasDereferencingMethod aliasesDereferencingMethod;
+    protected ReferralHandlingMethod referralsHandlingMethod;
+    protected Control[] controls;
+    protected StudioProgressMonitor monitor;
+    protected ReferralsInfo referralsInfo;
 
 
     /**
@@ -89,18 +80,12 @@ public class CursorNamingEnumeration ext
      * @param monitor the progress monitor
      * @param referralsInfo the referrals info
      */
-    public CursorNamingEnumeration( Connection connection, Cursor<Response> cursor,
-        String searchBase, String filter, SearchControls searchControls,
-        AliasDereferencingMethod aliasesDereferencingMethod, ReferralHandlingMethod referralsHandlingMethod,
-        Control[] controls, long requestNum, StudioProgressMonitor monitor, ReferralsInfo referralsInfo )
+    public AbstractStudioNamingEnumeration( Connection connection, String searchBase, String filter,
+        SearchControls searchControls, AliasDereferencingMethod aliasesDereferencingMethod,
+        ReferralHandlingMethod referralsHandlingMethod, Control[] controls, long requestNum,
+        StudioProgressMonitor monitor, ReferralsInfo referralsInfo )
     {
-        super( connection, null, null, null, searchBase, filter, searchControls, aliasesDereferencingMethod,
-            referralsHandlingMethod, controls, requestNum, monitor, referralsInfo );
         this.connection = connection;
-        this.cursor = cursor;
-        this.requestNum = requestNum;
-        this.resultEntryCounter = 0;
-
         this.searchBase = searchBase;
         this.filter = filter;
         this.searchControls = searchControls;
@@ -110,341 +95,4 @@ public class CursorNamingEnumeration ext
         this.monitor = monitor;
         this.referralsInfo = referralsInfo;
     }
-
-
-    /**
-     * @see javax.naming.NamingEnumeration#close()
-     */
-    public void close() throws NamingException
-    {
-        try
-        {
-            cursor.close();
-        }
-        catch ( Exception e )
-        {
-            throw new NamingException( e.getMessage() );
-        }
-    }
-
-
-    /**
-     * @see javax.naming.NamingEnumeration#hasMore()
-     */
-    public boolean hasMore() throws NamingException
-    {
-        try
-        {
-            // Nulling the current search result entry
-            currentSearchResultEntry = null;
-
-            // Do we have another response in the cursor?
-            while ( cursor.next() )
-            {
-                Response currentResponse = cursor.get();
-
-                // Is it a search result entry?
-                if ( currentResponse instanceof SearchResultEntry )
-                {
-                    currentSearchResultEntry = ( SearchResultEntry ) currentResponse;
-
-                    // return true if the current response is a search result entry
-                    return true;
-                }
-                // Is it a search result reference (ie. a referral)?
-                else if ( currentResponse instanceof SearchResultReference )
-                {
-                    // Are we ignoring referrals?
-                    if ( referralsHandlingMethod != ReferralHandlingMethod.IGNORE )
-                    {
-                        // Storing the referral for later use
-                        referralsList.add( ( ( SearchResultReference ) currentResponse ).getReferral() );
-                    }
-                }
-                // Is it a search result done?
-                else if ( currentResponse instanceof SearchResultDone )
-                {
-                    searchResultDone = ( SearchResultDone ) currentResponse;
-                }
-            }
-
-            // Are we following referrals manually?
-            if ( referralsHandlingMethod == ReferralHandlingMethod.FOLLOW_MANUALLY )
-            {
-                // Checking the current referral's URLs list
-                if ( ( currentReferralUrlsList != null ) && ( currentReferralUrlsList.size() > 0 ) )
-                {
-                    // return true if there's at least one referral LDAP URL to handle
-                    return true;
-                }
-
-                // Checking the referrals list
-                if ( ( referralsList != null ) && ( referralsList.size() > 0 ) )
-                {
-                    // Getting the list of the next referral
-                    currentReferralUrlsList = new ArrayList<String>( referralsList.remove( 0 ).getLdapUrls() );
-
-                    // return true if there's at least one referral LDAP URL to handle
-                    return currentReferralUrlsList.size() > 0;
-                }
-            }
-            // Are we following referrals automatically?
-            else if ( referralsHandlingMethod == ReferralHandlingMethod.FOLLOW )
-            {
-                if ( ( cursorNamingEnumeration != null ) && ( cursorNamingEnumeration.hasMore() ) )
-                {
-                    // return true if there's at least one more entry in the current cursor naming enumeration
-                    return true;
-                }
-
-                if ( ( referralsList != null ) && ( referralsList.size() > 0 ) )
-                {
-                    Referral referral = referralsList.remove( 0 );
-                    List<String> referralUrls = new ArrayList<String>( referral.getLdapUrls() );
-                    LdapURL url = new LdapURL( referralUrls.get( 0 ) );
-
-                    Connection referralConnection = JNDIConnectionWrapper.getReferralConnection( referral, monitor,
-                        this );
-                    if ( referralConnection != null )
-                    {
-                        String referralSearchBase = url.getDn() != null && !url.getDn().isEmpty() ? url.getDn()
-                            .getName()
-                            : searchBase;
-                        String referralFilter = url.getFilter() != null && url.getFilter().length() == 0 ? url
-                            .getFilter()
-                            : filter;
-                        SearchControls referralSearchControls = new SearchControls();
-                        referralSearchControls.setSearchScope( url.getScope().getScope() > -1 ? url.getScope()
-                            .getScope()
-                            : searchControls.getSearchScope() );
-                        referralSearchControls.setReturningAttributes( url.getAttributes() != null
-                            && url.getAttributes().size() > 0 ? url.getAttributes().toArray(
-                            new String[url.getAttributes().size()] ) : searchControls.getReturningAttributes() );
-                        referralSearchControls.setCountLimit( searchControls.getCountLimit() );
-                        referralSearchControls.setTimeLimit( searchControls.getTimeLimit() );
-                        referralSearchControls.setDerefLinkFlag( searchControls.getDerefLinkFlag() );
-                        referralSearchControls.setReturningObjFlag( searchControls.getReturningObjFlag() );
-
-                        cursorNamingEnumeration = ( CursorNamingEnumeration ) referralConnection.getConnectionWrapper()
-                            .search(
-                                referralSearchBase, referralFilter, referralSearchControls, aliasesDereferencingMethod,
-                                referralsHandlingMethod, controls, monitor, referralsInfo );
-
-                        return cursorNamingEnumeration.hasMore();
-                    }
-                }
-            }
-
-            return false;
-        }
-        catch ( Exception e )
-        {
-            throw new NamingException( e.getMessage() );
-        }
-    }
-
-
-    /**
-     * @see java.util.Enumeration#hasMoreElements()
-     */
-    public boolean hasMoreElements()
-    {
-        throw new UnsupportedOperationException( "Call hasMore() instead of hasMoreElements() !" );
-    }
-
-
-    /**
-     * @see javax.naming.NamingEnumeration#next()
-     */
-    public StudioSearchResult next() throws NamingException
-    {
-        try
-        {
-            if ( currentSearchResultEntry != null )
-            {
-                SearchResult sr = new SearchResult( currentSearchResultEntry.getObjectName().toString(), null,
-                        AttributeUtils.toAttributes( currentSearchResultEntry.getEntry() ) );
-                sr.setNameInNamespace( currentSearchResultEntry.getObjectName().toString() );
-
-                // Converting the SearchResult to a StudioSearchResult
-                StudioSearchResult ssr = new StudioSearchResult( sr, connection, false, null );
-                return ssr;
-            }
-
-            // Are we following referrals manually?
-            if ( referralsHandlingMethod == ReferralHandlingMethod.FOLLOW_MANUALLY )
-            {
-                // Checking the current referral's URLs list
-                if ( ( currentReferralUrlsList != null ) && ( currentReferralUrlsList.size() > 0 ) )
-                {
-                    // Building an LDAP URL from the the url
-                    LdapURL url = new LdapURL( currentReferralUrlsList.remove( 0 ) );
-
-                    // Building the search result
-                    SearchResult searchResult = new SearchResult( url.getDn().getName(), null,
-                        new BasicAttributes(),
-                        false );
-                    searchResult.setNameInNamespace( url.getDn().getName() );
-
-                    return new StudioSearchResult( searchResult, null, false, url );
-                }
-            }
-            // Are we following referrals automatically?
-            else if ( referralsHandlingMethod == ReferralHandlingMethod.FOLLOW )
-            {
-                return new StudioSearchResult( cursorNamingEnumeration.next(), connection, true, null );
-            }
-
-            return null;
-        }
-        catch ( Exception e )
-        {
-            throw new NamingException( e.getMessage() );
-        }
-    }
-
-
-    /**
-     * @see java.util.Enumeration#nextElement()
-     */
-    public StudioSearchResult nextElement()
-    {
-        throw new UnsupportedOperationException( "Call next() instead of nextElement() !" );
-    }
-
-
-    /**
-     * Gets the connection.
-     * 
-     * @return the connection
-     */
-    public Connection getConnection()
-    {
-        return connection;
-    }
-
-
-    /**
-     * Gets the response controls.
-     * 
-     * @return the response controls, may be null
-     * 
-     * @throws NamingException the naming exception
-     */
-    public Control[] getResponseControls() throws NamingException
-    {
-        //        return ctx != null ? ctx.getResponseControls() : null;
-        // TODO implement
-        return new Control[0];
-    }
-
-    //    private boolean checkReferral()
-    //    {
-    //        boolean done = false;
-    //
-    //        // ignore exception if referrals handling method is IGNORE
-    //        // follow referral if referrals handling method is FOLLOW
-    //        // follow manually if referrals handling method is FOLLOW_MANUALLY
-    //        if ( referralsHandlingMethod == ReferralHandlingMethod.IGNORE )
-    //        {
-    //            done = true;
-    //            delegate = null;
-    //        }
-    //        else if ( referralsHandlingMethod == ReferralHandlingMethod.FOLLOW_MANUALLY )
-    //        {
-    //            delegate = new NamingEnumeration<SearchResult>()
-    //            {
-    //
-    //                List<LdapURL> urls = new ArrayList<LdapURL>();
-    //                {
-    //                    while ( referralsInfo.hasMoreReferrals() )
-    //                    {
-    //                        Referral referral = referralsInfo.getNextReferral();
-    //                        for ( IJndiLogger logger : ConnectionCorePlugin.getDefault().getJndiLoggers() )
-    //                        {
-    //                            logger.logSearchResultReference( connection, referral, referralsInfo, requestNum, null );
-    //                        }
-    //                        urls.addAll( referral.getLdapURLs() );
-    //                    }
-    //                }
-    //
-    //
-    //                public SearchResult nextElement()
-    //                {
-    //                    throw new UnsupportedOperationException( "Call next() instead of nextElement() !" );
-    //                }
-    //
-    //
-    //                public boolean hasMoreElements()
-    //                {
-    //                    throw new UnsupportedOperationException( "Call hasMore() instead of hasMoreElements() !" );
-    //                }
-    //
-    //
-    //                public SearchResult next() throws NamingException
-    //                {
-    //                    LdapURL url = urls.remove( 0 );
-    //                    SearchResult searchResult = new SearchResult( url.getDn().getName(), null, new BasicAttributes(),
-    //                        false );
-    //                    searchResult.setNameInNamespace( url.getDn().getName() );
-    //                    StudioSearchResult ssr = new StudioSearchResult( searchResult, null, false, url );
-    //                    return ssr;
-    //                }
-    //
-    //
-    //                public boolean hasMore() throws NamingException
-    //                {
-    //                    return !urls.isEmpty();
-    //                }
-    //
-    //
-    //                public void close() throws NamingException
-    //                {
-    //                    urls.clear();
-    //                    referralsInfo = null;
-    //                }
-    //            };
-    //        }
-    //        else if ( referralsHandlingMethod == ReferralHandlingMethod.FOLLOW )
-    //        {
-    //            Referral referral = referralsInfo.getNextReferral();
-    //            for ( IJndiLogger logger : ConnectionCorePlugin.getDefault().getJndiLoggers() )
-    //            {
-    //                logger.logSearchResultReference( connection, referral, referralsInfo, requestNum, null );
-    //            }
-    //
-    //            LdapURL url = referral.getLdapURLs().get( 0 );
-    //            Connection referralConnection = JNDIConnectionWrapper.getReferralConnection( referral, monitor, this );
-    //            if ( referralConnection != null )
-    //            {
-    //                done = false;
-    //                String referralSearchBase = url.getDn() != null && !url.getDn().isEmpty() ? url.getDn().getName()
-    //                    : searchBase;
-    //                String referralFilter = url.getFilter() != null && url.getFilter().length() == 0 ? url.getFilter()
-    //                    : filter;
-    //                SearchControls referralSearchControls = new SearchControls();
-    //                referralSearchControls.setSearchScope( url.getScope().getScope() > -1 ? url.getScope().getScope()
-    //                    : searchControls
-    //                        .getSearchScope() );
-    //                referralSearchControls.setReturningAttributes( url.getAttributes() != null
-    //                    && url.getAttributes().size() > 0 ? url.getAttributes().toArray(
-    //                    new String[url.getAttributes().size()] ) : searchControls.getReturningAttributes() );
-    //                referralSearchControls.setCountLimit( searchControls.getCountLimit() );
-    //                referralSearchControls.setTimeLimit( searchControls.getTimeLimit() );
-    //                referralSearchControls.setDerefLinkFlag( searchControls.getDerefLinkFlag() );
-    //                referralSearchControls.setReturningObjFlag( searchControls.getReturningObjFlag() );
-    //
-    //                delegate = referralConnection.getConnectionWrapper().search( referralSearchBase, referralFilter,
-    //                    referralSearchControls, aliasesDereferencingMethod, referralsHandlingMethod, controls, monitor,
-    //                    referralsInfo );
-    //            }
-    //            else
-    //            {
-    //                done = true;
-    //                delegate = null;
-    //            }
-    //        }
-    //        return done;
-    //    }
-
 }

Modified: directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/ConnectionWrapper.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/ConnectionWrapper.java?rev=1024334&r1=1024333&r2=1024334&view=diff
==============================================================================
--- directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/ConnectionWrapper.java (original)
+++ directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/ConnectionWrapper.java Tue Oct 19 17:36:56 2010
@@ -31,7 +31,7 @@ import org.apache.directory.studio.commo
 import org.apache.directory.studio.connection.core.Connection.AliasDereferencingMethod;
 import org.apache.directory.studio.connection.core.Connection.ReferralHandlingMethod;
 import org.apache.directory.studio.connection.core.io.jndi.ReferralsInfo;
-import org.apache.directory.studio.connection.core.io.jndi.StudioNamingEnumeration;
+import org.apache.directory.studio.connection.core.io.jndi.JndiStudioNamingEnumeration;
 
 
 /**

Added: directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/StudioNamingEnumeration.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/StudioNamingEnumeration.java?rev=1024334&view=auto
==============================================================================
--- directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/StudioNamingEnumeration.java (added)
+++ directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/StudioNamingEnumeration.java Tue Oct 19 17:36:56 2010
@@ -0,0 +1,54 @@
+/*
+ *  Licensed to the Apache Software Foundation (ASF) under one
+ *  or more contributor license agreements.  See the NOTICE file
+ *  distributed with this work for additional information
+ *  regarding copyright ownership.  The ASF licenses this file
+ *  to you under the Apache License, Version 2.0 (the
+ *  "License"); you may not use this file except in compliance
+ *  with the License.  You may obtain a copy of the License at
+ *
+ *    http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *  Unless required by applicable law or agreed to in writing,
+ *  software distributed under the License is distributed on an
+ *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *  KIND, either express or implied.  See the License for the
+ *  specific language governing permissions and limitations
+ *  under the License.
+ *
+ */
+package org.apache.directory.studio.connection.core.io;
+
+
+import javax.naming.NamingEnumeration;
+import javax.naming.NamingException;
+import javax.naming.directory.SearchResult;
+import javax.naming.ldap.Control;
+
+import org.apache.directory.studio.connection.core.Connection;
+
+
+/**
+ * A naming enumeration that handles referrals itself. 
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public interface StudioNamingEnumeration extends NamingEnumeration<SearchResult>
+{
+    /**
+     * Gets the connection.
+     * 
+     * @return the connection
+     */
+    public Connection getConnection();
+
+
+    /**
+     * Gets the response controls.
+     * 
+     * @return the response controls, may be null
+     * 
+     * @throws NamingException the naming exception
+     */
+    public Control[] getResponseControls() throws NamingException;
+}

Copied: directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/CursorStudioNamingEnumeration.java (from r1024257, directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/CursorNamingEnumeration.java)
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/CursorStudioNamingEnumeration.java?p2=directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/CursorStudioNamingEnumeration.java&p1=directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/CursorNamingEnumeration.java&r1=1024257&r2=1024334&rev=1024334&view=diff
==============================================================================
--- directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/CursorNamingEnumeration.java (original)
+++ directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/CursorStudioNamingEnumeration.java Tue Oct 19 17:36:56 2010
@@ -17,7 +17,7 @@
  *  under the License.
  *
  */
-package org.apache.directory.studio.connection.core.io;
+package org.apache.directory.studio.connection.core.io.api;
 
 
 import java.util.ArrayList;
@@ -32,7 +32,6 @@ import javax.naming.ldap.Control;
 import org.apache.directory.shared.ldap.cursor.Cursor;
 import org.apache.directory.shared.ldap.message.Referral;
 import org.apache.directory.shared.ldap.message.Response;
-import org.apache.directory.shared.ldap.message.SearchResultDone;
 import org.apache.directory.shared.ldap.message.SearchResultEntry;
 import org.apache.directory.shared.ldap.message.SearchResultReference;
 import org.apache.directory.shared.ldap.util.AttributeUtils;
@@ -41,9 +40,10 @@ import org.apache.directory.studio.commo
 import org.apache.directory.studio.connection.core.Connection;
 import org.apache.directory.studio.connection.core.Connection.AliasDereferencingMethod;
 import org.apache.directory.studio.connection.core.Connection.ReferralHandlingMethod;
+import org.apache.directory.studio.connection.core.io.AbstractStudioNamingEnumeration;
+import org.apache.directory.studio.connection.core.io.StudioNamingEnumeration;
 import org.apache.directory.studio.connection.core.io.jndi.JNDIConnectionWrapper;
 import org.apache.directory.studio.connection.core.io.jndi.ReferralsInfo;
-import org.apache.directory.studio.connection.core.io.jndi.StudioNamingEnumeration;
 import org.apache.directory.studio.connection.core.io.jndi.StudioSearchResult;
 
 
@@ -52,27 +52,13 @@ import org.apache.directory.studio.conne
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class CursorNamingEnumeration extends StudioNamingEnumeration
+public class CursorStudioNamingEnumeration extends AbstractStudioNamingEnumeration
 {
-    private final Connection connection;
     private Cursor<Response> cursor;
     private SearchResultEntry currentSearchResultEntry;
-    private SearchResultDone searchResultDone;
     private List<Referral> referralsList = new ArrayList<Referral>();
     private List<String> currentReferralUrlsList;
-    private CursorNamingEnumeration cursorNamingEnumeration;
-
-    private long requestNum;
-    private long resultEntryCounter;
-
-    private String searchBase;
-    private String filter;
-    private SearchControls searchControls;
-    private AliasDereferencingMethod aliasesDereferencingMethod;
-    private ReferralHandlingMethod referralsHandlingMethod;
-    private Control[] controls;
-    private StudioProgressMonitor monitor;
-    private ReferralsInfo referralsInfo;
+    private StudioNamingEnumeration cursorNamingEnumeration;
 
 
     /**
@@ -89,17 +75,15 @@ public class CursorNamingEnumeration ext
      * @param monitor the progress monitor
      * @param referralsInfo the referrals info
      */
-    public CursorNamingEnumeration( Connection connection, Cursor<Response> cursor,
+    public CursorStudioNamingEnumeration( Connection connection, Cursor<Response> cursor,
         String searchBase, String filter, SearchControls searchControls,
         AliasDereferencingMethod aliasesDereferencingMethod, ReferralHandlingMethod referralsHandlingMethod,
         Control[] controls, long requestNum, StudioProgressMonitor monitor, ReferralsInfo referralsInfo )
     {
-        super( connection, null, null, null, searchBase, filter, searchControls, aliasesDereferencingMethod,
+        super( connection, searchBase, filter, searchControls, aliasesDereferencingMethod,
             referralsHandlingMethod, controls, requestNum, monitor, referralsInfo );
         this.connection = connection;
         this.cursor = cursor;
-        this.requestNum = requestNum;
-        this.resultEntryCounter = 0;
 
         this.searchBase = searchBase;
         this.filter = filter;
@@ -161,11 +145,6 @@ public class CursorNamingEnumeration ext
                         referralsList.add( ( ( SearchResultReference ) currentResponse ).getReferral() );
                     }
                 }
-                // Is it a search result done?
-                else if ( currentResponse instanceof SearchResultDone )
-                {
-                    searchResultDone = ( SearchResultDone ) currentResponse;
-                }
             }
 
             // Are we following referrals manually?
@@ -225,7 +204,7 @@ public class CursorNamingEnumeration ext
                         referralSearchControls.setDerefLinkFlag( searchControls.getDerefLinkFlag() );
                         referralSearchControls.setReturningObjFlag( searchControls.getReturningObjFlag() );
 
-                        cursorNamingEnumeration = ( CursorNamingEnumeration ) referralConnection.getConnectionWrapper()
+                        cursorNamingEnumeration = referralConnection.getConnectionWrapper()
                             .search(
                                 referralSearchBase, referralFilter, referralSearchControls, aliasesDereferencingMethod,
                                 referralsHandlingMethod, controls, monitor, referralsInfo );

Copied: directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/DirectoryApiConnectionWrapper.java (from r1024257, directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/DirectoryApiConnectionWrapper.java)
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/DirectoryApiConnectionWrapper.java?p2=directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/DirectoryApiConnectionWrapper.java&p1=directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/DirectoryApiConnectionWrapper.java&r1=1024257&r2=1024334&rev=1024334&view=diff
==============================================================================
--- directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/DirectoryApiConnectionWrapper.java (original)
+++ directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/api/DirectoryApiConnectionWrapper.java Tue Oct 19 17:36:56 2010
@@ -17,7 +17,7 @@
  *  under the License. 
  *  
  */
-package org.apache.directory.studio.connection.core.io;
+package org.apache.directory.studio.connection.core.io.api;
 
 
 import java.util.ArrayList;
@@ -58,8 +58,9 @@ import org.apache.directory.studio.conne
 import org.apache.directory.studio.connection.core.Connection.AliasDereferencingMethod;
 import org.apache.directory.studio.connection.core.Connection.ReferralHandlingMethod;
 import org.apache.directory.studio.connection.core.ConnectionParameter.EncryptionMethod;
+import org.apache.directory.studio.connection.core.io.ConnectionWrapper;
+import org.apache.directory.studio.connection.core.io.StudioNamingEnumeration;
 import org.apache.directory.studio.connection.core.io.jndi.ReferralsInfo;
-import org.apache.directory.studio.connection.core.io.jndi.StudioNamingEnumeration;
 
 
 /**
@@ -227,7 +228,7 @@ public class DirectoryApiConnectionWrapp
             Cursor<Response> cursor = getLdapConnection().search( request );
 
             // Returning the result of the search
-            return new CursorNamingEnumeration( connection, cursor, searchBase, filter, searchControls,
+            return new CursorStudioNamingEnumeration( connection, cursor, searchBase, filter, searchControls,
                 aliasesDereferencingMethod, referralsHandlingMethod, controls, requestNum, monitor, referralsInfo );
 
         }

Modified: directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/jndi/JNDIConnectionWrapper.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/jndi/JNDIConnectionWrapper.java?rev=1024334&r1=1024333&r2=1024334&view=diff
==============================================================================
--- directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/jndi/JNDIConnectionWrapper.java (original)
+++ directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/jndi/JNDIConnectionWrapper.java Tue Oct 19 17:36:56 2010
@@ -327,7 +327,7 @@ public class JNDIConnectionWrapper imple
      * 
      * @return the naming enumeration or null if an exception occurs.
      */
-    public StudioNamingEnumeration search( final String searchBase, final String filter,
+    public JndiStudioNamingEnumeration search( final String searchBase, final String filter,
         final SearchControls searchControls, final AliasDereferencingMethod aliasesDereferencingMethod,
         final ReferralHandlingMethod referralsHandlingMethod, final Control[] controls,
         final StudioProgressMonitor monitor, final ReferralsInfo referralsInfo )
@@ -355,19 +355,19 @@ public class JNDIConnectionWrapper imple
                     // perform the search
                     NamingEnumeration<SearchResult> result = searchCtx.search( JNDIConnectionWrapper
                         .getSaveJndiName( searchBase ), filter, searchControls );
-                    namingEnumeration = new StudioNamingEnumeration( connection, searchCtx, result, null, searchBase,
+                    namingEnumeration = new JndiStudioNamingEnumeration( connection, searchCtx, result, null, searchBase,
                         filter, searchControls, aliasesDereferencingMethod, referralsHandlingMethod, controls,
                         requestNum, monitor, referralsInfo );
                 }
                 catch ( PartialResultException e )
                 {
-                    namingEnumeration = new StudioNamingEnumeration( connection, searchCtx, null, e, searchBase,
+                    namingEnumeration = new JndiStudioNamingEnumeration( connection, searchCtx, null, e, searchBase,
                         filter, searchControls, aliasesDereferencingMethod, referralsHandlingMethod, controls,
                         requestNum, monitor, referralsInfo );
                 }
                 catch ( ReferralException e )
                 {
-                    namingEnumeration = new StudioNamingEnumeration( connection, searchCtx, null, e, searchBase,
+                    namingEnumeration = new JndiStudioNamingEnumeration( connection, searchCtx, null, e, searchBase,
                         filter, searchControls, aliasesDereferencingMethod, referralsHandlingMethod, controls,
                         requestNum, monitor, referralsInfo );
                 }
@@ -1375,7 +1375,7 @@ public class JNDIConnectionWrapper imple
 
     abstract class InnerRunnable implements Runnable
     {
-        protected StudioNamingEnumeration namingEnumeration = null;
+        protected JndiStudioNamingEnumeration namingEnumeration = null;
         protected NamingException namingException = null;
         protected boolean canceled = false;
 
@@ -1396,7 +1396,7 @@ public class JNDIConnectionWrapper imple
          * 
          * @return the result
          */
-        public StudioNamingEnumeration getResult()
+        public JndiStudioNamingEnumeration getResult()
         {
             return namingEnumeration;
         }

Copied: directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/jndi/JndiStudioNamingEnumeration.java (from r1024257, directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/jndi/StudioNamingEnumeration.java)
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/jndi/JndiStudioNamingEnumeration.java?p2=directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/jndi/JndiStudioNamingEnumeration.java&p1=directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/jndi/StudioNamingEnumeration.java&r1=1024257&r2=1024334&rev=1024334&view=diff
==============================================================================
--- directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/jndi/StudioNamingEnumeration.java (original)
+++ directory/studio/branches/studio-connection-refactoring/plugins/connection.core/src/main/java/org/apache/directory/studio/connection/core/io/jndi/JndiStudioNamingEnumeration.java Tue Oct 19 17:36:56 2010
@@ -40,6 +40,7 @@ import org.apache.directory.studio.commo
 import org.apache.directory.studio.connection.core.Connection;
 import org.apache.directory.studio.connection.core.Connection.AliasDereferencingMethod;
 import org.apache.directory.studio.connection.core.Connection.ReferralHandlingMethod;
+import org.apache.directory.studio.connection.core.io.AbstractStudioNamingEnumeration;
 import org.apache.directory.studio.connection.core.ConnectionCorePlugin;
 import org.apache.directory.studio.connection.core.IJndiLogger;
 
@@ -49,9 +50,8 @@ import org.apache.directory.studio.conne
  *
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  */
-public class StudioNamingEnumeration implements NamingEnumeration<SearchResult>
+public class JndiStudioNamingEnumeration extends AbstractStudioNamingEnumeration
 {
-    private final Connection connection;
     private final LdapContext ctx;
     private NamingEnumeration<SearchResult> initialNamingEnumeration;
     private NamingEnumeration<SearchResult> delegate;
@@ -60,15 +60,6 @@ public class StudioNamingEnumeration imp
     private long requestNum;
     private long resultEntryCounter;
 
-    private String searchBase;
-    private String filter;
-    private SearchControls searchControls;
-    private AliasDereferencingMethod aliasesDereferencingMethod;
-    private ReferralHandlingMethod referralsHandlingMethod;
-    private Control[] controls;
-    private StudioProgressMonitor monitor;
-    private ReferralsInfo referralsInfo;
-
 
     /**
      * Creates a new instance of ReferralNamingEnumeration.
@@ -84,27 +75,20 @@ public class StudioNamingEnumeration imp
      * @param monitor the progress monitor
      * @param referralsInfo the referrals info
      */
-    public StudioNamingEnumeration( Connection connection, LdapContext ctx, NamingEnumeration<SearchResult> delegate,
+    public JndiStudioNamingEnumeration( Connection connection, LdapContext ctx,
+        NamingEnumeration<SearchResult> delegate,
         NamingException initialReferralException, String searchBase, String filter, SearchControls searchControls,
         AliasDereferencingMethod aliasesDereferencingMethod, ReferralHandlingMethod referralsHandlingMethod,
         Control[] controls, long requestNum, StudioProgressMonitor monitor, ReferralsInfo referralsInfo )
     {
-        this.connection = connection;
+        super( connection, searchBase, filter, searchControls, aliasesDereferencingMethod, referralsHandlingMethod,
+            controls, requestNum, monitor, referralsInfo );
         this.ctx = ctx;
         this.initialNamingEnumeration = delegate;
         this.delegate = delegate;
         this.initialReferralException = initialReferralException;
         this.requestNum = requestNum;
         this.resultEntryCounter = 0;
-
-        this.searchBase = searchBase;
-        this.filter = filter;
-        this.searchControls = searchControls;
-        this.aliasesDereferencingMethod = aliasesDereferencingMethod;
-        this.referralsHandlingMethod = referralsHandlingMethod;
-        this.controls = controls;
-        this.monitor = monitor;
-        this.referralsInfo = referralsInfo;
     }
 
 
@@ -258,9 +242,9 @@ public class StudioNamingEnumeration imp
      */
     public Connection getConnection()
     {
-        if ( delegate instanceof StudioNamingEnumeration )
+        if ( delegate instanceof JndiStudioNamingEnumeration )
         {
-            return ( ( StudioNamingEnumeration ) delegate ).getConnection();
+            return ( ( JndiStudioNamingEnumeration ) delegate ).getConnection();
         }
         else
         {

Modified: directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/ExportDsmlRunnable.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/ExportDsmlRunnable.java?rev=1024334&r1=1024333&r2=1024334&view=diff
==============================================================================
--- directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/ExportDsmlRunnable.java (original)
+++ directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/ExportDsmlRunnable.java Tue Oct 19 17:36:56 2010
@@ -57,7 +57,7 @@ import org.apache.directory.shared.ldap.
 import org.apache.directory.shared.ldap.util.LdapURL;
 import org.apache.directory.studio.common.core.jobs.StudioProgressMonitor;
 import org.apache.directory.studio.connection.core.Connection;
-import org.apache.directory.studio.connection.core.io.jndi.StudioNamingEnumeration;
+import org.apache.directory.studio.connection.core.io.StudioNamingEnumeration;
 import org.apache.directory.studio.connection.core.jobs.StudioConnectionRunnableWithProgress;
 import org.apache.directory.studio.ldapbrowser.core.BrowserCoreMessages;
 import org.apache.directory.studio.ldapbrowser.core.model.IBrowserConnection;

Modified: directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/ExportLdifRunnable.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/ExportLdifRunnable.java?rev=1024334&r1=1024333&r2=1024334&view=diff
==============================================================================
--- directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/ExportLdifRunnable.java (original)
+++ directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/ExportLdifRunnable.java Tue Oct 19 17:36:56 2010
@@ -42,7 +42,7 @@ import org.apache.directory.studio.commo
 import org.apache.directory.studio.connection.core.Connection;
 import org.apache.directory.studio.connection.core.StudioControl;
 import org.apache.directory.studio.connection.core.StudioPagedResultsControl;
-import org.apache.directory.studio.connection.core.io.jndi.StudioNamingEnumeration;
+import org.apache.directory.studio.connection.core.io.StudioNamingEnumeration;
 import org.apache.directory.studio.connection.core.jobs.StudioConnectionRunnableWithProgress;
 import org.apache.directory.studio.ldapbrowser.core.BrowserCoreMessages;
 import org.apache.directory.studio.ldapbrowser.core.model.IBrowserConnection;

Modified: directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/ImportDsmlRunnable.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/ImportDsmlRunnable.java?rev=1024334&r1=1024333&r2=1024334&view=diff
==============================================================================
--- directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/ImportDsmlRunnable.java (original)
+++ directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/ImportDsmlRunnable.java Tue Oct 19 17:36:56 2010
@@ -71,7 +71,7 @@ import org.apache.directory.studio.conne
 import org.apache.directory.studio.connection.core.Connection.AliasDereferencingMethod;
 import org.apache.directory.studio.connection.core.Connection.ReferralHandlingMethod;
 import org.apache.directory.studio.connection.core.DnUtils;
-import org.apache.directory.studio.connection.core.io.jndi.StudioNamingEnumeration;
+import org.apache.directory.studio.connection.core.io.StudioNamingEnumeration;
 import org.apache.directory.studio.connection.core.jobs.StudioConnectionBulkRunnableWithProgress;
 import org.apache.directory.studio.ldapbrowser.core.BrowserCoreMessages;
 import org.apache.directory.studio.ldapbrowser.core.events.BulkModificationEvent;

Modified: directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/SearchRunnable.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/SearchRunnable.java?rev=1024334&r1=1024333&r2=1024334&view=diff
==============================================================================
--- directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/SearchRunnable.java (original)
+++ directory/studio/branches/studio-connection-refactoring/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/SearchRunnable.java Tue Oct 19 17:36:56 2010
@@ -48,7 +48,7 @@ import org.apache.directory.studio.conne
 import org.apache.directory.studio.connection.core.DnUtils;
 import org.apache.directory.studio.connection.core.StudioControl;
 import org.apache.directory.studio.connection.core.StudioPagedResultsControl;
-import org.apache.directory.studio.connection.core.io.jndi.StudioNamingEnumeration;
+import org.apache.directory.studio.connection.core.io.StudioNamingEnumeration;
 import org.apache.directory.studio.connection.core.io.jndi.StudioSearchResult;
 import org.apache.directory.studio.connection.core.jobs.StudioConnectionBulkRunnableWithProgress;
 import org.apache.directory.studio.ldapbrowser.core.BrowserCoreMessages;
@@ -320,7 +320,7 @@ public class SearchRunnable implements S
                     // iterate through the search result
                     while ( !monitor.isCanceled() && enumeration != null && enumeration.hasMore() )
                     {
-                        StudioSearchResult sr = enumeration.next();
+                        StudioSearchResult sr = ( StudioSearchResult ) enumeration.next();
                         boolean isContinuedSearchResult = sr.isContinuedSearchResult();
                         LdapURL searchContinuationUrl = sr.getSearchContinuationUrl();