[jboss-cvs] jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/project/build ...

Marshall Culpepper mculpepper at jboss.com
Thu Mar 8 17:37:06 EST 2007


  User: mculpepper
  Date: 07/03/08 17:37:06

  Modified:    core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/project/build 
                        BuildFileOperations.java
  Log:
  some reorganizing of updateNode .. partially moved to updateFileset. updateFileset now triggers build events for incremental fileset changes correctly. changeFileset removed it's dependency on updateNode
  
  Revision  Changes    Path
  1.6       +34 -20    jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/project/build/BuildFileOperations.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: BuildFileOperations.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/project/build/BuildFileOperations.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -b -r1.5 -r1.6
  --- BuildFileOperations.java	2 Mar 2007 21:54:44 -0000	1.5
  +++ BuildFileOperations.java	8 Mar 2007 22:37:06 -0000	1.6
  @@ -24,6 +24,7 @@
   import org.jboss.ide.eclipse.packages.core.model.IPackageNode;
   import org.jboss.ide.eclipse.packages.core.model.IPackageNodeVisitor;
   import org.jboss.ide.eclipse.packages.core.model.IPackageReference;
  +import org.jboss.ide.eclipse.packages.core.model.PackagesCore;
   import org.jboss.ide.eclipse.packages.core.model.internal.PackageFileSetImpl;
   import org.jboss.ide.eclipse.packages.core.model.internal.PackagesModel;
   
  @@ -106,7 +107,7 @@
   			
   			InputStream in = null;
   			OutputStream[] outStreams = null;
  -			// I'm using the fully qualified package name here to avoid confusion with java.io
  +			
   			try {
   				outStreams = TruezipUtil.createFileOutputStreams(packageFiles);
   				
  @@ -235,13 +236,18 @@
   		}
   	}
   
  -	public synchronized void updateNode (IPackageNode node)
  -	{
  -		if (node.getNodeType() == IPackageNode.TYPE_PACKAGE_FILESET)
  +	public synchronized void updateFileset (IPackageFileSet fileset)
   		{
  -			builder.buildFileset((IPackageFileSet)node, true);
  +		IPackage topLevelPackage = PackagesCore.getTopLevelPackage(fileset);
  +		builder.getEvents().fireStartedBuildingPackage(topLevelPackage);
  +		
  +		builder.buildFileset(fileset, true);
  +			
  +		builder.getEvents().fireFinishedBuildingPackage(topLevelPackage);
   		}
  -		else {
  +	
  +	public synchronized void updateNode (IPackageNode node, boolean fireEvents)
  +	{
   			node.accept(new IPackageNodeVisitor () {
   				public boolean visit(IPackageNode node) {
   					if (node.getNodeType() == IPackageNode.TYPE_PACKAGE_FILESET)
  @@ -252,7 +258,6 @@
   				}
   			});
   		}
  -	}
   	
   	public IPath getFilesetRelativePath (IFile file, IPackageFileSet fileset)
   	{
  @@ -265,7 +270,9 @@
   		{
   			return new Path(fileset.getDestinationFilename());
   		} else {
  -			IPath copyTo = absolutePath.removeFirstSegments(fileset.getSourcePath().segmentCount()).removeLastSegments(1);
  +			IPath sourcePath =fileset.getSourcePath();
  +			
  +			IPath copyTo = absolutePath.removeFirstSegments(sourcePath.segmentCount()).removeLastSegments(1);
   			copyTo = copyTo.append(absolutePath.lastSegment());
   			copyTo = copyTo.setDevice(null);
   			
  @@ -375,6 +382,7 @@
   			packageFile.renameTo(tmpFile, ArchiveDetector.NULL);
   			tmpFile.renameTo(newPackageFile, ArchiveDetector.NULL);
   			
  +			builder.getEvents().firePackageBuildTypeChanged(pkg, true);
   			// can't umount a non-package file
   		}
   		else if (packageFile.getDelegate().isDirectory() && !pkg.isExploded())
  @@ -386,6 +394,8 @@
   			packageFile.renameTo(tmpFile);
   			tmpFile.renameTo(newPackageFile, ArchiveDetector.DEFAULT);
   			TruezipUtil.umount(newPackageFile);
  +			
  +			builder.getEvents().firePackageBuildTypeChanged(pkg, false);
   		}
   		
   		refreshPackage(pkg);
  @@ -393,7 +403,10 @@
   	
   	public void changeFileset (IPackageFileSet fileset)
   	{
  -		updateNode(fileset);
  +		IPackage topLevelPackage = PackagesCore.getTopLevelPackage(fileset);
  +		builder.getEvents().fireStartedBuildingPackage(topLevelPackage);
  +		
  +		builder.buildFileset(fileset, true);
   		IPackageFileSet filesets[] = new IPackageFileSet[] { fileset };
   		PackageFileSetImpl filesetImpl = (PackageFileSetImpl) fileset;
   		
  @@ -418,6 +431,7 @@
   		}
   		
   		updateScannerCache(fileset);
  +		builder.getEvents().fireFinishedBuildingPackage(topLevelPackage);
   	}
   	
   	public static void refreshPackage (IPackage pkg)
  @@ -431,7 +445,7 @@
   					pkg.getPackageResource().refreshLocal(IResource.DEPTH_INFINITE, nullMonitor);
   				}
   				pkg.getDestinationContainer().clearHistory(nullMonitor);
  -				pkg.getDestinationContainer().refreshLocal(IResource.DEPTH_INFINITE, nullMonitor);
  +				pkg.getDestinationContainer().refreshLocal(IResource.DEPTH_ONE, nullMonitor);
   			} catch (CoreException e) {
   				Trace.trace(BuildFileOperations.class, e);
   			}
  
  
  



More information about the jboss-cvs-commits mailing list