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 2012/01/26 16:13:03 UTC
svn commit: r1236228 - in /directory/studio/trunk/plugins:
ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/actions/
ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dialogs/
ldapbrowser.com...
Author: pamarcelot
Date: Thu Jan 26 15:13:02 2012
New Revision: 1236228
URL: http://svn.apache.org/viewvc?rev=1236228&view=rev
Log:
Fix for DIRSTUDIO-739 (Using 'Quick Search' in the DN editor while editing some object cancels editing and jumps to 'Quick Search' in the main window)
Modified:
directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/actions/OpenQuickSearchAction.java
directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dialogs/SelectEntryDialog.java
directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dnd/SearchTransfer.java
directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserActionGroup.java
directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserConfiguration.java
directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserContentProvider.java
directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserQuickSearchWidget.java
directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserUniversalListener.java
directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserWidget.java
directory/studio/trunk/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/SearchManager.java
directory/studio/trunk/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/BrowserConnection.java
directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/views/browser/BrowserViewUniversalListener.java
Modified: directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/actions/OpenQuickSearchAction.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/actions/OpenQuickSearchAction.java?rev=1236228&r1=1236227&r2=1236228&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/actions/OpenQuickSearchAction.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/actions/OpenQuickSearchAction.java Thu Jan 26 15:13:02 2012
@@ -24,6 +24,7 @@ package org.apache.directory.studio.ldap
import org.apache.directory.studio.connection.core.Utils;
import org.apache.directory.studio.ldapbrowser.common.BrowserCommonActivator;
import org.apache.directory.studio.ldapbrowser.common.BrowserCommonConstants;
+import org.apache.directory.studio.ldapbrowser.common.widgets.browser.BrowserWidget;
import org.apache.directory.studio.ldapbrowser.core.model.IBrowserConnection;
import org.apache.directory.studio.ldapbrowser.core.model.IQuickSearch;
import org.apache.directory.studio.ldapbrowser.core.model.impl.QuickSearch;
@@ -40,12 +41,16 @@ import org.eclipse.ui.dialogs.Preference
*/
public class OpenQuickSearchAction extends BrowserAction
{
+ /** The browser widget */
+ private BrowserWidget widget;
+
/**
* Creates a new instance of OpenQuickSearchAction.
*/
- public OpenQuickSearchAction()
+ public OpenQuickSearchAction( BrowserWidget widget )
{
+ this.widget = widget;
}
@@ -57,11 +62,11 @@ public class OpenQuickSearchAction exten
IBrowserConnection browserConnection = getBrowserConnection();
if ( browserConnection != null )
{
- IQuickSearch quickSearch = browserConnection.getSearchManager().getQuickSearch();
+ IQuickSearch quickSearch = widget.getQuickSearch();
if ( quickSearch == null )
{
quickSearch = new QuickSearch( browserConnection.getRootDSE(), browserConnection );
- browserConnection.getSearchManager().setQuickSearch( quickSearch );
+ widget.setQuickSearch( quickSearch );
}
String pageId = BrowserCommonConstants.PROP_SEARCH;
Modified: directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dialogs/SelectEntryDialog.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dialogs/SelectEntryDialog.java?rev=1236228&r1=1236227&r2=1236228&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dialogs/SelectEntryDialog.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dialogs/SelectEntryDialog.java Thu Jan 26 15:13:02 2012
@@ -181,7 +181,7 @@ public class SelectEntryDialog extends D
browserActionGroup.activateGlobalActionHandlers();
// create the listener
- browserUniversalListener = new BrowserUniversalListener( browserWidget.getViewer() );
+ browserUniversalListener = new BrowserUniversalListener( browserWidget );
browserWidget.getViewer().addSelectionChangedListener( new ISelectionChangedListener()
{
Modified: directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dnd/SearchTransfer.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dnd/SearchTransfer.java?rev=1236228&r1=1236227&r2=1236228&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dnd/SearchTransfer.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dnd/SearchTransfer.java Thu Jan 26 15:13:02 2012
@@ -33,7 +33,6 @@ import org.apache.directory.studio.ldapb
import org.apache.directory.studio.ldapbrowser.core.BrowserConnectionManager;
import org.apache.directory.studio.ldapbrowser.core.BrowserCorePlugin;
import org.apache.directory.studio.ldapbrowser.core.model.IBrowserConnection;
-import org.apache.directory.studio.ldapbrowser.core.model.IQuickSearch;
import org.apache.directory.studio.ldapbrowser.core.model.ISearch;
import org.eclipse.swt.dnd.ByteArrayTransfer;
import org.eclipse.swt.dnd.Transfer;
@@ -106,16 +105,9 @@ public class SearchTransfer extends Byte
byte[] connectionId = search.getBrowserConnection().getConnection().getId().getBytes( "UTF-8" ); //$NON-NLS-1$
writeOut.writeInt( connectionId.length );
writeOut.write( connectionId );
- if ( search instanceof IQuickSearch )
- {
- writeOut.writeInt( 0 );
- }
- else
- {
- byte[] searchName = search.getName().getBytes( "UTF-8" ); //$NON-NLS-1$
- writeOut.writeInt( searchName.length );
- writeOut.write( searchName );
- }
+ byte[] searchName = search.getName().getBytes( "UTF-8" ); //$NON-NLS-1$
+ writeOut.writeInt( searchName.length );
+ writeOut.write( searchName );
}
byte[] buffer = out.toByteArray();
@@ -174,16 +166,9 @@ public class SearchTransfer extends Byte
if ( readIn.available() > 1 && connection != null )
{
int size = readIn.readInt();
- if ( size == 0 )
- {
- search = connection.getSearchManager().getQuickSearch();
- }
- else
- {
- byte[] searchName = new byte[size];
- readIn.read( searchName );
- search = connection.getSearchManager().getSearch( new String( searchName, "UTF-8" ) ); //$NON-NLS-1$
- }
+ byte[] searchName = new byte[size];
+ readIn.read( searchName );
+ search = connection.getSearchManager().getSearch( new String( searchName, "UTF-8" ) ); //$NON-NLS-1$
}
else
{
Modified: directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserActionGroup.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserActionGroup.java?rev=1236228&r1=1236227&r2=1236228&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserActionGroup.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserActionGroup.java Thu Jan 26 15:13:02 2012
@@ -108,7 +108,8 @@ public class BrowserActionGroup implemen
showQuickSearchAction = new ShowQuickSearchAction( mainWidget.getQuickSearchWidget() );
collapseAllAction = new CollapseAllAction( viewer );
- browserActionMap.put( openQuickSearchAction, new BrowserViewActionProxy( viewer, new OpenQuickSearchAction() ) );
+ browserActionMap.put( openQuickSearchAction, new BrowserViewActionProxy( viewer, new OpenQuickSearchAction(
+ mainWidget ) ) );
browserActionMap.put( upAction, new BrowserViewActionProxy( viewer, new UpAction( viewer ) ) );
browserActionMap.put( refreshAction, new BrowserViewActionProxy( viewer, new RefreshAction() ) );
browserActionMap.put( filterChildrenAction, new BrowserViewActionProxy( viewer, new FilterChildrenAction() ) );
Modified: directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserConfiguration.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserConfiguration.java?rev=1236228&r1=1236227&r2=1236228&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserConfiguration.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserConfiguration.java Thu Jan 26 15:13:02 2012
@@ -136,15 +136,15 @@ public class BrowserConfiguration
/**
* Gets the content provider.
*
- * @param viewer the browser widget's tree viewer
+ * @param widget the browser widget
*
* @return the content provider
*/
- public BrowserContentProvider getContentProvider( TreeViewer viewer )
+ public BrowserContentProvider getContentProvider( BrowserWidget widget )
{
if ( contentProvider == null )
{
- contentProvider = new BrowserContentProvider( viewer, getPreferences(), getSorter() );
+ contentProvider = new BrowserContentProvider( widget, getPreferences(), getSorter() );
}
return contentProvider;
Modified: directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserContentProvider.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserContentProvider.java?rev=1236228&r1=1236227&r2=1236228&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserContentProvider.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserContentProvider.java Thu Jan 26 15:13:02 2012
@@ -30,7 +30,6 @@ import java.util.Map;
import org.apache.directory.studio.connection.core.jobs.OpenConnectionsRunnable;
import org.apache.directory.studio.connection.core.jobs.StudioConnectionRunnableWithProgress;
-import org.apache.directory.studio.ldapbrowser.core.SearchManager;
import org.apache.directory.studio.ldapbrowser.core.jobs.InitializeChildrenRunnable;
import org.apache.directory.studio.ldapbrowser.core.jobs.SearchRunnable;
import org.apache.directory.studio.ldapbrowser.core.jobs.StudioBrowserJob;
@@ -61,6 +60,8 @@ import org.eclipse.jface.viewers.Viewer;
*/
public class BrowserContentProvider implements ITreeContentProvider
{
+ /** The browser widget */
+ private BrowserWidget widget;
/** The viewer. */
private TreeViewer viewer;
@@ -88,7 +89,8 @@ public class BrowserContentProvider impl
IStructuredSelection selection = ( IStructuredSelection ) event.getSelection();
if ( selection.size() == 1 && selection.getFirstElement() instanceof StudioConnectionRunnableWithProgress )
{
- StudioConnectionRunnableWithProgress runnable = ( StudioConnectionRunnableWithProgress ) selection.getFirstElement();
+ StudioConnectionRunnableWithProgress runnable = ( StudioConnectionRunnableWithProgress ) selection
+ .getFirstElement();
new StudioBrowserJob( runnable ).execute();
}
}
@@ -102,9 +104,10 @@ public class BrowserContentProvider impl
* @param preferences the preferences
* @param sorter the sorter
*/
- public BrowserContentProvider( TreeViewer viewer, BrowserPreferences preferences, BrowserSorter sorter )
+ public BrowserContentProvider( BrowserWidget widget, BrowserPreferences preferences, BrowserSorter sorter )
{
- this.viewer = viewer;
+ this.widget = widget;
+ this.viewer = widget.getViewer();
this.preferences = preferences;
this.sorter = sorter;
this.entryToEntryPagesMap = new HashMap<IEntry, BrowserEntryPage[]>();
@@ -381,11 +384,10 @@ public class BrowserContentProvider impl
List<Object> objects = new ArrayList<Object>();
- SearchManager sm = parentEntry.getBrowserConnection().getSearchManager();
- if ( sm != null && sm.getQuickSearch() != null
- && parentEntry.getDn().equals( sm.getQuickSearch().getSearchBase() ) )
+ if ( widget.getQuickSearch() != null
+ && parentEntry.getDn().equals( widget.getQuickSearch().getSearchBase() ) )
{
- objects.add( sm.getQuickSearch() );
+ objects.add( widget.getQuickSearch() );
}
if ( parentEntry.getTopPageChildrenRunnable() != null )
Modified: directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserQuickSearchWidget.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserQuickSearchWidget.java?rev=1236228&r1=1236227&r2=1236228&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserQuickSearchWidget.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserQuickSearchWidget.java Thu Jan 26 15:13:02 2012
@@ -293,7 +293,8 @@ public class BrowserQuickSearchWidget
IBrowserConnection conn = entry.getBrowserConnection();
QuickSearch quickSearch = new QuickSearch( entry, conn );
- quickSearch.getSearchParameter().setScope( quickSearchScopeButton.getSelection() ? SearchScope.SUBTREE : SearchScope.ONELEVEL );
+ quickSearch.getSearchParameter().setScope(
+ quickSearchScopeButton.getSelection() ? SearchScope.SUBTREE : SearchScope.ONELEVEL );
StringBuffer filter = new StringBuffer();
filter.append( "(" ); //$NON-NLS-1$
@@ -302,7 +303,8 @@ public class BrowserQuickSearchWidget
filter.append( "!(" ); //$NON-NLS-1$
}
filter.append( quickSearchAttributeCombo.getText() );
- filter.append( Messages.getString("BrowserQuickSearchWidget.9").equals( quickSearchOperatorCombo.getText() ) ? "=" : quickSearchOperatorCombo.getText() ); //$NON-NLS-1$ //$NON-NLS-2$
+ filter
+ .append( Messages.getString( "BrowserQuickSearchWidget.9" ).equals( quickSearchOperatorCombo.getText() ) ? "=" : quickSearchOperatorCombo.getText() ); //$NON-NLS-1$ //$NON-NLS-2$
// only escape '\', '(', ')', and '\u0000'
// don't escape '*' to allow substring search
@@ -320,7 +322,7 @@ public class BrowserQuickSearchWidget
quickSearch.getSearchParameter().setFilter( filter.toString() );
// set new quick search
- conn.getSearchManager().setQuickSearch( quickSearch );
+ browserWidget.setQuickSearch( quickSearch );
// execute quick search
new StudioBrowserJob( new SearchRunnable( new ISearch[]
Modified: directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserUniversalListener.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserUniversalListener.java?rev=1236228&r1=1236227&r2=1236228&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserUniversalListener.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserUniversalListener.java Thu Jan 26 15:13:02 2012
@@ -34,7 +34,9 @@ import org.apache.directory.studio.ldapb
import org.apache.directory.studio.ldapbrowser.core.events.EventRegistry;
import org.apache.directory.studio.ldapbrowser.core.events.SearchUpdateEvent;
import org.apache.directory.studio.ldapbrowser.core.events.SearchUpdateListener;
+import org.apache.directory.studio.ldapbrowser.core.events.SearchUpdateEvent.EventDetail;
import org.apache.directory.studio.ldapbrowser.core.model.IEntry;
+import org.apache.directory.studio.ldapbrowser.core.model.IQuickSearch;
import org.apache.directory.studio.ldapbrowser.core.model.IRootDSE;
import org.apache.directory.studio.ldapbrowser.core.model.ISearch;
import org.eclipse.jface.viewers.DoubleClickEvent;
@@ -54,6 +56,8 @@ import org.eclipse.jface.viewers.TreeVie
*/
public class BrowserUniversalListener implements ConnectionUpdateListener, EntryUpdateListener, SearchUpdateListener
{
+ /** The browser widget */
+ protected BrowserWidget widget;
/** The tree viewer */
protected TreeViewer viewer;
@@ -121,9 +125,10 @@ public class BrowserUniversalListener im
*
* @param viewer the tree viewer
*/
- public BrowserUniversalListener( TreeViewer viewer )
+ public BrowserUniversalListener( BrowserWidget widget )
{
- this.viewer = viewer;
+ this.widget = widget;
+ this.viewer = widget.getViewer();
viewer.addTreeListener( treeViewerListener );
viewer.addDoubleClickListener( doubleClickListener );
@@ -269,13 +274,21 @@ public class BrowserUniversalListener im
public void searchUpdated( SearchUpdateEvent searchUpdateEvent )
{
ISearch search = searchUpdateEvent.getSearch();
+
+ if ( ( search instanceof IQuickSearch ) && ( searchUpdateEvent.getDetail() == EventDetail.SEARCH_REMOVED ) )
+ {
+ if ( widget.getQuickSearch() == search )
+ {
+ widget.setQuickSearch( null );
+ }
+ }
+
viewer.refresh();
- if ( search.getBrowserConnection().getSearchManager().getQuickSearch() == search )
+ if ( ( search instanceof IQuickSearch ) && ( searchUpdateEvent.getDetail() != EventDetail.SEARCH_REMOVED ) )
{
viewer.setSelection( new StructuredSelection( search ), true );
viewer.expandToLevel( search, 1 );
}
}
-
}
Modified: directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserWidget.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserWidget.java?rev=1236228&r1=1236227&r2=1236228&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserWidget.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserWidget.java Thu Jan 26 15:13:02 2012
@@ -24,6 +24,7 @@ package org.apache.directory.studio.ldap
import org.apache.directory.studio.common.ui.widgets.BaseWidgetUtils;
import org.apache.directory.studio.common.ui.widgets.ViewFormWidget;
import org.apache.directory.studio.ldapbrowser.common.dialogs.SelectEntryDialog;
+import org.apache.directory.studio.ldapbrowser.core.model.IQuickSearch;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.IToolBarManager;
import org.eclipse.jface.viewers.TreeViewer;
@@ -64,6 +65,9 @@ public class BrowserWidget extends ViewF
/** The tree viewer. */
private TreeViewer viewer;
+ /** The quick search. */
+ private IQuickSearch quickSearch;
+
/**
* Creates a new instance of BrowserWidget.
@@ -172,7 +176,7 @@ public class BrowserWidget extends ViewF
configuration.getPreferences().connect( viewer );
// setup providers
- viewer.setContentProvider( configuration.getContentProvider( viewer ) );
+ viewer.setContentProvider( configuration.getContentProvider( this ) );
viewer.setLabelProvider( configuration.getLabelProvider( viewer ) );
return tree;
@@ -243,4 +247,25 @@ public class BrowserWidget extends ViewF
return viewer;
}
+
+ /**
+ * Sets the quick search.
+ *
+ * @param quickSearch the new quick search
+ */
+ public void setQuickSearch( IQuickSearch quickSearch )
+ {
+ this.quickSearch = quickSearch;
+ }
+
+
+ /**
+ * Gets the quick search.
+ *
+ * @return the quick search
+ */
+ public IQuickSearch getQuickSearch()
+ {
+ return quickSearch;
+ }
}
Modified: directory/studio/trunk/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/SearchManager.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/SearchManager.java?rev=1236228&r1=1236227&r2=1236228&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/SearchManager.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/SearchManager.java Thu Jan 26 15:13:02 2012
@@ -28,7 +28,6 @@ import java.util.List;
import org.apache.directory.studio.ldapbrowser.core.events.EventRegistry;
import org.apache.directory.studio.ldapbrowser.core.events.SearchUpdateEvent;
import org.apache.directory.studio.ldapbrowser.core.model.IBrowserConnection;
-import org.apache.directory.studio.ldapbrowser.core.model.IQuickSearch;
import org.apache.directory.studio.ldapbrowser.core.model.ISearch;
import org.eclipse.osgi.util.NLS;
@@ -50,9 +49,6 @@ public class SearchManager implements Se
/** The connection. */
private IBrowserConnection connection;
- /** The quick search. */
- private IQuickSearch quickSearch;
-
/**
* Creates a new instance of SearchManager.
@@ -171,14 +167,8 @@ public class SearchManager implements Se
*/
public void removeSearch( ISearch search )
{
- if ( search == quickSearch )
- {
- quickSearch = null;
- }
- else
- {
- searchList.remove( search );
- }
+ searchList.remove( search );
+
EventRegistry.fireSearchUpdated( new SearchUpdateEvent( search, SearchUpdateEvent.EventDetail.SEARCH_REMOVED ),
this );
}
@@ -219,27 +209,4 @@ public class SearchManager implements Se
{
return searchList.size();
}
-
-
- /**
- * Sets the quick search.
- *
- * @param quickSearch the new quick search
- */
- public void setQuickSearch( IQuickSearch quickSearch )
- {
- this.quickSearch = quickSearch;
- }
-
-
- /**
- * Gets the quick search.
- *
- * @return the quick search
- */
- public IQuickSearch getQuickSearch()
- {
- return quickSearch;
- }
-
}
Modified: directory/studio/trunk/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/BrowserConnection.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/BrowserConnection.java?rev=1236228&r1=1236227&r2=1236228&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/BrowserConnection.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/BrowserConnection.java Thu Jan 26 15:13:02 2012
@@ -154,7 +154,7 @@ public class BrowserConnection implement
entryToAttributeInfoMap.clear();
entryToChildrenInfoMap.clear();
entryToChildrenFilterMap.clear();
- searchManager.setQuickSearch( null );
+// searchManager.setQuickSearch( null ); TODO
rootDSE = new RootDSE( this );
cacheEntry( rootDSE );
Modified: directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/views/browser/BrowserViewUniversalListener.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/views/browser/BrowserViewUniversalListener.java?rev=1236228&r1=1236227&r2=1236228&view=diff
==============================================================================
--- directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/views/browser/BrowserViewUniversalListener.java (original)
+++ directory/studio/trunk/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/views/browser/BrowserViewUniversalListener.java Thu Jan 26 15:13:02 2012
@@ -49,11 +49,13 @@ import org.apache.directory.studio.ldapb
import org.apache.directory.studio.ldapbrowser.core.events.EntryRenamedEvent;
import org.apache.directory.studio.ldapbrowser.core.events.EventRegistry;
import org.apache.directory.studio.ldapbrowser.core.events.SearchUpdateEvent;
+import org.apache.directory.studio.ldapbrowser.core.events.SearchUpdateEvent.EventDetail;
import org.apache.directory.studio.ldapbrowser.core.events.SearchUpdateListener;
import org.apache.directory.studio.ldapbrowser.core.model.IBookmark;
import org.apache.directory.studio.ldapbrowser.core.model.IBrowserConnection;
import org.apache.directory.studio.ldapbrowser.core.model.IContinuation;
import org.apache.directory.studio.ldapbrowser.core.model.IEntry;
+import org.apache.directory.studio.ldapbrowser.core.model.IQuickSearch;
import org.apache.directory.studio.ldapbrowser.core.model.IRootDSE;
import org.apache.directory.studio.ldapbrowser.core.model.ISearch;
import org.apache.directory.studio.ldapbrowser.core.model.ISearchResult;
@@ -273,7 +275,7 @@ public class BrowserViewUniversalListene
*/
public BrowserViewUniversalListener( BrowserView view )
{
- super( view.getMainWidget().getViewer() );
+ super( view.getMainWidget() );
this.view = view;
// create maps
@@ -525,7 +527,15 @@ public class BrowserViewUniversalListene
public void searchUpdated( SearchUpdateEvent searchUpdateEvent )
{
ISearch search = searchUpdateEvent.getSearch();
- viewer.setSelection( StructuredSelection.EMPTY );
+
+ if ( ( search instanceof IQuickSearch ) && ( searchUpdateEvent.getDetail() == EventDetail.SEARCH_REMOVED ) )
+ {
+ if ( widget.getQuickSearch() == search )
+ {
+ widget.setQuickSearch( null );
+ }
+ }
+
viewer.refresh();
if ( search instanceof IContinuation )
@@ -536,9 +546,12 @@ public class BrowserViewUniversalListene
{
viewer.setSelection( new StructuredSelection( search ), true );
}
- else if ( search.getBrowserConnection().getSearchManager().getQuickSearch() == search )
+ else if ( ( search instanceof IQuickSearch ) && ( searchUpdateEvent.getDetail() != EventDetail.SEARCH_REMOVED ) )
{
- viewer.setSelection( new StructuredSelection( search ), true );
+ if ( widget.getQuickSearch() == search )
+ {
+ viewer.setSelection( new StructuredSelection( search ), true );
+ }
}
else
{