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 2008/08/28 21:01:24 UTC
svn commit: r689931 - in /directory/studio/trunk:
connection-core/src/main/java/org/apache/directory/studio/connection/core/
ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dialogs/preferences/
ldapbrowser-common/src/mai...
Author: seelmann
Date: Thu Aug 28 12:01:23 2008
New Revision: 689931
URL: http://svn.apache.org/viewvc?rev=689931&view=rev
Log:
Fix for DIRSTUDIO-383: move fetch subentries setting from browser preferences to connection properties
Modified:
directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/ConnectionParameter.java
directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dialogs/preferences/BrowserPreferencePage.java
directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserPreferences.java
directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/connection/BrowserParameterPage.java
directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserCoreConstants.java
directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserCorePreferencesInitializer.java
directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/InitializeChildrenRunnable.java
directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/IBrowserConnection.java
directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/BrowserConnection.java
directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/DummyConnection.java
Modified: directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/ConnectionParameter.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/ConnectionParameter.java?rev=689931&r1=689930&r2=689931&view=diff
==============================================================================
--- directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/ConnectionParameter.java (original)
+++ directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/ConnectionParameter.java Thu Aug 28 12:01:23 2008
@@ -86,7 +86,7 @@
/** The symbolic name. */
private String name;
-
+
/** The host name or IP address of the LDAP server. */
private String host;
@@ -110,7 +110,7 @@
/** The read only flag. */
private boolean isReadOnly;
-
+
/** The extended properties. */
private Map<String, String> extendedProperties;
Modified: directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dialogs/preferences/BrowserPreferencePage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dialogs/preferences/BrowserPreferencePage.java?rev=689931&r1=689930&r2=689931&view=diff
==============================================================================
--- directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dialogs/preferences/BrowserPreferencePage.java (original)
+++ directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/dialogs/preferences/BrowserPreferencePage.java Thu Aug 28 12:01:23 2008
@@ -81,8 +81,6 @@
private Button checkForChildrenButton;
- private Button fetchSubentriesButton;
-
/**
* Creates a new instance of BrowserPreferencePage.
@@ -250,9 +248,6 @@
checkForChildrenButton = BaseWidgetUtils.createCheckbox( composite, "Check for children", 1 );
checkForChildrenButton
.setSelection( coreStore.getBoolean( BrowserCoreConstants.PREFERENCE_CHECK_FOR_CHILDREN ) );
- fetchSubentriesButton = BaseWidgetUtils.createCheckbox( composite,
- "Fetch subentries (requires additional search request)", 1 );
- fetchSubentriesButton.setSelection( coreStore.getBoolean( BrowserCoreConstants.PREFERENCE_FETCH_SUBENTRIES ) );
updateEnabled();
@@ -278,7 +273,6 @@
{
Preferences coreStore = BrowserCorePlugin.getDefault().getPluginPreferences();
coreStore.setValue( BrowserCoreConstants.PREFERENCE_CHECK_FOR_CHILDREN, checkForChildrenButton.getSelection() );
- coreStore.setValue( BrowserCoreConstants.PREFERENCE_FETCH_SUBENTRIES, fetchSubentriesButton.getSelection() );
BrowserCorePlugin.getDefault().savePluginPreferences();
getPreferenceStore().setValue( BrowserCommonConstants.PREFERENCE_BROWSER_EXPAND_BASE_ENTRIES,
@@ -345,8 +339,6 @@
Preferences coreStore = BrowserCorePlugin.getDefault().getPluginPreferences();
checkForChildrenButton.setSelection( coreStore
.getDefaultBoolean( BrowserCoreConstants.PREFERENCE_CHECK_FOR_CHILDREN ) );
- fetchSubentriesButton.setSelection( coreStore
- .getDefaultBoolean( BrowserCoreConstants.PREFERENCE_FETCH_SUBENTRIES ) );
updateEnabled();
Modified: directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserPreferences.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserPreferences.java?rev=689931&r1=689930&r2=689931&view=diff
==============================================================================
--- directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserPreferences.java (original)
+++ directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/browser/BrowserPreferences.java Thu Aug 28 12:01:23 2008
@@ -323,19 +323,6 @@
/**
- * Returns true if subentries should be fetched while browsing.
- *
- *
- * @return true if subentries should be fetched while browsing
- */
- public boolean isFetchSubentries()
- {
- Preferences coreStore = BrowserCorePlugin.getDefault().getPluginPreferences();
- return coreStore.getBoolean( BrowserCoreConstants.PREFERENCE_FETCH_SUBENTRIES );
- }
-
-
- /**
* {@inheritDoc}
*/
public void propertyChange( PropertyChangeEvent event )
Modified: directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/connection/BrowserParameterPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/connection/BrowserParameterPage.java?rev=689931&r1=689930&r2=689931&view=diff
==============================================================================
--- directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/connection/BrowserParameterPage.java (original)
+++ directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/widgets/connection/BrowserParameterPage.java Thu Aug 28 12:01:23 2008
@@ -83,6 +83,8 @@
private static final String X_REFERRAL_HANDLING_MANAGE = "MANAGE";
+ private static final String X_FETCH_SUBENTRIES = "X-FETCH-SUBENTRIES";
+
/** The checkbox to fetch the base DN's from namingContexts whenever opening the connection */
private Button autoFetchBaseDnsButton;
@@ -101,6 +103,9 @@
/** The widget to select the referrals handling method */
private ReferralsHandlingWidget referralsHandlingWidget;
+ /** The fetch subentries button. */
+ private Button fetchSubentriesButton;
+
/**
* Creates a new instance of BrowserParameterPage.
@@ -178,6 +183,18 @@
/**
+ * Returns true if subentries should be fetched
+ * while browsing.
+ *
+ * @return true, if subentries should be fetched
+ */
+ private boolean isFetchSubentries()
+ {
+ return fetchSubentriesButton.getSelection();
+ }
+
+
+ /**
* Gets a temporary connection with all conection parameter
* entered in this page.
*
@@ -198,6 +215,7 @@
{
addBaseDNInput( parent );
addLimitInput( parent );
+ addOptionsInput( parent );
}
@@ -230,6 +248,24 @@
/**
+ * Adds the options input.
+ *
+ * @param parent the parent
+ */
+ private void addOptionsInput( Composite parent )
+ {
+ Composite composite = BaseWidgetUtils.createColumnContainer( parent, 1, 1 );
+
+ Group group = BaseWidgetUtils.createGroup( composite, "Options", 1 );
+ Composite groupComposite = BaseWidgetUtils.createColumnContainer( group, 1, 1 );
+
+ fetchSubentriesButton = BaseWidgetUtils.createCheckbox( groupComposite,
+ "Fetch subentries while browsing (requires additional search request)", 1 );
+ fetchSubentriesButton.setSelection( false );
+ }
+
+
+ /**
* Adds the limit input.
*
* @param parent the parent
@@ -300,6 +336,10 @@
Connection.AliasDereferencingMethod aliasesDereferencingMethod = Connection.AliasDereferencingMethod
.getByOrdinal( aliasesDereferencingMethodOrdinal );
aliasesDereferencingWidget.setAliasesDereferencingMethod( aliasesDereferencingMethod );
+
+ boolean fetchSubentries = parameter
+ .getExtendedBoolProperty( IBrowserConnection.CONNECTION_PARAMETER_FETCH_SUBENTRIES );
+ fetchSubentriesButton.setSelection( fetchSubentries );
}
@@ -357,6 +397,14 @@
connectionPageModified();
}
} );
+
+ fetchSubentriesButton.addSelectionListener( new SelectionAdapter()
+ {
+ public void widgetSelected( SelectionEvent arg0 )
+ {
+ connectionPageModified();
+ }
+ } );
}
@@ -374,6 +422,8 @@
getReferralsHandlingMethod().getOrdinal() );
parameter.setExtendedIntProperty( IBrowserConnection.CONNECTION_PARAMETER_ALIASES_DEREFERENCING_METHOD,
getAliasesDereferencingMethod().getOrdinal() );
+ parameter.setExtendedBoolProperty( IBrowserConnection.CONNECTION_PARAMETER_FETCH_SUBENTRIES,
+ isFetchSubentries() );
}
@@ -428,10 +478,12 @@
.getExtendedIntProperty( IBrowserConnection.CONNECTION_PARAMETER_ALIASES_DEREFERENCING_METHOD );
Connection.AliasDereferencingMethod aliasesDereferencingMethod = Connection.AliasDereferencingMethod
.getByOrdinal( aliasesDereferencingMethodOrdinal );
+ boolean fetchSubentries = connectionParameter
+ .getExtendedBoolProperty( IBrowserConnection.CONNECTION_PARAMETER_FETCH_SUBENTRIES );
return fetchBaseDns != isAutoFetchBaseDns() || !StringUtils.equals( baseDn, getBaseDN() )
|| referralsHandlingMethod != getReferralsHandlingMethod()
- || aliasesDereferencingMethod != getAliasesDereferencingMethod();
+ || aliasesDereferencingMethod != getAliasesDereferencingMethod() || fetchSubentries != isFetchSubentries();
}
@@ -501,6 +553,12 @@
break;
}
+ boolean fetchSubentries = parameter
+ .getExtendedBoolProperty( IBrowserConnection.CONNECTION_PARAMETER_FETCH_SUBENTRIES );
+ if ( fetchSubentries )
+ {
+ ldapUrl.getExtensions().add( new Extension( false, X_FETCH_SUBENTRIES, null ) );
+ }
}
@@ -586,5 +644,10 @@
parameter.setExtendedIntProperty( IBrowserConnection.CONNECTION_PARAMETER_REFERRALS_HANDLING_METHOD,
Connection.ReferralHandlingMethod.FOLLOW.getOrdinal() );
}
+
+ // fetch subentries
+ Extension fetchSubentries = ldapUrl.getExtension( X_FETCH_SUBENTRIES );
+ parameter.setExtendedBoolProperty( IBrowserConnection.CONNECTION_PARAMETER_FETCH_SUBENTRIES,
+ fetchSubentries != null );
}
}
Modified: directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserCoreConstants.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserCoreConstants.java?rev=689931&r1=689930&r2=689931&view=diff
==============================================================================
--- directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserCoreConstants.java (original)
+++ directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserCoreConstants.java Thu Aug 28 12:01:23 2008
@@ -45,8 +45,6 @@
public static final String PREFERENCE_CHECK_FOR_CHILDREN = "checkForChildren"; //$NON-NLS-1$
- public static final String PREFERENCE_FETCH_SUBENTRIES = "fetchSubentries"; //$NON-NLS-1$
-
public static final String PREFERENCE_FORMAT_CSV_ATTRIBUTEDELIMITER = "formatCsvAttributeDelimiter"; //$NON-NLS-1$
public static final String PREFERENCE_FORMAT_CSV_VALUEDELIMITER = "formatCsvValueDelimiter"; //$NON-NLS-1$
Modified: directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserCorePreferencesInitializer.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserCorePreferencesInitializer.java?rev=689931&r1=689930&r2=689931&view=diff
==============================================================================
--- directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserCorePreferencesInitializer.java (original)
+++ directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserCorePreferencesInitializer.java Thu Aug 28 12:01:23 2008
@@ -43,7 +43,6 @@
Preferences store = BrowserCorePlugin.getDefault().getPluginPreferences();
store.setDefault( BrowserCoreConstants.PREFERENCE_CHECK_FOR_CHILDREN, true );
- store.setDefault( BrowserCoreConstants.PREFERENCE_FETCH_SUBENTRIES, false );
store.setDefault( BrowserCoreConstants.PREFERENCE_FORMAT_CSV_ATTRIBUTEDELIMITER, "," );
store.setDefault( BrowserCoreConstants.PREFERENCE_FORMAT_CSV_VALUEDELIMITER, "|" );
Modified: directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/InitializeChildrenRunnable.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/InitializeChildrenRunnable.java?rev=689931&r1=689930&r2=689931&view=diff
==============================================================================
--- directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/InitializeChildrenRunnable.java (original)
+++ directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/jobs/InitializeChildrenRunnable.java Thu Aug 28 12:01:23 2008
@@ -36,6 +36,7 @@
import org.apache.directory.studio.ldapbrowser.core.events.ChildrenInitializedEvent;
import org.apache.directory.studio.ldapbrowser.core.events.EventRegistry;
import org.apache.directory.studio.ldapbrowser.core.model.Control;
+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.IRootDSE;
import org.apache.directory.studio.ldapbrowser.core.model.ISearch;
@@ -252,8 +253,7 @@
BrowserCorePlugin.getDefault().getPluginPreferences().getBoolean(
BrowserCoreConstants.PREFERENCE_CHECK_FOR_CHILDREN ), new Control[]
{ Control.SUBENTRIES_CONTROL } );
- if ( BrowserCorePlugin.getDefault().getPluginPreferences().getBoolean(
- BrowserCoreConstants.PREFERENCE_FETCH_SUBENTRIES ) )
+ if ( parent.getBrowserConnection().isFetchSubentries() )
{
SearchRunnable.searchAndUpdateModel( parent.getBrowserConnection(), subSearch, monitor );
ISearchResult[] subSrs = subSearch.getSearchResults();
Modified: directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/IBrowserConnection.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/IBrowserConnection.java?rev=689931&r1=689930&r2=689931&view=diff
==============================================================================
--- directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/IBrowserConnection.java (original)
+++ directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/IBrowserConnection.java Thu Aug 28 12:01:23 2008
@@ -23,8 +23,8 @@
import java.io.Serializable;
-import org.apache.directory.shared.ldap.util.LdapURL;
import org.apache.directory.shared.ldap.name.LdapDN;
+import org.apache.directory.shared.ldap.util.LdapURL;
import org.apache.directory.studio.connection.core.Connection;
import org.apache.directory.studio.connection.core.ConnectionPropertyPageProvider;
import org.apache.directory.studio.connection.core.Connection.AliasDereferencingMethod;
@@ -65,6 +65,9 @@
/** The key for the connection parameter "Referrals Handling". */
public static String CONNECTION_PARAMETER_REFERRALS_HANDLING_METHOD = "ldapbrowser.referralsHandlingMethod";
+ /** The key for the connection parameter "Fetch Sub-entries". */
+ public static String CONNECTION_PARAMETER_FETCH_SUBENTRIES = "ldapbrowser.fetchSubentries";
+
/** The MangageDsaIT control OID. */
public static final String CONTROL_MANAGEDSAIT = "2.16.840.1.113730.3.4.2"; //$NON-NLS-1$
@@ -178,6 +181,22 @@
/**
+ * Checks if subentries should be fetched
+ *
+ * @return the true if subentries should be fetched
+ */
+ public abstract boolean isFetchSubentries();
+
+
+ /**
+ * Sets if subentries should be fetched.
+ *
+ * @param fetchSubentries true to fetch subentries
+ */
+ public abstract void setFetchSubentries( boolean fetchSubentries );
+
+
+ /**
* Gets the root DSE.
*
* @return the root DSE
@@ -255,5 +274,5 @@
* Clears all caches.
*/
public abstract void clearCaches();
-
+
}
\ No newline at end of file
Modified: directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/BrowserConnection.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/BrowserConnection.java?rev=689931&r1=689930&r2=689931&view=diff
==============================================================================
--- directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/BrowserConnection.java (original)
+++ directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/BrowserConnection.java Thu Aug 28 12:01:23 2008
@@ -27,8 +27,8 @@
import javax.naming.InvalidNameException;
-import org.apache.directory.shared.ldap.util.LdapURL;
import org.apache.directory.shared.ldap.name.LdapDN;
+import org.apache.directory.shared.ldap.util.LdapURL;
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;
@@ -102,6 +102,7 @@
ReferralHandlingMethod.FOLLOW.getOrdinal() );
connection.getConnectionParameter().setExtendedBoolProperty( CONNECTION_PARAMETER_FETCH_BASE_DNS, true );
connection.getConnectionParameter().setExtendedProperty( CONNECTION_PARAMETER_BASE_DN, "" );
+ connection.getConnectionParameter().setExtendedBoolProperty( CONNECTION_PARAMETER_FETCH_SUBENTRIES, false );
}
this.searchManager = new SearchManager( this );
@@ -297,6 +298,26 @@
/**
* {@inheritDoc}
*/
+ public boolean isFetchSubentries()
+ {
+ return connection.getConnectionParameter().getExtendedBoolProperty( CONNECTION_PARAMETER_FETCH_SUBENTRIES );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setFetchSubentries( boolean fetchSubentries )
+ {
+ connection.getConnectionParameter().setExtendedBoolProperty( CONNECTION_PARAMETER_FETCH_SUBENTRIES,
+ fetchSubentries );
+ ConnectionEventRegistry.fireConnectionUpdated( connection, this );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
public final IRootDSE getRootDSE()
{
return rootDSE;
Modified: directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/DummyConnection.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/DummyConnection.java?rev=689931&r1=689930&r2=689931&view=diff
==============================================================================
--- directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/DummyConnection.java (original)
+++ directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/model/impl/DummyConnection.java Thu Aug 28 12:01:23 2008
@@ -21,8 +21,8 @@
package org.apache.directory.studio.ldapbrowser.core.model.impl;
-import org.apache.directory.shared.ldap.util.LdapURL;
import org.apache.directory.shared.ldap.name.LdapDN;
+import org.apache.directory.shared.ldap.util.LdapURL;
import org.apache.directory.studio.connection.core.Connection;
import org.apache.directory.studio.ldapbrowser.core.BookmarkManager;
import org.apache.directory.studio.ldapbrowser.core.SearchManager;
@@ -237,6 +237,23 @@
/**
* {@inheritDoc}
*/
+ public boolean isFetchSubentries()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setFetchSubentries( boolean fetchSubentries )
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
public LdapURL getUrl()
{
return null;