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/11/06 18:59:57 UTC
svn commit: r1713001 - in
/directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases:
DatabasesMasterDetailsBlock.java MdbDatabaseSpecificDetailsBlock.java
Author: elecharny
Date: Fri Nov 6 17:59:57 2015
New Revision: 1713001
URL: http://svn.apache.org/viewvc?rev=1713001&view=rev
Log:
o Set the olcDirectory filed to red and bold, as it's a mandatory field
Modified:
directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/DatabasesMasterDetailsBlock.java
directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/MdbDatabaseSpecificDetailsBlock.java
Modified: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/DatabasesMasterDetailsBlock.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/DatabasesMasterDetailsBlock.java?rev=1713001&r1=1713000&r2=1713001&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/DatabasesMasterDetailsBlock.java (original)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/DatabasesMasterDetailsBlock.java Fri Nov 6 17:59:57 2015
@@ -26,14 +26,32 @@ import java.util.List;
import org.apache.directory.api.ldap.model.exception.LdapInvalidDnException;
import org.apache.directory.api.ldap.model.name.Dn;
import org.apache.directory.studio.common.ui.widgets.BaseWidgetUtils;
+import org.apache.directory.studio.openldap.common.ui.model.DatabaseTypeEnum;
import org.apache.directory.studio.openldap.config.OpenLdapConfigurationPluginUtils;
import org.apache.directory.studio.openldap.config.editor.OpenLDAPServerConfigurationEditor;
+import org.apache.directory.studio.openldap.config.editor.dialogs.DatabaseTypeDialog;
import org.apache.directory.studio.openldap.config.editor.pages.DatabasesPage;
import org.apache.directory.studio.openldap.config.editor.wrappers.DatabaseWrapper;
import org.apache.directory.studio.openldap.config.editor.wrappers.DatabaseWrapperLabelProvider;
import org.apache.directory.studio.openldap.config.editor.wrappers.DatabaseWrapperViewerSorter;
+import org.apache.directory.studio.openldap.config.model.database.OlcBdbConfig;
import org.apache.directory.studio.openldap.config.model.database.OlcDatabaseConfig;
+import org.apache.directory.studio.openldap.config.model.database.OlcDbPerlConfig;
+import org.apache.directory.studio.openldap.config.model.database.OlcDbSocketConfig;
+import org.apache.directory.studio.openldap.config.model.database.OlcHdbConfig;
+import org.apache.directory.studio.openldap.config.model.database.OlcLDAPConfig;
+import org.apache.directory.studio.openldap.config.model.database.OlcLdifConfig;
+import org.apache.directory.studio.openldap.config.model.database.OlcMdbConfig;
+import org.apache.directory.studio.openldap.config.model.database.OlcMetaConfig;
+import org.apache.directory.studio.openldap.config.model.database.OlcMonitorConfig;
+import org.apache.directory.studio.openldap.config.model.database.OlcNdbConfig;
+import org.apache.directory.studio.openldap.config.model.database.OlcNullConfig;
+import org.apache.directory.studio.openldap.config.model.database.OlcPasswdConfig;
+import org.apache.directory.studio.openldap.config.model.database.OlcRelayConfig;
+import org.apache.directory.studio.openldap.config.model.database.OlcShellConfig;
+import org.apache.directory.studio.openldap.config.model.database.OlcSqlConfig;
import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.jface.dialogs.Dialog;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ArrayContentProvider;
import org.eclipse.jface.viewers.ISelectionChangedListener;
@@ -106,6 +124,7 @@ public class DatabasesMasterDetailsBlock
/** The button used to add a new Database */
private Button addButton;
+ private DatabaseTypeDialog databaseTypeDialog;
/** The button used to delete an existing Database */
private Button deleteButton;
@@ -341,6 +360,7 @@ public class DatabasesMasterDetailsBlock
// Creating the button(s)
addButton = toolkit.createButton( client, "Add", SWT.PUSH );
addButton.setLayoutData( new GridData( SWT.FILL, SWT.BEGINNING, false, false ) );
+ databaseTypeDialog = new DatabaseTypeDialog( addButton.getShell() );
deleteButton = toolkit.createButton( client, "Delete", SWT.PUSH );
deleteButton.setEnabled( false );
@@ -408,8 +428,91 @@ public class DatabasesMasterDetailsBlock
{
String newId = getNewId();
- OlcDatabaseConfig database = new OlcDatabaseConfig();
- database.setOlcDatabase( "{" + getNewOrderingValue() + "}" + newId );
+ OlcDatabaseConfig database = null;
+ DatabaseTypeEnum databaseTypeEnum = DatabaseTypeEnum.NONE;
+
+ // Open the Dialog, and process the addition if it went fine
+ if ( databaseTypeDialog.open() == Dialog.OK )
+ {
+ databaseTypeEnum = databaseTypeDialog.getDatabaseType();
+
+ switch ( databaseTypeEnum )
+ {
+ case BDB :
+ database = new OlcBdbConfig();
+ break;
+
+ case CONFIG :
+ //database = new OlcConfig();
+ break;
+
+
+ case DB_PERL :
+ database = new OlcDbPerlConfig();
+ break;
+
+ case DB_SOCKET :
+ database = new OlcDbSocketConfig();
+ break;
+
+ case FRONTEND :
+ //database = new OlcFrontendConfig();
+ break;
+
+ case HDB :
+ database = new OlcHdbConfig();
+ break;
+
+ case LDAP :
+ database = new OlcLDAPConfig();
+ break;
+
+ case LDIF :
+ database = new OlcLdifConfig();
+ break;
+
+ case MDB :
+ database = new OlcMdbConfig();
+ break;
+
+ case META :
+ database = new OlcMetaConfig();
+ break;
+
+ case MONITOR :
+ database = new OlcMonitorConfig();
+ break;
+
+ case NDB :
+ database = new OlcNdbConfig();
+ break;
+
+ case NULL :
+ database = new OlcNullConfig();
+ break;
+
+ case PASSWD :
+ database = new OlcPasswdConfig();
+ break;
+
+ case RELAY :
+ database = new OlcRelayConfig();
+ break;
+
+ case SHELL :
+ database = new OlcShellConfig();
+ break;
+
+ case SQL :
+ database = new OlcSqlConfig();
+ break;
+
+ default :
+ break;
+ }
+ }
+
+ database.setOlcDatabase( "{" + getNewOrderingValue() + "}" + databaseTypeEnum.name() );
try
{
Modified: directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/MdbDatabaseSpecificDetailsBlock.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/MdbDatabaseSpecificDetailsBlock.java?rev=1713001&r1=1713000&r2=1713001&view=diff
==============================================================================
--- directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/MdbDatabaseSpecificDetailsBlock.java (original)
+++ directory/studio/trunk/plugins/openldap.config.editor/src/main/java/org/apache/directory/studio/openldap/config/editor/databases/MdbDatabaseSpecificDetailsBlock.java Fri Nov 6 17:59:57 2015
@@ -24,6 +24,7 @@ import java.util.ArrayList;
import java.util.List;
import org.apache.directory.api.util.Strings;
+import org.apache.directory.studio.common.ui.CommonUIConstants;
import org.apache.directory.studio.common.ui.widgets.BaseWidgetUtils;
import org.apache.directory.studio.common.ui.widgets.TableWidget;
import org.apache.directory.studio.common.ui.widgets.WidgetModifyEvent;
@@ -35,10 +36,13 @@ import org.apache.directory.studio.openl
import org.apache.directory.studio.openldap.common.ui.widgets.BooleanWithDefaultWidget;
import org.apache.directory.studio.openldap.common.ui.widgets.DirectoryBrowserWidget;
import org.apache.directory.studio.openldap.common.ui.widgets.UnixPermissionsWidget;
+import org.eclipse.jface.resource.FontDescriptor;
import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Composite;
+import org.eclipse.swt.widgets.Label;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.forms.widgets.FormToolkit;
import org.eclipse.ui.forms.widgets.Section;
@@ -205,8 +209,12 @@ public class MdbDatabaseSpecificDetailsB
databaseConfigurationComposite.setLayout( new GridLayout( 2, false ) );
databaseConfigurationSection.setClient( databaseConfigurationComposite );
- // Directory Text
- toolkit.createLabel( databaseConfigurationComposite, Messages.getString( "OpenLDAPMDBConfiguration.Directory" ) );
+ // Directory Text. This is a MUST attribute (it will be red and bold)
+ Label olcDirectory = toolkit.createLabel( databaseConfigurationComposite, Messages.getString( "OpenLDAPMDBConfiguration.Directory" ) );
+ olcDirectory.setForeground( CommonUIConstants.RED_COLOR );
+ FontDescriptor boldDescriptor = FontDescriptor.createFrom( olcDirectory.getFont() ).setStyle( SWT.BOLD );
+ Font boldFont = boldDescriptor.createFont( olcDirectory.getDisplay() );
+ olcDirectory.setFont( boldFont );
Composite directoryComposite = toolkit.createComposite( databaseConfigurationComposite );
GridLayout directoryCompositeGridLayout = new GridLayout( 2, false );
directoryCompositeGridLayout.marginHeight = directoryCompositeGridLayout.marginWidth = 0;