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;