diff options
Diffstat (limited to 'plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ConfigurationResourceListener.java')
-rw-r--r-- | plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ConfigurationResourceListener.java | 88 |
1 files changed, 0 insertions, 88 deletions
diff --git a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ConfigurationResourceListener.java b/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ConfigurationResourceListener.java deleted file mode 100644 index 2474b4ad3..000000000 --- a/plugins/org.eclipse.jst.server.tomcat.core/tomcatcore/org/eclipse/jst/server/tomcat/core/internal/ConfigurationResourceListener.java +++ /dev/null @@ -1,88 +0,0 @@ -/********************************************************************** - * Copyright (c) 2011 SAS Institute, Inc and others. - * All rights reserved. This program and the accompanying materials - * are made available under the terms of the Eclipse Public License v1.0 - * which accompanies this distribution, and is available at - * http://www.eclipse.org/legal/epl-v10.html - * - * Contributors: - * SAS Institute, Inc - Initial API and implementation - **********************************************************************/ -package org.eclipse.jst.server.tomcat.core.internal; - -import org.eclipse.core.resources.IFolder; -import org.eclipse.core.resources.IProject; -import org.eclipse.core.resources.IResourceChangeEvent; -import org.eclipse.core.resources.IResourceChangeListener; -import org.eclipse.core.resources.IResourceDelta; -import org.eclipse.core.runtime.CoreException; -import org.eclipse.wst.server.core.IServer; -import org.eclipse.wst.server.core.IServerType; -import org.eclipse.wst.server.core.ServerCore; -import org.eclipse.wst.server.core.internal.ServerType; - -public class ConfigurationResourceListener implements IResourceChangeListener { - - private IProject serversProject; - - /** - * Currently, only changes to Tomcat configuration files are detected and the associated - * server's state updated. This method needs to be as brief as possible if the change - * is unrelated to server configuration changes. Since the Servers project would change - * so rarely, it is worth saving some cycles in the resource listener by caching this project. - */ - public void resourceChanged(IResourceChangeEvent event) { - if (event.getType() == IResourceChangeEvent.POST_CHANGE) { - IProject project = getServersProject(); - if (project != null) { - IResourceDelta delta = event.getDelta(); - if (delta != null) { - IResourceDelta serversProjectDelta = delta.findMember(project.getFullPath()); - if (serversProjectDelta != null) { - // The change occurred within the Servers project. - IResourceDelta [] childDelta = serversProjectDelta.getAffectedChildren(); - if (childDelta.length > 0) { - IServer [] servers = ServerCore.getServers(); - for (int i = 0; i < childDelta.length; i++) { - // Check if this subfolder of the Servers folder matches a Tomcat configuration folder - for (int j = 0; j < servers.length; j++) { - IServerType serverType = servers[j].getServerType(); - if (serverType.getId().startsWith("org.eclipse.jst.server.tomcat.")) { - IFolder configFolder = servers[j].getServerConfiguration(); - if (configFolder != null) { - if (childDelta[i].getFullPath().equals(configFolder.getFullPath())) { - // Found a Tomcat server affected by this delta. Update this server's publish state. - TomcatServerBehaviour tcServerBehaviour = (TomcatServerBehaviour)servers[j].loadAdapter(TomcatServerBehaviour.class, null); - if (tcServerBehaviour != null) { - // Indicate that this server needs to publish and restart if running - tcServerBehaviour.setTomcatServerPublishState(IServer.PUBLISH_STATE_INCREMENTAL); - tcServerBehaviour.setTomcatServerRestartState(true); - } - break; - } - } - } - } - } - } - } - } - } - } - } - - private IProject getServersProject() { - if (serversProject == null) { - IProject project; - try { - project = ServerType.getServerProject(); - synchronized (this) { - serversProject = project; - } - } catch (CoreException e) { - // Ignore - } - } - return serversProject; - } -} |