You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2015/04/13 00:51:19 UTC
svn commit: r1673076 -
/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/DatabasesDetailsPage.java
Author: elecharny
Date: Sun Apr 12 22:51:19 2015
New Revision: 1673076
URL: http://svn.apache.org/r1673076
Log:
Added the support of the olcMirrorMode and olcDisabled attributes in the base Database configuration.
Modified:
directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/DatabasesDetailsPage.java
Modified: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/DatabasesDetailsPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/DatabasesDetailsPage.java?rev=1673076&r1=1673075&r2=1673076&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/DatabasesDetailsPage.java (original)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/DatabasesDetailsPage.java Sun Apr 12 22:51:19 2015
@@ -169,11 +169,18 @@ public class DatabasesDetailsPage implem
private Button editOverlayButton;
private Button deleteOverlayButton;
+ /** The specific configuration for each type of database */
private Section specificSettingsSection;
private Composite specificSettingsSectionComposite;
private Composite databaseSpecificDetailsComposite;
- /** The Syncrepl part */
+ /** The olcMirrorMode flag */
+ private BooleanWithDefaultWidget mirrorModeBooleanWithDefaultWidget;
+
+ /** The olcDisabled flag (only available in OpenDLAP 2.4.36) */
+ private BooleanWithDefaultWidget disabledBooleanWithDefaultWidget;
+
+ /** The Syncrepl consumer part */
private TableViewer replicationConsumersTableViewer;
private Button addReplicationConsumerButton;
private Button editReplicationConsumerButton;
@@ -527,6 +534,37 @@ public class DatabasesDetailsPage implem
hiddenCheckboxDecoration.setMarginWidth( 4 );
hiddenCheckboxDecoration
.setDescriptionText( "Sets whether the database will be used to answer queries." );
+
+ // mirrorMode
+ toolkit.createLabel( composite, "Mirror Mode:" );
+ mirrorModeBooleanWithDefaultWidget = new BooleanWithDefaultWidget();
+ mirrorModeBooleanWithDefaultWidget.create( composite, toolkit );
+ mirrorModeBooleanWithDefaultWidget.setValue( false );
+ mirrorModeBooleanWithDefaultWidget.getControl().setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+ ControlDecoration mirrorModeCheckboxDecoration = new ControlDecoration(
+ mirrorModeBooleanWithDefaultWidget.getControl(), SWT.CENTER | SWT.RIGHT );
+ mirrorModeCheckboxDecoration.setImage( OpenLdapConfigurationPlugin.getDefault().getImageDescriptor(
+ OpenLdapConfigurationPluginConstants.IMG_INFORMATION ).createImage() );
+ mirrorModeCheckboxDecoration.setMarginWidth( 4 );
+ mirrorModeCheckboxDecoration
+ .setDescriptionText( "Sets the database in MirrorMode. This is only useful in a Multi-Master configuration" );
+
+ // disabled (only in OpenLDAP 2.4.36
+ if ( browserConnection.getSchema().hasAttributeTypeDescription( "olcDisabled" ) )
+ {
+ toolkit.createLabel( composite, "Disabled:" );
+ disabledBooleanWithDefaultWidget = new BooleanWithDefaultWidget();
+ disabledBooleanWithDefaultWidget.create( composite, toolkit );
+ disabledBooleanWithDefaultWidget.setValue( false );
+ disabledBooleanWithDefaultWidget.getControl().setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+ ControlDecoration disabledCheckboxDecoration = new ControlDecoration(
+ disabledBooleanWithDefaultWidget.getControl(), SWT.CENTER | SWT.RIGHT );
+ disabledCheckboxDecoration.setImage( OpenLdapConfigurationPlugin.getDefault().getImageDescriptor(
+ OpenLdapConfigurationPluginConstants.IMG_INFORMATION ).createImage() );
+ disabledCheckboxDecoration.setMarginWidth( 4 );
+ disabledCheckboxDecoration
+ .setDescriptionText( "Disable this Database" );
+ }
}
@@ -791,6 +829,15 @@ public class DatabasesDetailsPage implem
{
databaseSpecificDetailsBlock.commit( onSave );
}
+
+ // MirrorMode
+ database.setOlcMirrorMode( mirrorModeBooleanWithDefaultWidget.getValue() );
+
+ // Disabled
+ if ( browserConnection.getSchema().hasAttributeTypeDescription( "olcDisabled" ) )
+ {
+ database.setOlcDisabled( disabledBooleanWithDefaultWidget.getValue() );
+ }
}
}
@@ -869,6 +916,13 @@ public class DatabasesDetailsPage implem
rootPasswordWidget.setEnabled( false );
readOnlyBooleanWithDefaultWidget.setEnabled( false );
hiddenBooleanWithDefaultWidget.setEnabled( false );
+ mirrorModeBooleanWithDefaultWidget.setEnabled( false );
+
+ // Disabled
+ if ( browserConnection.getSchema().hasAttributeTypeDescription( "olcDisabled" ) )
+ {
+ disabledBooleanWithDefaultWidget.setEnabled( false );
+ }
}
else if ( isConfigDatabase( database ) )
{
@@ -878,6 +932,13 @@ public class DatabasesDetailsPage implem
rootPasswordWidget.setEnabled( true );
readOnlyBooleanWithDefaultWidget.setEnabled( false );
hiddenBooleanWithDefaultWidget.setEnabled( false );
+ mirrorModeBooleanWithDefaultWidget.setEnabled( true );
+
+ // Disabled
+ if ( browserConnection.getSchema().hasAttributeTypeDescription( "olcDisabled" ) )
+ {
+ disabledBooleanWithDefaultWidget.setEnabled( false );
+ }
}
else
{
@@ -887,6 +948,13 @@ public class DatabasesDetailsPage implem
rootPasswordWidget.setEnabled( true );
readOnlyBooleanWithDefaultWidget.setEnabled( true );
hiddenBooleanWithDefaultWidget.setEnabled( true );
+ mirrorModeBooleanWithDefaultWidget.setEnabled( true );
+
+ // Disabled
+ if ( browserConnection.getSchema().hasAttributeTypeDescription( "olcDisabled" ) )
+ {
+ disabledBooleanWithDefaultWidget.setEnabled( true );
+ }
}
// Suffixes
@@ -914,6 +982,15 @@ public class DatabasesDetailsPage implem
// Hidden
hiddenBooleanWithDefaultWidget.setValue( database.getOlcHidden() );
+
+ // Mirror Mode
+ mirrorModeBooleanWithDefaultWidget.setValue( database.getOlcMirrorMode() );
+
+ // Disabled
+ if ( browserConnection.getSchema().hasAttributeTypeDescription( "olcDisabled" ) )
+ {
+ disabledBooleanWithDefaultWidget.setValue( database.getOlcDisabled() );
+ }
// Overlays
refreshOverlaysTableViewer();
@@ -1076,6 +1153,12 @@ public class DatabasesDetailsPage implem
addModifyListener( rootPasswordWidget, dirtyWidgetModifyListener );
addModifyListener( readOnlyBooleanWithDefaultWidget, dirtyWidgetModifyListener );
addModifyListener( hiddenBooleanWithDefaultWidget, dirtyWidgetModifyListener );
+ addModifyListener( mirrorModeBooleanWithDefaultWidget, dirtyWidgetModifyListener );
+
+ if ( browserConnection.getSchema().hasAttributeTypeDescription( "olcDisabled" ) )
+ {
+ addModifyListener( disabledBooleanWithDefaultWidget, dirtyWidgetModifyListener );
+ }
addSelectionChangedListener( databaseTypeComboViewer, databaseTypeComboViewerSelectionChangedListener );
@@ -1104,6 +1187,12 @@ public class DatabasesDetailsPage implem
removeModifyListener( rootPasswordWidget, dirtyWidgetModifyListener );
removeModifyListener( readOnlyBooleanWithDefaultWidget, dirtyWidgetModifyListener );
removeModifyListener( hiddenBooleanWithDefaultWidget, dirtyWidgetModifyListener );
+ removeModifyListener( mirrorModeBooleanWithDefaultWidget, dirtyWidgetModifyListener );
+
+ if ( browserConnection.getSchema().hasAttributeTypeDescription( "olcDisabled" ) )
+ {
+ removeModifyListener( disabledBooleanWithDefaultWidget, dirtyWidgetModifyListener );
+ }
removeSelectionChangedListener( databaseTypeComboViewer, databaseTypeComboViewerSelectionChangedListener );