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/03/25 14:26:31 UTC
svn commit: r1669123 [3/6] - in /directory/studio/trunk/plugins: ./
openldap.config.editor/ openldap.config.editor/resources/
openldap.config.editor/resources/icons/ openldap.config.editor/src/
openldap.config.editor/src/main/ openldap.config.editor/sr...
Added: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/HdbDatabaseSpecificDetailsBlock.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/HdbDatabaseSpecificDetailsBlock.java?rev=1669123&view=auto
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/HdbDatabaseSpecificDetailsBlock.java (added)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/HdbDatabaseSpecificDetailsBlock.java Wed Mar 25 13:26:29 2015
@@ -0,0 +1,333 @@
+package org.apache.directory.studio.openldap.config.editor.databases;
+
+
+import java.util.List;
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Section;
+
+import org.apache.directory.studio.openldap.config.model.OlcBdbConfig;
+
+
+/**
+ * This class implements a block for HDB Database Specific Details.
+ */
+public class HdbDatabaseSpecificDetailsBlock implements DatabaseSpecificDetailsBlock
+{
+ /** The database */
+ private OlcBdbConfig database;
+
+ // UI Widgets
+ private Text directoryText;
+ private Text modeText;
+ private Text configurationText;
+ private Text cryptFileText;
+ private Text cryptKeyText;
+ private Text sharedMemoryKeyText;
+ private Text indexesText;
+ private Button linearIndexesCheckbox;
+ private Text cacheSizeText;
+ private Text cacheFreeText;
+ private Text dnCacheSizeText;
+ private Text IdlCacheSizeText;
+ private Text searchStackDepthText;
+ private Text pageSizeText;
+ private Text checkpointIntervalText;
+ private Button disableSynchronousDatabaseWritesCheckbox;
+ private Button allowReadsOfUncommitedDataCheckbox;
+ private Text deadlockDetectionAlgorithmText;
+
+
+ /**
+ * Creates a new instance of BdbDatabaseSpecificDetailsBlock.
+ *
+ * @param database the database
+ */
+ public HdbDatabaseSpecificDetailsBlock( OlcBdbConfig database )
+ {
+ this.database = database;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createFormContent( Composite parent, FormToolkit toolkit )
+ {
+ createDatabaseConfigurationSection( parent, toolkit );
+ createDatabaseIndexesSection( parent, toolkit );
+ createDatabaseCacheSection( parent, toolkit );
+ createDatabaseLimitsSection( parent, toolkit );
+ createDatabaseOptionsSection( parent, toolkit );
+
+ }
+
+
+ private void createDatabaseConfigurationSection( Composite parent, FormToolkit toolkit )
+ {
+ // Database Configuration Section
+ Section databaseConfigurationSection = toolkit.createSection( parent, Section.TWISTIE );
+ databaseConfigurationSection.setText( "Database Configuration" );
+ databaseConfigurationSection.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false, 2, 1 ) );
+ Composite databaseConfigurationComposite = toolkit.createComposite( databaseConfigurationSection );
+ toolkit.paintBordersFor( databaseConfigurationComposite );
+ databaseConfigurationComposite.setLayout( new GridLayout( 2, false ) );
+ databaseConfigurationSection.setClient( databaseConfigurationComposite );
+
+ // Directory Text
+ toolkit.createLabel( databaseConfigurationComposite, "Directory:" );
+ directoryText = toolkit.createText( databaseConfigurationComposite, "" );
+ directoryText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // Mode Text
+ toolkit.createLabel( databaseConfigurationComposite, "Mode:" );
+ modeText = toolkit.createText( databaseConfigurationComposite, "" );
+ modeText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // Configuration Text
+ toolkit.createLabel( databaseConfigurationComposite, "Configuration:" );
+ configurationText = toolkit.createText( databaseConfigurationComposite, "" );
+ configurationText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // Crypt File Text
+ toolkit.createLabel( databaseConfigurationComposite, "Crypt File:" );
+ cryptFileText = toolkit.createText( databaseConfigurationComposite, "" );
+ cryptFileText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // Crypt Key Text
+ toolkit.createLabel( databaseConfigurationComposite, "Crypt Key:" );
+ cryptKeyText = toolkit.createText( databaseConfigurationComposite, "" );
+ cryptKeyText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // Shared Memory Key Text
+ toolkit.createLabel( databaseConfigurationComposite, "Shared Memory Key:" );
+ sharedMemoryKeyText = toolkit.createText( databaseConfigurationComposite, "" );
+ sharedMemoryKeyText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+ }
+
+
+ private void createDatabaseIndexesSection( Composite parent, FormToolkit toolkit )
+ {
+ // Database Indexes Section
+ Section databaseIndexesSection = toolkit.createSection( parent, Section.TWISTIE );
+ databaseIndexesSection.setText( "Database Indexes" );
+ databaseIndexesSection.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false, 2, 1 ) );
+ Composite databaseIndexesComposite = toolkit.createComposite( databaseIndexesSection );
+ toolkit.paintBordersFor( databaseIndexesComposite );
+ databaseIndexesComposite.setLayout( new GridLayout( 2, false ) );
+ databaseIndexesSection.setClient( databaseIndexesComposite );
+
+ // Indexes Text
+ toolkit.createLabel( databaseIndexesComposite, "Indexes:" );
+ indexesText = toolkit.createText( databaseIndexesComposite, "" );
+ indexesText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // Linear Indexes Button
+ linearIndexesCheckbox = toolkit.createButton( databaseIndexesComposite, "Linear Indexes", SWT.CHECK );
+ linearIndexesCheckbox.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false, 2, 1 ) );
+ }
+
+
+ private void createDatabaseCacheSection( Composite parent, FormToolkit toolkit )
+ {
+ // Database Cache Section
+ Section databaseCacheSection = toolkit.createSection( parent, Section.TWISTIE );
+ databaseCacheSection.setText( "Database Cache" );
+ databaseCacheSection.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false, 2, 1 ) );
+ Composite databaseCacheComposite = toolkit.createComposite( databaseCacheSection );
+ toolkit.paintBordersFor( databaseCacheComposite );
+ databaseCacheComposite.setLayout( new GridLayout( 2, false ) );
+ databaseCacheSection.setClient( databaseCacheComposite );
+
+ // Cache Size Text
+ toolkit.createLabel( databaseCacheComposite, "Cache Size:" );
+ cacheSizeText = toolkit.createText( databaseCacheComposite, "" );
+ cacheSizeText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // Cache Free Text
+ toolkit.createLabel( databaseCacheComposite, "Cache Free:" );
+ cacheFreeText = toolkit.createText( databaseCacheComposite, "" );
+ cacheFreeText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // DN Cache Size Text
+ toolkit.createLabel( databaseCacheComposite, "DN Cache Size:" );
+ dnCacheSizeText = toolkit.createText( databaseCacheComposite, "" );
+ dnCacheSizeText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // IDL Cache Size Text
+ toolkit.createLabel( databaseCacheComposite, "IDL Cache Size:" );
+ IdlCacheSizeText = toolkit.createText( databaseCacheComposite, "" );
+ IdlCacheSizeText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+ }
+
+
+ private void createDatabaseLimitsSection( Composite parent, FormToolkit toolkit )
+ {
+ // Database Limits Section
+ Section databaseLimitsSection = toolkit.createSection( parent, Section.TWISTIE );
+ databaseLimitsSection.setText( "Database Limits" );
+ databaseLimitsSection.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false, 2, 1 ) );
+ Composite databaseLimitsComposite = toolkit.createComposite( databaseLimitsSection );
+ toolkit.paintBordersFor( databaseLimitsComposite );
+ databaseLimitsComposite.setLayout( new GridLayout( 2, false ) );
+ databaseLimitsSection.setClient( databaseLimitsComposite );
+
+ // Search Stack Depth Text
+ toolkit.createLabel( databaseLimitsComposite, "Search Stack Depth:" );
+ searchStackDepthText = toolkit.createText( databaseLimitsComposite, "" );
+ searchStackDepthText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // Page Size Text
+ toolkit.createLabel( databaseLimitsComposite, "Page Size:" );
+ pageSizeText = toolkit.createText( databaseLimitsComposite, "" );
+ pageSizeText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // Checkpoint Interval Text
+ toolkit.createLabel( databaseLimitsComposite, "Checkpoint Interval:" );
+ checkpointIntervalText = toolkit.createText( databaseLimitsComposite, "" );
+ checkpointIntervalText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+ }
+
+
+ private void createDatabaseOptionsSection( Composite parent, FormToolkit toolkit )
+ {
+ // Database Options Section
+ Section databaseOptionsSection = toolkit.createSection( parent, Section.TWISTIE );
+ databaseOptionsSection.setText( "Database Options" );
+ databaseOptionsSection.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false, 2, 1 ) );
+ Composite databaseOptionsComposite = toolkit.createComposite( databaseOptionsSection );
+ toolkit.paintBordersFor( databaseOptionsComposite );
+ databaseOptionsComposite.setLayout( new GridLayout( 2, false ) );
+ databaseOptionsSection.setClient( databaseOptionsComposite );
+
+ // Disable Synchronous Database Writes Button
+ disableSynchronousDatabaseWritesCheckbox = toolkit.createButton( databaseOptionsComposite,
+ "Disable Synchronous Database Writes", SWT.CHECK );
+ disableSynchronousDatabaseWritesCheckbox.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false, 2, 1 ) );
+
+ // Allow Reads Of Uncommited Data Button
+ allowReadsOfUncommitedDataCheckbox = toolkit.createButton( databaseOptionsComposite,
+ "Allow Reads Of Uncommited Data",
+ SWT.CHECK );
+ allowReadsOfUncommitedDataCheckbox.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false, 2, 1 ) );
+
+ // Deadlock Detection Algorithm Text
+ toolkit.createLabel( databaseOptionsComposite, "Deadlock Detection Algorithm:" );
+ deadlockDetectionAlgorithmText = toolkit.createText( databaseOptionsComposite, "" );
+ deadlockDetectionAlgorithmText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void refresh()
+ {
+ if ( database == null )
+ {
+ // Blank out all fields
+ // TODO
+ }
+ else
+ {
+ // Directory Text
+ String directory = database.getOlcDbDirectory();
+ directoryText.setText( ( directory == null ) ? "" : directory ); //$NON-NLS-1$
+
+ // Mode Text
+ String mode = database.getOlcDbMode();
+ modeText.setText( ( mode == null ) ? "" : mode ); //$NON-NLS-1$
+
+ // Configuration Text
+ List<String> configuration = database.getOlcDbConfig();
+ configurationText.setText( ( configuration == null ) ? "" : concatenate( configuration ) ); //$NON-NLS-1$
+
+ // Crypt File Text
+ String cryptFile = database.getOlcDbCryptFile();
+ cryptFileText.setText( ( cryptFile == null ) ? "" : cryptFile ); //$NON-NLS-1$
+
+ // Crypt Key Text
+ byte[] cryptKey = database.getOlcDbCryptKey();
+ modeText.setText( ( cryptKey == null ) ? "" : new String( cryptKey ) ); //$NON-NLS-1$ TODO
+
+ // Shared Memory Key Text
+ int sharedMemoryKey = database.getOlcDbShmKey();
+ sharedMemoryKeyText.setText( "" + sharedMemoryKey ); //$NON-NLS-1$ TODO
+
+ // Indexes Text
+ List<String> indexes = database.getOlcDbIndex();
+ indexesText.setText( ( indexes == null ) ? "" : concatenate( indexes ) ); //$NON-NLS-1$
+
+ // Linear Indexes Button
+ boolean linearIndexes = database.getOlcDbLinearIndex();
+ linearIndexesCheckbox.setSelection( linearIndexes );
+
+ // Cache Size Text
+ int cacheSize = database.getOlcDbCacheSize();
+ cacheSizeText.setText( "" + cacheSize ); //$NON-NLS-1$ TODO
+
+ // Cache Free Text
+ int cacheFree = database.getOlcDbCacheFree();
+ cacheFreeText.setText( "" + cacheFree ); //$NON-NLS-1$ TODO
+
+ // DN Cache Size Text
+ int dnCacheSize = database.getOlcDbDNcacheSize();
+ dnCacheSizeText.setText( "" + dnCacheSize ); //$NON-NLS-1$ TODO
+
+ // IDL Cache Size Text
+ int idlCacheSize = database.getOlcDbIDLcacheSize();
+ IdlCacheSizeText.setText( "" + idlCacheSize ); //$NON-NLS-1$ TODO
+
+ // Search Stack Depth Text
+ int searchStackDepth = database.getOlcDbSearchStack();
+ searchStackDepthText.setText( "" + searchStackDepth ); //$NON-NLS-1$ TODO
+
+ // Page Size Text
+ List<String> pageSize = database.getOlcDbPageSize();
+ pageSizeText.setText( ( pageSize == null ) ? "" : concatenate( pageSize ) ); //$NON-NLS-1$
+
+ // Checkpoint Interval Text
+ String checkpointInterval = database.getOlcDbCheckpoint();
+ checkpointIntervalText.setText( ( checkpointInterval == null ) ? "" : checkpointInterval ); //$NON-NLS-1$
+
+ // Disable Synchronous Database Writes Button
+ boolean disableSynchronousDatabaseWrites = database.getOlcDbNoSync();
+ disableSynchronousDatabaseWritesCheckbox.setSelection( disableSynchronousDatabaseWrites );
+
+ // Allow Reads Of Uncommited Data Button
+ boolean allowReadsOfUncommitedData = database.getOlcDbDirtyRead();
+ allowReadsOfUncommitedDataCheckbox.setSelection( allowReadsOfUncommitedData );
+
+ // Deadlock Detection Algorithm Text
+ String deadlockDetectionAlgorithm = database.getOlcDbLockDetect();
+ deadlockDetectionAlgorithmText
+ .setText( ( deadlockDetectionAlgorithm == null ) ? "" : deadlockDetectionAlgorithm ); //$NON-NLS-1$
+ }
+ }
+
+
+ private String concatenate( List<String> list )
+ {
+ StringBuilder sb = new StringBuilder();
+
+ for ( String string : list )
+ {
+ sb.append( string );
+ sb.append( ", " );
+ }
+
+ if ( sb.length() > 1 )
+ {
+ sb.deleteCharAt( sb.length() - 1 );
+ sb.deleteCharAt( sb.length() - 1 );
+ }
+
+ return sb.toString();
+ }
+}
Added: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/LdifDatabaseSpecificDetailsBlock.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/LdifDatabaseSpecificDetailsBlock.java?rev=1669123&view=auto
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/LdifDatabaseSpecificDetailsBlock.java (added)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/LdifDatabaseSpecificDetailsBlock.java Wed Mar 25 13:26:29 2015
@@ -0,0 +1,66 @@
+package org.apache.directory.studio.openldap.config.editor.databases;
+
+
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+import org.apache.directory.studio.openldap.config.model.OlcLdifConfig;
+
+
+/**
+ * This interface represents a block for None Specific Details.
+ */
+public class LdifDatabaseSpecificDetailsBlock implements DatabaseSpecificDetailsBlock
+{
+ /** The database */
+ private OlcLdifConfig database;
+
+ // UI Widgets
+ private Text directoryText;
+
+
+ /**
+ * Creates a new instance of LdifDatabaseSpecificDetailsBlock.
+ *
+ * @param database the database
+ */
+ public LdifDatabaseSpecificDetailsBlock( OlcLdifConfig database )
+ {
+ this.database = database;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createFormContent( Composite parent, FormToolkit toolkit )
+ {
+ // Directory Text
+ toolkit.createLabel( parent, "Directory:" );
+ directoryText = toolkit.createText( parent, "" );
+ directoryText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void refresh()
+ {
+
+ if ( database == null )
+ {
+ // Blank out all fields
+ // TODO
+ }
+ else
+ {
+ // Directory Text
+ String directory = database.getOlcDbDirectory();
+ directoryText.setText( ( directory == null ) ? "" : directory ); //$NON-NLS-1$
+ }
+ }
+}
Added: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/NoneDatabaseSpecificDetailsBlock.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/NoneDatabaseSpecificDetailsBlock.java?rev=1669123&view=auto
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/NoneDatabaseSpecificDetailsBlock.java (added)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/NoneDatabaseSpecificDetailsBlock.java Wed Mar 25 13:26:29 2015
@@ -0,0 +1,35 @@
+package org.apache.directory.studio.openldap.config.editor.databases;
+
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+
+/**
+ * This interface represents a block for None Specific Details.
+ */
+public class NoneDatabaseSpecificDetailsBlock implements DatabaseSpecificDetailsBlock
+{
+ /**
+ * Creates a new instance of NoneDatabaseSpecificDetailsBlock.
+ */
+ public NoneDatabaseSpecificDetailsBlock()
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createFormContent( Composite parent, FormToolkit toolkit )
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void refresh()
+ {
+ }
+}
Added: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/AccessLogOverlayDetailsPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/AccessLogOverlayDetailsPage.java?rev=1669123&view=auto
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/AccessLogOverlayDetailsPage.java (added)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/AccessLogOverlayDetailsPage.java Wed Mar 25 13:26:29 2015
@@ -0,0 +1,383 @@
+package org.apache.directory.studio.openldap.config.editor.overlays;
+
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Spinner;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.IDetailsPage;
+import org.eclipse.ui.forms.IFormPart;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Section;
+import org.eclipse.ui.forms.widgets.TableWrapData;
+import org.eclipse.ui.forms.widgets.TableWrapLayout;
+
+import org.apache.directory.studio.openldap.config.model.OlcAccessLogConfig;
+
+
+/**
+ * This class represents the Details Page of the Server Configuration Editor for the Access Log Overlay type
+ */
+public class AccessLogOverlayDetailsPage implements IDetailsPage
+{
+ /** The associated Master Details Block */
+ private OverlaysMasterDetailsBlock masterDetailsBlock;
+
+ /** The Managed Form */
+ private IManagedForm mform;
+
+ /** The dirty flag */
+ private boolean dirty = false;
+
+ /** The overlay */
+ private OlcAccessLogConfig overlay;
+
+ // UI fields
+ private Text databaseDnText;
+ private Text filterText;
+ private Text attributesText;
+ private Button onlyLogSuccessOperationsCheckbox;
+ private Button logAllOperationsRadioButton;
+ private Button logSpecificOperationsRadioButton;
+ private Button logWriteOperationsCheckbox;
+ private Button logReadOperationsCheckbox;
+ private Button logSessionOperationsCheckbox;
+ private Button logAddOperationCheckbox;
+ private Button logDeleteOperationCheckbox;
+ private Button logModifyOperationCheckbox;
+ private Button logModifyRdnOperationCheckbox;
+ private Button logCompareOperationCheckbox;
+ private Button logSearchOperationCheckbox;
+ private Button logAbandonOperationCheckbox;
+ private Button logBindOperationCheckbox;
+ private Button logUnbindOperationCheckbox;
+ private Spinner purgeAgeDaysSpinner;
+ private Spinner purgeAgeHoursSpinner;
+ private Spinner purgeAgeMinutesSpinner;
+ private Spinner purgeAgeSecondsSpinner;
+ private Spinner purgeIntervalDaysSpinner;
+ private Spinner purgeIntervalHoursSpinner;
+ private Spinner purgeIntervalMinutesSpinner;
+ private Spinner purgeIntervalSecondsSpinner;
+
+
+ /**
+ * Creates a new instance of PartitionDetailsPage.
+ *
+ * @param master
+ * the associated Master Details Block
+ */
+ public AccessLogOverlayDetailsPage( OverlaysMasterDetailsBlock master )
+ {
+ masterDetailsBlock = master;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.forms.IDetailsPage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ public void createContents( Composite parent )
+ {
+ FormToolkit toolkit = mform.getToolkit();
+ TableWrapLayout layout = new TableWrapLayout();
+ layout.topMargin = 5;
+ layout.leftMargin = 5;
+ layout.rightMargin = 2;
+ layout.bottomMargin = 2;
+ parent.setLayout( layout );
+
+ createGeneralSettingsSection( parent, toolkit );
+ createLogOperationsSettingsSection( parent, toolkit );
+ createPurgeSettingsSection( parent, toolkit );
+ }
+
+
+ /**
+ * Creates the General Settings Section
+ *
+ * @param parent
+ * the parent composite
+ * @param toolkit
+ * the toolkit to use
+ */
+ private void createGeneralSettingsSection( Composite parent, FormToolkit toolkit )
+ {
+ Section section = toolkit.createSection( parent, Section.TITLE_BAR );
+ section.marginWidth = 10;
+ section.setText( "Audit Log General Settings" );
+ TableWrapData td = new TableWrapData( TableWrapData.FILL, TableWrapData.TOP );
+ td.grabHorizontal = true;
+ section.setLayoutData( td );
+ Composite composite = toolkit.createComposite( section );
+ toolkit.paintBordersFor( composite );
+ GridLayout glayout = new GridLayout( 2, false );
+ composite.setLayout( glayout );
+ section.setClient( composite );
+
+ // Database DN Text
+ toolkit.createLabel( composite, "Database DN:" );
+ databaseDnText = toolkit.createText( composite, "" );
+ databaseDnText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // Database DN Text
+ toolkit.createLabel( composite, "Filter:" );
+ filterText = toolkit.createText( composite, "" );
+ filterText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // Database DN Text
+ toolkit.createLabel( composite, "Attributes:" );
+ attributesText = toolkit.createText( composite, "" );
+ attributesText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // Only Log Success Operations
+ onlyLogSuccessOperationsCheckbox = toolkit.createButton( composite, "Only log success operations", SWT.CHECK );
+ onlyLogSuccessOperationsCheckbox.setLayoutData( new GridData( SWT.NONE, SWT.NONE, false, false, 2, 1 ) );
+ }
+
+
+ /**
+ * Creates the Log Operations Settings Section
+ *
+ * @param parent
+ * the parent composite
+ * @param toolkit
+ * the toolkit to use
+ */
+ private void createLogOperationsSettingsSection( Composite parent, FormToolkit toolkit )
+ {
+ Section section = toolkit.createSection( parent, Section.TITLE_BAR );
+ section.marginWidth = 10;
+ section.setText( "Log Operations Settings" );
+ TableWrapData td = new TableWrapData( TableWrapData.FILL, TableWrapData.TOP );
+ td.grabHorizontal = true;
+ section.setLayoutData( td );
+ Composite composite = toolkit.createComposite( section );
+ toolkit.paintBordersFor( composite );
+ GridLayout glayout = new GridLayout();
+ composite.setLayout( glayout );
+ section.setClient( composite );
+
+ // Log All Operations Radio Button
+ logAllOperationsRadioButton = toolkit.createButton( composite, "All Operations", SWT.RADIO );
+
+ // Log Specific Operations Radio Button
+ logSpecificOperationsRadioButton = toolkit.createButton( composite, "The following operations:", SWT.RADIO );
+
+ // Specific Operations Composite
+ Composite specificOperationsComposite = toolkit.createComposite( composite );
+ GridLayout gl = new GridLayout( 3, true );
+ gl.marginHeight = gl.marginWidth = 0;
+ gl.marginLeft = 20;
+ specificOperationsComposite.setLayout( gl );
+ specificOperationsComposite.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // Log Write Operations Checkbox
+ logWriteOperationsCheckbox = toolkit.createButton( specificOperationsComposite, "Write Operations", SWT.CHECK );
+
+ // Log Reads Operations Checkbox
+ logReadOperationsCheckbox = toolkit.createButton( specificOperationsComposite, "Read Operations", SWT.CHECK );
+
+ // Log Session Operations Checkbox
+ logSessionOperationsCheckbox = toolkit.createButton( specificOperationsComposite, "Session Operations",
+ SWT.CHECK );
+
+ // Write Operations Composite
+ Composite writeOperationsComposite = toolkit.createComposite( specificOperationsComposite );
+ gl = new GridLayout();
+ gl.marginHeight = gl.marginWidth = 0;
+ gl.marginLeft = 20;
+ writeOperationsComposite.setLayout( gl );
+ writeOperationsComposite.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // Log Add Operation Checkbox
+ logAddOperationCheckbox = toolkit.createButton( writeOperationsComposite, "Add Operation", SWT.CHECK );
+
+ // Log Delete Operation Checkbox
+ logDeleteOperationCheckbox = toolkit.createButton( writeOperationsComposite, "Delete Operation", SWT.CHECK );
+
+ // Log Modify Operation Checkbox
+ logModifyOperationCheckbox = toolkit.createButton( writeOperationsComposite, "Modify Operation", SWT.CHECK );
+
+ // Log Modify RDN Operation Checkbox
+ logModifyRdnOperationCheckbox = toolkit.createButton( writeOperationsComposite, "Modify RDN Operation",
+ SWT.CHECK );
+
+ // Read Operations Composite
+ Composite readOperationsComposite = toolkit.createComposite( specificOperationsComposite );
+ gl = new GridLayout();
+ gl.marginHeight = gl.marginWidth = 0;
+ gl.marginLeft = 20;
+ readOperationsComposite.setLayout( gl );
+ readOperationsComposite.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // Log Compare Operation Checkbox
+ logCompareOperationCheckbox = toolkit.createButton( readOperationsComposite, "Compare Operation", SWT.CHECK );
+
+ // Log Search Operation Checkbox
+ logSearchOperationCheckbox = toolkit.createButton( readOperationsComposite, "Search Operation", SWT.CHECK );
+
+ // Session Operations Composite
+ Composite sessionOperationsComposite = toolkit.createComposite( specificOperationsComposite );
+ gl = new GridLayout();
+ gl.marginHeight = gl.marginWidth = 0;
+ gl.marginLeft = 20;
+ sessionOperationsComposite.setLayout( gl );
+ sessionOperationsComposite.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+
+ // Log Abandon Operation Checkbox
+ logAbandonOperationCheckbox = toolkit.createButton( sessionOperationsComposite, "Abandon Operation", SWT.CHECK );
+
+ // Log Bind Operation Checkbox
+ logBindOperationCheckbox = toolkit.createButton( sessionOperationsComposite, "Bind Operation", SWT.CHECK );
+
+ // Log Unbind Operation Checkbox
+ logUnbindOperationCheckbox = toolkit.createButton( sessionOperationsComposite, "Unbind Operation", SWT.CHECK );
+ }
+
+
+ /**
+ * Creates the Purge Settings Section
+ *
+ * @param parent
+ * the parent composite
+ * @param toolkit
+ * the toolkit to use
+ */
+ private void createPurgeSettingsSection( Composite parent, FormToolkit toolkit )
+ {
+ Section section = toolkit.createSection( parent, Section.TITLE_BAR );
+ section.marginWidth = 10;
+ section.setText( "Purge Settings" );
+ TableWrapData td = new TableWrapData( TableWrapData.FILL, TableWrapData.TOP );
+ td.grabHorizontal = true;
+ section.setLayoutData( td );
+ Composite composite = toolkit.createComposite( section );
+ toolkit.paintBordersFor( composite );
+ GridLayout glayout = new GridLayout( 9, false );
+ composite.setLayout( glayout );
+ section.setClient( composite );
+
+ // Purge Age
+ toolkit.createLabel( composite, "Purge Age:" );
+ purgeAgeDaysSpinner = new Spinner( composite, SWT.BORDER );
+ toolkit.createLabel( composite, "Days" );
+ purgeAgeHoursSpinner = new Spinner( composite, SWT.BORDER );
+ toolkit.createLabel( composite, "Hours" );
+ purgeAgeMinutesSpinner = new Spinner( composite, SWT.BORDER );
+ toolkit.createLabel( composite, "Minutes" );
+ purgeAgeSecondsSpinner = new Spinner( composite, SWT.BORDER );
+ toolkit.createLabel( composite, "Seconds" );
+
+ // Purge Interval
+ toolkit.createLabel( composite, "Purge Interval:" );
+ purgeIntervalDaysSpinner = new Spinner( composite, SWT.BORDER );
+ toolkit.createLabel( composite, "Days" );
+ purgeIntervalHoursSpinner = new Spinner( composite, SWT.BORDER );
+ toolkit.createLabel( composite, "Hours" );
+ purgeIntervalMinutesSpinner = new Spinner( composite, SWT.BORDER );
+ toolkit.createLabel( composite, "Minutes" );
+ purgeIntervalSecondsSpinner = new Spinner( composite, SWT.BORDER );
+ toolkit.createLabel( composite, "Seconds" );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void selectionChanged( IFormPart part, ISelection selection )
+ {
+ IStructuredSelection ssel = ( IStructuredSelection ) selection;
+ if ( ssel.size() == 1 )
+ {
+ overlay = ( OlcAccessLogConfig ) ssel.getFirstElement();
+ }
+ else
+ {
+ overlay = null;
+ }
+ refresh();
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void commit( boolean onSave )
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void dispose()
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void initialize( IManagedForm form )
+ {
+ this.mform = form;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isDirty()
+ {
+ return dirty;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isStale()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setFocus()
+ {
+ // idText.setFocus(); // TODO
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean setFormInput( Object input )
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void refresh()
+ {
+ if ( overlay == null )
+ {
+ // Blank out all fields
+ // TODO
+ }
+ else
+ {
+ }
+ }
+}
Added: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/AuditLogOverlayDetailsPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/AuditLogOverlayDetailsPage.java?rev=1669123&view=auto
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/AuditLogOverlayDetailsPage.java (added)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/AuditLogOverlayDetailsPage.java Wed Mar 25 13:26:29 2015
@@ -0,0 +1,195 @@
+package org.apache.directory.studio.openldap.config.editor.overlays;
+
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Text;
+import org.eclipse.ui.forms.IDetailsPage;
+import org.eclipse.ui.forms.IFormPart;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Section;
+import org.eclipse.ui.forms.widgets.TableWrapData;
+import org.eclipse.ui.forms.widgets.TableWrapLayout;
+
+import org.apache.directory.studio.openldap.config.model.OlcAccessLogConfig;
+
+
+/**
+ * This class represents the Details Page of the Server Configuration Editor for the Audit Log Overlay type
+ */
+public class AuditLogOverlayDetailsPage implements IDetailsPage
+{
+ /** The associated Master Details Block */
+ private OverlaysMasterDetailsBlock masterDetailsBlock;
+
+ /** The Managed Form */
+ private IManagedForm mform;
+
+ /** The dirty flag */
+ private boolean dirty = false;
+
+ /** The overlay */
+ private OlcAccessLogConfig overlay;
+
+ // UI fields
+ private FormToolkit toolkit;
+ private Text fileText;
+
+
+ /**
+ * Creates a new instance of PartitionDetailsPage.
+ *
+ * @param master
+ * the associated Master Details Block
+ */
+ public AuditLogOverlayDetailsPage( OverlaysMasterDetailsBlock master )
+ {
+ masterDetailsBlock = master;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.forms.IDetailsPage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ public void createContents( Composite parent )
+ {
+ toolkit = mform.getToolkit();
+ TableWrapLayout layout = new TableWrapLayout();
+ layout.topMargin = 5;
+ layout.leftMargin = 5;
+ layout.rightMargin = 2;
+ layout.bottomMargin = 2;
+ parent.setLayout( layout );
+
+ createGeneralSettingsSection( parent, toolkit );
+ }
+
+
+ /**
+ * Creates the General Settings Section
+ *
+ * @param parent
+ * the parent composite
+ * @param toolkit
+ * the toolkit to use
+ */
+ private void createGeneralSettingsSection( Composite parent, FormToolkit toolkit )
+ {
+ Section section = toolkit.createSection( parent, Section.TITLE_BAR );
+ section.marginWidth = 10;
+ section.setText( "Audit Log General Settings" );
+ TableWrapData td = new TableWrapData( TableWrapData.FILL, TableWrapData.TOP );
+ td.grabHorizontal = true;
+ section.setLayoutData( td );
+ Composite composite = toolkit.createComposite( section );
+ toolkit.paintBordersFor( composite );
+ GridLayout glayout = new GridLayout( 2, false );
+ composite.setLayout( glayout );
+ section.setClient( composite );
+
+ // ID
+ toolkit.createLabel( composite, "File:" );
+ fileText = toolkit.createText( composite, "" );
+ fileText.setLayoutData( new GridData( SWT.FILL, SWT.NONE, true, false ) );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void selectionChanged( IFormPart part, ISelection selection )
+ {
+ IStructuredSelection ssel = ( IStructuredSelection ) selection;
+ if ( ssel.size() == 1 )
+ {
+ overlay = ( OlcAccessLogConfig ) ssel.getFirstElement();
+ }
+ else
+ {
+ overlay = null;
+ }
+ refresh();
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void commit( boolean onSave )
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void dispose()
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void initialize( IManagedForm form )
+ {
+ this.mform = form;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isDirty()
+ {
+ return dirty;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isStale()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setFocus()
+ {
+ // idText.setFocus(); // TODO
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean setFormInput( Object input )
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void refresh()
+ {
+ if ( overlay == null )
+ {
+ // Blank out all fields
+ // TODO
+ }
+ else
+ {
+ }
+ }
+}
Added: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/ChainOverlayDetailsPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/ChainOverlayDetailsPage.java?rev=1669123&view=auto
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/ChainOverlayDetailsPage.java (added)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/ChainOverlayDetailsPage.java Wed Mar 25 13:26:29 2015
@@ -0,0 +1,189 @@
+package org.apache.directory.studio.openldap.config.editor.overlays;
+
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.IDetailsPage;
+import org.eclipse.ui.forms.IFormPart;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Section;
+import org.eclipse.ui.forms.widgets.TableWrapData;
+import org.eclipse.ui.forms.widgets.TableWrapLayout;
+
+import org.apache.directory.studio.openldap.config.model.OlcAccessLogConfig;
+
+
+/**
+ * This class represents the Details Page of the Server Configuration Editor for the Chain Overlay type
+ */
+public class ChainOverlayDetailsPage implements IDetailsPage
+{
+ /** The associated Master Details Block */
+ private OverlaysMasterDetailsBlock masterDetailsBlock;
+
+ /** The Managed Form */
+ private IManagedForm mform;
+
+ /** The dirty flag */
+ private boolean dirty = false;
+
+ /** The overlay */
+ private OlcAccessLogConfig overlay;
+
+ // UI fields
+ private FormToolkit toolkit;
+
+
+ /**
+ * Creates a new instance of PartitionDetailsPage.
+ *
+ * @param master
+ * the associated Master Details Block
+ */
+ public ChainOverlayDetailsPage( OverlaysMasterDetailsBlock master )
+ {
+ masterDetailsBlock = master;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.forms.IDetailsPage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ public void createContents( Composite parent )
+ {
+ toolkit = mform.getToolkit();
+ TableWrapLayout layout = new TableWrapLayout();
+ layout.topMargin = 5;
+ layout.leftMargin = 5;
+ layout.rightMargin = 2;
+ layout.bottomMargin = 2;
+ parent.setLayout( layout );
+
+ createGeneralSettingsSection( parent, toolkit );
+ }
+
+
+ /**
+ * Creates the General Settings Section
+ *
+ * @param parent
+ * the parent composite
+ * @param toolkit
+ * the toolkit to use
+ */
+ private void createGeneralSettingsSection( Composite parent, FormToolkit toolkit )
+ {
+ Section section = toolkit.createSection( parent, Section.TITLE_BAR );
+ section.marginWidth = 10;
+ section.setText( "Database General Settings" );
+ TableWrapData td = new TableWrapData( TableWrapData.FILL, TableWrapData.TOP );
+ td.grabHorizontal = true;
+ section.setLayoutData( td );
+ Composite composite = toolkit.createComposite( section );
+ toolkit.paintBordersFor( composite );
+ GridLayout glayout = new GridLayout( 2, false );
+ composite.setLayout( glayout );
+ section.setClient( composite );
+
+ // ID
+ toolkit.createLabel( composite, "ID:" );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void selectionChanged( IFormPart part, ISelection selection )
+ {
+ IStructuredSelection ssel = ( IStructuredSelection ) selection;
+ if ( ssel.size() == 1 )
+ {
+ overlay = ( OlcAccessLogConfig ) ssel.getFirstElement();
+ }
+ else
+ {
+ overlay = null;
+ }
+ refresh();
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void commit( boolean onSave )
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void dispose()
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void initialize( IManagedForm form )
+ {
+ this.mform = form;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isDirty()
+ {
+ return dirty;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isStale()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setFocus()
+ {
+ // idText.setFocus(); // TODO
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean setFormInput( Object input )
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void refresh()
+ {
+ if ( overlay == null )
+ {
+ // Blank out all fields
+ // TODO
+ }
+ else
+ {
+ }
+ }
+}
Added: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/DistProcOverlayDetailsPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/DistProcOverlayDetailsPage.java?rev=1669123&view=auto
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/DistProcOverlayDetailsPage.java (added)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/DistProcOverlayDetailsPage.java Wed Mar 25 13:26:29 2015
@@ -0,0 +1,189 @@
+package org.apache.directory.studio.openldap.config.editor.overlays;
+
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.IDetailsPage;
+import org.eclipse.ui.forms.IFormPart;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Section;
+import org.eclipse.ui.forms.widgets.TableWrapData;
+import org.eclipse.ui.forms.widgets.TableWrapLayout;
+
+import org.apache.directory.studio.openldap.config.model.OlcAccessLogConfig;
+
+
+/**
+ * This class represents the Details Page of the Server Configuration Editor for the Dist Proc Overlay type
+ */
+public class DistProcOverlayDetailsPage implements IDetailsPage
+{
+ /** The associated Master Details Block */
+ private OverlaysMasterDetailsBlock masterDetailsBlock;
+
+ /** The Managed Form */
+ private IManagedForm mform;
+
+ /** The dirty flag */
+ private boolean dirty = false;
+
+ /** The overlay */
+ private OlcAccessLogConfig overlay;
+
+ // UI fields
+ private FormToolkit toolkit;
+
+
+ /**
+ * Creates a new instance of PartitionDetailsPage.
+ *
+ * @param master
+ * the associated Master Details Block
+ */
+ public DistProcOverlayDetailsPage( OverlaysMasterDetailsBlock master )
+ {
+ masterDetailsBlock = master;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.forms.IDetailsPage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ public void createContents( Composite parent )
+ {
+ toolkit = mform.getToolkit();
+ TableWrapLayout layout = new TableWrapLayout();
+ layout.topMargin = 5;
+ layout.leftMargin = 5;
+ layout.rightMargin = 2;
+ layout.bottomMargin = 2;
+ parent.setLayout( layout );
+
+ createGeneralSettingsSection( parent, toolkit );
+ }
+
+
+ /**
+ * Creates the General Settings Section
+ *
+ * @param parent
+ * the parent composite
+ * @param toolkit
+ * the toolkit to use
+ */
+ private void createGeneralSettingsSection( Composite parent, FormToolkit toolkit )
+ {
+ Section section = toolkit.createSection( parent, Section.TITLE_BAR );
+ section.marginWidth = 10;
+ section.setText( "Database General Settings" );
+ TableWrapData td = new TableWrapData( TableWrapData.FILL, TableWrapData.TOP );
+ td.grabHorizontal = true;
+ section.setLayoutData( td );
+ Composite composite = toolkit.createComposite( section );
+ toolkit.paintBordersFor( composite );
+ GridLayout glayout = new GridLayout( 2, false );
+ composite.setLayout( glayout );
+ section.setClient( composite );
+
+ // ID
+ toolkit.createLabel( composite, "ID:" );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void selectionChanged( IFormPart part, ISelection selection )
+ {
+ IStructuredSelection ssel = ( IStructuredSelection ) selection;
+ if ( ssel.size() == 1 )
+ {
+ overlay = ( OlcAccessLogConfig ) ssel.getFirstElement();
+ }
+ else
+ {
+ overlay = null;
+ }
+ refresh();
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void commit( boolean onSave )
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void dispose()
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void initialize( IManagedForm form )
+ {
+ this.mform = form;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isDirty()
+ {
+ return dirty;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isStale()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setFocus()
+ {
+ // idText.setFocus(); // TODO
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean setFormInput( Object input )
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void refresh()
+ {
+ if ( overlay == null )
+ {
+ // Blank out all fields
+ // TODO
+ }
+ else
+ {
+ }
+ }
+}
Added: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/OverlayType.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/OverlayType.java?rev=1669123&view=auto
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/OverlayType.java (added)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/OverlayType.java Wed Mar 25 13:26:29 2015
@@ -0,0 +1,32 @@
+package org.apache.directory.studio.openldap.config.editor.overlays;
+
+
+/**
+ * This enum describes the various type of overlays.
+ */
+public enum OverlayType
+{
+ /** None */
+ NONE,
+
+ /** Acess Log */
+ ACCESS_LOG,
+
+ /** Audit Log */
+ AUDIT_LOG,
+
+ /** Chain */
+ CHAIN,
+
+ /** Dist Proc */
+ DIST_PROC,
+
+ /** PBind */
+ PBIND,
+
+ /** Password Policy */
+ PASSWORD_POLICY,
+
+ /** SyncProv */
+ SYNC_PROV;
+}
\ No newline at end of file
Added: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/OverlaysMasterDetailsBlock.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/OverlaysMasterDetailsBlock.java?rev=1669123&view=auto
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/OverlaysMasterDetailsBlock.java (added)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/OverlaysMasterDetailsBlock.java Wed Mar 25 13:26:29 2015
@@ -0,0 +1,214 @@
+package org.apache.directory.studio.openldap.config.editor.overlays;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.ISelectionChangedListener;
+import org.eclipse.jface.viewers.LabelProvider;
+import org.eclipse.jface.viewers.SelectionChangedEvent;
+import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.layout.GridData;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Table;
+import org.eclipse.ui.forms.DetailsPart;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.MasterDetailsBlock;
+import org.eclipse.ui.forms.SectionPart;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Section;
+
+import org.apache.directory.studio.openldap.config.OpenLdapConfigurationPlugin;
+import org.apache.directory.studio.openldap.config.OpenLdapConfigurationPluginConstants;
+import org.apache.directory.studio.openldap.config.model.OlcAccessLogConfig;
+import org.apache.directory.studio.openldap.config.model.OlcAuditlogConfig;
+import org.apache.directory.studio.openldap.config.model.OlcChainConfig;
+import org.apache.directory.studio.openldap.config.model.OlcConfig;
+import org.apache.directory.studio.openldap.config.model.OlcDistProcConfig;
+import org.apache.directory.studio.openldap.config.model.OlcOverlayConfig;
+import org.apache.directory.studio.openldap.config.model.OlcPBindConfig;
+import org.apache.directory.studio.openldap.config.model.OlcSyncProvConfig;
+import org.apache.directory.studio.openldap.config.model.OpenLdapConfiguration;
+
+
+/**
+ * This class represents the Overlays Master/Details Block used in the Overlays Page.
+ */
+public class OverlaysMasterDetailsBlock extends MasterDetailsBlock
+{
+ /** The associated page */
+ private OverlaysPage page;
+
+ // UI Fields
+ private TableViewer viewer;
+ private Button addButton;
+ private Button deleteButton;
+
+
+ /**
+ * Creates a new instance of OverlaysMasterDetailsBlock.
+ *
+ * @param page
+ * the associated page
+ */
+ public OverlaysMasterDetailsBlock( OverlaysPage page )
+ {
+ super();
+ this.page = page;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void createContent( IManagedForm managedForm )
+ {
+ super.createContent( managedForm );
+
+ // Giving the weights of both parts of the SashForm.
+ sashForm.setWeights( new int[]
+ { 1, 2 } );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ protected void createMasterPart( final IManagedForm managedForm, Composite parent )
+ {
+ FormToolkit toolkit = managedForm.getToolkit();
+
+ // Creating the Section
+ Section section = toolkit.createSection( parent, Section.TITLE_BAR );
+ section.setText( "All Overlays" );
+ section.marginWidth = 10;
+ section.marginHeight = 5;
+ Composite client = toolkit.createComposite( section, SWT.WRAP );
+ GridLayout layout = new GridLayout();
+ layout.numColumns = 2;
+ layout.makeColumnsEqualWidth = false;
+ layout.marginWidth = 2;
+ layout.marginHeight = 2;
+ client.setLayout( layout );
+ toolkit.paintBordersFor( client );
+ section.setClient( client );
+
+ // Creating the Table and Table Viewer
+ Table table = toolkit.createTable( client, SWT.NULL );
+ GridData gd = new GridData( SWT.FILL, SWT.FILL, true, true, 1, 2 );
+ gd.heightHint = 20;
+ gd.widthHint = 100;
+ table.setLayoutData( gd );
+ final SectionPart spart = new SectionPart( section );
+ managedForm.addPart( spart );
+ viewer = new TableViewer( table );
+ viewer.addSelectionChangedListener( new ISelectionChangedListener()
+ {
+ public void selectionChanged( SelectionChangedEvent event )
+ {
+ managedForm.fireSelectionChanged( spart, event.getSelection() );
+ }
+ } );
+ viewer.setContentProvider( new ArrayContentProvider() );
+ viewer.setLabelProvider( new LabelProvider()
+ {
+ public String getText( Object element )
+ {
+ if ( element instanceof OlcOverlayConfig )
+ {
+ OlcOverlayConfig overlay = ( OlcOverlayConfig ) element;
+
+ return overlay.getOlcOverlay();
+ }
+
+ return super.getText( element );
+ };
+
+
+ public Image getImage( Object element )
+ {
+ if ( element instanceof OlcOverlayConfig )
+ {
+ return OpenLdapConfigurationPlugin.getDefault().getImage(
+ OpenLdapConfigurationPluginConstants.IMG_OVERLAY );
+ }
+
+ return super.getImage( element );
+ };
+ } );
+
+ // Creating the button(s)
+ addButton = toolkit.createButton( client, "Add", SWT.PUSH );
+ addButton.setLayoutData( new GridData( SWT.FILL, SWT.BEGINNING, false, false ) );
+
+ deleteButton = toolkit.createButton( client, "Delete", SWT.PUSH );
+ deleteButton.setEnabled( false );
+ deleteButton.setLayoutData( new GridData( SWT.FILL, SWT.BEGINNING, false, false ) );
+
+ initFromInput();
+ }
+
+
+ /**
+ * Initializes the page with the Editor input.
+ */
+ private void initFromInput()
+ {
+ OpenLdapConfiguration configuration = page.getConfiguration();
+
+ List<OlcConfig> configurationElements = configuration.getConfigurationElements();
+ List<OlcOverlayConfig> overlayConfigurationElements = new ArrayList<OlcOverlayConfig>();
+ for ( OlcConfig configurationElement : configurationElements )
+ {
+ if ( configurationElement instanceof OlcOverlayConfig )
+ {
+ overlayConfigurationElements.add( ( OlcOverlayConfig ) configurationElement );
+ }
+ }
+
+ viewer.setInput( overlayConfigurationElements.toArray( new OlcOverlayConfig[0] ) );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ protected void registerPages( DetailsPart detailsPart )
+ {
+ AccessLogOverlayDetailsPage olcAccessLogOverlayDetailsPage = new AccessLogOverlayDetailsPage( this );
+ detailsPart.registerPage( OlcAccessLogConfig.class, olcAccessLogOverlayDetailsPage );
+
+ AuditLogOverlayDetailsPage olcAuditLogOverlayDetailsPage = new AuditLogOverlayDetailsPage( this );
+ detailsPart.registerPage( OlcAuditlogConfig.class, olcAuditLogOverlayDetailsPage );
+
+ ChainOverlayDetailsPage olcChainOverlayDetailsPage = new ChainOverlayDetailsPage( this );
+ detailsPart.registerPage( OlcChainConfig.class, olcChainOverlayDetailsPage );
+
+ DistProcOverlayDetailsPage oldDistProcOverlayDetailsPage = new DistProcOverlayDetailsPage( this );
+ detailsPart.registerPage( OlcDistProcConfig.class, oldDistProcOverlayDetailsPage );
+
+ PasswordPolicyOverlayDetailsPage olcPasswordPolicyOverlayDetailsPage = new PasswordPolicyOverlayDetailsPage(
+ this );
+ detailsPart.registerPage( OlcDistProcConfig.class, olcPasswordPolicyOverlayDetailsPage );
+
+ PBindAccessOverlayDetailsPage olcPBindAccessOverlayDetailsPage = new PBindAccessOverlayDetailsPage( this );
+ detailsPart.registerPage( OlcPBindConfig.class, olcPBindAccessOverlayDetailsPage );
+
+ SyncProvOverlayDetailsPage olcSyncProvOverlayDetailsPage = new SyncProvOverlayDetailsPage( this );
+ detailsPart.registerPage( OlcSyncProvConfig.class, olcSyncProvOverlayDetailsPage );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ protected void createToolBarActions( IManagedForm managedForm )
+ {
+ // No toolbar actions
+ }
+}
Added: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/OverlaysPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/OverlaysPage.java?rev=1669123&view=auto
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/OverlaysPage.java (added)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/OverlaysPage.java Wed Mar 25 13:26:29 2015
@@ -0,0 +1,53 @@
+package org.apache.directory.studio.openldap.config.editor.overlays;
+
+
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+
+import org.apache.directory.studio.openldap.config.editor.ServerConfigurationEditor;
+import org.apache.directory.studio.openldap.config.editor.ServerConfigurationEditorPage;
+
+
+/**
+ * This class represents the General Page of the Server Configuration Editor.
+ */
+public class OverlaysPage extends ServerConfigurationEditorPage
+{
+ /** The Page ID*/
+ public static final String ID = OverlaysPage.class.getName(); //$NON-NLS-1$
+
+ /** The Page Title */
+ private static final String TITLE = "Overlays";
+
+
+ // UI Controls
+
+ /**
+ * Creates a new instance of GeneralPage.
+ *
+ * @param editor
+ * the associated editor
+ */
+ public OverlaysPage( ServerConfigurationEditor editor )
+ {
+ super( editor, ID, TITLE );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ protected void createFormContent( Composite parent, FormToolkit toolkit )
+ {
+ OverlaysMasterDetailsBlock masterDetailsBlock = new OverlaysMasterDetailsBlock( this );
+ masterDetailsBlock.createContent( getManagedForm() );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void refreshUI()
+ {
+ }
+}
Added: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/PBindAccessOverlayDetailsPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/PBindAccessOverlayDetailsPage.java?rev=1669123&view=auto
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/PBindAccessOverlayDetailsPage.java (added)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/PBindAccessOverlayDetailsPage.java Wed Mar 25 13:26:29 2015
@@ -0,0 +1,189 @@
+package org.apache.directory.studio.openldap.config.editor.overlays;
+
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.IDetailsPage;
+import org.eclipse.ui.forms.IFormPart;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Section;
+import org.eclipse.ui.forms.widgets.TableWrapData;
+import org.eclipse.ui.forms.widgets.TableWrapLayout;
+
+import org.apache.directory.studio.openldap.config.model.OlcAccessLogConfig;
+
+
+/**
+ * This class represents the Details Page of the Server Configuration Editor for the PBind Overlay type
+ */
+public class PBindAccessOverlayDetailsPage implements IDetailsPage
+{
+ /** The associated Master Details Block */
+ private OverlaysMasterDetailsBlock masterDetailsBlock;
+
+ /** The Managed Form */
+ private IManagedForm mform;
+
+ /** The dirty flag */
+ private boolean dirty = false;
+
+ /** The overlay */
+ private OlcAccessLogConfig overlay;
+
+ // UI fields
+ private FormToolkit toolkit;
+
+
+ /**
+ * Creates a new instance of PartitionDetailsPage.
+ *
+ * @param master
+ * the associated Master Details Block
+ */
+ public PBindAccessOverlayDetailsPage( OverlaysMasterDetailsBlock master )
+ {
+ masterDetailsBlock = master;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.forms.IDetailsPage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ public void createContents( Composite parent )
+ {
+ toolkit = mform.getToolkit();
+ TableWrapLayout layout = new TableWrapLayout();
+ layout.topMargin = 5;
+ layout.leftMargin = 5;
+ layout.rightMargin = 2;
+ layout.bottomMargin = 2;
+ parent.setLayout( layout );
+
+ createGeneralSettingsSection( parent, toolkit );
+ }
+
+
+ /**
+ * Creates the General Settings Section
+ *
+ * @param parent
+ * the parent composite
+ * @param toolkit
+ * the toolkit to use
+ */
+ private void createGeneralSettingsSection( Composite parent, FormToolkit toolkit )
+ {
+ Section section = toolkit.createSection( parent, Section.TITLE_BAR );
+ section.marginWidth = 10;
+ section.setText( "Database General Settings" );
+ TableWrapData td = new TableWrapData( TableWrapData.FILL, TableWrapData.TOP );
+ td.grabHorizontal = true;
+ section.setLayoutData( td );
+ Composite composite = toolkit.createComposite( section );
+ toolkit.paintBordersFor( composite );
+ GridLayout glayout = new GridLayout( 2, false );
+ composite.setLayout( glayout );
+ section.setClient( composite );
+
+ // ID
+ toolkit.createLabel( composite, "ID:" );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void selectionChanged( IFormPart part, ISelection selection )
+ {
+ IStructuredSelection ssel = ( IStructuredSelection ) selection;
+ if ( ssel.size() == 1 )
+ {
+ overlay = ( OlcAccessLogConfig ) ssel.getFirstElement();
+ }
+ else
+ {
+ overlay = null;
+ }
+ refresh();
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void commit( boolean onSave )
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void dispose()
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void initialize( IManagedForm form )
+ {
+ this.mform = form;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isDirty()
+ {
+ return dirty;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isStale()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setFocus()
+ {
+ // idText.setFocus(); // TODO
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean setFormInput( Object input )
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void refresh()
+ {
+ if ( overlay == null )
+ {
+ // Blank out all fields
+ // TODO
+ }
+ else
+ {
+ }
+ }
+}
Added: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/PasswordPolicyOverlayDetailsPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/PasswordPolicyOverlayDetailsPage.java?rev=1669123&view=auto
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/PasswordPolicyOverlayDetailsPage.java (added)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/PasswordPolicyOverlayDetailsPage.java Wed Mar 25 13:26:29 2015
@@ -0,0 +1,189 @@
+package org.apache.directory.studio.openldap.config.editor.overlays;
+
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.IDetailsPage;
+import org.eclipse.ui.forms.IFormPart;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Section;
+import org.eclipse.ui.forms.widgets.TableWrapData;
+import org.eclipse.ui.forms.widgets.TableWrapLayout;
+
+import org.apache.directory.studio.openldap.config.model.OlcAccessLogConfig;
+
+
+/**
+ * This class represents the Details Page of the Server Configuration Editor for the Password Policy Overlay type
+ */
+public class PasswordPolicyOverlayDetailsPage implements IDetailsPage
+{
+ /** The associated Master Details Block */
+ private OverlaysMasterDetailsBlock masterDetailsBlock;
+
+ /** The Managed Form */
+ private IManagedForm mform;
+
+ /** The dirty flag */
+ private boolean dirty = false;
+
+ /** The overlay */
+ private OlcAccessLogConfig overlay;
+
+ // UI fields
+ private FormToolkit toolkit;
+
+
+ /**
+ * Creates a new instance of PartitionDetailsPage.
+ *
+ * @param master
+ * the associated Master Details Block
+ */
+ public PasswordPolicyOverlayDetailsPage( OverlaysMasterDetailsBlock master )
+ {
+ masterDetailsBlock = master;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.forms.IDetailsPage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ public void createContents( Composite parent )
+ {
+ toolkit = mform.getToolkit();
+ TableWrapLayout layout = new TableWrapLayout();
+ layout.topMargin = 5;
+ layout.leftMargin = 5;
+ layout.rightMargin = 2;
+ layout.bottomMargin = 2;
+ parent.setLayout( layout );
+
+ createGeneralSettingsSection( parent, toolkit );
+ }
+
+
+ /**
+ * Creates the General Settings Section
+ *
+ * @param parent
+ * the parent composite
+ * @param toolkit
+ * the toolkit to use
+ */
+ private void createGeneralSettingsSection( Composite parent, FormToolkit toolkit )
+ {
+ Section section = toolkit.createSection( parent, Section.TITLE_BAR );
+ section.marginWidth = 10;
+ section.setText( "Database General Settings" );
+ TableWrapData td = new TableWrapData( TableWrapData.FILL, TableWrapData.TOP );
+ td.grabHorizontal = true;
+ section.setLayoutData( td );
+ Composite composite = toolkit.createComposite( section );
+ toolkit.paintBordersFor( composite );
+ GridLayout glayout = new GridLayout( 2, false );
+ composite.setLayout( glayout );
+ section.setClient( composite );
+
+ // ID
+ toolkit.createLabel( composite, "ID:" );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void selectionChanged( IFormPart part, ISelection selection )
+ {
+ IStructuredSelection ssel = ( IStructuredSelection ) selection;
+ if ( ssel.size() == 1 )
+ {
+ overlay = ( OlcAccessLogConfig ) ssel.getFirstElement();
+ }
+ else
+ {
+ overlay = null;
+ }
+ refresh();
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void commit( boolean onSave )
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void dispose()
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void initialize( IManagedForm form )
+ {
+ this.mform = form;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isDirty()
+ {
+ return dirty;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isStale()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setFocus()
+ {
+ // idText.setFocus(); // TODO
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean setFormInput( Object input )
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void refresh()
+ {
+ if ( overlay == null )
+ {
+ // Blank out all fields
+ // TODO
+ }
+ else
+ {
+ }
+ }
+}
Added: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/SyncProvOverlayDetailsPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/SyncProvOverlayDetailsPage.java?rev=1669123&view=auto
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/SyncProvOverlayDetailsPage.java (added)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/overlays/SyncProvOverlayDetailsPage.java Wed Mar 25 13:26:29 2015
@@ -0,0 +1,189 @@
+package org.apache.directory.studio.openldap.config.editor.overlays;
+
+
+import org.eclipse.jface.viewers.ISelection;
+import org.eclipse.jface.viewers.IStructuredSelection;
+import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Composite;
+import org.eclipse.ui.forms.IDetailsPage;
+import org.eclipse.ui.forms.IFormPart;
+import org.eclipse.ui.forms.IManagedForm;
+import org.eclipse.ui.forms.widgets.FormToolkit;
+import org.eclipse.ui.forms.widgets.Section;
+import org.eclipse.ui.forms.widgets.TableWrapData;
+import org.eclipse.ui.forms.widgets.TableWrapLayout;
+
+import org.apache.directory.studio.openldap.config.model.OlcAccessLogConfig;
+
+
+/**
+ * This class represents the Details Page of the Server Configuration Editor for the SyncProv Overlay type
+ */
+public class SyncProvOverlayDetailsPage implements IDetailsPage
+{
+ /** The associated Master Details Block */
+ private OverlaysMasterDetailsBlock masterDetailsBlock;
+
+ /** The Managed Form */
+ private IManagedForm mform;
+
+ /** The dirty flag */
+ private boolean dirty = false;
+
+ /** The overlay */
+ private OlcAccessLogConfig overlay;
+
+ // UI fields
+ private FormToolkit toolkit;
+
+
+ /**
+ * Creates a new instance of PartitionDetailsPage.
+ *
+ * @param master
+ * the associated Master Details Block
+ */
+ public SyncProvOverlayDetailsPage( OverlaysMasterDetailsBlock master )
+ {
+ masterDetailsBlock = master;
+ }
+
+
+ /* (non-Javadoc)
+ * @see org.eclipse.ui.forms.IDetailsPage#createContents(org.eclipse.swt.widgets.Composite)
+ */
+ public void createContents( Composite parent )
+ {
+ toolkit = mform.getToolkit();
+ TableWrapLayout layout = new TableWrapLayout();
+ layout.topMargin = 5;
+ layout.leftMargin = 5;
+ layout.rightMargin = 2;
+ layout.bottomMargin = 2;
+ parent.setLayout( layout );
+
+ createGeneralSettingsSection( parent, toolkit );
+ }
+
+
+ /**
+ * Creates the General Settings Section
+ *
+ * @param parent
+ * the parent composite
+ * @param toolkit
+ * the toolkit to use
+ */
+ private void createGeneralSettingsSection( Composite parent, FormToolkit toolkit )
+ {
+ Section section = toolkit.createSection( parent, Section.TITLE_BAR );
+ section.marginWidth = 10;
+ section.setText( "Database General Settings" );
+ TableWrapData td = new TableWrapData( TableWrapData.FILL, TableWrapData.TOP );
+ td.grabHorizontal = true;
+ section.setLayoutData( td );
+ Composite composite = toolkit.createComposite( section );
+ toolkit.paintBordersFor( composite );
+ GridLayout glayout = new GridLayout( 2, false );
+ composite.setLayout( glayout );
+ section.setClient( composite );
+
+ // ID
+ toolkit.createLabel( composite, "ID:" );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void selectionChanged( IFormPart part, ISelection selection )
+ {
+ IStructuredSelection ssel = ( IStructuredSelection ) selection;
+ if ( ssel.size() == 1 )
+ {
+ overlay = ( OlcAccessLogConfig ) ssel.getFirstElement();
+ }
+ else
+ {
+ overlay = null;
+ }
+ refresh();
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void commit( boolean onSave )
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void dispose()
+ {
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void initialize( IManagedForm form )
+ {
+ this.mform = form;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isDirty()
+ {
+ return dirty;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean isStale()
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void setFocus()
+ {
+ // idText.setFocus(); // TODO
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public boolean setFormInput( Object input )
+ {
+ return false;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void refresh()
+ {
+ if ( overlay == null )
+ {
+ // Blank out all fields
+ // TODO
+ }
+ else
+ {
+ }
+ }
+}
Added: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/jobs/EntryBasedConfigurationPartition.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/jobs/EntryBasedConfigurationPartition.java?rev=1669123&view=auto
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/jobs/EntryBasedConfigurationPartition.java (added)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/jobs/EntryBasedConfigurationPartition.java Wed Mar 25 13:26:29 2015
@@ -0,0 +1,107 @@
+/*
+ * 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.openldap.config.jobs;
+
+
+import java.util.UUID;
+
+import javax.naming.InvalidNameException;
+
+import org.apache.directory.server.core.api.interceptor.context.AddOperationContext;
+import org.apache.directory.server.core.partition.ldif.AbstractLdifPartition;
+import org.apache.directory.api.ldap.model.constants.SchemaConstants;
+import org.apache.directory.api.ldap.model.entry.Entry;
+import org.apache.directory.api.ldap.model.exception.LdapException;
+import org.apache.directory.api.ldap.model.name.Dn;
+import org.apache.directory.api.ldap.model.schema.SchemaManager;
+
+
+/**
+ * This class implements a read-only configuration partition.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class EntryBasedConfigurationPartition extends AbstractLdifPartition
+{
+ /** The suffix DN */
+ protected Dn suffixDn;
+
+
+ /**
+ * Creates a new instance of EntryBasedConfigurationPartition.
+ *
+ * @param schemaManager the schema manager
+ * @param suffixDn the suffix DN
+ */
+ public EntryBasedConfigurationPartition( SchemaManager schemaManager, Dn suffixDn )
+ {
+ super( schemaManager );
+ this.suffixDn = suffixDn;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ protected void doInit() throws InvalidNameException, Exception
+ {
+ setId( "config" );
+ setSuffixDn( new Dn( "cn=config" ) );
+
+ super.doInit();
+ }
+
+
+ /**
+ * Adds the given entry.
+ *
+ * @param entry
+ * the entry
+ * @throws Exception
+ */
+ public void addEntry( Entry entry ) throws Exception
+ {
+ // Adding mandatory operational attributes
+ addMandatoryOpAt( entry );
+
+ // Storing the entry
+ add( new AddOperationContext( null, entry ) );
+ }
+
+
+ /**
+ * Adds the CSN and UUID attributes to the entry if they are not present.
+ */
+ private void addMandatoryOpAt( Entry entry ) throws LdapException
+ {
+ // entryCSN
+ if ( entry.get( SchemaConstants.ENTRY_CSN_AT ) == null )
+ {
+ entry.add( SchemaConstants.ENTRY_CSN_AT, defaultCSNFactory.newInstance().toString() );
+ }
+
+ // entryUUID
+ if ( entry.get( SchemaConstants.ENTRY_UUID_AT ) == null )
+ {
+ String uuid = UUID.randomUUID().toString();
+ entry.add( SchemaConstants.ENTRY_UUID_AT, uuid );
+ }
+ }
+}
Added: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/jobs/LoadConfigurationRunnable.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/jobs/LoadConfigurationRunnable.java?rev=1669123&view=auto
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/jobs/LoadConfigurationRunnable.java (added)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/jobs/LoadConfigurationRunnable.java Wed Mar 25 13:26:29 2015
@@ -0,0 +1,176 @@
+/*
+ * 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.openldap.config.jobs;
+
+
+import org.apache.directory.api.ldap.model.schema.SchemaManager;
+import org.apache.directory.api.ldap.model.schema.registries.SchemaLoader;
+import org.apache.directory.api.ldap.schema.manager.impl.DefaultSchemaManager;
+import org.apache.directory.studio.common.core.jobs.StudioProgressMonitor;
+import org.apache.directory.studio.common.core.jobs.StudioRunnableWithProgress;
+import org.apache.directory.studio.ldapbrowser.core.BrowserCorePlugin;
+import org.apache.directory.studio.ldapbrowser.core.model.IBrowserConnection;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.swt.widgets.Display;
+import org.eclipse.ui.IEditorInput;
+
+import org.apache.directory.studio.openldap.config.editor.ConnectionServerConfigurationInput;
+import org.apache.directory.studio.openldap.config.editor.ServerConfigurationEditor;
+import org.apache.directory.studio.openldap.config.model.OpenLdapConfiguration;
+import org.apache.directory.studio.openldap.config.model.io.ConfigurationReader;
+
+
+/**
+ * This class implements a {@link Job} that is used to load a server configuration.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public class LoadConfigurationRunnable implements StudioRunnableWithProgress
+{
+ /** The associated editor */
+ private ServerConfigurationEditor editor;
+
+
+ /**
+ * Creates a new instance of LoadConfigurationRunnable.
+ *
+ * @param editor
+ * the editor
+ */
+ public LoadConfigurationRunnable( ServerConfigurationEditor editor )
+ {
+ super();
+ this.editor = editor;
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getErrorMessage()
+ {
+ return "Unable to load the configuration.";
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public Object[] getLockedObjects()
+ {
+ return new Object[0];
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public String getName()
+ {
+ return "Load Configuration";
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ public void run( StudioProgressMonitor monitor )
+ {
+ IEditorInput input = editor.getEditorInput();
+
+ try
+ {
+ final OpenLdapConfiguration configuration = getConfiguration( input, monitor );
+ if ( configuration != null )
+ {
+ Display.getDefault().asyncExec( new Runnable()
+ {
+ public void run()
+ {
+ editor.configurationLoaded( configuration );
+ }
+ } );
+ }
+ }
+ catch ( Exception e )
+ {
+ // Reporting the error to the monitor
+ monitor.reportError( e );
+
+ // Reporting the error to the editor
+ final Exception exception = e;
+ Display.getDefault().asyncExec( new Runnable()
+ {
+ public void run()
+ {
+ editor.configurationLoadFailed( exception );
+ }
+ } );
+ }
+ }
+
+
+ /**
+ * Gets the configuration from the input.
+ *
+ * @param input
+ * the editor input
+ * @param monitor
+ * the studio progress monitor
+ * @return
+ * the configuration
+ * @throws Exception
+ */
+ public OpenLdapConfiguration getConfiguration( IEditorInput input, StudioProgressMonitor monitor ) throws Exception
+ {
+ // If the input is a ConnectionServerConfigurationInput, then we
+ // read the server configuration from the selected connection
+ if ( input instanceof ConnectionServerConfigurationInput )
+ {
+ return readConfiguration( ( ConnectionServerConfigurationInput ) input, monitor );
+ }
+
+ return null;
+ }
+
+
+ /**
+ * Reads the configuration from the given connection.
+ *
+ * @param input
+ * the editor input
+ * @param monitor
+ * the studio progress monitor
+ * @return
+ * the associated configuration bean
+ * @throws Exception
+ */
+ private OpenLdapConfiguration readConfiguration( ConnectionServerConfigurationInput input,
+ StudioProgressMonitor monitor ) throws Exception
+ {
+ if ( input != null )
+ {
+ return ConfigurationReader.readConfiguration( input );
+ }
+
+ return null;
+ }
+}