[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