[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