[jbosstools-commits] JBoss Tools SVN: r22982 - trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers.

jbosstools-commits at lists.jboss.org jbosstools-commits at lists.jboss.org
Thu Jun 24 05:34:21 EDT 2010


Author: rob.stryker at jboss.com
Date: 2010-06-24 05:34:21 -0400 (Thu, 24 Jun 2010)
New Revision: 22982

Modified:
   trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/SingleFilePublisher.java
Log:
JBIDE-5865 - handling of DeletedModule in single file publisher

Modified: trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/SingleFilePublisher.java
===================================================================
--- trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/SingleFilePublisher.java	2010-06-24 08:57:34 UTC (rev 22981)
+++ trunk/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/SingleFilePublisher.java	2010-06-24 09:34:21 UTC (rev 22982)
@@ -18,10 +18,12 @@
 import org.eclipse.core.runtime.IProgressMonitor;
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.core.runtime.Path;
 import org.eclipse.core.runtime.Status;
 import org.eclipse.osgi.util.NLS;
 import org.eclipse.wst.server.core.IModule;
 import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.internal.DeletedModule;
 import org.eclipse.wst.server.core.model.IModuleResourceDelta;
 import org.jboss.ide.eclipse.as.core.JBossServerCorePlugin;
 import org.jboss.ide.eclipse.as.core.Messages;
@@ -32,8 +34,8 @@
 import org.jboss.ide.eclipse.as.core.server.IJBossServerPublishMethod;
 import org.jboss.ide.eclipse.as.core.server.IJBossServerPublisher;
 import org.jboss.ide.eclipse.as.core.util.FileUtil;
+import org.jboss.ide.eclipse.as.core.util.FileUtil.IFileUtilListener;
 import org.jboss.ide.eclipse.as.core.util.ServerConverter;
-import org.jboss.ide.eclipse.as.core.util.FileUtil.IFileUtilListener;
 
 public class SingleFilePublisher implements IJBossServerPublisher {
 
@@ -117,12 +119,19 @@
 
 	protected IStatus unpublish(IDeployableServer server, IModule module, IProgressMonitor monitor) throws CoreException {
 		// delete file
-		SingleDeployableModuleDelegate delegate = (SingleDeployableModuleDelegate)module.loadAdapter(SingleDeployableModuleDelegate.class, new NullProgressMonitor());
-		if( delegate != null ) {
+		String fileName = null;
+		if( module instanceof DeletedModule ) {
+			String path = module.getId().substring(SingleDeployableFactory.FACTORY_ID.length()+1);
+			fileName = new Path(path).lastSegment();
+		} else {
+			SingleDeployableModuleDelegate delegate = (SingleDeployableModuleDelegate)module.loadAdapter(SingleDeployableModuleDelegate.class, new NullProgressMonitor());
 			IPath sourcePath = delegate.getGlobalSourcePath();
+			fileName = sourcePath.lastSegment();
+		}
+		if( fileName != null ) {
 			IPath destFolder = PublishUtil.getDeployPath(new IModule[]{module}, server).removeLastSegments(1);
 			FileUtilListener l = new FileUtilListener();
-			File destFile = destFolder.append(sourcePath.lastSegment()).toFile();
+			File destFile = destFolder.append(fileName).toFile();
 			FileUtil.safeDelete(destFile, l);
 			if( l.errorFound ) {
 				publishState = IServer.PUBLISH_STATE_FULL;



More information about the jbosstools-commits mailing list