[jbosstools-commits] JBoss Tools SVN: r3017 - trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/singledeployable.
jbosstools-commits at lists.jboss.org
jbosstools-commits at lists.jboss.org
Thu Aug 9 12:49:51 EDT 2007
Author: rob.stryker at jboss.com
Date: 2007-08-09 12:49:50 -0400 (Thu, 09 Aug 2007)
New Revision: 3017
Modified:
trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/singledeployable/SingleFilePublisher.java
Log:
cleanup
Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/singledeployable/SingleFilePublisher.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/singledeployable/SingleFilePublisher.java 2007-08-09 16:41:53 UTC (rev 3016)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/singledeployable/SingleFilePublisher.java 2007-08-09 16:49:50 UTC (rev 3017)
@@ -9,6 +9,7 @@
import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.IServer;
import org.eclipse.wst.server.core.model.IModuleResourceDelta;
+import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
import org.jboss.ide.eclipse.as.core.publishers.IJBossServerPublisher;
import org.jboss.ide.eclipse.as.core.server.attributes.IDeployableServer;
import org.jboss.ide.eclipse.as.core.singledeployable.SingleDeployableFactory.SingleDeployableModuleDelegate;
@@ -30,15 +31,43 @@
int modulePublishState, IModule module, IProgressMonitor monitor)
throws CoreException {
+
+ IStatus status = null;
+ if(ServerBehaviourDelegate.REMOVED == deltaKind){
+ status = unpublish(server, module, kind, deltaKind, modulePublishState, monitor);
+ } else if( ServerBehaviourDelegate.NO_CHANGE != deltaKind || kind == IServer.PUBLISH_FULL || kind == IServer.PUBLISH_CLEAN ){
+ // if there's no change, do nothing. Otherwise, on change or add, re-publish
+ status = publish(server, module, kind, deltaKind, modulePublishState, monitor);
+ } else if( ServerBehaviourDelegate.NO_CHANGE != deltaKind && kind == IServer.PUBLISH_INCREMENTAL ){
+ status = publish(server, module, kind, deltaKind, modulePublishState, monitor);
+ }
+ return status;
+
+ }
+
+ protected IStatus publish(IDeployableServer server, IModule module, int kind, int deltaKind, int modulePublishState, IProgressMonitor monitor) {
// COPY THE FILE HERE!!!
SingleDeployableModuleDelegate delegate = (SingleDeployableModuleDelegate)module.loadAdapter(SingleDeployableModuleDelegate.class, new NullProgressMonitor());
- IPath sourcePath = delegate.getGlobalSourcePath();
- IPath destFolder = new Path(server.getDeployDirectory());
- FileUtil.fileSafeCopy(sourcePath.toFile(), destFolder.append(sourcePath.lastSegment()).toFile());
+ if( delegate != null ) {
+ IPath sourcePath = delegate.getGlobalSourcePath();
+ IPath destFolder = new Path(server.getDeployDirectory());
+ FileUtil.fileSafeCopy(sourcePath.toFile(), destFolder.append(sourcePath.lastSegment()).toFile());
+ }
return null;
}
+ protected IStatus unpublish(IDeployableServer server, IModule module, int kind, int deltaKind, int modulePublishState, IProgressMonitor monitor) {
+ // delete file
+ SingleDeployableModuleDelegate delegate = (SingleDeployableModuleDelegate)module.loadAdapter(SingleDeployableModuleDelegate.class, new NullProgressMonitor());
+ if( delegate != null ) {
+ IPath sourcePath = delegate.getGlobalSourcePath();
+ IPath destFolder = new Path(server.getDeployDirectory());
+ FileUtil.safeDelete(destFolder.append(sourcePath.lastSegment()).toFile());
+ }
+
+ return null;
+ }
public void setDelta(IModuleResourceDelta[] delta) {
// ignore delta
}
More information about the jbosstools-commits
mailing list