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/01/20 18:50:43 UTC

svn commit: r1653313 [2/2] - in /directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2: actions/ dialogs/ editor/ jobs/

Modified: directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/PartitionsDiffComputer.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/PartitionsDiffComputer.java?rev=1653313&r1=1653312&r2=1653313&view=diff
==============================================================================
--- directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/PartitionsDiffComputer.java (original)
+++ directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/PartitionsDiffComputer.java Tue Jan 20 17:50:42 2015
@@ -24,6 +24,8 @@ import java.util.ArrayList;
 import java.util.Collections;
 import java.util.List;
 
+import org.apache.directory.api.ldap.model.constants.LdapConstants;
+import org.apache.directory.api.ldap.model.constants.SchemaConstants;
 import org.apache.directory.api.ldap.model.entry.Attribute;
 import org.apache.directory.api.ldap.model.entry.DefaultAttribute;
 import org.apache.directory.api.ldap.model.entry.DefaultModification;
@@ -45,8 +47,17 @@ import org.apache.directory.server.core.
 import org.apache.directory.server.core.api.interceptor.context.LookupOperationContext;
 import org.apache.directory.server.core.api.interceptor.context.SearchOperationContext;
 import org.apache.directory.server.core.api.partition.Partition;
+import org.apache.directory.studio.apacheds.configuration.v2.ApacheDS2ConfigurationPlugin;
+import org.apache.directory.studio.apacheds.configuration.v2.ApacheDS2ConfigurationPluginConstants;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
 
 
+/**
+ * A class used to computer a difference between two partitions.
+ * 
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
 public class PartitionsDiffComputer
 {
     /** The original partition */
@@ -56,11 +67,20 @@ public class PartitionsDiffComputer
     private Partition destinationPartition;
 
 
+    /**
+     * Creates an instance of the PartitionsDiffComputer class
+     */
     public PartitionsDiffComputer()
     {
     }
 
 
+    /**
+     * Creates an instance of the PartitionsDiffComputer class, with an original partition
+     * and a distination partition
+     * @param originalPartition The original partition
+     * @param destinationPartition The destination partition
+     */
     public PartitionsDiffComputer( Partition originalPartition, Partition destinationPartition )
     {
         this.originalPartition = originalPartition;
@@ -68,21 +88,40 @@ public class PartitionsDiffComputer
     }
 
 
+    /**
+     * Compute the difference between two partitions
+     * @return The list of modified entries
+     * @throws Exception If the comparison has filed
+     */
     public List<LdifEntry> computeModifications() throws Exception
     {
         // Using the original partition suffix as base 
         // '*' for all user attributes, '+' for all operational attributes
         return computeModifications( originalPartition.getSuffixDn(), new String[]
-            { "*", "+" } ); //$NON-NLS-1$ //$NON-NLS-2$
+            { SchemaConstants.ALL_USER_ATTRIBUTES, SchemaConstants.ALL_OPERATIONAL_ATTRIBUTES } );
     }
 
 
+    /**
+     * Compute the difference between two partitions
+     * @param attributeIds The list of attributes to compare
+     * @return The list of modified entries
+     * @throws Exception If the comparison has filed
+     */
     public List<LdifEntry> computeModifications( String[] attributeIds ) throws Exception
     {
         return computeModifications( originalPartition.getSuffixDn(), attributeIds );
     }
 
 
+    /**
+     * Compare two partitions, checking a list of attributes
+     * 
+     * @param baseDn The base DN for the partitions
+     * @param attributeIds The list of attributes to check
+     * @return The list of modifications
+     * @throws Exception If the comparison has filed
+     */
     public List<LdifEntry> computeModifications( Dn baseDn, String[] attributeIds ) throws Exception
     {
         // Checking partitions
@@ -102,34 +141,34 @@ public class PartitionsDiffComputer
         // Checking the original partition
         if ( originalPartition == null )
         {
-            throw new PartitionsDiffException( "The original partition must not be 'null'." ); //$NON-NLS-1$
+            throw new PartitionsDiffException( Messages.getString( "PartitionDiffComputer.OriginalPartitionIsNull" ) );
         }
         else
         {
             if ( !originalPartition.isInitialized() )
             {
-                throw new PartitionsDiffException( "The original partition must be intialized." ); //$NON-NLS-1$
+                throw new PartitionsDiffException( Messages.getString( "PartitionDiffComputer.OriginalPartitionNotInitialized" ) );
             }
             else if ( originalPartition.getSuffixDn() == null )
             {
-                throw new PartitionsDiffException( "The original suffix is null." ); //$NON-NLS-1$
+                throw new PartitionsDiffException( Messages.getString( "PartitionDiffComputer.OriginalSuffixIsNull" ) );
             }
         }
 
         // Checking the destination partition
         if ( destinationPartition == null )
         {
-            throw new PartitionsDiffException( "The destination partition must not be 'null'." ); //$NON-NLS-1$
+            throw new PartitionsDiffException( Messages.getString( "PartitionDiffComputer.DestinationPartitionIsNull" ) );
         }
         else
         {
             if ( !destinationPartition.isInitialized() )
             {
-                throw new PartitionsDiffException( "The destination partition must be intialized." ); //$NON-NLS-1$
+                throw new PartitionsDiffException( Messages.getString( "PartitionDiffComputer.DestinationPartitionNotInitialized" ) );
             }
             else if ( destinationPartition.getSuffixDn() == null )
             {
-                throw new PartitionsDiffException( "The destination suffix is null." ); //$NON-NLS-1$
+                throw new PartitionsDiffException( Messages.getString( "PartitionDiffComputer.DestinationPartitionIsNull" ) );
             }
         }
     }
@@ -138,13 +177,10 @@ public class PartitionsDiffComputer
     /**
      * Compare the two partitions.
      *
-     * @param baseDn
-     *      the base Dn
-     * @param attributeIds
-     *      the IDs of the attributes
-     * @return
-     *      a list containing LDIF entries with all modifications
-     * @throws Exception
+     * @param baseDn the base Dn
+     * @param attributeIds the IDs of the attributes
+     * @return a list containing LDIF entries with all modifications
+     * @throws Exception If the operation failed
      */
     public List<LdifEntry> comparePartitions( Dn baseDn, String[] attributeIds ) throws PartitionsDiffException
     {
@@ -154,11 +190,11 @@ public class PartitionsDiffComputer
         try
         {
             // Looking up the original base entry
-            Entry originalBaseEntry = originalPartition
-                .lookup( new LookupOperationContext( null, baseDn, attributeIds ) );
+            Entry originalBaseEntry = originalPartition.lookup( new LookupOperationContext( null, baseDn, attributeIds ) );
+            
             if ( originalBaseEntry == null )
             {
-                throw new PartitionsDiffException( "Unable to find the base entry in the original partition." ); //$NON-NLS-1$
+                throw new PartitionsDiffException( Messages.getString( "PartitionDiffComputer.PartitionNotFound" ) );
             }
 
             // Creating the list containing all the original entries to be processed
@@ -179,6 +215,7 @@ public class PartitionsDiffComputer
                 // Looking for the equivalent entry in the destination partition
                 Entry destinationEntry = destinationPartition.lookup( new LookupOperationContext( null, originalEntry
                     .getDn(), attributeIds ) );
+                
                 if ( destinationEntry != null )
                 {
                     // Setting the changetype to delete
@@ -197,6 +234,7 @@ public class PartitionsDiffComputer
 
                 // Checking if modifications occurred on the original entry
                 ChangeType modificationEntryChangeType = modificationEntry.getChangeType();
+                
                 if ( modificationEntryChangeType != ChangeType.None )
                 {
                     if ( modificationEntryChangeType == ChangeType.Delete
@@ -211,7 +249,7 @@ public class PartitionsDiffComputer
                 // Creating a search operation context to get the children of the current entry
                 SearchOperationContext soc = new SearchOperationContext( null, originalEntry.getDn(),
                     SearchScope.ONELEVEL,
-                    FilterParser.parse( originalPartition.getSchemaManager(), "(objectClass=*)" ), attributeIds ); //$NON-NLS-1$
+                    FilterParser.parse( originalPartition.getSchemaManager(), LdapConstants.OBJECT_CLASS_STAR ), attributeIds ); //$NON-NLS-1$
                 soc.setAliasDerefMode( AliasDerefMode.DEREF_ALWAYS );
 
                 // Looking for the children of the current entry
@@ -231,9 +269,13 @@ public class PartitionsDiffComputer
             // Looking up the destination base entry
             Entry destinationBaseEntry = destinationPartition
                 .lookup( new LookupOperationContext( null, baseDn, attributeIds ) );
+            
             if ( destinationBaseEntry == null )
             {
-                throw new PartitionsDiffException( "Unable to find the base entry in the destination partition." ); //$NON-NLS-1$
+                ApacheDS2ConfigurationPlugin.getDefault().getLog().log( 
+                    new Status( IStatus.ERROR, ApacheDS2ConfigurationPluginConstants.PLUGIN_ID, 
+                        Messages.getString( "PartitionDiffComputer.PartitionNotFound" ) ) );
+                throw new PartitionsDiffException( Messages.getString( "PartitionDiffComputer.PartitionNotFound" ) );
             }
 
             // Creating the list containing all the destination entries to be processed
@@ -250,6 +292,7 @@ public class PartitionsDiffComputer
                 // Looking for the equivalent entry in the destination partition
                 Entry originalEntry = originalPartition.lookup( new LookupOperationContext( null, destinationEntry
                     .getDn(), attributeIds ) );
+
                 // We're only looking for new entries, modified or removed 
                 // entries have already been computed
                 if ( originalEntry == null )
@@ -288,7 +331,10 @@ public class PartitionsDiffComputer
         }
         catch ( Exception e )
         {
-            // e.printStackTrace();
+            ApacheDS2ConfigurationPlugin.getDefault().getLog().log( 
+                new Status( IStatus.ERROR, ApacheDS2ConfigurationPluginConstants.PLUGIN_ID, 
+                    Messages.getString( "PartitionDiffComputer.ComparePartitions" ) ) );
+
             throw new PartitionsDiffException( e );
         }
 
@@ -299,12 +345,9 @@ public class PartitionsDiffComputer
     /**
      * Compares the two given entries.
      *
-     * @param originalEntry
-     *      the original entry
-     * @param destinationEntry
-     *      the destination entry
-     * @param modificationEntry
-     *      the modification LDIF entry holding the modifications 
+     * @param originalEntry the original entry
+     * @param destinationEnt the destination entry
+     * @param modificationEntry the modification LDIF entry holding the modifications 
      *      between both entries
      */
     private void compareEntries( Entry originalEntry, Entry destinationEntry, LdifEntry modificationEntry )
@@ -365,7 +408,13 @@ public class PartitionsDiffComputer
                         }
                         catch ( LdapInvalidAttributeValueException liave )
                         {
-                            // TODO : handle the exception
+                            ApacheDS2ConfigurationPlugin.getDefault().getLog().log( 
+                                new Status( IStatus.ERROR, ApacheDS2ConfigurationPluginConstants.PLUGIN_ID, 
+                                    Messages.getString( "PartitionDiffComputer.InvalidAttributeException" ) ) );
+
+                            ApacheDS2ConfigurationPlugin.getDefault().getLog().log( 
+                                new Status( IStatus.ERROR, ApacheDS2ConfigurationPluginConstants.PLUGIN_ID, 
+                                    liave.getLocalizedMessage() ) );
                         }
                     }
 
@@ -379,12 +428,9 @@ public class PartitionsDiffComputer
     /**
      * Compares the two given attributes.
      *
-     * @param originalAttribute
-     *      the original attribute
-     * @param destinationAttribute
-     *      the destination attribute
-     * @param modificationEntry
-     *      the modification LDIF entry holding the modifications 
+     * @param originalAttribute the original attribute
+     * @param destinationAttribute the destination attribute
+     * @param modificationEntry the modification LDIF entry holding the modifications 
      *      between both attributes
      */
     private void compareAttributes( Attribute originalAttribute, Attribute destinationAttribute,
@@ -410,7 +456,13 @@ public class PartitionsDiffComputer
                 }
                 catch ( LdapInvalidAttributeValueException liave )
                 {
-                    // TODO : handle the exception
+                    ApacheDS2ConfigurationPlugin.getDefault().getLog().log( 
+                        new Status( IStatus.ERROR, ApacheDS2ConfigurationPluginConstants.PLUGIN_ID, 
+                            Messages.getString( "PartitionDiffComputer.InvalidAttributeException" ) ) );
+
+                    ApacheDS2ConfigurationPlugin.getDefault().getLog().log( 
+                        new Status( IStatus.ERROR, ApacheDS2ConfigurationPluginConstants.PLUGIN_ID, 
+                            liave.getLocalizedMessage() ) );
                 }
 
                 modificationEntry.addModification( modification );
@@ -436,7 +488,13 @@ public class PartitionsDiffComputer
                 }
                 catch ( LdapInvalidAttributeValueException liave )
                 {
-                    // TODO : handle the exception
+                    ApacheDS2ConfigurationPlugin.getDefault().getLog().log( 
+                        new Status( IStatus.ERROR, ApacheDS2ConfigurationPluginConstants.PLUGIN_ID, 
+                            Messages.getString( "PartitionDiffComputer.InvalidAttributeException" ) ) );
+
+                    ApacheDS2ConfigurationPlugin.getDefault().getLog().log( 
+                        new Status( IStatus.ERROR, ApacheDS2ConfigurationPluginConstants.PLUGIN_ID, 
+                            liave.getLocalizedMessage() ) );
                 }
 
                 modificationEntry.addModification( modification );
@@ -448,8 +506,7 @@ public class PartitionsDiffComputer
     /**
      * Gets the original partition.
      *
-     * @return
-     *      the original partition
+     * @return the original partition
      */
     public Partition getOriginalPartition()
     {
@@ -460,8 +517,7 @@ public class PartitionsDiffComputer
     /**
      * Sets the original partition.
      *
-     * @param originalPartition
-     *      the original partition
+     * @param originalPartition the original partition
      */
     public void setOriginalPartition( Partition originalPartition )
     {
@@ -472,8 +528,7 @@ public class PartitionsDiffComputer
     /**
      * Gets the destination partition.
      *
-     * @return
-     *      the destination partition
+     * @return the destination partition
      */
     public Partition getDestinationPartition()
     {
@@ -484,8 +539,7 @@ public class PartitionsDiffComputer
     /**
      * Sets the destination partition.
      *
-     * @param destinationPartition
-     *      the destination partition
+     * @param destinationPartition the destination partition
      */
     public void setDestinationPartition( Partition destinationPartition )
     {

Modified: directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/PartitionsDiffException.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/PartitionsDiffException.java?rev=1653313&r1=1653312&r2=1653313&view=diff
==============================================================================
--- directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/PartitionsDiffException.java (original)
+++ directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/PartitionsDiffException.java Tue Jan 20 17:50:42 2015
@@ -43,10 +43,8 @@ public class PartitionsDiffException ext
     /**
      * Constructs a new PartitionsDiffException with the specified detail message and cause.
      *
-     * @param message
-     *      the message
-     * @param cause
-     *      the cause
+     * @param message the message
+     * @param cause the cause
      */
     public PartitionsDiffException( String message, Throwable cause )
     {
@@ -57,8 +55,7 @@ public class PartitionsDiffException ext
     /**
      * Constructs a new PartitionsDiffException with the specified detail message.
      *
-     * @param message
-     *      the message
+     * @param message the message
      */
     public PartitionsDiffException( String message )
     {
@@ -70,8 +67,7 @@ public class PartitionsDiffException ext
      * Constructs a new exception with the specified cause and a detail message 
      * of <code>(cause==null ? null : cause.toString())</code>
      *
-     * @param cause
-     *      the cause
+     * @param cause the cause
      */
     public PartitionsDiffException( Throwable cause )
     {

Modified: directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/SaveConfigurationRunnable.java
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/SaveConfigurationRunnable.java?rev=1653313&r1=1653312&r2=1653313&view=diff
==============================================================================
--- directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/SaveConfigurationRunnable.java (original)
+++ directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/SaveConfigurationRunnable.java Tue Jan 20 17:50:42 2015
@@ -48,8 +48,7 @@ public class SaveConfigurationRunnable i
     /**
      * Creates a new instance of SaveConfigurationRunnable.
      * 
-     * @param editor
-     *            the editor
+     * @param editor the editor
      */
     public SaveConfigurationRunnable( ServerConfigurationEditor editor )
     {
@@ -100,6 +99,7 @@ public class SaveConfigurationRunnable i
                 IEditorInput input = editor.getEditorInput();
                 String inputClassName = input.getClass().getName();
                 boolean success = false;
+                
                 if ( input instanceof FileEditorInput )
                 // FileEditorInput class is used when the file is opened
                 // from a project in the workspace.
@@ -110,6 +110,7 @@ public class SaveConfigurationRunnable i
                         monitor );
                     success = true;
                 }
+                
                 // If the input is a ConnectionServerConfigurationInput, then we 
                 // read the server configuration from the selected connection
                 if ( input instanceof ConnectionServerConfigurationInput )

Modified: directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/messages.properties
URL: http://svn.apache.org/viewvc/directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/messages.properties?rev=1653313&r1=1653312&r2=1653313&view=diff
==============================================================================
--- directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/messages.properties (original)
+++ directory/studio/branches/studio-tycho/plugins/apacheds.configuration.v2/src/main/java/org/apache/directory/studio/apacheds/configuration/v2/jobs/messages.properties Tue Jan 20 17:50:42 2015
@@ -22,3 +22,13 @@ LoadConfigurationRunnable.UnableToLoadCo
 SaveConfigurationRunnable.SaveConfiguration=Save Configuration
 SaveConfigurationRunnable.SavingServerConfiguration=Saving server configuration
 SaveConfigurationRunnable.UnableToSaveConfiguration=Unable to save configuration.
+
+PartitionDiffComputer.InvalidAttributeException=Invalid Attribute Value.
+PartitionDiffComputer.ComparePartitions=Failure while comparing two partitions.
+PartitionDiffComputer.PartitionNotFound=Unable to find the base entry in the destination partition.
+PartitionDiffComputer.DestinationSuffixIsNull=The destination suffix is null.
+PartitionDiffComputer.DestinationPartitionNotInitialized=The destination partition must be intialized.
+PartitionDiffComputer.DestinationPartitionIsNull=The destination partition must not be 'null'.
+PartitionDiffComputer.OriginalPartitionIsNull=The original partition must not be 'null'.
+PartitionDiffComputer.OriginalPartitionNotInitialized=The original partition must be intialized.
+PartitionDiffComputer.OriginalSuffixIsNull=The original suffix is null.