directory-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From pamarce...@apache.org
Subject svn commit: r653401 - in /directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations: resources/icons/ src/main/java/org/apache/directory/studio/apacheds/experimentations/ src/main/java/org/apache/directory/studio/apacheds/exp...
Date Mon, 05 May 2008 10:06:28 GMT
Author: pamarcelot
Date: Mon May  5 03:06:28 2008
New Revision: 653401

URL: http://svn.apache.org/viewvc?rev=653401&view=rev
Log:
o Added a controller for the ServersView.
o Added a ContentProvider, LabelProvider and an events handler to the ServersView.
o Moved the code of the LaunchConfiguration to an Eclipse Job.

Added:
    directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/resources/icons/server-instance.png
  (with props)
    directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/jobs/
    directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/jobs/LaunchServerInstanceJob.java
Modified:
    directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/ApacheDsPlugin.java
    directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/ApacheDsPluginConstants.java
    directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/model/ServersHandler.java
    directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/views/ServersView.java

Added: directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/resources/icons/server-instance.png
URL: http://svn.apache.org/viewvc/directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/resources/icons/server-instance.png?rev=653401&view=auto
==============================================================================
Binary file - no diff available.

Propchange: directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/resources/icons/server-instance.png
------------------------------------------------------------------------------
    svn:mime-type = application/octet-stream

Modified: directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/ApacheDsPlugin.java
URL: http://svn.apache.org/viewvc/directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/ApacheDsPlugin.java?rev=653401&r1=653400&r2=653401&view=diff
==============================================================================
--- directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/ApacheDsPlugin.java
(original)
+++ directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/ApacheDsPlugin.java
Mon May  5 03:06:28 2008
@@ -20,13 +20,16 @@
 package org.apache.directory.studio.apacheds.experimentations;
 
 
+import java.net.URL;
 import java.util.ArrayList;
 import java.util.List;
 
 import org.apache.directory.studio.apacheds.experimentations.model.ServersHandler;
 import org.apache.log4j.Logger;
 import org.apache.log4j.PropertyConfigurator;
+import org.eclipse.core.runtime.FileLocator;
 import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Platform;
 import org.eclipse.debug.core.DebugPlugin;
 import org.eclipse.debug.core.ILaunchConfiguration;
@@ -38,6 +41,8 @@
 import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
 import org.eclipse.jdt.launching.IVMInstall;
 import org.eclipse.jdt.launching.JavaRuntime;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.Image;
 import org.eclipse.ui.console.ConsolePlugin;
 import org.eclipse.ui.console.IConsole;
 import org.eclipse.ui.console.MessageConsole;
@@ -101,39 +106,7 @@
         consoleDisplayMgr.println( "MSG_WARNING", ConsoleDisplayMgr.MSG_WARNING );
         consoleDisplayMgr.println( "MSG_ERROR", ConsoleDisplayMgr.MSG_ERROR );
 
-        IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
-
-        // Testing the launch configuration
-        ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
-        ILaunchConfigurationType type = manager
-            .getLaunchConfigurationType( IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION
);
-        ILaunchConfigurationWorkingCopy workingCopy = type.newInstance( null, "Start ApacheDS"
);
-
-        workingCopy.setAttribute( IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH,
vmInstall
-            .getInstallLocation().toString() );
-        workingCopy.setAttribute( IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME,
-            "org.apache.directory.server.UberjarMain" );
-
-        String[] libraries = ApacheDsPluginUtils.apachedsLibraries;
-        IPath apacheDsLibrariesFolder = ApacheDsPluginUtils.getApacheDsLibrariesFolder();
-
-        List classpath = new ArrayList();
-        for ( String library : libraries )
-        {
-            IPath libraryPath = apacheDsLibrariesFolder.append( library );
-            IRuntimeClasspathEntry libraryClasspathEntry = JavaRuntime.newArchiveRuntimeClasspathEntry(
libraryPath );
-            libraryClasspathEntry.setClasspathProperty( IRuntimeClasspathEntry.USER_CLASSES
);
-            classpath.add( libraryClasspathEntry.getMemento() );
-        }
-
-        workingCopy.setAttribute( IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, classpath
);
-        workingCopy.setAttribute( IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH,
false );
-
-        workingCopy.setAttribute( IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
-            "/usr/local/apacheds-1.5.2/conf/server.xml" );
-
-        ILaunchConfiguration configuration = workingCopy.doSave();
-        DebugUITools.launch( configuration, ILaunchManager.RUN_MODE );
+        
 
     }
 
@@ -178,4 +151,56 @@
         return plugin;
     }
 
+
+    /**
+     * Use this method to get SWT images. Use the IMG_ constants from
+     * PluginConstants for the key.
+     *
+     * @param key
+     *                The key (relative path to the image in filesystem)
+     * @return The image descriptor or null
+     */
+    public ImageDescriptor getImageDescriptor( String key )
+    {
+        if ( key != null )
+        {
+            URL url = FileLocator.find( getBundle(), new Path( key ), null );
+            if ( url != null )
+                return ImageDescriptor.createFromURL( url );
+            else
+                return null;
+        }
+        else
+        {
+            return null;
+        }
+    }
+
+
+    /**
+     * Use this method to get SWT images. Use the IMG_ constants from
+     * PluginConstants for the key. A ImageRegistry is used to manage the
+     * the key->Image mapping.
+     * <p>
+     * Note: Don't dispose the returned SWT Image. It is disposed
+     * automatically when the plugin is stopped.
+     *
+     * @param key
+     *                The key (relative path to the image in filesystem)
+     * @return The SWT Image or null
+     */
+    public Image getImage( String key )
+    {
+        Image image = getImageRegistry().get( key );
+        if ( image == null )
+        {
+            ImageDescriptor id = getImageDescriptor( key );
+            if ( id != null )
+            {
+                image = id.createImage();
+                getImageRegistry().put( key, image );
+            }
+        }
+        return image;
+    }
 }

Modified: directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/ApacheDsPluginConstants.java
URL: http://svn.apache.org/viewvc/directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/ApacheDsPluginConstants.java?rev=653401&r1=653400&r2=653401&view=diff
==============================================================================
--- directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/ApacheDsPluginConstants.java
(original)
+++ directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/ApacheDsPluginConstants.java
Mon May  5 03:06:28 2008
@@ -29,11 +29,15 @@
 public interface ApacheDsPluginConstants
 {
     // -------
+    // IMAGES
+    // -------
+    public static final String IMG_SERVER_INSTANCE = "resources/icons/server-instance.png";
+
+    // -------
     // ACTIONS
     // -------
     public static final String ACTION_NEW_SERVER_INSTANCE = "org.apache.directory.studio.apacheds.experimentations.actions.newServerInstanceAction";
-    
-    
+
     // -----------
     // PREFERENCES
     // -----------
@@ -61,5 +65,4 @@
     public static final String PREFS_COLORS_AND_FONTS_FATAL_FONT = "org.apache.directory.studio.apacheds.experimentations.prefs.colorAndFonts.fatalFont";
     /** The Preference ID for the Fatal Color setting */
     public static final String PREFS_COLORS_AND_FONTS_FATAL_COLOR = "org.apache.directory.studio.apacheds.experimentations.prefs.colorAndFonts.fatalColor";
-    
 }

Added: directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/jobs/LaunchServerInstanceJob.java
URL: http://svn.apache.org/viewvc/directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/jobs/LaunchServerInstanceJob.java?rev=653401&view=auto
==============================================================================
--- directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/jobs/LaunchServerInstanceJob.java
(added)
+++ directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/jobs/LaunchServerInstanceJob.java
Mon May  5 03:06:28 2008
@@ -0,0 +1,137 @@
+/*
+ *  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.apacheds.experimentations.jobs;
+
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.apache.directory.studio.apacheds.experimentations.ApacheDsPluginUtils;
+import org.apache.directory.studio.apacheds.experimentations.model.ServerInstance;
+import org.eclipse.core.runtime.CoreException;
+import org.eclipse.core.runtime.IPath;
+import org.eclipse.core.runtime.IProgressMonitor;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.debug.core.DebugPlugin;
+import org.eclipse.debug.core.ILaunchConfiguration;
+import org.eclipse.debug.core.ILaunchConfigurationType;
+import org.eclipse.debug.core.ILaunchConfigurationWorkingCopy;
+import org.eclipse.debug.core.ILaunchManager;
+import org.eclipse.debug.ui.DebugUITools;
+import org.eclipse.jdt.launching.IJavaLaunchConfigurationConstants;
+import org.eclipse.jdt.launching.IRuntimeClasspathEntry;
+import org.eclipse.jdt.launching.IVMInstall;
+import org.eclipse.jdt.launching.JavaRuntime;
+
+
+/**
+ * This class implements a {@link Job} that is used to launch a server instance.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ * @version $Rev$, $Date$
+ */
+public class LaunchServerInstanceJob extends Job
+{
+    /** The server instance */
+    private ServerInstance serverInstance;
+
+
+    /**
+     * Creates a new instance of LaunchServerInstanceJob.
+     */
+    public LaunchServerInstanceJob( ServerInstance serverInstance )
+    {
+        super( "" );
+        this.serverInstance = serverInstance;
+    }
+
+
+    /* (non-Javadoc)
+     * @see org.eclipse.core.runtime.jobs.Job#run(org.eclipse.core.runtime.IProgressMonitor)
+     */
+    protected IStatus run( IProgressMonitor monitor )
+    {
+        setName( serverInstance.getName() );
+
+        IVMInstall vmInstall = JavaRuntime.getDefaultVMInstall();
+
+        // Testing the launch configuration
+        ILaunchManager manager = DebugPlugin.getDefault().getLaunchManager();
+        ILaunchConfigurationType type = manager
+            .getLaunchConfigurationType( IJavaLaunchConfigurationConstants.ID_JAVA_APPLICATION
);
+        ILaunchConfigurationWorkingCopy workingCopy = null;
+        try
+        {
+            workingCopy = type.newInstance( null, "Start ApacheDS" );
+        }
+        catch ( CoreException e )
+        {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+
+        workingCopy.setAttribute( IJavaLaunchConfigurationConstants.ATTR_JRE_CONTAINER_PATH,
vmInstall
+            .getInstallLocation().toString() );
+        workingCopy.setAttribute( IJavaLaunchConfigurationConstants.ATTR_MAIN_TYPE_NAME,
+            "org.apache.directory.server.UberjarMain" );
+
+        String[] libraries = ApacheDsPluginUtils.apachedsLibraries;
+        IPath apacheDsLibrariesFolder = ApacheDsPluginUtils.getApacheDsLibrariesFolder();
+
+        List classpath = new ArrayList();
+        for ( String library : libraries )
+        {
+            IPath libraryPath = apacheDsLibrariesFolder.append( library );
+            IRuntimeClasspathEntry libraryClasspathEntry = JavaRuntime.newArchiveRuntimeClasspathEntry(
libraryPath );
+            libraryClasspathEntry.setClasspathProperty( IRuntimeClasspathEntry.USER_CLASSES
);
+            try
+            {
+                classpath.add( libraryClasspathEntry.getMemento() );
+            }
+            catch ( CoreException e )
+            {
+                // TODO Auto-generated catch block
+                e.printStackTrace();
+            }
+        }
+
+        workingCopy.setAttribute( IJavaLaunchConfigurationConstants.ATTR_CLASSPATH, classpath
);
+        workingCopy.setAttribute( IJavaLaunchConfigurationConstants.ATTR_DEFAULT_CLASSPATH,
false );
+
+        workingCopy.setAttribute( IJavaLaunchConfigurationConstants.ATTR_PROGRAM_ARGUMENTS,
+            "/usr/local/apacheds-1.5.2/conf/server.xml" );
+
+        ILaunchConfiguration configuration = null;
+        try
+        {
+            configuration = workingCopy.doSave();
+        }
+        catch ( CoreException e )
+        {
+            // TODO Auto-generated catch block
+            e.printStackTrace();
+        }
+        DebugUITools.launch( configuration, ILaunchManager.RUN_MODE );
+
+        return Status.OK_STATUS;
+    }
+}

Modified: directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/model/ServersHandler.java
URL: http://svn.apache.org/viewvc/directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/model/ServersHandler.java?rev=653401&r1=653400&r2=653401&view=diff
==============================================================================
--- directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/model/ServersHandler.java
(original)
+++ directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/model/ServersHandler.java
Mon May  5 03:06:28 2008
@@ -280,6 +280,12 @@
     }
 
 
+    /**
+     * Gets the path to the server instances file.
+     *
+     * @return
+     *      the path to the server instances file.
+     */
     private IPath getServerInstancesStorePath()
     {
         return ApacheDsPlugin.getDefault().getStateLocation().append( "serverInstances.xml"
);
@@ -287,7 +293,7 @@
 
 
     /**
-     * Indicates if the given is available (ie. not already taken by another 
+     * Indicates if the given is available (i.e. not already taken by another 
      * server instance).
      *
      * @param name
@@ -300,4 +306,16 @@
     {
         return !serverInstancesNameMap.containsKey( name );
     }
+
+
+    /**
+     * Gets the server instances list.
+     *
+     * @return
+     *      the server instances list.
+     */
+    public List<ServerInstance> getServerInstancesList()
+    {
+        return serverInstancesList;
+    }
 }

Modified: directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/views/ServersView.java
URL: http://svn.apache.org/viewvc/directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/views/ServersView.java?rev=653401&r1=653400&r2=653401&view=diff
==============================================================================
--- directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/views/ServersView.java
(original)
+++ directory/sandbox/pamarcelot/studio-apacheds-plugin/studio-apacheds-experimentations/src/main/java/org/apache/directory/studio/apacheds/experimentations/views/ServersView.java
Mon May  5 03:06:28 2008
@@ -20,10 +20,19 @@
 package org.apache.directory.studio.apacheds.experimentations.views;
 
 
+import org.apache.directory.studio.apacheds.experimentations.ApacheDsPlugin;
+import org.apache.directory.studio.apacheds.experimentations.ApacheDsPluginConstants;
 import org.apache.directory.studio.apacheds.experimentations.actions.NewServerInstanceAction;
+import org.apache.directory.studio.apacheds.experimentations.model.ServerInstance;
+import org.apache.directory.studio.apacheds.experimentations.model.ServersHandler;
+import org.apache.directory.studio.apacheds.experimentations.model.ServersHandlerListener;
 import org.eclipse.jface.action.IToolBarManager;
+import org.eclipse.jface.viewers.ArrayContentProvider;
+import org.eclipse.jface.viewers.LabelProvider;
 import org.eclipse.jface.viewers.TableViewer;
+import org.eclipse.jface.viewers.ViewerSorter;
 import org.eclipse.swt.SWT;
+import org.eclipse.swt.graphics.Image;
 import org.eclipse.swt.layout.GridData;
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.ui.part.ViewPart;
@@ -48,6 +57,36 @@
     // Actions
     private NewServerInstanceAction newServerInstance;
 
+    // Listeners
+    private ServersHandlerListener serversHandlerListener = new ServersHandlerListener()
+    {
+        /* (non-Javadoc)
+         * @see org.apache.directory.studio.apacheds.experimentations.model.ServersHandlerListener#serverInstanceAdded(org.apache.directory.studio.apacheds.experimentations.model.ServerInstance)
+         */
+        public void serverInstanceAdded( ServerInstance serverInstance )
+        {
+            tableViewer.refresh();
+        }
+
+
+        /* (non-Javadoc)
+         * @see org.apache.directory.studio.apacheds.experimentations.model.ServersHandlerListener#serverInstanceRemoved(org.apache.directory.studio.apacheds.experimentations.model.ServerInstance)
+         */
+        public void serverInstanceRemoved( ServerInstance serverInstance )
+        {
+            tableViewer.refresh();
+        }
+
+
+        /* (non-Javadoc)
+         * @see org.apache.directory.studio.apacheds.experimentations.model.ServersHandlerListener#serverInstanceUpdated(org.apache.directory.studio.apacheds.experimentations.model.ServerInstance)
+         */
+        public void serverInstanceUpdated( ServerInstance serverInstance )
+        {
+            tableViewer.refresh();
+        }
+    };
+
 
     /* (non-Javadoc)
      * @see org.eclipse.ui.part.WorkbenchPart#createPartControl(org.eclipse.swt.widgets.Composite)
@@ -56,9 +95,46 @@
     {
         tableViewer = new TableViewer( parent );
         tableViewer.getTable().setLayoutData( new GridData( SWT.FILL, SWT.FILL, true, true
) );
+        tableViewer.setContentProvider( new ArrayContentProvider() );
+        tableViewer.setLabelProvider( new LabelProvider()
+        {
+            /* (non-Javadoc)
+             * @see org.eclipse.jface.viewers.LabelProvider#getImage(java.lang.Object)
+             */
+            public Image getImage( Object element )
+            {
+                if ( element instanceof ServerInstance )
+                {
+                    return ApacheDsPlugin.getDefault().getImage( ApacheDsPluginConstants.IMG_SERVER_INSTANCE
);
+                }
+
+                // Default
+                return super.getImage( element );
+            }
+
+
+            /* (non-Javadoc)
+             * @see org.eclipse.jface.viewers.LabelProvider#getText(java.lang.Object)
+             */
+            public String getText( Object element )
+            {
+                if ( element instanceof ServerInstance )
+                {
+                    ServerInstance serverInstance = ( ServerInstance ) element;
+
+                    return serverInstance.getName();
+                }
+
+                // Default
+                return super.getText( element );
+            }
+        } );
+        //        tableViewer.setSorter( new ViewerComparator() );
 
         initActions();
         initToolbar();
+        initUI();
+        initListeners();
     }
 
 
@@ -91,6 +167,27 @@
 
 
     /**
+     * Initializes the user interface with the servers instances.
+     */
+    private void initUI()
+    {
+        ServersHandler serversHandler = ServersHandler.getDefault();
+        tableViewer.setInput( serversHandler.getServerInstancesList() );
+
+    }
+
+
+    /**
+     * Initializes the listeners
+     */
+    private void initListeners()
+    {
+        ServersHandler serversHandler = ServersHandler.getDefault();
+        serversHandler.addListener( serversHandlerListener );
+    }
+
+
+    /**
      * Gets the table viewer.
      *
      * @return
@@ -100,4 +197,16 @@
     {
         return tableViewer;
     }
+
+
+    /* (non-Javadoc)
+     * @see org.eclipse.ui.part.WorkbenchPart#dispose()
+     */
+    public void dispose()
+    {
+        ServersHandler serversHandler = ServersHandler.getDefault();
+        serversHandler.removeListener( serversHandlerListener );
+
+        super.dispose();
+    }
 }



Mime
View raw message