You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by se...@apache.org on 2021/01/11 06:16:59 UTC
[directory-studio] branch master updated: DIRSTUDIO-837,
DIRSTUDIO-1167: Move quick search to connection, fixes NPE
This is an automated email from the ASF dual-hosted git repository.
seelmann pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/directory-studio.git
The following commit(s) were added to refs/heads/master by this push:
new 5d8d484 DIRSTUDIO-837, DIRSTUDIO-1167: Move quick search to connection, fixes NPE
5d8d484 is described below
commit 5d8d4845b0e63a2bb817c781a78d8321dd1bd2d7
Author: Stefan Seelmann <ma...@stefan-seelmann.de>
AuthorDate: Mon Jan 11 07:16:44 2021 +0100
DIRSTUDIO-837, DIRSTUDIO-1167: Move quick search to connection, fixes NPE
---
.../common/actions/OpenQuickSearchAction.java | 4 ++--
.../widgets/browser/BrowserContentProvider.java | 2 +-
.../widgets/browser/BrowserQuickSearchWidget.java | 2 +-
.../widgets/browser/BrowserUniversalListener.java | 4 ++--
.../studio/ldapbrowser/core/SearchManager.java | 25 ----------------------
.../ldapbrowser/core/model/IBrowserConnection.java | 16 ++++++++++++++
.../core/model/impl/BrowserConnection.java | 22 +++++++++++++++++++
.../core/model/impl/DummyConnection.java | 18 ++++++++++++++++
.../browser/BrowserViewUniversalListener.java | 6 +++---
9 files changed, 65 insertions(+), 34 deletions(-)
diff --git a/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/actions/OpenQuickSearchAction.java b/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/actions/OpenQuickSearchAction.java
index 774fd5b..b2130ec 100644
--- a/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/actions/OpenQuickSearchAction.java
+++ b/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/actions/OpenQuickSearchAction.java
@@ -54,7 +54,7 @@ public class OpenQuickSearchAction extends BrowserAction
if ( browserConnection != null )
{
// Getting the current quick search
- IQuickSearch quickSearch = browserConnection.getSearchManager().getQuickSearch();
+ IQuickSearch quickSearch = browserConnection.getQuickSearch();
// Creating a new quick search with the currently selected entry
// if there's no current quick search or quick search isn't selected
@@ -74,7 +74,7 @@ public class OpenQuickSearchAction extends BrowserAction
// Creating a new quick search
quickSearch = new QuickSearch( searchBase, browserConnection );
- browserConnection.getSearchManager().setQuickSearch( quickSearch );
+ browserConnection.setQuickSearch( quickSearch );
}
// Creating and opening the dialog
diff --git a/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserContentProvider.java b/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserContentProvider.java
index 222358c..b58e780 100644
--- a/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserContentProvider.java
+++ b/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserContentProvider.java
@@ -349,7 +349,7 @@ public class BrowserContentProvider implements ITreeContentProvider
else if ( parent instanceof IEntry )
{
final IEntry parentEntry = ( IEntry ) parent;
- IQuickSearch quickSearch = parentEntry.getBrowserConnection().getSearchManager().getQuickSearch();
+ IQuickSearch quickSearch = parentEntry.getBrowserConnection().getQuickSearch();
if ( parentEntry instanceof IContinuation )
{
diff --git a/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserQuickSearchWidget.java b/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserQuickSearchWidget.java
index 923ceb1..bdfb6d8 100644
--- a/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserQuickSearchWidget.java
+++ b/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserQuickSearchWidget.java
@@ -333,7 +333,7 @@ public class BrowserQuickSearchWidget
quickSearch.getSearchParameter().setFilter( filter.toString() );
// set new quick search
- conn.getSearchManager().setQuickSearch( quickSearch );
+ conn.setQuickSearch( quickSearch );
// execute quick search
new StudioBrowserJob( new SearchRunnable( new ISearch[]
diff --git a/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserUniversalListener.java b/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserUniversalListener.java
index ef37d6c..984f1ae 100644
--- a/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserUniversalListener.java
+++ b/plugins/ldapbrowser.common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserUniversalListener.java
@@ -277,9 +277,9 @@ public class BrowserUniversalListener implements ConnectionUpdateListener, Entry
if ( ( search instanceof IQuickSearch ) && ( searchUpdateEvent.getDetail() == EventDetail.SEARCH_REMOVED ) )
{
- if ( search.getBrowserConnection().getSearchManager().getQuickSearch() == search )
+ if ( search.getBrowserConnection().getQuickSearch() == search )
{
- search.getBrowserConnection().getSearchManager().setQuickSearch( null );
+ search.getBrowserConnection().setQuickSearch( null );
}
}
diff --git a/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/SearchManager.java b/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/SearchManager.java
index 7e7d5db..80d9603 100644
--- a/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/SearchManager.java
+++ b/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/SearchManager.java
@@ -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,8 +49,6 @@ public class SearchManager implements Serializable
/** The connection. */
private IBrowserConnection connection;
- /** The quick search. */
- private IQuickSearch quickSearch;
/**
* Creates a new instance of SearchManager.
@@ -212,26 +209,4 @@ public class SearchManager implements Serializable
{
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;
- }
}
diff --git a/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/IBrowserConnection.java b/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/IBrowserConnection.java
index 6dae532..d679c10 100644
--- a/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/IBrowserConnection.java
+++ b/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/IBrowserConnection.java
@@ -456,6 +456,22 @@ public interface IBrowserConnection extends Serializable, IAdaptable, Connection
/**
+ * Sets the quick search.
+ *
+ * @param quickSearch the new quick search
+ */
+ void setQuickSearch( IQuickSearch quickSearch );
+
+
+ /**
+ * Gets the quick search.
+ *
+ * @return the quick search
+ */
+ IQuickSearch getQuickSearch();
+
+
+ /**
* Gets the root DSE.
*
* @return the root DSE
diff --git a/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/BrowserConnection.java b/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/BrowserConnection.java
index 38150f3..f1845d4 100644
--- a/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/BrowserConnection.java
+++ b/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/BrowserConnection.java
@@ -37,6 +37,7 @@ import org.apache.directory.studio.ldapbrowser.core.SearchManager;
import org.apache.directory.studio.ldapbrowser.core.internal.search.LdapSearchPageScoreComputer;
import org.apache.directory.studio.ldapbrowser.core.model.IBrowserConnection;
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.schema.Schema;
@@ -69,6 +70,9 @@ public class BrowserConnection implements IBrowserConnection, Serializable
/** The bookmark manager. */
private BookmarkManager bookmarkManager;
+ /** The quick search. */
+ private IQuickSearch quickSearch;
+
/** The dn to entry cache. */
private volatile Map<String, IEntry> dnToEntryCache;
@@ -495,6 +499,24 @@ public class BrowserConnection implements IBrowserConnection, Serializable
}
+ /**
+ * {@inheritDoc}
+ */
+ public void setQuickSearch( IQuickSearch quickSearch )
+ {
+ this.quickSearch = quickSearch;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public IQuickSearch getQuickSearch()
+ {
+ return quickSearch;
+ }
+
+
/**
* {@inheritDoc}
*/
diff --git a/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/DummyConnection.java b/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/DummyConnection.java
index 9a0dbd8..43d5845 100644
--- a/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/DummyConnection.java
+++ b/plugins/ldapbrowser.core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/DummyConnection.java
@@ -28,6 +28,7 @@ import org.apache.directory.studio.ldapbrowser.core.BookmarkManager;
import org.apache.directory.studio.ldapbrowser.core.SearchManager;
import org.apache.directory.studio.ldapbrowser.core.model.IBrowserConnection;
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.schema.Schema;
@@ -389,6 +390,23 @@ public class DummyConnection implements IBrowserConnection
/**
* {@inheritDoc}
*/
+ public void setQuickSearch( IQuickSearch quickSearch )
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public IQuickSearch getQuickSearch()
+ {
+ return null;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
public LdapUrl getUrl()
{
return null;
diff --git a/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/views/browser/BrowserViewUniversalListener.java b/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/views/browser/BrowserViewUniversalListener.java
index 7909713..f00e941 100644
--- a/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/views/browser/BrowserViewUniversalListener.java
+++ b/plugins/ldapbrowser.ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/views/browser/BrowserViewUniversalListener.java
@@ -550,9 +550,9 @@ public class BrowserViewUniversalListener extends BrowserUniversalListener imple
if ( ( search instanceof IQuickSearch ) && ( searchUpdateEvent.getDetail() == EventDetail.SEARCH_REMOVED ) )
{
- if ( search.getBrowserConnection().getSearchManager().getQuickSearch() == search )
+ if ( search.getBrowserConnection().getQuickSearch() == search )
{
- search.getBrowserConnection().getSearchManager().setQuickSearch( null );
+ search.getBrowserConnection().setQuickSearch( null );
}
}
@@ -568,7 +568,7 @@ public class BrowserViewUniversalListener extends BrowserUniversalListener imple
}
else if ( ( search instanceof IQuickSearch ) && ( searchUpdateEvent.getDetail() != EventDetail.SEARCH_REMOVED ) )
{
- if ( search.getBrowserConnection().getSearchManager().getQuickSearch() == search )
+ if ( search.getBrowserConnection().getQuickSearch() == search )
{
viewer.setSelection( new StructuredSelection( search ), true );
}