You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by se...@apache.org on 2009/05/15 08:26:34 UTC

svn commit: r775025 - in /directory/studio/trunk: connection-core/src/main/java/org/apache/directory/studio/connection/core/ connection-core/src/main/java/org/apache/directory/studio/connection/core/event/ connection-ui/src/main/java/org/apache/directo...

Author: seelmann
Date: Fri May 15 06:26:33 2009
New Revision: 775025

URL: http://svn.apache.org/viewvc?rev=775025&view=rev
Log:
Refactoring: use generic class, removed duplicate interfaces and classes

Added:
    directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/EventRunnableFactory.java
Removed:
    directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/UiThreadEventRunner.java
    directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/events/CoreEventRunner.java
    directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/events/EventRunnable.java
    directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/events/EventRunner.java
Modified:
    directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/ConnectionFolderManager.java
    directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/ConnectionEventRegistry.java
    directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/CoreEventRunner.java
    directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/EventRunnable.java
    directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/EventRunner.java
    directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/UiThreadEventRunner.java
    directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/BrowserCommonActivator.java
    directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserConnectionManager.java
    directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserCorePlugin.java
    directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/events/EventRegistry.java
    directory/studio/trunk/ldapbrowser-ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/dialogs/properties/SchemaPropertyPage.java
    directory/studio/trunk/rcp/Studio-Runtime.launch

Modified: directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/ConnectionFolderManager.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/ConnectionFolderManager.java?rev=775025&r1=775024&r2=775025&view=diff
==============================================================================
--- directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/ConnectionFolderManager.java (original)
+++ directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/ConnectionFolderManager.java Fri May 15 06:26:33 2009
@@ -404,6 +404,8 @@
      */
     private synchronized void loadConnectionFolders()
     {
+        ConnectionEventRegistry.suspendEventFiringInCurrentThread();
+
         try
         {
             folderList = ConnectionIO.loadConnectionFolders( new FileInputStream( getConnectionFolderStoreFileName() ) );
@@ -445,6 +447,7 @@
             }
         }
 
+        ConnectionEventRegistry.resumeEventFiringInCurrentThread();
     }
 
 }

Modified: directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/ConnectionEventRegistry.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/ConnectionEventRegistry.java?rev=775025&r1=775024&r2=775025&view=diff
==============================================================================
--- directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/ConnectionEventRegistry.java (original)
+++ directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/ConnectionEventRegistry.java Fri May 15 06:26:33 2009
@@ -141,8 +141,7 @@
         }
     }
 
-    /** The map with connection update listeners and their runners */
-    private static Map<ConnectionUpdateListener, EventRunner> connectionUpdateListeners = new HashMap<ConnectionUpdateListener, EventRunner>();
+    private static final EventManager<ConnectionUpdateListener, EventRunner> connectionUpdateEventManager = new EventManager<ConnectionUpdateListener, EventRunner>();
 
 
     /**
@@ -153,13 +152,7 @@
      */
     public static void addConnectionUpdateListener( ConnectionUpdateListener listener, EventRunner runner )
     {
-        assert listener != null;
-        assert runner != null;
-
-        if ( !connectionUpdateListeners.containsKey( listener ) )
-        {
-            connectionUpdateListeners.put( listener, runner );
-        }
+        connectionUpdateEventManager.addListener( listener, runner );
     }
 
 
@@ -170,10 +163,7 @@
      */
     public static void removeConnectionUpdateListener( ConnectionUpdateListener listener )
     {
-        if ( connectionUpdateListeners.containsKey( listener ) )
-        {
-            connectionUpdateListeners.remove( listener );
-        }
+        connectionUpdateEventManager.removeListener( listener );
     }
 
 
@@ -186,31 +176,20 @@
      */
     public static void fireConnectionOpened( final Connection connection, final Object source )
     {
-        if ( isEventFiringSuspendedInCurrentThread() )
+        EventRunnableFactory<ConnectionUpdateListener> factory = new EventRunnableFactory<ConnectionUpdateListener>()
         {
-            return;
-        }
-
-        Map<ConnectionUpdateListener, EventRunner> listeners = new HashMap<ConnectionUpdateListener, EventRunner>(
-            connectionUpdateListeners );
-        Iterator<ConnectionUpdateListener> it = listeners.keySet().iterator();
-        while ( it.hasNext() )
-        {
-            final ConnectionUpdateListener listener = it.next();
-            EventRunnable runnable = new EventRunnable()
+            public EventRunnable<ConnectionUpdateListener> createEventRunnable( final ConnectionUpdateListener listener )
             {
-                public void run()
+                return new EventRunnable<ConnectionUpdateListener>()
                 {
-                    listener.connectionOpened( connection );
-                }
-            };
-
-            EventRunner runner = listeners.get( listener );
-            synchronized ( lock )
-            {
-                runner.execute( runnable );
+                    public void run()
+                    {
+                        listener.connectionOpened( connection );
+                    }
+                };
             }
-        }
+        };
+        connectionUpdateEventManager.fire( factory );
     }
 
 
@@ -223,31 +202,20 @@
      */
     public static void fireConnectionClosed( final Connection connection, final Object source )
     {
-        if ( isEventFiringSuspendedInCurrentThread() )
-        {
-            return;
-        }
-
-        Map<ConnectionUpdateListener, EventRunner> listeners = new HashMap<ConnectionUpdateListener, EventRunner>(
-            connectionUpdateListeners );
-        Iterator<ConnectionUpdateListener> it = listeners.keySet().iterator();
-        while ( it.hasNext() )
+        EventRunnableFactory<ConnectionUpdateListener> factory = new EventRunnableFactory<ConnectionUpdateListener>()
         {
-            final ConnectionUpdateListener listener = it.next();
-            EventRunnable runnable = new EventRunnable()
+            public EventRunnable<ConnectionUpdateListener> createEventRunnable( final ConnectionUpdateListener listener )
             {
-                public void run()
+                return new EventRunnable<ConnectionUpdateListener>()
                 {
-                    listener.connectionClosed( connection );
-                }
-            };
-
-            EventRunner runner = listeners.get( listener );
-            synchronized ( lock )
-            {
-                runner.execute( runnable );
+                    public void run()
+                    {
+                        listener.connectionClosed( connection );
+                    }
+                };
             }
-        }
+        };
+        connectionUpdateEventManager.fire( factory );
     }
 
 
@@ -260,31 +228,20 @@
      */
     public static void fireConnectionUpdated( final Connection connection, final Object source )
     {
-        if ( isEventFiringSuspendedInCurrentThread() )
-        {
-            return;
-        }
-
-        Map<ConnectionUpdateListener, EventRunner> listeners = new HashMap<ConnectionUpdateListener, EventRunner>(
-            connectionUpdateListeners );
-        Iterator<ConnectionUpdateListener> it = listeners.keySet().iterator();
-        while ( it.hasNext() )
+        EventRunnableFactory<ConnectionUpdateListener> factory = new EventRunnableFactory<ConnectionUpdateListener>()
         {
-            final ConnectionUpdateListener listener = it.next();
-            EventRunnable runnable = new EventRunnable()
+            public EventRunnable<ConnectionUpdateListener> createEventRunnable( final ConnectionUpdateListener listener )
             {
-                public void run()
+                return new EventRunnable<ConnectionUpdateListener>()
                 {
-                    listener.connectionUpdated( connection );
-                }
-            };
-
-            EventRunner runner = listeners.get( listener );
-            synchronized ( lock )
-            {
-                runner.execute( runnable );
+                    public void run()
+                    {
+                        listener.connectionUpdated( connection );
+                    }
+                };
             }
-        }
+        };
+        connectionUpdateEventManager.fire( factory );
     }
 
 
@@ -297,31 +254,20 @@
      */
     public static void fireConnectionAdded( final Connection connection, final Object source )
     {
-        if ( isEventFiringSuspendedInCurrentThread() )
+        EventRunnableFactory<ConnectionUpdateListener> factory = new EventRunnableFactory<ConnectionUpdateListener>()
         {
-            return;
-        }
-
-        Map<ConnectionUpdateListener, EventRunner> listeners = new HashMap<ConnectionUpdateListener, EventRunner>(
-            connectionUpdateListeners );
-        Iterator<ConnectionUpdateListener> it = listeners.keySet().iterator();
-        while ( it.hasNext() )
-        {
-            final ConnectionUpdateListener listener = it.next();
-            EventRunnable runnable = new EventRunnable()
+            public EventRunnable<ConnectionUpdateListener> createEventRunnable( final ConnectionUpdateListener listener )
             {
-                public void run()
+                return new EventRunnable<ConnectionUpdateListener>()
                 {
-                    listener.connectionAdded( connection );
-                }
-            };
-
-            EventRunner runner = listeners.get( listener );
-            synchronized ( lock )
-            {
-                runner.execute( runnable );
+                    public void run()
+                    {
+                        listener.connectionAdded( connection );
+                    }
+                };
             }
-        }
+        };
+        connectionUpdateEventManager.fire( factory );
     }
 
 
@@ -334,31 +280,20 @@
      */
     public static void fireConnectionRemoved( final Connection connection, final Object source )
     {
-        if ( isEventFiringSuspendedInCurrentThread() )
-        {
-            return;
-        }
-
-        Map<ConnectionUpdateListener, EventRunner> listeners = new HashMap<ConnectionUpdateListener, EventRunner>(
-            connectionUpdateListeners );
-        Iterator<ConnectionUpdateListener> it = listeners.keySet().iterator();
-        while ( it.hasNext() )
+        EventRunnableFactory<ConnectionUpdateListener> factory = new EventRunnableFactory<ConnectionUpdateListener>()
         {
-            final ConnectionUpdateListener listener = it.next();
-            EventRunnable runnable = new EventRunnable()
+            public EventRunnable<ConnectionUpdateListener> createEventRunnable( final ConnectionUpdateListener listener )
             {
-                public void run()
+                return new EventRunnable<ConnectionUpdateListener>()
                 {
-                    listener.connectionRemoved( connection );
-                }
-            };
-
-            EventRunner runner = listeners.get( listener );
-            synchronized ( lock )
-            {
-                runner.execute( runnable );
+                    public void run()
+                    {
+                        listener.connectionRemoved( connection );
+                    }
+                };
             }
-        }
+        };
+        connectionUpdateEventManager.fire( factory );
     }
 
 
@@ -371,31 +306,20 @@
      */
     public static void fireConnectonFolderModified( final ConnectionFolder connectionFolder, final Object source )
     {
-        if ( isEventFiringSuspendedInCurrentThread() )
+        EventRunnableFactory<ConnectionUpdateListener> factory = new EventRunnableFactory<ConnectionUpdateListener>()
         {
-            return;
-        }
-
-        Map<ConnectionUpdateListener, EventRunner> listeners = new HashMap<ConnectionUpdateListener, EventRunner>(
-            connectionUpdateListeners );
-        Iterator<ConnectionUpdateListener> it = listeners.keySet().iterator();
-        while ( it.hasNext() )
-        {
-            final ConnectionUpdateListener listener = it.next();
-            EventRunnable runnable = new EventRunnable()
+            public EventRunnable<ConnectionUpdateListener> createEventRunnable( final ConnectionUpdateListener listener )
             {
-                public void run()
+                return new EventRunnable<ConnectionUpdateListener>()
                 {
-                    listener.connectionFolderModified( connectionFolder );
-                }
-            };
-
-            EventRunner runner = listeners.get( listener );
-            synchronized ( lock )
-            {
-                runner.execute( runnable );
+                    public void run()
+                    {
+                        listener.connectionFolderModified( connectionFolder );
+                    }
+                };
             }
-        }
+        };
+        connectionUpdateEventManager.fire( factory );
     }
 
 
@@ -408,31 +332,20 @@
      */
     public static void fireConnectonFolderAdded( final ConnectionFolder connectionFolder, final Object source )
     {
-        if ( isEventFiringSuspendedInCurrentThread() )
-        {
-            return;
-        }
-
-        Map<ConnectionUpdateListener, EventRunner> listeners = new HashMap<ConnectionUpdateListener, EventRunner>(
-            connectionUpdateListeners );
-        Iterator<ConnectionUpdateListener> it = listeners.keySet().iterator();
-        while ( it.hasNext() )
+        EventRunnableFactory<ConnectionUpdateListener> factory = new EventRunnableFactory<ConnectionUpdateListener>()
         {
-            final ConnectionUpdateListener listener = it.next();
-            EventRunnable runnable = new EventRunnable()
+            public EventRunnable<ConnectionUpdateListener> createEventRunnable( final ConnectionUpdateListener listener )
             {
-                public void run()
+                return new EventRunnable<ConnectionUpdateListener>()
                 {
-                    listener.connectionFolderAdded( connectionFolder );
-                }
-            };
-
-            EventRunner runner = listeners.get( listener );
-            synchronized ( lock )
-            {
-                runner.execute( runnable );
+                    public void run()
+                    {
+                        listener.connectionFolderAdded( connectionFolder );
+                    }
+                };
             }
-        }
+        };
+        connectionUpdateEventManager.fire( factory );
     }
 
 
@@ -445,31 +358,89 @@
      */
     public static void fireConnectonFolderRemoved( final ConnectionFolder connectionFolder, final Object source )
     {
-        if ( isEventFiringSuspendedInCurrentThread() )
+        EventRunnableFactory<ConnectionUpdateListener> factory = new EventRunnableFactory<ConnectionUpdateListener>()
         {
-            return;
+            public EventRunnable<ConnectionUpdateListener> createEventRunnable( final ConnectionUpdateListener listener )
+            {
+                return new EventRunnable<ConnectionUpdateListener>()
+                {
+                    public void run()
+                    {
+                        listener.connectionFolderRemoved( connectionFolder );
+                    }
+                };
+            }
+        };
+        connectionUpdateEventManager.fire( factory );
+    }
+
+    public static class EventManager<L, R extends EventRunner>
+    {
+        private Map<L, EventRunner> listeners = new HashMap<L, EventRunner>();
+
+
+        /**
+         * Adds the listener.
+         *
+         * @param listener the listener
+         * @param runner the runner
+         */
+        public void addListener( L listener, R runner )
+        {
+            assert listener != null;
+            assert runner != null;
+
+            synchronized ( listeners )
+            {
+                if ( !listeners.containsKey( listener ) )
+                {
+                    listeners.put( listener, runner );
+                }
+            }
         }
 
-        Map<ConnectionUpdateListener, EventRunner> listeners = new HashMap<ConnectionUpdateListener, EventRunner>(
-            connectionUpdateListeners );
-        Iterator<ConnectionUpdateListener> it = listeners.keySet().iterator();
-        while ( it.hasNext() )
+
+        /**
+         * Removes the listener.
+         *
+         * @param listener the listener
+         */
+        public void removeListener( L listener )
         {
-            final ConnectionUpdateListener listener = it.next();
-            EventRunnable runnable = new EventRunnable()
+            synchronized ( listeners )
             {
-                public void run()
+                if ( listeners.containsKey( listener ) )
                 {
-                    listener.connectionFolderRemoved( connectionFolder );
+                    listeners.remove( listener );
                 }
-            };
+            }
+        }
+
 
-            EventRunner runner = listeners.get( listener );
-            synchronized ( lock )
+        /**
+         * Notifies each {@link ConnectionUpdateListener} about the removed connection.
+         * Uses the {@link EventRunner}s.
+         *
+         * @param connection the removed connection
+         * @param source the source
+         */
+        public void fire( EventRunnableFactory<L> factory )
+        {
+            if ( isEventFiringSuspendedInCurrentThread() )
             {
-                runner.execute( runnable );
+                return;
+            }
+
+            Map<L, EventRunner> clone = new HashMap<L, EventRunner>( listeners );
+            for ( final L listener : clone.keySet() )
+            {
+                EventRunner runner = clone.get( listener );
+                synchronized ( lock )
+                {
+                    EventRunnable<L> runnable = factory.createEventRunnable( listener );
+                    runner.execute( runnable );
+                }
             }
         }
     }
-
 }

Modified: directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/CoreEventRunner.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/CoreEventRunner.java?rev=775025&r1=775024&r2=775025&view=diff
==============================================================================
--- directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/CoreEventRunner.java (original)
+++ directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/CoreEventRunner.java Fri May 15 06:26:33 2009
@@ -36,7 +36,7 @@
      * This implementation executes the given {@link EventRunnable} within
      * the current thread.
      */
-    public void execute( EventRunnable runnable )
+    public void execute( EventRunnable<?> runnable )
     {
         runnable.run();
     }

Modified: directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/EventRunnable.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/EventRunnable.java?rev=775025&r1=775024&r2=775025&view=diff
==============================================================================
--- directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/EventRunnable.java (original)
+++ directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/EventRunnable.java Fri May 15 06:26:33 2009
@@ -30,6 +30,6 @@
  * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
  * @version $Rev$, $Date$
  */
-public interface EventRunnable extends Runnable
+public interface EventRunnable<T> extends Runnable
 {
 }

Added: directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/EventRunnableFactory.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/EventRunnableFactory.java?rev=775025&view=auto
==============================================================================
--- directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/EventRunnableFactory.java (added)
+++ directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/EventRunnableFactory.java Fri May 15 06:26:33 2009
@@ -0,0 +1,36 @@
+/*
+ *  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.connection.core.event;
+
+
+/**
+ * The <code>EventRunnable</code> interface should be implemented by any
+ * class whose instances are intended to be executed by an {@link EventRunner}.
+ * The class must define a method of no arguments called <code>run</code>.
+ * <p>
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public interface EventRunnableFactory<L>
+{
+    EventRunnable<L> createEventRunnable( L listener );
+}

Modified: directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/EventRunner.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/EventRunner.java?rev=775025&r1=775024&r2=775025&view=diff
==============================================================================
--- directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/EventRunner.java (original)
+++ directory/studio/trunk/connection-core/src/main/java/org/apache/directory/studio/connection/core/event/EventRunner.java Fri May 15 06:26:33 2009
@@ -34,6 +34,6 @@
      *
      * @param runnable the event runnable to run
      */
-    public void execute( EventRunnable runnable );
+    public void execute( EventRunnable<?> runnable );
 
 }

Modified: directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/UiThreadEventRunner.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/UiThreadEventRunner.java?rev=775025&r1=775024&r2=775025&view=diff
==============================================================================
--- directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/UiThreadEventRunner.java (original)
+++ directory/studio/trunk/connection-ui/src/main/java/org/apache/directory/studio/connection/ui/UiThreadEventRunner.java Fri May 15 06:26:33 2009
@@ -40,7 +40,7 @@
      * This implementation executes the given {@link EventRunnable} within
      * the SWT UI thread.
      */
-    public void execute( EventRunnable runnable )
+    public void execute( EventRunnable<?> runnable )
     {
         Display.getDefault().asyncExec( runnable );
     }

Modified: directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/BrowserCommonActivator.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/BrowserCommonActivator.java?rev=775025&r1=775024&r2=775025&view=diff
==============================================================================
--- directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/BrowserCommonActivator.java (original)
+++ directory/studio/trunk/ldapbrowser-common/src/main/java/org/apache/directory/studio/ldapbrowser/common/BrowserCommonActivator.java Fri May 15 06:26:33 2009
@@ -24,7 +24,8 @@
 import java.net.URL;
 import java.util.PropertyResourceBundle;
 
-import org.apache.directory.studio.ldapbrowser.core.events.EventRunner;
+import org.apache.directory.studio.connection.core.event.EventRunner;
+import org.apache.directory.studio.connection.ui.UiThreadEventRunner;
 import org.eclipse.core.runtime.FileLocator;
 import org.eclipse.core.runtime.IConfigurationElement;
 import org.eclipse.core.runtime.IExtension;

Modified: directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserConnectionManager.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserConnectionManager.java?rev=775025&r1=775024&r2=775025&view=diff
==============================================================================
--- directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserConnectionManager.java (original)
+++ directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserConnectionManager.java Fri May 15 06:26:33 2009
@@ -99,9 +99,8 @@
      * @return
      *      the Schema Cache filename for the corresponding browser connection
      */
-    public static final String getSchemaCacheFileName( IBrowserConnection browserConnection )
+    public static final String getSchemaCacheFileName( String id )
     {
-        String id = browserConnection.getConnection() != null ? browserConnection.getConnection().getId() : "null";
         return BrowserCorePlugin.getDefault().getStateLocation().append(
             "schema-" + Utils.getFilenameString( id ) + ".ldif" ).toOSString(); //$NON-NLS-1$ //$NON-NLS-2$
     }
@@ -212,10 +211,10 @@
     public void connectionRemoved( Connection connection )
     {
         // update connection list
-        IBrowserConnection browserConnection = connectionMap.remove( connection.getId() );
+        connectionMap.remove( connection.getId() );
 
         // remove schema file
-        File schemaFile = new File( getSchemaCacheFileName( browserConnection ) );
+        File schemaFile = new File( getSchemaCacheFileName( connection.getId() ) );
         if ( schemaFile.exists() )
         {
             schemaFile.delete();
@@ -400,16 +399,16 @@
     /**
      * Saves the Schema of the Connection
      *
-     * @param connection
+     * @param browserConnection
      *      the Connection
      */
-    private void saveSchema( IBrowserConnection connection )
+    private void saveSchema( IBrowserConnection browserConnection )
     {
         try
         {
-            String filename = getSchemaCacheFileName( connection );
+            String filename = getSchemaCacheFileName( browserConnection.getConnection().getId() );
             FileWriter writer = new FileWriter( filename );
-            connection.getSchema().saveToLdif( writer );
+            browserConnection.getSchema().saveToLdif( writer );
             writer.close();
         }
         catch ( Exception e )
@@ -433,7 +432,7 @@
             
             try
             {
-                String schemaFilename = getSchemaCacheFileName( browserConnection );
+                String schemaFilename = getSchemaCacheFileName( connection.getId() );
                 FileReader reader = new FileReader( schemaFilename );
                 Schema schema = new Schema();
                 schema.loadFromLdif( reader );

Modified: directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserCorePlugin.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserCorePlugin.java?rev=775025&r1=775024&r2=775025&view=diff
==============================================================================
--- directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserCorePlugin.java (original)
+++ directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/BrowserCorePlugin.java Fri May 15 06:26:33 2009
@@ -24,8 +24,8 @@
 import java.io.IOException;
 import java.util.PropertyResourceBundle;
 
-import org.apache.directory.studio.ldapbrowser.core.events.CoreEventRunner;
-import org.apache.directory.studio.ldapbrowser.core.events.EventRunner;
+import org.apache.directory.studio.connection.core.event.CoreEventRunner;
+import org.apache.directory.studio.connection.core.event.EventRunner;
 import org.eclipse.core.runtime.FileLocator;
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Plugin;

Modified: directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/events/EventRegistry.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/events/EventRegistry.java?rev=775025&r1=775024&r2=775025&view=diff
==============================================================================
--- directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/events/EventRegistry.java (original)
+++ directory/studio/trunk/ldapbrowser-core/src/main/java/org/apache/directory/studio/ldapbrowser/core/events/EventRegistry.java Fri May 15 06:26:33 2009
@@ -21,11 +21,10 @@
 package org.apache.directory.studio.ldapbrowser.core.events;
 
 
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.Map;
-
 import org.apache.directory.studio.connection.core.event.ConnectionEventRegistry;
+import org.apache.directory.studio.connection.core.event.EventRunnable;
+import org.apache.directory.studio.connection.core.event.EventRunnableFactory;
+import org.apache.directory.studio.connection.core.event.EventRunner;
 
 
 /**
@@ -38,8 +37,7 @@
 public class EventRegistry extends ConnectionEventRegistry
 {
 
-    /** The map with search update listeners and their runners */
-    private static Map<SearchUpdateListener, EventRunner> searchUpdateListeners = new HashMap<SearchUpdateListener, EventRunner>();
+    static final EventManager<SearchUpdateListener, EventRunner> searchUpdateEventManager = new EventManager<SearchUpdateListener, EventRunner>();
 
 
     /**
@@ -50,13 +48,7 @@
      */
     public static void addSearchUpdateListener( SearchUpdateListener listener, EventRunner runner )
     {
-        assert listener != null;
-        assert runner != null;
-
-        if ( !searchUpdateListeners.containsKey( listener ) )
-        {
-            searchUpdateListeners.put( listener, runner );
-        }
+        searchUpdateEventManager.addListener( listener, runner );
     }
 
 
@@ -67,10 +59,7 @@
      */
     public static void removeSearchUpdateListener( SearchUpdateListener listener )
     {
-        if ( searchUpdateListeners.containsKey( listener ) )
-        {
-            searchUpdateListeners.remove( listener );
-        }
+        searchUpdateEventManager.removeListener( listener );
     }
 
 
@@ -83,34 +72,23 @@
      */
     public static void fireSearchUpdated( final SearchUpdateEvent searchUpdateEvent, final Object source )
     {
-        if ( isEventFiringSuspendedInCurrentThread() )
+        EventRunnableFactory<SearchUpdateListener> factory = new EventRunnableFactory<SearchUpdateListener>()
         {
-            return;
-        }
-
-        Iterator<SearchUpdateListener> it = searchUpdateListeners.keySet().iterator();
-        while ( it.hasNext() )
-        {
-            final SearchUpdateListener listener = it.next();
-            EventRunnable runnable = new EventRunnable()
+            public EventRunnable<SearchUpdateListener> createEventRunnable( final SearchUpdateListener listener )
             {
-                public void run()
+                return new EventRunnable<SearchUpdateListener>()
                 {
-                    listener.searchUpdated( searchUpdateEvent );
-                }
-            };
-
-            EventRunner runner = searchUpdateListeners.get( listener );
-
-            synchronized ( lock )
-            {
-                runner.execute( runnable );
+                    public void run()
+                    {
+                        listener.searchUpdated( searchUpdateEvent );
+                    }
+                };
             }
-        }
+        };
+        searchUpdateEventManager.fire( factory );
     }
 
-    /** The map with bookmark update listeners and their runners */
-    private static Map<BookmarkUpdateListener, EventRunner> bookmarkUpdateListeners = new HashMap<BookmarkUpdateListener, EventRunner>();
+    static final EventManager<BookmarkUpdateListener, EventRunner> bookmarkUpdateEventManager = new EventManager<BookmarkUpdateListener, EventRunner>();
 
 
     /**
@@ -121,13 +99,7 @@
      */
     public static void addBookmarkUpdateListener( BookmarkUpdateListener listener, EventRunner runner )
     {
-        assert listener != null;
-        assert runner != null;
-
-        if ( !bookmarkUpdateListeners.containsKey( listener ) )
-        {
-            bookmarkUpdateListeners.put( listener, runner );
-        }
+        bookmarkUpdateEventManager.addListener( listener, runner );
     }
 
 
@@ -138,10 +110,7 @@
      */
     public static void removeBookmarkUpdateListener( BookmarkUpdateListener listener )
     {
-        if ( bookmarkUpdateListeners.containsKey( listener ) )
-        {
-            bookmarkUpdateListeners.remove( listener );
-        }
+        bookmarkUpdateEventManager.removeListener( listener );
     }
 
 
@@ -154,33 +123,23 @@
      */
     public static void fireBookmarkUpdated( final BookmarkUpdateEvent bookmarkUpdateEvent, final Object source )
     {
-        if ( isEventFiringSuspendedInCurrentThread() )
+        EventRunnableFactory<BookmarkUpdateListener> factory = new EventRunnableFactory<BookmarkUpdateListener>()
         {
-            return;
-        }
-
-        Iterator<BookmarkUpdateListener> it = bookmarkUpdateListeners.keySet().iterator();
-        while ( it.hasNext() )
-        {
-            final BookmarkUpdateListener listener = it.next();
-            EventRunnable runnable = new EventRunnable()
+            public EventRunnable<BookmarkUpdateListener> createEventRunnable( final BookmarkUpdateListener listener )
             {
-                public void run()
+                return new EventRunnable<BookmarkUpdateListener>()
                 {
-                    listener.bookmarkUpdated( bookmarkUpdateEvent );
-                }
-            };
-
-            EventRunner runner = bookmarkUpdateListeners.get( listener );
-            synchronized ( lock )
-            {
-                runner.execute( runnable );
+                    public void run()
+                    {
+                        listener.bookmarkUpdated( bookmarkUpdateEvent );
+                    }
+                };
             }
-        }
+        };
+        bookmarkUpdateEventManager.fire( factory );
     }
 
-    /** The map with entry update listeners and their runners */
-    private static Map<BrowserConnectionUpdateListener, EventRunner> browserConnectionUpdateListeners = new HashMap<BrowserConnectionUpdateListener, EventRunner>();
+    static final EventManager<BrowserConnectionUpdateListener, EventRunner> browserConnectionUpdateEventManager = new EventManager<BrowserConnectionUpdateListener, EventRunner>();
 
 
     /**
@@ -191,13 +150,7 @@
      */
     public static void addBrowserConnectionUpdateListener( BrowserConnectionUpdateListener listener, EventRunner runner )
     {
-        assert listener != null;
-        assert runner != null;
-
-        if ( !browserConnectionUpdateListeners.containsKey( listener ) )
-        {
-            browserConnectionUpdateListeners.put( listener, runner );
-        }
+        browserConnectionUpdateEventManager.addListener( listener, runner );
     }
 
 
@@ -208,10 +161,7 @@
      */
     public static void removeBrowserConnectionUpdateListener( BrowserConnectionUpdateListener listener )
     {
-        if ( browserConnectionUpdateListeners.containsKey( listener ) )
-        {
-            browserConnectionUpdateListeners.remove( listener );
-        }
+        browserConnectionUpdateEventManager.removeListener( listener );
     }
 
 
@@ -225,33 +175,24 @@
     public static void fireBrowserConnectionUpdated( final BrowserConnectionUpdateEvent browserConnectionUpdateEvent,
         final Object source )
     {
-        if ( isEventFiringSuspendedInCurrentThread() )
+        EventRunnableFactory<BrowserConnectionUpdateListener> factory = new EventRunnableFactory<BrowserConnectionUpdateListener>()
         {
-            return;
-        }
-
-        Iterator<BrowserConnectionUpdateListener> it = browserConnectionUpdateListeners.keySet().iterator();
-        while ( it.hasNext() )
-        {
-            final BrowserConnectionUpdateListener listener = it.next();
-            EventRunnable runnable = new EventRunnable()
+            public EventRunnable<BrowserConnectionUpdateListener> createEventRunnable(
+                final BrowserConnectionUpdateListener listener )
             {
-                public void run()
+                return new EventRunnable<BrowserConnectionUpdateListener>()
                 {
-                    listener.browserConnectionUpdated( browserConnectionUpdateEvent );
-                }
-            };
-
-            EventRunner runner = browserConnectionUpdateListeners.get( listener );
-            synchronized ( lock )
-            {
-                runner.execute( runnable );
+                    public void run()
+                    {
+                        listener.browserConnectionUpdated( browserConnectionUpdateEvent );
+                    }
+                };
             }
-        }
+        };
+        browserConnectionUpdateEventManager.fire( factory );
     }
 
-    /** The map with entry update listeners and their runners */
-    private static Map<EntryUpdateListener, EventRunner> entryUpdateListeners = new HashMap<EntryUpdateListener, EventRunner>();
+    static final EventManager<EntryUpdateListener, EventRunner> entryUpdateEventManager = new EventManager<EntryUpdateListener, EventRunner>();
 
 
     /**
@@ -262,13 +203,7 @@
      */
     public static void addEntryUpdateListener( EntryUpdateListener listener, EventRunner runner )
     {
-        assert listener != null;
-        assert runner != null;
-
-        if ( !entryUpdateListeners.containsKey( listener ) )
-        {
-            entryUpdateListeners.put( listener, runner );
-        }
+        entryUpdateEventManager.addListener( listener, runner );
     }
 
 
@@ -279,10 +214,7 @@
      */
     public static void removeEntryUpdateListener( EntryUpdateListener listener )
     {
-        if ( entryUpdateListeners.containsKey( listener ) )
-        {
-            entryUpdateListeners.remove( listener );
-        }
+        entryUpdateEventManager.removeListener( listener );
     }
 
 
@@ -295,29 +227,20 @@
      */
     public static void fireEntryUpdated( final EntryModificationEvent entryUpdateEvent, final Object source )
     {
-        if ( isEventFiringSuspendedInCurrentThread() )
+        EventRunnableFactory<EntryUpdateListener> factory = new EventRunnableFactory<EntryUpdateListener>()
         {
-            return;
-        }
-
-        Iterator<EntryUpdateListener> it = entryUpdateListeners.keySet().iterator();
-        while ( it.hasNext() )
-        {
-            final EntryUpdateListener listener = it.next();
-            EventRunnable runnable = new EventRunnable()
+            public EventRunnable<EntryUpdateListener> createEventRunnable( final EntryUpdateListener listener )
             {
-                public void run()
+                return new EventRunnable<EntryUpdateListener>()
                 {
-                    listener.entryUpdated( entryUpdateEvent );
-                }
-            };
-
-            EventRunner runner = entryUpdateListeners.get( listener );
-            synchronized ( lock )
-            {
-                runner.execute( runnable );
+                    public void run()
+                    {
+                        listener.entryUpdated( entryUpdateEvent );
+                    }
+                };
             }
-        }
+        };
+        entryUpdateEventManager.fire( factory );
     }
 
 }

Modified: directory/studio/trunk/ldapbrowser-ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/dialogs/properties/SchemaPropertyPage.java
URL: http://svn.apache.org/viewvc/directory/studio/trunk/ldapbrowser-ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/dialogs/properties/SchemaPropertyPage.java?rev=775025&r1=775024&r2=775025&view=diff
==============================================================================
--- directory/studio/trunk/ldapbrowser-ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/dialogs/properties/SchemaPropertyPage.java (original)
+++ directory/studio/trunk/ldapbrowser-ui/src/main/java/org/apache/directory/studio/ldapbrowser/ui/dialogs/properties/SchemaPropertyPage.java Fri May 15 06:26:33 2009
@@ -158,16 +158,16 @@
     /**
      * Updates the text fields.
      * 
-     * @param connection the connection
+     * @param browserConnection the connection
      */
-    private void update( IBrowserConnection connection )
+    private void update( IBrowserConnection browserConnection )
     {
         if ( !dnText.isDisposed() )
         {
             Schema schema = null;
-            if ( connection != null )
+            if ( browserConnection != null )
             {
-                schema = connection.getSchema();
+                schema = browserConnection.getSchema();
             }
 
             if ( schema != null && schema.getDn() != null )
@@ -206,9 +206,10 @@
                 reloadSchemaButton.setText( Messages.getString( "SchemaPropertyPage.LoadSchema" ) ); //$NON-NLS-1$
             }
 
-            if ( connection != null )
+            if ( browserConnection != null )
             {
-                String cacheFileName = BrowserConnectionManager.getSchemaCacheFileName( connection );
+                String cacheFileName = BrowserConnectionManager.getSchemaCacheFileName( browserConnection
+                    .getConnection().getId() );
                 File cacheFile = new File( cacheFileName );
                 if ( cacheFile.exists() )
                 {

Modified: directory/studio/trunk/rcp/Studio-Runtime.launch
URL: http://svn.apache.org/viewvc/directory/studio/trunk/rcp/Studio-Runtime.launch?rev=775025&r1=775024&r2=775025&view=diff
==============================================================================
--- directory/studio/trunk/rcp/Studio-Runtime.launch (original)
+++ directory/studio/trunk/rcp/Studio-Runtime.launch Fri May 15 06:26:33 2009
@@ -17,7 +17,7 @@
 <stringAttribute key="org.eclipse.jdt.launching.PROGRAM_ARGUMENTS" value="-os ${target.os} -ws ${target.ws} -arch ${target.arch} -nl en"/>
 <stringAttribute key="org.eclipse.jdt.launching.SOURCE_PATH_PROVIDER" value="org.eclipse.pde.ui.workbenchClasspathProvider"/>
 <stringAttribute key="pde.version" value="3.3"/>
-<stringAttribute key="product" value="org.eclipse.sdk.ide"/>
+<stringAttribute key="product" value="org.apache.directory.studio.rcp.product"/>
 <stringAttribute key="selectedPlugin" value="org.eclipse.ui"/>
 <booleanAttribute key="show_selected_only" value="false"/>
 <stringAttribute key="templateConfig" value="${target_home}/configuration/config.ini"/>
@@ -32,8 +32,8 @@
 <mapEntry key="org.eclipse.core.resources/perf/listeners" value="500"/>
 <mapEntry key="org.eclipse.debug.ui/debug/contextlaunching" value="false"/>
 <mapEntry key="org.eclipse.wst.server.core/resources" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
 <mapEntry key="org.eclipse.wst.css.core/debug/tracefilter" value=""/>
+<mapEntry key="org.eclipse.core.resources/build/needbuild" value="false"/>
 <mapEntry key="org.eclipse.debug.ui/debug/viewers/viewer" value="false"/>
 <mapEntry key="org.eclipse.jem.util/debug/logtrace" value="false"/>
 <mapEntry key="org.eclipse.wst.common.environment/trace/data" value="true"/>
@@ -49,11 +49,11 @@
 <mapEntry key="org.eclipse.wst.sse.core/tasks" value="false"/>
 <mapEntry key="org.eclipse.jem.proxy/remote/debug/vmtraceout" value="false"/>
 <mapEntry key="org.eclipse.core.jobs/jobs/shutdown" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
 <mapEntry key="org.eclipse.debug.ui/debug/viewers/updateSequence" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/url/debug" value="false"/>
 <mapEntry key="org.eclipse.osgi/monitor/classes" value="false"/>
-<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/>
 <mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFileMaps" value="false"/>
+<mapEntry key="org.eclipse.equinox.preferences/get" value="false"/>
 <mapEntry key="org.eclipse.wst.xml.core/debug/tracefilter" value=""/>
 <mapEntry key="org.eclipse.update.core/debug" value="true"/>
 <mapEntry key="org.eclipse.core.runtime/debug/context" value="false"/>
@@ -63,15 +63,15 @@
 <mapEntry key="org.eclipse.wst.server.core/performance" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerjob" value="false"/>
 <mapEntry key="org.eclipse.ui.intro.universal/trace/logInfo" value="true"/>
-<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/>
 <mapEntry key="org.eclipse.ui.intro/trace/printHTML" value="false"/>
+<mapEntry key="org.eclipse.debug.core/debug/events" value="false"/>
 <mapEntry key="org.eclipse.equinox.registry/debug/events" value="false"/>
 <mapEntry key="org.eclipse.jdt.core/debug/javadelta/verbose" value="false"/>
 <mapEntry key="org.eclipse.jdt.core/debug" value="true"/>
-<mapEntry key="org.eclipse.pde.core/validation" value="false"/>
 <mapEntry key="org.eclipse.core.expressions/tracePropertyResolving" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
+<mapEntry key="org.eclipse.pde.core/validation" value="false"/>
 <mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/checkConditions" value="300"/>
+<mapEntry key="org.eclipse.core.resources/restore" value="false"/>
 <mapEntry key="org.eclipse.ui/perf/perspective.listeners" value="200"/>
 <mapEntry key="org.eclipse.jdt.core/perf/containerinitializer" value="5000"/>
 <mapEntry key="org.eclipse.osgi/trace/filename" value="runtime.traces"/>
@@ -87,9 +87,9 @@
 <mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugmenu" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerSpelling/showProblems" value="false"/>
 <mapEntry key="org.eclipse.osgi/resolver/imports" value="false"/>
-<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
 <mapEntry key="org.eclipse.help.ui/debug/infopop" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin/resolver" value="false"/>
+<mapEntry key="org.eclipse.osgi/trace/filters" value="trace.properties"/>
 <mapEntry key="org.eclipse.wst.sse.ui/debug" value="true"/>
 <mapEntry key="org.eclipse.wst.html.core/debug" value="true"/>
 <mapEntry key="org.eclipse.jem.ui/debug/logtracefile" value="default"/>
@@ -102,10 +102,10 @@
 <mapEntry key="org.eclipse.ui/perf/part.listeners" value="200"/>
 <mapEntry key="org.eclipse.osgi/resolver/debug" value="false"/>
 <mapEntry key="org.eclipse.update.core/debug/install" value="false"/>
-<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
 <mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser/inprocess" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/>
+<mapEntry key="org.eclipse.core.resources/debug" value="false"/>
 <mapEntry key="org.eclipse.osgi/profile/impl" value="org.eclipse.osgi.internal.profile.DefaultProfileLogger"/>
+<mapEntry key="org.eclipse.ui/perf/part.control" value="800"/>
 <mapEntry key="org.eclipse.osgi/profile/benchmark" value="false"/>
 <mapEntry key="org.eclipse.jdt.core/debug/cpresolution/advanced" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.core/tasks/time" value="false"/>
@@ -116,52 +116,52 @@
 <mapEntry key="org.eclipse.jdt.core/perf/selection" value="300"/>
 <mapEntry key="org.eclipse.help/debug/context" value="false"/>
 <mapEntry key="org.eclipse.jdt.ui/perf/content_assist_sorters/extensions" value=""/>
-<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.ui/actioncontributor/debugstatusfields" value="true"/>
+<mapEntry key="org.eclipse.jdt.core/debug/builder" value="false"/>
 <mapEntry key="org.eclipse.osgi/resolver/requires" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.core/format" value="false"/>
-<mapEntry key="org.eclipse.wst.sse.ui/extendedconfigurationbuilder" value="false"/>
 <mapEntry key="org.eclipse.wst.server.ui/extension_point" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.ui/extendedconfigurationbuilder" value="false"/>
 <mapEntry key="org.eclipse.team.cvs.ssh/debug" value="false"/>
 <mapEntry key="org.eclipse.wst.javascript.core/debug/tracefilter" value=""/>
 <mapEntry key="org.eclipse.wst.dtd.ui/projectionperf" value="false"/>
 <mapEntry key="org.eclipse.ui/trace/handlers.verbose" value="false"/>
-<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
 <mapEntry key="org.eclipse.update.core/debug/installhandler" value="false"/>
+<mapEntry key="org.eclipse.osgi/debug/startlevel" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.core/tasks/detection" value="false"/>
-<mapEntry key="org.eclipse.wst.common.environment/debug" value="true"/>
 <mapEntry key="org.eclipse.jdt.core/debug/javadelta" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
+<mapEntry key="org.eclipse.wst.common.environment/debug" value="true"/>
 <mapEntry key="org.eclipse.core.resources/preferences" value="false"/>
+<mapEntry key="org.eclipse.core.resources/restore/tree" value="false"/>
 <mapEntry key="org.eclipse.help/debug/protocols" value="false"/>
 <mapEntry key="org.eclipse.core.resources/perf/save.participants" value="500"/>
 <mapEntry key="org.eclipse.jst.jsp.core/debug/tldcmdocument/cache" value="false"/>
-<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
-<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/modelstatelistener" value="false"/>
 <mapEntry key="org.eclipse.help.base/debug/search" value="false"/>
-<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/>
+<mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/modelstatelistener" value="false"/>
+<mapEntry key="org.eclipse.core.resources/natures" value="false"/>
 <mapEntry key="org.eclipse.jem/debug/loglevel" value="default"/>
+<mapEntry key="org.eclipse.osgi/defaultprofile/buffersize" value="256"/>
 <mapEntry key="org.eclipse.osgi/resolver/cycles" value="false"/>
 <mapEntry key="org.eclipse.jdt.core/perf/variableinitializer" value="5000"/>
-<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
 <mapEntry key="org.eclipse.debug.ui/debug/viewers/model" value="false"/>
+<mapEntry key="org.eclipse.ui/trace/keyBindings.verbose" value="false"/>
 <mapEntry key="org.maven.ide.eclipse/actions" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.core/filebuffers/modelmanagement" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/perf/success" value="false"/>
 <mapEntry key="org.eclipse.ui/trace/contexts.performance" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/perf/success" value="false"/>
 <mapEntry key="org.eclipse.core.runtime/compatibility/debug" value="false"/>
 <mapEntry key="org.eclipse.ui/debug/declaredImages" value="false"/>
 <mapEntry key="org.eclipse.pde.build/debug" value="false"/>
-<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/>
 <mapEntry key="org.eclipse.jem.util/debug/logtracefile" value="false"/>
+<mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/location" value="false"/>
 <mapEntry key="org.eclipse.ui/trace/contexts.verbose" value="false"/>
 <mapEntry key="org.eclipse.help.base/debug" value="true"/>
 <mapEntry key="org.eclipse.wst.common.environment/trace/emitter" value="true"/>
 <mapEntry key="org.eclipse.ui/debug/showAllJobs" value="false"/>
 <mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener" value="false"/>
 <mapEntry key="org.eclipse.jem.proxy/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/>
 <mapEntry key="org.eclipse.ui/perf/perspective.create" value="800"/>
+<mapEntry key="org.eclipse.core.jobs/jobs" value="false"/>
 <mapEntry key="org.eclipse.ui/trace/sources" value="false"/>
 <mapEntry key="org.eclipse.debug.core/debug/commands" value="false"/>
 <mapEntry key="org.eclipse.core.resources/strings" value="false"/>
@@ -170,34 +170,34 @@
 <mapEntry key="org.eclipse.core.resources/save/metainfo" value="false"/>
 <mapEntry key="org.eclipse.wst.server.ui/debug" value="true"/>
 <mapEntry key="org.eclipse.ui/perf/part.activate" value="200"/>
-<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/>
 <mapEntry key="org.eclipse.wst.sse.ui/contentOutline" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/perf" value="false"/>
+<mapEntry key="org.eclipse.ui.intro.universal/debug" value="true"/>
 <mapEntry key="org.eclipse.wst.xml.core/debug/cmdocumentmanager" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/perf" value="false"/>
 <mapEntry key="org.eclipse.jst.jsp.core/debug/tldcmdocument/factory" value="false"/>
 <mapEntry key="org.eclipse.core.resources/contenttype" value="false"/>
 <mapEntry key="org.eclipse.ui/debug/contributions" value="false"/>
 <mapEntry key="org.eclipse.ui/debug/job.stale" value="false"/>
 <mapEntry key="org.eclipse.wst.common.environment/trace/info" value="true"/>
-<mapEntry key="org.eclipse.jem.proxy/debug/logtracefile" value="default"/>
 <mapEntry key="org.eclipse.jst.jsp.core/debug/jsptranslation" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/>
+<mapEntry key="org.eclipse.jem.proxy/debug/logtracefile" value="default"/>
 <mapEntry key="org.eclipse.jdt.core/debug/completion" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/workbench.start" value="45000"/>
 <mapEntry key="org.eclipse.osgi/eclipseadaptor/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.core/debug" value="true"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener" value="false"/>
 <mapEntry key="org.eclipse.jdt.core/debug/indexmanager" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.ui/preferences-properties" value="false"/>
 <mapEntry key="org.eclipse.wst.internet.monitor.core/debug" value="true"/>
 <mapEntry key="org.eclipse.wst.sse.ui/storagemodelprovider/operations" value="false"/>
 <mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPerspectiveListener" value="false"/>
 <mapEntry key="org.eclipse.osgi/debug/loader" value="false"/>
-<mapEntry key="org.eclipse.wst.html.core/debug/tracefilter" value=""/>
 <mapEntry key="org.eclipse.wtp.common/debug/logtrace" value="false"/>
+<mapEntry key="org.eclipse.wst.html.core/debug/tracefilter" value=""/>
 <mapEntry key="org.eclipse.ui.workbench/debug" value="false"/>
 <mapEntry key="org.eclipse.jst.jsp.core/debug" value="true"/>
-<mapEntry key="org.eclipse.debug.ui/debug/launchhistory" value="false"/>
 <mapEntry key="org.eclipse.osgi/defaultprofile/logsynchronously" value="false"/>
+<mapEntry key="org.eclipse.debug.ui/debug/launchhistory" value="false"/>
 <mapEntry key="org.eclipse.osgi/trace/classLoading" value="false"/>
 <mapEntry key="org.eclipse.jface.text/debug/FastPartitioner/PositionCache" value="false"/>
 <mapEntry key="org.eclipse.debug.ui/debug" value="false"/>
@@ -209,34 +209,34 @@
 <mapEntry key="org.eclipse.osgi/debug/filter" value="false"/>
 <mapEntry key="org.eclipse.jdt.apt.core/debug/compilationEnv" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.core/structuredmodel/lifecycle" value="false"/>
-<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/modelmanager" value="false"/>
 <mapEntry key="org.eclipse.jdt.ui/debug/ASTProvider" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/modelmanager" value="false"/>
 <mapEntry key="org.eclipse.jst.jsp.core/taglib/resolve" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/operations" value="false"/>
-<mapEntry key="org.eclipse.wst.sse.core/tasks/registry" value="false"/>
 <mapEntry key="org.eclipse.wtp.common/debug/loglevel" value="WARNING"/>
-<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.core/tasks/registry" value="false"/>
 <mapEntry key="org.eclipse.osgi/defaultprofile/logfilename" value=""/>
+<mapEntry key="org.eclipse.help.webapp/debug/workingsets" value="false"/>
 <mapEntry key="org.eclipse.jem/debug/logtrace" value="default"/>
 <mapEntry key="org.eclipse.wst.sse.ui/propertySheet" value="false"/>
-<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
 <mapEntry key="org.eclipse.jface.text/debug/ContentAssistSubjectAdapters" value="false"/>
+<mapEntry key="org.eclipse.core.runtime/url/debug/connect" value="false"/>
 <mapEntry key="org.eclipse.core.resources/restore/markers" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.core/structureddocument" value="false"/>
 <mapEntry key="org.eclipse.ui/trace/graphics" value="true"/>
 <mapEntry key="org.eclipse.jdt.core/debug/resolution" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
 <mapEntry key="org.eclipse.jst.jsp.core/taglib/indexcreation" value="false"/>
+<mapEntry key="org.eclipse.team.cvs.ssh/ssh_protocol" value="false"/>
 <mapEntry key="org.eclipse.core.resources/perf/snapshot" value="1000"/>
 <mapEntry key="org.eclipse.core.resources/build/needbuildstack" value="false"/>
 <mapEntry key="org.eclipse.jst.jsp.core/debug/jsptranslationstodisk" value="false"/>
 <mapEntry key="org.eclipse.ui/perf/part.init" value="800"/>
-<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/locks" value="true"/>
 <mapEntry key="org.eclipse.ui.intro/trace/logPerformance" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.core/structuredmodel/locks" value="true"/>
 <mapEntry key="org.eclipse.wst.sse.core/dom/adapter/notification/time" value="false"/>
 <mapEntry key="org.eclipse.osgi/eclipseadaptor/converter/debug" value="false"/>
-<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/>
 <mapEntry key="org.eclipse.wst.common.project.facet.core/activation" value="false"/>
+<mapEntry key="org.eclipse.ui/perf/part.create" value="800"/>
 <mapEntry key="org.eclipse.wtp.common/debug/logtracefile" value="false"/>
 <mapEntry key="org.eclipse.osgi/eclipseadaptor/debug/platformadmin" value="false"/>
 <mapEntry key="org.eclipse.help.ui/debug/embeddedBrowser" value="false"/>
@@ -245,8 +245,8 @@
 <mapEntry key="org.eclipse.wst.sse.core/tasks/overalltime" value="false"/>
 <mapEntry key="org.eclipse.team.core/streams" value="false"/>
 <mapEntry key="org.eclipse.jst.jsp.core/debug/jspjavamapping" value="false"/>
-<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/>
 <mapEntry key="org.eclipse.ui/trace/keyBindings" value="false"/>
+<mapEntry key="org.eclipse.core.resources/build/stacktrace" value="false"/>
 <mapEntry key="org.eclipse.jdt.ui/debug/TypeConstraints" value="false"/>
 <mapEntry key="org.eclipse.jst.jsp.core/taglib/indextime" value="false"/>
 <mapEntry key="org.eclipse.wst.common.environment/trace/error" value="true"/>
@@ -266,28 +266,28 @@
 <mapEntry key="org.eclipse.jst.server.tomcat.core/debug" value="true"/>
 <mapEntry key="org.eclipse.jdt.ui/debug" value="true"/>
 <mapEntry key="org.eclipse.wst.sse.core/dom/adapter/notification/time/criteria" value="10"/>
-<mapEntry key="org.eclipse.jem.beaninfo/debug/logtrace" value="default"/>
-<mapEntry key="org.eclipse.jdt.core/debug/javamodel/cache" value="false"/>
 <mapEntry key="org.eclipse.update.core/debug/configuration" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/javamodel/cache" value="false"/>
+<mapEntry key="org.eclipse.jem.beaninfo/debug/logtrace" value="default"/>
 <mapEntry key="org.eclipse.osgi/debug/messageBundles" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.ui/gotoNextAnnotation" value="false"/>
-<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="true"/>
 <mapEntry key="org.eclipse.jem.beaninfo/debug/logtracefile" value="default"/>
+<mapEntry key="org.eclipse.jdt.core.manipulation/debug" value="true"/>
 <mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPartListener2" value="false"/>
 <mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPartListener2" value="false"/>
 <mapEntry key="org.eclipse.jem.ui/debug/logtrace" value="default"/>
 <mapEntry key="org.eclipse.jdt.core/perf/reconcile" value="1000"/>
-<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
 <mapEntry key="org.eclipse.help.webapp/debug" value="true"/>
-<mapEntry key="org.eclipse.wst.sse.core/filebuffers/lifecycle" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/hierarchy" value="false"/>
 <mapEntry key="org.eclipse.core.resources/refresh" value="false"/>
-<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.core/filebuffers/lifecycle" value="false"/>
 <mapEntry key="org.eclipse.ltk.core.refactoring/perf/participants/createChanges" value="300"/>
+<mapEntry key="org.eclipse.team.core/backgroundevents" value="false"/>
 <mapEntry key="org.eclipse.jdt.core/debug/cpresolution" value="false"/>
 <mapEntry key="org.eclipse.jem.proxy/debug/loglevel" value="default"/>
 <mapEntry key="org.eclipse.wst.sse.ui/debug/reconcilerSpelling" value="false"/>
-<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/>
 <mapEntry key="org.eclipse.jem.beaninfo/debug/loglevel" value="default"/>
+<mapEntry key="org.eclipse.update.core/debug/warning" value="false"/>
 <mapEntry key="org.eclipse.core.resources/save" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.ui/filemodelprovider/lifecyclelistener" value="false"/>
 <mapEntry key="org.eclipse.wst.common.project.facet.core/delegate/calls" value="false"/>
@@ -296,12 +296,12 @@
 <mapEntry key="org.eclipse.jdt.ui/perf/explorer/makeActions" value="1000"/>
 <mapEntry key="org.eclipse.core.resources/restore/syncinfo" value="false"/>
 <mapEntry key="org.eclipse.debug.ui/debug/viewers/contentProvider" value="false"/>
-<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/>
 <mapEntry key="org.eclipse.team.core/threading" value="false"/>
+<mapEntry key="org.eclipse.ui/listeners/IWorkbenchWindow.IPageListener" value="false"/>
 <mapEntry key="org.eclipse.core.runtime/url/debug/cachelookup" value="false"/>
 <mapEntry key="org.eclipse.update.core/debug/reconciler" value="false"/>
-<mapEntry key="org.eclipse.jem.proxy/debug/traceexpressions" value="false"/>
 <mapEntry key="org.eclipse.osgi/debug/security" value="false"/>
+<mapEntry key="org.eclipse.jem.proxy/debug/traceexpressions" value="false"/>
 <mapEntry key="org.eclipse.jem.proxy/remote/debug/debugvm" value="false"/>
 <mapEntry key="org.eclipse.jst.jsp.core/debug/tracefilter" value=""/>
 <mapEntry key="org.eclipse.core.resources/save/syncinfo" value="false"/>
@@ -312,34 +312,34 @@
 <mapEntry key="org.eclipse.core.resources/save/markers" value="false"/>
 <mapEntry key="org.eclipse.core.runtime/preferences/plugin" value="false"/>
 <mapEntry key="org.eclipse.wst.server.ui/performance" value="false"/>
-<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/>
 <mapEntry key="org.eclipse.jem.proxy/remote/debug/ioconsole" value="false"/>
-<mapEntry key="org.eclipse.jem.ui/debug/loglevel" value="default"/>
+<mapEntry key="org.eclipse.osgi/monitor/resources" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugpopup" value="false"/>
+<mapEntry key="org.eclipse.jem.ui/debug/loglevel" value="default"/>
 <mapEntry key="org.eclipse.core.jobs/jobs/timing" value="false"/>
 <mapEntry key="org.eclipse.jdt.core/debug/selection" value="false"/>
 <mapEntry key="org.maven.ide.eclipse/console" value="false"/>
 <mapEntry key="org.eclipse.jdt.ui/debug/ResultCollector" value="false"/>
-<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
 <mapEntry key="org.eclipse.jdt.ui/perf/explorer/createPartControl" value="1300"/>
+<mapEntry key="org.eclipse.core.resources/restore/snapshots" value="false"/>
 <mapEntry key="org.eclipse.team.cvs.core/dirtycaching" value="false"/>
 <mapEntry key="org.eclipse.jdt.apt.core/debug/generatedFiles" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
 <mapEntry key="org.eclipse.pde.core/cache" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/debug/zipaccess" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder" value="false"/>
 <mapEntry key="org.eclipse.core.runtime/url/debug/cachecopy" value="false"/>
 <mapEntry key="org.eclipse.wst.css.core/debug" value="true"/>
 <mapEntry key="org.eclipse.osgi/debug/bundleTime" value="false"/>
-<mapEntry key="org.eclipse.wst.server.core/listeners" value="false"/>
 <mapEntry key="org.eclipse.ui/trace/operations.verbose" value="false"/>
-<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
+<mapEntry key="org.eclipse.wst.server.core/listeners" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/debugtoolbar" value="false"/>
-<mapEntry key="org.eclipse.team.core/debug" value="false"/>
+<mapEntry key="org.eclipse.team.cvs.core/metafiles" value="false"/>
 <mapEntry key="org.eclipse.wst.xml.core/debug/cmdocumentcache" value="false"/>
+<mapEntry key="org.eclipse.team.core/debug" value="false"/>
 <mapEntry key="org.eclipse.ui/perf/workbench.restore" value="30000"/>
 <mapEntry key="org.eclipse.wst.sse.ui/storagemodelprovider/elementstatelistener" value="false"/>
-<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/contributetime" value="false"/>
 <mapEntry key="org.eclipse.osgi/debug/events" value="false"/>
+<mapEntry key="org.eclipse.wst.sse.ui/extendededitoractionbuilder/contributetime" value="false"/>
 <mapEntry key="org.eclipse.wst.common.environment/trace/warning" value="true"/>
 <mapEntry key="org.eclipse.wst.xml.core/debug" value="true"/>
 <mapEntry key="org.eclipse.core.jobs/jobs/errorondeadlock" value="false"/>
@@ -351,21 +351,21 @@
 <mapEntry key="org.eclipse.debug.ui/debug/viewers/deltas" value="false"/>
 <mapEntry key="org.eclipse.osgi/resolver/generics" value="false"/>
 <mapEntry key="org.eclipse.osgi/resolver/wiring" value="false"/>
-<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/>
 <mapEntry key="org.eclipse.osgi/profile/debug" value="false"/>
+<mapEntry key="org.eclipse.jdt.core/perf/javadeltalistener" value="500"/>
 <mapEntry key="org.eclipse.ui/trace/contexts" value="false"/>
 <mapEntry key="org.eclipse.core.contenttype/debug" value="false"/>
 <mapEntry key="org.eclipse.ui/trace/multipageeditor" value="false"/>
 <mapEntry key="org.eclipse.core.resources/build/invoking" value="false"/>
 <mapEntry key="org.eclipse.jem.util/debug/loglevel" value="WARNING"/>
-<mapEntry key="org.eclipse.ui/trace/operations" value="false"/>
-<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/>
 <mapEntry key="org.eclipse.update.core/debug/type" value="false"/>
+<mapEntry key="org.eclipse.core.resources/perf/builders" value="10000"/>
+<mapEntry key="org.eclipse.ui/trace/operations" value="false"/>
 <mapEntry key="org.eclipse.ui/perf/page.listeners" value="200"/>
 <mapEntry key="org.eclipse.jdt.ui/perf/explorer/RefactorActionGroup" value="150"/>
 <mapEntry key="org.eclipse.core.resources/history" value="false"/>
-<mapEntry key="org.eclipse.jst.jsp.core/taglib/events" value="false"/>
 <mapEntry key="org.eclipse.team.core/refreshjob" value="false"/>
+<mapEntry key="org.eclipse.jst.jsp.core/taglib/events" value="false"/>
 <mapEntry key="org.eclipse.ui.intro/debug" value="true"/>
 <mapEntry key="org.eclipse.jst.jsp.core/debug/taglibvars" value="false"/>
 <mapEntry key="org.eclipse.debug.core/debug" value="false"/>
@@ -376,11 +376,11 @@
 <mapEntry key="org.eclipse.core.resources/build/failure" value="false"/>
 <mapEntry key="org.eclipse.ui/trace/handlers" value="false"/>
 <mapEntry key="org.eclipse.ui/listeners/IWorkbenchPage.IPropertyChangeListener" value="false"/>
-<mapEntry key="org.eclipse.ui.browser/debug" value="false"/>
-<mapEntry key="org.maven.ide.eclipse/plugin" value="false"/>
 <mapEntry key="org.eclipse.wst.common.environment/trace/ws_dt_cmd_engine" value="true"/>
-<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
+<mapEntry key="org.maven.ide.eclipse/plugin" value="false"/>
+<mapEntry key="org.eclipse.ui.browser/debug" value="false"/>
 <mapEntry key="org.eclipse.wst.sse.ui/debug/tracefilter" value=""/>
+<mapEntry key="org.eclipse.core.resources/save/tree" value="false"/>
 <mapEntry key="org.eclipse.help.ui/debug" value="true"/>
 <mapEntry key="org.eclipse.core.resources/restore/metainfo" value="false"/>
 <mapEntry key="org.eclipse.core.resources/save/mastertable" value="false"/>
@@ -388,11 +388,11 @@
 <mapEntry key="org.eclipse.wst.sse.ui/extendedconfigurationbuilder/time" value="false"/>
 <mapEntry key="org.eclipse.jdt.core/debug/buffermanager" value="false"/>
 <mapEntry key="org.eclipse.wst.internet.monitor.core/parsing" value="false"/>
-<mapEntry key="org.eclipse.wst.server.core/debug" value="true"/>
 <mapEntry key="org.eclipse.osgi/resolver/grouping" value="false"/>
+<mapEntry key="org.eclipse.wst.server.core/debug" value="true"/>
 <mapEntry key="org.eclipse.ui.ide/debug" value="false"/>
-<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
 <mapEntry key="org.eclipse.core.resources/restore/mastertable" value="false"/>
+<mapEntry key="org.eclipse.ui.intro/trace/logInfo" value="true"/>
 <mapEntry key="org.eclipse.ui/experimental/menus" value="false"/>
 <mapEntry key="org.eclipse.pde.core/classpath" value="false"/>
 </mapAttribute>