You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by pa...@apache.org on 2010/12/21 15:05:22 UTC

svn commit: r1051499 - /directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/ServerConfigurationEditor.java

Author: pamarcelot
Date: Tue Dec 21 14:05:21 2010
New Revision: 1051499

URL: http://svn.apache.org/viewvc?rev=1051499&view=rev
Log:
When saving the server configuration, the computed ldif entries modifications are now sent back to the server via the connection through LDAP.

Modified:
    directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/ServerConfigurationEditor.java

Modified: directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/ServerConfigurationEditor.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/ServerConfigurationEditor.java?rev=1051499&r1=1051498&r2=1051499&view=diff
==============================================================================
--- directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/ServerConfigurationEditor.java (original)
+++ directory/studio/trunk/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/editor/ServerConfigurationEditor.java Tue Dec 21 14:05:21 2010
@@ -38,6 +38,9 @@ import org.apache.directory.studio.apach
 import org.apache.directory.studio.common.core.jobs.StudioJob;
 import org.apache.directory.studio.common.core.jobs.StudioRunnableWithProgress;
 import org.apache.directory.studio.common.ui.CommonUIUtils;
+import org.apache.directory.studio.ldapbrowser.core.BrowserCorePlugin;
+import org.apache.directory.studio.ldapbrowser.core.jobs.ExecuteLdifRunnable;
+import org.apache.directory.studio.ldapbrowser.core.model.IBrowserConnection;
 import org.eclipse.core.resources.IFile;
 import org.eclipse.core.resources.ResourcesPlugin;
 import org.eclipse.core.runtime.IPath;
@@ -183,6 +186,7 @@ public class ServerConfigurationEditor e
             }
             catch ( Exception e )
             {
+                // TODO
                 e.printStackTrace();
             }
         }
@@ -212,6 +216,9 @@ public class ServerConfigurationEditor e
      *      the connection server configuration input
      * @param monitor
      *      the monitor
+     * @return
+     *      <code>true</code> if the operation is successful,
+     *      <code>false</code> if not
      * @throws ConfigurationException 
      * @throws Exception
      */
@@ -240,6 +247,32 @@ public class ServerConfigurationEditor e
             { "*" } );
 
         System.out.println( modificationsList );
+
+        // Building the resulting LDIF
+        StringBuilder modificationsLdif = new StringBuilder();
+        for ( LdifEntry ldifEntry : modificationsList )
+        {
+            modificationsLdif.append( ldifEntry.toString() );
+        }
+
+        // Getting the browser connection associated with the 
+        IBrowserConnection browserConnection = BrowserCorePlugin.getDefault().getConnectionManager()
+            .getBrowserConnection( input.getConnection() );
+
+        // Creating and scheduling the job to update the configuration with the resulting LDIF
+        ExecuteLdifRunnable executeLdifRunnable = new ExecuteLdifRunnable( browserConnection,
+            modificationsLdif.toString(), true,
+            true );
+        StudioJob<StudioRunnableWithProgress> job = new StudioJob<StudioRunnableWithProgress>( executeLdifRunnable );
+        job.schedule();
+
+        // Waiting for the runnable to finish
+        job.join();
+        
+        System.out.println( "swapping partition");
+
+        // Swapping the new configuration partition
+        input.setOriginalPartition( newconfigurationPartition );
     }