[jbosstools-commits] JBoss Tools SVN: r39552 - trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/server.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Thu Mar 15 19:55:44 EDT 2012


Author: scabanovich
Date: 2012-03-15 19:55:43 -0400 (Thu, 15 Mar 2012)
New Revision: 39552

Modified:
   trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/server/ServerManager.java
Log:
JBIDE-11306
https://issues.jboss.org/browse/JBIDE-11306
'Run on Server' on struts/jsf objects. - default server is updated from AS preferences,and updated on event.

Modified: trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/server/ServerManager.java
===================================================================
--- trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/server/ServerManager.java	2012-03-15 22:37:38 UTC (rev 39551)
+++ trunk/jst/plugins/org.jboss.tools.jst.web/src/org/jboss/tools/jst/web/server/ServerManager.java	2012-03-15 23:55:43 UTC (rev 39552)
@@ -15,7 +15,9 @@
 
 import org.eclipse.core.runtime.preferences.DefaultScope;
 import org.eclipse.core.runtime.preferences.IEclipsePreferences;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences.IPreferenceChangeListener;
 import org.eclipse.core.runtime.preferences.InstanceScope;
+import org.eclipse.core.runtime.preferences.IEclipsePreferences.PreferenceChangeEvent;
 import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IRuntimeLifecycleListener;
 import org.eclipse.wst.server.core.IServer;
@@ -23,6 +25,7 @@
 import org.eclipse.wst.server.core.IServerListener;
 import org.eclipse.wst.server.core.ServerCore;
 import org.eclipse.wst.server.core.ServerEvent;
+import org.jboss.tools.jst.web.WebModelPlugin;
 
 public class ServerManager {
 	private static ServerManager instance;
@@ -51,6 +54,16 @@
 		ServerResourceListenerImpl listener = new ServerResourceListenerImpl();
 		ServerCore.addRuntimeLifecycleListener(listener);
 		ServerCore.addServerLifecycleListener(listener);
+		IEclipsePreferences p = getInstancePreferences();
+		if(p != null) {
+			p.addPreferenceChangeListener(new IPreferenceChangeListener() {				
+				public void preferenceChange(PreferenceChangeEvent event) {
+					if(DEFAULT_WEB_SERVER.equals(event.getKey())) {
+						loadSelectedServer();
+					}					
+				}
+			});
+		}
 	}
 	
 	private void loadSelectedServer() {
@@ -167,11 +180,19 @@
 	}
 
 	static IEclipsePreferences getInstancePreferences() {
-		return new InstanceScope().getNode("org.jboss.ide.eclipse.as.ui");
+		IEclipsePreferences result = InstanceScope.INSTANCE.getNode("org.jboss.ide.eclipse.as.ui");
+		if(result == null) {
+			result = InstanceScope.INSTANCE.getNode(WebModelPlugin.PLUGIN_ID);
+		}
+		return result;
 	}
 
 	static IEclipsePreferences getDefaultPreferences() {
-		return new DefaultScope().getNode("org.jboss.ide.eclipse.as.ui");
+		IEclipsePreferences result = DefaultScope.INSTANCE.getNode("org.jboss.ide.eclipse.as.ui");
+		if(result == null) {
+			result = DefaultScope.INSTANCE.getNode(WebModelPlugin.PLUGIN_ID);
+		}
+		return result;
 	}
 
 	static String getInstancePreference(String key) {



More information about the jbosstools-commits mailing list