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

Marshall Culpepper mculpepper at jboss.com
Wed Nov 22 16:03:24 EST 2006


  User: mculpepper
  Date: 06/11/22 16:03:24

  Modified:    core/plugins/org.jboss.ide.eclipse.packages.core/src/main/org/jboss/ide/eclipse/packages/core/model/internal 
                        PackageBuildDelegate.java
  Log:
  changed findMatchingFileset to findMatchingFilesets (this will allow for multiple filesets in the same project to reference the same file.. next we need to trigger builds in secondary projects when a fileset from that project references a file from another)
  
  Revision  Changes    Path
  1.3       +63 -54    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.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- PackageBuildDelegate.java	19 Nov 2006 01:09:25 -0000	1.2
  +++ PackageBuildDelegate.java	22 Nov 2006 21:03:24 -0000	1.3
  @@ -167,8 +167,10 @@
   		}
   	}
   	
  -	private IPackageFileSet findMatchingFileset (IFile file)
  +	private IPackageFileSet[] findMatchingFilesets (IFile file)
   	{
  +		ArrayList filesets = new ArrayList();
  +		
   		for (Iterator iter = scannerCache.keySet().iterator(); iter.hasNext(); )
   		{
   			IPackage pkg = (IPackage) iter.next();
  @@ -181,11 +183,12 @@
   				
   				if (fileset.matchesFile(scanner, file))
   				{
  -					return fileset;
  +					filesets.add(fileset);
   				}
   			}
   		}
  -		return null;
  +		
  +		return (IPackageFileSet[]) filesets.toArray(new IPackageFileSet[filesets.size()]);
   	}
   	
   	private void buildFileset (IPackageFileSet fileset, boolean checkStamps)
  @@ -200,7 +203,7 @@
   			fireFinishedCollectingFileSet(fileset);
   			for (int i = 0; i < matchingFiles.length; i++)
   			{
  -				updateFile(matchingFiles[i], fileset, checkStamps);
  +				updateFile(matchingFiles[i], new IPackageFileSet[] { fileset }, checkStamps);
   			}
   		} else {
   			fireStartedCollectingFileSet(fileset);
  @@ -374,17 +377,17 @@
   		for (Iterator iter = filesToCopy.keySet().iterator(); iter.hasNext(); )	
   		{
   			IFile file = (IFile)iter.next();
  -			IPackageFileSet fileset = (IPackageFileSet) filesToCopy.get(file);
  +			IPackageFileSet[] filesets = (IPackageFileSet[]) filesToCopy.get(file);
   			
  -			updateFile(file, fileset, false);
  +			updateFile(file, filesets, false);
   		}
   		
   		for (Iterator iter = filesToRemove.keySet().iterator(); iter.hasNext(); )
   		{
   			IFile file = (IFile)iter.next();
  -			IPackageFileSet fileset = (IPackageFileSet) filesToRemove.get(file);
  +			IPackageFileSet[] filesets = (IPackageFileSet[]) filesToRemove.get(file);
   			
  -			removeFile(file, fileset);
  +			removeFile(file, filesets);
   		}
   		
   		for (Iterator iter = nodesToUpdate.iterator(); iter.hasNext(); )
  @@ -418,7 +421,7 @@
   	private void processFileDelta (IProject project, IResourceDelta delta, IProgressMonitor monitor)
   	{
   		IFile file = (IFile) delta.getResource();
  -		IPackageFileSet fileset = findMatchingFileset(file);
  +		IPackageFileSet[] filesets = findMatchingFilesets(file);
   		
   		IPackage pkg = getPackageFromFile(file);
   		if ((delta.getFlags() & IResourceDelta.REMOVED) > 0)
  @@ -430,19 +433,19 @@
   			}
   		}
   		
  -		if (fileset != null)
  +		if (filesets != null && filesets.length > 0)
   		{
   			if ((delta.getFlags() & IResourceDelta.ADDED) > 0)
   			{
  -				filesToCopy.put(file, fileset);
  +				filesToCopy.put(file, filesets);
   			}
   			else if ((delta.getFlags() & IResourceDelta.CONTENT) > 0 || (delta.getFlags() & IResourceDelta.CHANGED) > 0)
   			{
  -				filesToCopy.put(file, fileset);
  +				filesToCopy.put(file, filesets);
   			}
   			else if ((delta.getFlags() & IResourceDelta.REMOVED) > 0)
   			{
  -				filesToRemove.put(file, fileset);
  +				filesToRemove.put(file, filesets);
   			}
   		}
   	}
  @@ -550,13 +553,15 @@
   		return copyTo;
   	}
   	
  -	private void updateFile(IFile file, IPackageFileSet fileset, boolean checkStamps)
  +	private void updateFile(IFile file, IPackageFileSet[] filesets, boolean checkStamps)
   	{
  -		IPath copyTo = getFileDestinationPath(file, fileset);
  +		for (int i = 0; i < filesets.length; i++)
  +		{
  +			IPath copyTo = getFileDestinationPath(file, filesets[i]);
   		
   		if (checkStamps)
   		{
  -			File packageFile = createFile(fileset, copyTo);
  +				File packageFile = createFile(filesets[i], copyTo);
   			long stamp = file.getModificationStamp();
   			if (stamp != IResource.NULL_STAMP && packageFile.exists() && stamp >= packageFile.lastModified())
   			{
  @@ -572,7 +577,7 @@
   		try {
   			try {
   				in = file.getContents();
  -				out = createFileOutputStream(fileset, copyTo);
  +					out = createFileOutputStream(filesets[i], copyTo);
   				File.cp(in, out);
   			} catch (FileNotFoundException e) {
   				Trace.trace(getClass(), e);
  @@ -596,6 +601,7 @@
   			}
   		}
   	}
  +	}
   	
   	private void updatePath(IPath path, IPackageFileSet fileset, boolean checkStamps)
   	{
  @@ -643,12 +649,15 @@
   		}
   	}
   	
  -	private void removeFile(IFile file, IPackageFileSet fileset)
  +	private void removeFile(IFile file, IPackageFileSet[] filesets)
   	{
  -		File packagedFile = new File(getFileDestinationPath(file, fileset).toFile());
  +		for (int i = 0; i < filesets.length; i++)
  +		{
  +			File packagedFile = new File(getFileDestinationPath(file, filesets[i]).toFile());
   		
   		if (packagedFile.exists()) packagedFile.deleteAll();
   	}
  +	}
   	
   	private void removePath(IPath path, IPackageFileSet fileset)
   	{
  @@ -724,7 +733,7 @@
   			fireFinishedCollectingFileSet(fileset);
   			for (int i = 0; i < matchingFiles.length; i++)
   			{
  -				removeFile(matchingFiles[i], fileset);
  +				removeFile(matchingFiles[i], new IPackageFileSet[] { fileset });
   			}
   		} else {
   			fireStartedCollectingFileSet(fileset);
  
  
  



More information about the jboss-cvs-commits mailing list