[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