[jbosstools-commits] JBoss Tools SVN: r39402 - in trunk/as/plugins/org.jboss.ide.eclipse.as.core: jbosscore/org/jboss/ide/eclipse/as/core/server and 1 other directories.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Fri Mar 9 06:09:45 EST 2012


Author: rob.stryker at jboss.com
Date: 2012-03-09 06:09:44 -0500 (Fri, 09 Mar 2012)
New Revision: 39402

Modified:
   trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathModel.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathQuery.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListener.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListenerManager.java
   trunk/as/plugins/org.jboss.ide.eclipse.as.core/properties/jboss.70.default.ports.properties
   trunk/as/plugins/org.jboss.ide.eclipse.as.core/properties/jboss.71.default.ports.properties
Log:
JBIDE-11058 - updates for cache-clearing

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathModel.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathModel.java	2012-03-09 10:06:57 UTC (rev 39401)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathModel.java	2012-03-09 11:09:44 UTC (rev 39402)
@@ -28,11 +28,14 @@
 import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.core.runtime.jobs.Job;
+import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.ServerCore;
 import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
 import org.jboss.ide.eclipse.as.core.Messages;
 import org.jboss.ide.eclipse.as.core.extensions.descriptors.XPathFileResult.XPathResultNode;
 import org.jboss.ide.eclipse.as.core.server.UnitedServerListener;
+import org.jboss.ide.eclipse.as.core.server.UnitedServerListenerManager;
 import org.jboss.ide.eclipse.as.core.server.internal.ServerAttributeHelper;
 import org.jboss.ide.eclipse.as.core.util.IConstants;
 import org.jboss.ide.eclipse.as.core.util.IJBossToolingConstants;
@@ -398,4 +401,46 @@
 		}
 		return l.toArray(new XPathResultNode[l.size()]);
 	}
+	
+	
+	
+	
+	public boolean canHandleServer(IServer server) {
+		if (!UnitedServerListenerManager.isJBossServer(server))
+			return false;
+		return true;
+	}
+	public boolean canHandleRuntime(IRuntime runtime) {
+		return findAllServersForRuntime(runtime).length > 0;
+	}
+	
+	public void serverChanged(IServer server) {
+		clearCache(server);
+	}
+	public void runtimeChanged(IRuntime runtime) {
+		IServer[] relevent = findAllServersForRuntime(runtime);
+		for( int i = 0; i < relevent.length; i++ )
+			clearCache(relevent[i]);
+	}
+	
+	protected IServer[] findAllServersForRuntime(IRuntime rt) {
+		if( rt == null )
+			return new IServer[] {};
+		ArrayList<IServer> ret = new ArrayList<IServer>();
+		IServer[] all = ServerCore.getServers();
+		for( int i = 0; i < all.length; i++ ) {
+			if( rt.equals(all[i].getRuntime())) {
+				ret.add(all[i]);
+			}
+		}
+		return (IServer[]) ret.toArray(new IServer[ret.size()]);
+	}
+
+	public void clearCache(IServer server) {
+		XPathCategory[] cats = getCategories(server);
+		for( int i = 0; i < cats.length; i++ ) {
+			cats[i].clearCache();
+		}
+	}
+	
 }

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathQuery.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathQuery.java	2012-03-09 10:06:57 UTC (rev 39401)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/extensions/descriptors/XPathQuery.java	2012-03-09 11:09:44 UTC (rev 39402)
@@ -153,7 +153,10 @@
 	
 	public void clearCache() {
 		results = null;
+		filter = null;
 		setEffectiveBaseDir();
+		setEffectiveFilePattern();
+		refresh();
 	}
 	
 	public boolean resultsLoaded() {

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListener.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListener.java	2012-03-09 10:06:57 UTC (rev 39401)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListener.java	2012-03-09 11:09:44 UTC (rev 39402)
@@ -11,6 +11,7 @@
 package org.jboss.ide.eclipse.as.core.server;
 
 import org.eclipse.core.runtime.IStatus;
+import org.eclipse.wst.server.core.IRuntime;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.ServerEvent;
 
@@ -36,4 +37,13 @@
 			return false;
 		return true;
 	}
+	public boolean canHandleRuntime(IRuntime server) {
+		return false;
+	}
+	public void runtimeAdded(IRuntime runtime) {
+	}
+	public void runtimeChanged(IRuntime runtime) {
+	}
+	public void runtimeRemoved(IRuntime runtime) {
+	}
 }

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListenerManager.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListenerManager.java	2012-03-09 10:06:57 UTC (rev 39401)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/server/UnitedServerListenerManager.java	2012-03-09 11:09:44 UTC (rev 39402)
@@ -17,6 +17,7 @@
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.wst.server.core.IPublishListener;
 import org.eclipse.wst.server.core.IRuntime;
+import org.eclipse.wst.server.core.IRuntimeLifecycleListener;
 import org.eclipse.wst.server.core.IServer;
 import org.eclipse.wst.server.core.IServerLifecycleListener;
 import org.eclipse.wst.server.core.IServerListener;
@@ -34,7 +35,7 @@
  *
  */
 public class UnitedServerListenerManager implements 
-	IServerLifecycleListener, IServerListener, IPublishListener {
+	IServerLifecycleListener, IServerListener, IPublishListener, IRuntimeLifecycleListener {
 	protected static UnitedServerListenerManager instance;
 	public static UnitedServerListenerManager getDefault() {
 		if( instance == null )
@@ -46,6 +47,7 @@
 	protected UnitedServerListenerManager() {
 		list = new ArrayList<UnitedServerListener>();
 		ServerCore.addServerLifecycleListener(this);
+		ServerCore.addRuntimeLifecycleListener(this);
 		IServer[] allServers = ServerCore.getServers();
 		for( int i = 0; i < allServers.length; i++ ) {
 			allServers[i].addServerListener(this);
@@ -144,4 +146,26 @@
 				listeners[i].publishFinished(server, status);
 		}
 	}
+
+	public void runtimeAdded(IRuntime runtime) {
+		UnitedServerListener[] listeners = getListeners();
+		for( int i = 0; i < listeners.length; i++) {
+			if( listeners[i].canHandleRuntime(runtime))
+				listeners[i].runtimeAdded(runtime);
+		}
+	}
+	public void runtimeChanged(IRuntime runtime) {
+		UnitedServerListener[] listeners = getListeners();
+		for( int i = 0; i < listeners.length; i++) {
+			if( listeners[i].canHandleRuntime(runtime))
+				listeners[i].runtimeChanged(runtime);
+		}
+	}
+	public void runtimeRemoved(IRuntime runtime) {
+		UnitedServerListener[] listeners = getListeners();
+		for( int i = 0; i < listeners.length; i++) {
+			if( listeners[i].canHandleRuntime(runtime))
+				listeners[i].runtimeRemoved(runtime);
+		}
+	}
 }

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/properties/jboss.70.default.ports.properties
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/properties/jboss.70.default.ports.properties	2012-03-09 10:06:57 UTC (rev 39401)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/properties/jboss.70.default.ports.properties	2012-03-09 11:09:44 UTC (rev 39402)
@@ -1,5 +1,5 @@
 JBoss_Web=//*[@name="standard-sockets"]/*[@name="http"]
-JBoss_Web_FILE=standalone/configuration/standalone.xml
+JBoss_Web_FILE=standalone/configuration/${jboss_config_file}
 JBoss_Web_ATTRIBUTE=port
 JBoss_Management=//*[local-name()="management-interfaces"]/*[local-name()="native-interface"]
 JBoss_Management_ATTRIBUTE=port

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/properties/jboss.71.default.ports.properties
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/properties/jboss.71.default.ports.properties	2012-03-09 10:06:57 UTC (rev 39401)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/properties/jboss.71.default.ports.properties	2012-03-09 11:09:44 UTC (rev 39402)
@@ -1,5 +1,5 @@
 JBoss_Web=//*[@name="standard-sockets"]/*[@name="http"]
-JBoss_Web_FILE=standalone/configuration/standalone.xml
+JBoss_Web_FILE=standalone/configuration/${jboss_config_file}
 JBoss_Web_ATTRIBUTE=port
 JBoss_Management=//*[local-name()="socket-binding-group"]/*[local-name()="socket-binding"][@name="management-native"]
 JBoss_Management_ATTRIBUTE=port



More information about the jbosstools-commits mailing list