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

Robert Stryker rob.stryker at jboss.com
Thu Apr 19 14:15:25 EDT 2007


  User: rawb    
  Date: 07/04/19 14:15:25

  Modified:    core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/build   
                        ArchivesBuilder.java ModelChangeListener.java
                        ArchiveBuildDelegate.java
  Log:
  Event firing added to model changes and builds
  
  Revision  Changes    Path
  1.2       +0 -3      jbosside/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/build/ArchivesBuilder.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: ArchivesBuilder.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/build/ArchivesBuilder.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -b -r1.1 -r1.2
  --- ArchivesBuilder.java	18 Apr 2007 21:07:53 -0000	1.1
  +++ ArchivesBuilder.java	19 Apr 2007 18:15:25 -0000	1.2
  @@ -54,7 +54,6 @@
   	public static final String BUILDER_ID = "org.jboss.ide.eclipse.archives.core.archivesBuilder";
   	
   	protected IProject[] build(int kind, Map args, IProgressMonitor monitor) throws CoreException {
  -		EventManager.fireBuildStarted();
   		IProject[] interestingProjects = getInterestingProjectsInternal();
   
   		final TreeSet addedChanged = createDefaultTreeSet();
  @@ -71,8 +70,6 @@
   			delegate.fullProjectBuild(p);
   		}
   		
  -		
  -		EventManager.fireBuildEnded();
   		return interestingProjects;
   	}
   	
  
  
  
  1.3       +18 -2     jbosside/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/build/ModelChangeListener.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: ModelChangeListener.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/build/ModelChangeListener.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -b -r1.2 -r1.3
  --- ModelChangeListener.java	19 Apr 2007 01:20:13 -0000	1.2
  +++ ModelChangeListener.java	19 Apr 2007 18:15:25 -0000	1.3
  @@ -4,6 +4,7 @@
   import org.eclipse.core.resources.IWorkspaceRoot;
   import org.eclipse.core.resources.ResourcesPlugin;
   import org.eclipse.core.runtime.CoreException;
  +import org.eclipse.core.runtime.IPath;
   import org.eclipse.core.runtime.NullProgressMonitor;
   import org.jboss.ide.eclipse.archives.core.model.IArchive;
   import org.jboss.ide.eclipse.archives.core.model.IArchiveFileSet;
  @@ -11,6 +12,7 @@
   import org.jboss.ide.eclipse.archives.core.model.IArchiveModelListener;
   import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
   import org.jboss.ide.eclipse.archives.core.model.IArchiveNodeDelta;
  +import org.jboss.ide.eclipse.archives.core.model.events.EventManager;
   import org.jboss.ide.eclipse.archives.core.util.ModelTruezipBridge;
   import org.jboss.ide.eclipse.archives.core.util.ModelUtil;
   
  @@ -112,7 +114,10 @@
   		}
   		IArchiveFileSet[] filesets = ModelUtil.findAllDescendentFilesets(added);
   		for( int i = 0; i < filesets.length; i++ ) {
  +			filesets[i].resetScanner();
  +			IPath[] paths = filesets[i].findMatchingPaths();
   			ModelTruezipBridge.fullFilesetBuild(filesets[i]);
  +			EventManager.filesUpdated(filesets[i].getRootArchive(), filesets[i], paths);
   		}
   		refreshLocal(added);
   	}
  @@ -121,19 +126,30 @@
   	private void nodeRemoved(IArchiveNode removed) {
   		if( removed.getNodeType() == IArchiveNode.TYPE_ARCHIVE) {
   			ModelTruezipBridge.deleteArchive((IArchive)removed);
  +			
  +			// no event needed? we'll see
   			refreshLocal(removed);
   			return;
   		} else if( removed.getNodeType() == IArchiveNode.TYPE_ARCHIVE_FOLDER ){
  -			ModelTruezipBridge.deleteFolder((IArchiveFolder)removed);
  +			IArchiveFileSet[] filesets = ModelUtil.findAllDescendentFilesets(((IArchiveFolder)removed));
  +			for( int i = 0; i < filesets.length; i++ ) {
  +				IPath[] removedPaths = ModelTruezipBridge.fullFilesetRemove(((IArchiveFileSet)removed), false);
  +				EventManager.filesRemoved(removedPaths, ((IArchiveFileSet)removed));
  +			}
   			refreshLocal(removed);
   			return;
   		}
   
   		IArchiveFileSet[] filesets = ModelUtil.findAllDescendentFilesets(removed);
  -		ModelTruezipBridge.fullFilesetsRemove(filesets);
  +		for( int i = 0; i < filesets.length; i++ ) {
  +			IPath[] removedPaths = ModelTruezipBridge.fullFilesetRemove(((IArchiveFileSet)removed), false);
  +			EventManager.filesRemoved(removedPaths, ((IArchiveFileSet)removed));
  +		}
   		refreshLocal(removed);
   	}
   	
  +	
  +	// refresh the file tree structure
   	private void refreshLocal(IArchiveNode node) {
   		IArchive pack = node.getRootArchive();
   		if( pack != null && pack.isDestinationInWorkspace() ) {
  
  
  
  1.4       +20 -3     jbosside/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/build/ArchiveBuildDelegate.java
  
  (In the diff below, changes in quantity of whitespace are not shown.)
  
  Index: ArchiveBuildDelegate.java
  ===================================================================
  RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/build/ArchiveBuildDelegate.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -b -r1.3 -r1.4
  --- ArchiveBuildDelegate.java	19 Apr 2007 01:20:13 -0000	1.3
  +++ ArchiveBuildDelegate.java	19 Apr 2007 18:15:25 -0000	1.4
  @@ -9,6 +9,7 @@
   import org.jboss.ide.eclipse.archives.core.model.IArchive;
   import org.jboss.ide.eclipse.archives.core.model.IArchiveFileSet;
   import org.jboss.ide.eclipse.archives.core.model.IArchiveNode;
  +import org.jboss.ide.eclipse.archives.core.model.events.EventManager;
   import org.jboss.ide.eclipse.archives.core.model.internal.ArchiveModelNode;
   import org.jboss.ide.eclipse.archives.core.model.internal.ArchivesModel;
   import org.jboss.ide.eclipse.archives.core.util.ModelTruezipBridge;
  @@ -24,26 +25,40 @@
   	
   	// full build
   	public void fullProjectBuild(IProject project) {
  +		EventManager.startedBuild(project);
  +
   		ArchiveModelNode root = ArchivesModel.instance().getRoot(project);
   		IArchiveNode[] nodes = root.getChildren(IArchiveNode.TYPE_ARCHIVE);
   		for( int i = 0; i < nodes.length; i++ ) {
   			fullArchiveBuild(((IArchive)nodes[i]));
   		}
  +
  +		EventManager.finishedBuild(project);
   	}
   	
   	public void fullArchiveBuild(IArchive pkg) {
  +		EventManager.startedBuildingArchive(pkg);
  +		
   		ModelTruezipBridge.deleteArchive(pkg);
   		ModelTruezipBridge.createFile(pkg);
   		IArchiveFileSet[] filesets = ModelUtil.findAllDescendentFilesets(pkg);
   		for( int i = 0; i < filesets.length; i++ ) {
  -			fullFilesetBuild(filesets[i]);
  +			fullFilesetBuild(filesets[i], pkg);
   		}
  +		
  +		EventManager.finishedBuildingArchive(pkg);
   	}
   	
  -	public void fullFilesetBuild(IArchiveFileSet fileset) {
  +	public void fullFilesetBuild(IArchiveFileSet fileset, IArchive topLevel) {
  +		EventManager.startedCollectingFileSet(fileset);
  +		
  +		// reset the scanner. It *is* a full build afterall
   		fileset.resetScanner();
   		IPath[] paths = fileset.findMatchingPaths();
  -		ModelTruezipBridge.copyFiles(fileset, paths);
  +		ModelTruezipBridge.fullFilesetBuild(fileset);
  +
  +		EventManager.filesUpdated(topLevel, fileset, paths);
  +		EventManager.finishedCollectingFileSet(fileset);
   	}
   
   	
  @@ -65,6 +80,7 @@
   			path = ((IResource)i.next()).getLocation();
   			matchingFilesets = ModelUtil.getMatchingFilesets(path);
   			ModelTruezipBridge.copyFiles(matchingFilesets, new IPath[] { path }, false);
  +			EventManager.fileUpdated(path, matchingFilesets);
   		}
   		
   		i = removed.iterator();
  @@ -72,6 +88,7 @@
   			path = ((IResource)i.next()).getLocation();
   			matchingFilesets = ModelUtil.getMatchingFilesets(path);
   			ModelTruezipBridge.deleteFiles(matchingFilesets, new IPath[] { path }, false);
  +			EventManager.fileRemoved(path, matchingFilesets);
   		}
   		TrueZipUtil.sync();
   	}
  
  
  



More information about the jboss-cvs-commits mailing list