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

Robert Stryker rawblem at gmail.com
Wed Nov 22 16:39:46 EST 2006


  User: rawb    
  Date: 06/11/22 16:39:46

  Modified:    core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal 
                        PackageBuildDelegate.java
  Log:
  Events now fire properly on incremental build
  
  Revision  Changes    Path
  1.4       +29 -3     jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackageBuildDelegate.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: PackageBuildDelegate.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal/PackageBuildDelegate.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- PackageBuildDelegate.java	22 Nov 2006 21:03:24 -0000	1.3
  +++ PackageBuildDelegate.java	22 Nov 2006 21:39:45 -0000	1.4
  @@ -350,10 +350,15 @@
   	}
   	
   	private Hashtable filesToCopy, filesToRemove;
  +	/*
  +	 * This method is responsible for throwing the proper events itself
  +	 * as to which packages are going to be changed.
  +	 */
   	private void incrementalBuild(Map args, final IProgressMonitor monitor)
   	{
   		filesToCopy = new Hashtable();
   		filesToRemove = new Hashtable();
  +		final ArrayList packagesBeingChanged = new ArrayList();
   		for (Iterator iter = referencedProjects.iterator(); iter.hasNext(); )
   		{
   			final IProject project = (IProject) iter.next();
  @@ -364,7 +369,7 @@
   					delta.accept(new IResourceDeltaVisitor () { 
   						public boolean visit(IResourceDelta delta) throws CoreException {
   							if (delta.getResource().getType() == IResource.FILE)
  -								processFileDelta(project, delta, monitor);
  +								processFileDelta(project, delta, packagesBeingChanged, monitor);
   							return true;
   						}
   					});
  @@ -374,6 +379,13 @@
   			}
   		}
   		
  +		// alert this package is being changed
  +		for( int i = 0; i < packagesBeingChanged.size(); i++ ) {
  +			IPackage p = (IPackage)packagesBeingChanged.get(i);
  +			fireStartedBuildingPackage(p);
  +		}
  +		
  +		
   		for (Iterator iter = filesToCopy.keySet().iterator(); iter.hasNext(); )	
   		{
   			IFile file = (IFile)iter.next();
  @@ -404,6 +416,13 @@
   
   		filesToCopy.clear();
   		filesToRemove.clear();
  +		
  +		// alert this package is being changed
  +		for( int i = 0; i < packagesBeingChanged.size(); i++ ) {
  +			IPackage p = (IPackage)packagesBeingChanged.get(i);
  +			fireFinishedBuildingPackage(p);
  +		}
  +
   	}
   	
   	private IPackage getPackageFromFile (IFile file)
  @@ -418,11 +437,10 @@
   		return null;
   	}
   	
  -	private void processFileDelta (IProject project, IResourceDelta delta, IProgressMonitor monitor)
  +	private void processFileDelta (IProject project, IResourceDelta delta, ArrayList packagesBeingChanged, IProgressMonitor monitor)
   	{
   		IFile file = (IFile) delta.getResource();
   		IPackageFileSet[] filesets = findMatchingFilesets(file);
  -		
   		IPackage pkg = getPackageFromFile(file);
   		if ((delta.getFlags() & IResourceDelta.REMOVED) > 0)
   		{
  @@ -435,6 +453,14 @@
   		
   		if (filesets != null && filesets.length > 0)
   		{
  +			// Is this right?? Is the parent guarenteed to be a package?
  +			for( int i = 0; i < filesets.length; i++ ) {
  +				IPackageNode n = filesets[i].getParent();
  +				if( n instanceof IPackage ) 
  +					packagesBeingChanged.add(n);
  +			}
  +			
  +			
   			if ((delta.getFlags() & IResourceDelta.ADDED) > 0)
   			{
   				filesToCopy.put(file, filesets);
  
  
  



More information about the jboss-cvs-commits mailing list