Author: rob.stryker(a)jboss.com
Date: 2010-11-16 02:33:29 -0500 (Tue, 16 Nov 2010)
New Revision: 26601
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/JBossServerUIPlugin.java
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBInitialSelectionProvider.java
Log:
JBIDE-7610
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/JBossServerUIPlugin.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/JBossServerUIPlugin.java 2010-11-16
06:35:59 UTC (rev 26600)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/JBossServerUIPlugin.java 2010-11-16
07:33:29 UTC (rev 26601)
@@ -31,10 +31,12 @@
import org.eclipse.ui.IStartup;
import org.eclipse.ui.internal.WorkbenchPlugin;
import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.wst.server.core.ServerCore;
import org.eclipse.wst.server.ui.internal.ServerUIPreferences;
import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
import org.jboss.ide.eclipse.as.core.server.UnitedServerListenerManager;
import org.jboss.ide.eclipse.as.ui.console.ShowConsoleServerStateListener;
+import org.jboss.ide.eclipse.as.ui.wizards.JBInitialSelectionProvider;
import org.osgi.framework.BundleContext;
/**
@@ -60,11 +62,13 @@
}
}
+ private static JBInitialSelectionProvider selectionProvider;
/**
* This method is called upon plug-in activation
*/
public void start(BundleContext context) throws Exception {
super.start(context);
+ selectionProvider = new JBInitialSelectionProvider();
Preferences prefs = getPluginPreferences();
if( !prefs.getBoolean(IPreferenceKeys.ENABLED_DECORATORS)) {
@@ -80,12 +84,14 @@
}
savePluginPreferences();
UnitedServerListenerManager.getDefault().addListener(ShowConsoleServerStateListener.getDefault());
+ ServerCore.addServerLifecycleListener(selectionProvider);
}
/**
* This method is called when the plug-in is stopped
*/
public void stop(BundleContext context) throws Exception {
+ ServerCore.removeServerLifecycleListener(selectionProvider);
UnitedServerListenerManager.getDefault().removeListener(ShowConsoleServerStateListener.getDefault());
JBossServerUISharedImages.instance().cleanup();
super.stop(context);
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBInitialSelectionProvider.java
===================================================================
---
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBInitialSelectionProvider.java 2010-11-16
06:35:59 UTC (rev 26600)
+++
trunk/as/plugins/org.jboss.ide.eclipse.as.ui/jbossui/org/jboss/ide/eclipse/as/ui/wizards/JBInitialSelectionProvider.java 2010-11-16
07:33:29 UTC (rev 26601)
@@ -21,30 +21,75 @@
*/
package org.jboss.ide.eclipse.as.ui.wizards;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.core.runtime.preferences.InstanceScope;
+import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.IServerLifecycleListener;
import org.eclipse.wst.server.core.IServerType;
+import org.eclipse.wst.server.core.ServerCore;
import org.eclipse.wst.server.ui.internal.viewers.InitialSelectionProvider;
+import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
+import org.jboss.ide.eclipse.as.ui.JBossServerUIPlugin;
+import org.osgi.service.prefs.BackingStoreException;
/**
*
* @author Rob Stryker <rob.stryker(a)redhat.com>
*
*/
-public class JBInitialSelectionProvider extends InitialSelectionProvider {
+public class JBInitialSelectionProvider extends InitialSelectionProvider implements
IServerLifecycleListener {
public JBInitialSelectionProvider() {
}
public IServerType getInitialSelection(IServerType[] serverTypes) {
+
if (serverTypes == null)
return null;
+ // Find the last-selected one
+ IEclipsePreferences prefs = new
InstanceScope().getNode(JBossServerUIPlugin.PLUGIN_ID);
+ String last = prefs.get(LAST_SERVER_CREATED_KEY, null);
+ if( last != null ) {
+ IServer s = ServerCore.findServer(last);
+ if( s != null ) {
+ for( int i = 0; i < serverTypes.length; i++ )
+ if( serverTypes[i].getId().equals(s.getServerType().getId()))
+ return serverTypes[i];
+ }
+ }
+
+ // return default
int size = serverTypes.length;
for (int i = 0; i < size; i++) {
- if( serverTypes[i].getId().equals("org.jboss.ide.eclipse.as.42"))
//$NON-NLS-1$
+ if( serverTypes[i].getId().equals(IJBossToolingConstants.SERVER_AS_51))
return serverTypes[i];
}
return serverTypes[0];
}
+ private static String LAST_SERVER_CREATED_KEY =
"org.jboss.ide.eclipse.as.ui.wizards.LAST_SERVER_CREATED"; //$NON-NLS-1$
+ @Override
+ public void serverAdded(IServer server) {
+ if( server != null ) {
+ IEclipsePreferences prefs = new
InstanceScope().getNode(JBossServerUIPlugin.PLUGIN_ID);
+ prefs.put(LAST_SERVER_CREATED_KEY, server.getId());
+ try {
+ prefs.flush();
+ } catch(BackingStoreException e) {
+ }
+ }
+ }
+ @Override
+ public void serverChanged(IServer server) {
+ // Do Nothing
+ }
+
+ @Override
+ public void serverRemoved(IServer server) {
+ // Do Nothing
+ }
+
+
}
Show replies by date