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>