[jboss-cvs] jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers ...
Robert Stryker
rawblem at gmail.com
Thu Nov 30 11:14:59 EST 2006
User: rawb
Date: 06/11/30 11:14:59
Modified: as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers
PackagesPublisher.java JstPublisher.java
IJBossServerPublisher.java PathPublisher.java
NullPublisher.java
Log:
API change, added modulePublishState info
Revision Changes Path
1.2 +63 -5 jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/PackagesPublisher.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PackagesPublisher.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/PackagesPublisher.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- PackagesPublisher.java 28 Nov 2006 17:29:29 -0000 1.1
+++ PackagesPublisher.java 30 Nov 2006 16:14:59 -0000 1.2
@@ -23,6 +23,7 @@
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
+import org.eclipse.core.resources.IncrementalProjectBuilder;
import org.eclipse.core.resources.ResourcesPlugin;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IPath;
@@ -31,7 +32,9 @@
import org.eclipse.core.runtime.Path;
import org.eclipse.wst.server.core.IModule;
import org.eclipse.wst.server.core.IServer;
+import org.eclipse.wst.server.core.model.ServerBehaviourDelegate;
import org.jboss.ide.eclipse.as.core.server.JBossServer;
+import org.jboss.ide.eclipse.as.core.util.FileUtil;
import org.jboss.ide.eclipse.packages.core.model.IPackage;
import org.jboss.ide.eclipse.packages.core.model.PackagesCore;
@@ -48,22 +51,77 @@
return IServer.PUBLISH_STATE_NONE;
}
- public void publishModule(int kind, int deltaKind, IModule[] module,
- IProgressMonitor monitor) throws CoreException {
- // should create submonitors
+ public void publishModule(int kind, int deltaKind, int modulePublishState,
+ IModule[] module, IProgressMonitor monitor) throws CoreException {
+
+ // if it's being removed
+ if( deltaKind == ServerBehaviourDelegate.REMOVED ) {
+ removeModule(module, monitor);
+ return;
+ }
+
+ if( deltaKind == ServerBehaviourDelegate.ADDED || deltaKind == ServerBehaviourDelegate.CHANGED) {
+ boolean incremental = (kind == IServer.PUBLISH_INCREMENTAL);
+ publishModule(incremental, module, monitor);
+ return;
+ }
+
+ if( kind == IServer.PUBLISH_INCREMENTAL ) {
+ boolean incremental = false;
+ if( modulePublishState == IServer.PUBLISH_STATE_NONE ) return;
+ if( modulePublishState == IServer.PUBLISH_STATE_INCREMENTAL ) incremental = true;
+ publishModule(incremental, module, monitor);
+ return;
+ }
+
+ if( kind == IServer.PUBLISH_FULL ) {
+ publishModule(false, module, monitor);
+ return;
+ }
+
+ }
+
+ protected void removeModule(IModule[] module, IProgressMonitor monitor) {
+ // remove all of the deployed items
+ System.out.println("removing module " + module[0].getName());
+
String projectName = module[0].getName();
IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
PackagesCore.buildProject(project, monitor);
IPackage[] packages = PackagesCore.getProjectPackages(project, new NullProgressMonitor());
for( int i = 0; i < packages.length; i++ ) {
if( packages[i].isDestinationInWorkspace()) {
- // destination is workspace. Move it.
IFile file = packages[i].getPackageFile();
IPath sourcePath = file.getLocation();
IPath destPath = new Path(server.getDeployDirectory(true)).append(sourcePath.lastSegment());
- System.out.println("copying file: " + sourcePath);
+ boolean deleted = destPath.toFile().delete();
+ } else {
+ IFile file = packages[i].getPackageFile();
+ boolean deleted = file.getLocation().toFile().delete();
}
}
}
+ protected void publishModule(boolean incremental, IModule[] module, IProgressMonitor monitor) {
+ System.out.println("publishing module " + module[0].getName());
+
+ int inc2 = incremental ? IncrementalProjectBuilder.INCREMENTAL_BUILD : IncrementalProjectBuilder.FULL_BUILD;
+ String projectName = module[0].getName();
+ IProject project = ResourcesPlugin.getWorkspace().getRoot().getProject(projectName);
+ PackagesCore.buildProject(project, inc2, monitor);
+ IPackage[] packages = PackagesCore.getProjectPackages(project, new NullProgressMonitor());
+ for( int i = 0; i < packages.length; i++ ) {
+ if( packages[i].isDestinationInWorkspace()) {
+ try {
+ // destination is workspace. Move it.
+ IFile file = packages[i].getPackageFile();
+ IPath sourcePath = file.getLocation();
+ IPath destPath = new Path(server.getDeployDirectory(true)).append(sourcePath.lastSegment());
+ FileUtil.copyFile(sourcePath.toFile(), destPath.toFile());
+ } catch( Exception e ) {
+ e.printStackTrace();
+ }
+ }
+ }
+ }
}
1.2 +2 -2 jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/JstPublisher.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: JstPublisher.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/JstPublisher.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- JstPublisher.java 10 Nov 2006 00:26:26 -0000 1.1
+++ JstPublisher.java 30 Nov 2006 16:14:59 -0000 1.2
@@ -82,8 +82,8 @@
state = IServer.PUBLISH_STATE_NONE;
}
- public void publishModule(int kind, int deltaKind, IModule[] module,
- IProgressMonitor monitor) throws CoreException {
+ public void publishModule(int kind, int deltaKind, int modulePublishState,
+ IModule[] module, IProgressMonitor monitor) throws CoreException {
// delta = [no_change, added, changed, removed] = [0,1,2,3]
// kind = [incremental, full, auto, clean] = [1,2,3,4]
checkClosed(module);
1.2 +2 -1 jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/IJBossServerPublisher.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: IJBossServerPublisher.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/IJBossServerPublisher.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- IJBossServerPublisher.java 10 Nov 2006 00:26:26 -0000 1.1
+++ IJBossServerPublisher.java 30 Nov 2006 16:14:59 -0000 1.2
@@ -26,7 +26,8 @@
import org.eclipse.wst.server.core.IModule;
public interface IJBossServerPublisher {
- public void publishModule(int kind, int deltaKind, IModule[] module, IProgressMonitor monitor)
+ public void publishModule(int kind, int deltaKind, int modulePublishState,
+ IModule[] module, IProgressMonitor monitor)
throws CoreException;
public int getPublishState();
}
1.2 +4 -2 jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/PathPublisher.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: PathPublisher.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/PathPublisher.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- PathPublisher.java 10 Nov 2006 04:53:55 -0000 1.1
+++ PathPublisher.java 30 Nov 2006 16:14:59 -0000 1.2
@@ -54,7 +54,8 @@
publishState = IServer.PUBLISH_STATE_NONE;
}
- public void publishModule(int kind, int deltaKind, IModule[] module, IProgressMonitor monitor) throws CoreException {
+ public void publishModule(int kind, int deltaKind, int modulePublishState,
+ IModule[] module, IProgressMonitor monitor) throws CoreException {
// delta = [no_change, added, changed, removed] = [0,1,2,3]
// kind = [incremental, full, auto, clean] = [1,2,3,4]
@@ -136,8 +137,9 @@
String dest = new Path(deployDirectory).append(delegate.getResourceName()).toOSString();
try {
File destFile = new File(dest);
- destFile.delete();
+ boolean result = destFile.delete();
} catch( Exception e ) {
+ e.printStackTrace();
}
}
publishState = IServer.PUBLISH_STATE_NONE;
1.2 +2 -2 jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/NullPublisher.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: NullPublisher.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/as/plugins/org.jboss.ide.eclipse.as.core/jbosscore/org/jboss/ide/eclipse/as/core/publishers/NullPublisher.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- NullPublisher.java 10 Nov 2006 00:26:26 -0000 1.1
+++ NullPublisher.java 30 Nov 2006 16:14:59 -0000 1.2
@@ -36,8 +36,8 @@
return IServer.PUBLISH_STATE_NONE;
}
- public void publishModule(int kind, int deltaKind, IModule[] module,
- IProgressMonitor monitor) throws CoreException {
+ public void publishModule(int kind, int deltaKind, int modulePublishState,
+ IModule[] module, IProgressMonitor monitor) throws CoreException {
// delta = [no_change, added, changed, removed] = [0,1,2,3]
// kind = [incremental, full, auto, clean] = [1,2,3,4]
//ASDebug.p("Publishing with kind,deltakind = " + kind + "," + deltaKind, this);
More information about the jboss-cvs-commits
mailing list