[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