Author: rob.stryker(a)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
}
Show replies by date