[jboss-cvs] jbosside/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util ...
Robert Stryker
rob.stryker at jboss.com
Wed Apr 18 21:20:13 EDT 2007
User: rawb
Date: 07/04/18 21:20:13
Modified: core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util
TrueZipUtil.java ModelTruezipBridge.java
Log:
Changes limit the amount of writing that must be done per build / model change. Postponed until the end.
Revision Changes Path
1.2 +8 -3 jbosside/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util/TrueZipUtil.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: TrueZipUtil.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util/TrueZipUtil.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- TrueZipUtil.java 18 Apr 2007 21:07:52 -0000 1.1
+++ TrueZipUtil.java 19 Apr 2007 01:20:13 -0000 1.2
@@ -116,16 +116,21 @@
}
/**
- * Sync's with file system after executing
- * @param run
+ * Sync's with file system after executing a runnable
+ * @param run Runnable or null
*/
public static void syncExec(Runnable run) {
try {
+ if( run != null )
run.run();
} catch (Exception e ) {}
umount();
}
+ public static void sync() {
+ syncExec(null);
+ }
+
public static void updateParentTimestamps(IPath path) {
updateParentTimestamps(getFile(path));
}
1.2 +89 -55 jbosside/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util/ModelTruezipBridge.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: ModelTruezipBridge.java
===================================================================
RCS file: /cvsroot/jboss/jbosside/core/plugins/org.jboss.ide.eclipse.archives.core/src/main/org/jboss/ide/eclipse/archives/core/util/ModelTruezipBridge.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -b -r1.1 -r1.2
--- ModelTruezipBridge.java 18 Apr 2007 21:07:52 -0000 1.1
+++ ModelTruezipBridge.java 19 Apr 2007 01:20:13 -0000 1.2
@@ -26,16 +26,8 @@
public class ModelTruezipBridge {
public static void deleteArchive(IArchive archive) {
final File file = getFile(archive);
- TrueZipUtil.syncExec(new Runnable() {
- public void run() {
file.deleteAll();
- }
- });
- }
-
- public static void createContainer(IArchiveNode node) {
- File f = getFile(node);
- f.mkdirs();
+ TrueZipUtil.sync();
}
public static void deleteFolder(IArchiveFolder folder) {
@@ -44,67 +36,126 @@
}
public static void deleteFolder(IArchiveFolder folder, IArchiveFileSet[] filesets) {
- // remove all files from filesets
- for( int i = 0; i < filesets.length; i++ )
- fullFilesetRemove(filesets[i]);
-
+ deleteFolder(folder, filesets, true);
+ }
+ public static void deleteFolder(final IArchiveFolder folder, final IArchiveFileSet[] filesets, boolean sync) {
+ fullFilesetsRemove(filesets, false);
final File file = getFile(folder);
- TrueZipUtil.syncExec(new Runnable() {
- public void run() {
TrueZipUtil.deleteEmptyFolders(file);
- }
- });
+ if( sync )
+ TrueZipUtil.sync();
}
public static void fullFilesetBuild(IArchiveFileSet fileset) {
+ fullFilesetBuild(fileset, true);
+ }
+ public static void fullFilesetBuild(final IArchiveFileSet fileset, boolean sync) {
fileset.resetScanner();
IPath[] paths = fileset.findMatchingPaths();
- ModelTruezipBridge.copyFiles(fileset, paths);
+ copyFiles(fileset, paths, false);
+ if( sync )
+ TrueZipUtil.sync();
+ }
+
+ public static void fullFilesetsRemove(IArchiveFileSet[] filesets) {
+ fullFilesetsRemove(filesets, true);
+ }
+ public static void fullFilesetsRemove(IArchiveFileSet[] filesets, boolean sync) {
+ for( int i = 0; i < filesets.length; i++ )
+ fullFilesetRemove(filesets[i], false);
+ if( sync )
+ TrueZipUtil.sync();
}
public static void fullFilesetRemove(IArchiveFileSet fileset) {
+ fullFilesetRemove(fileset, true);
+ }
+ public static void fullFilesetRemove(final IArchiveFileSet fileset, boolean sync) {
IPath[] paths = fileset.findMatchingPaths();
for( int i = 0; i < paths.length; i++ ) {
if( !ModelUtil.otherFilesetMatchesPath(fileset, paths[i])) {
// remove
- ModelTruezipBridge.deleteFiles(fileset, new IPath[] {paths[i]});
+ deleteFiles(fileset, new IPath[] {paths[i]}, false);
}
}
+
+ if( sync )
+ TrueZipUtil.sync();
}
public static void copyFiles(IArchiveFileSet[] filesets, IPath[] paths) {
+ copyFiles(filesets, paths, true);
+ }
+
+ public static void copyFiles(final IArchiveFileSet[] filesets, final IPath[] paths, boolean sync) {
for( int i = 0; i < filesets.length; i++ ) {
- copyFiles(filesets[i], paths);
+ copyFiles(filesets[i], paths, false);
}
+ if( sync )
+ TrueZipUtil.sync();
+
}
public static void copyFiles(IArchiveFileSet fileset, final IPath[] paths) {
+ copyFiles(fileset, paths, true);
+ }
+ public static void copyFiles(IArchiveFileSet fileset, final IPath[] paths, boolean sync) {
final File[] destFiles = getFiles(paths, fileset);
- TrueZipUtil.syncExec(new Runnable() {
- public void run() {
for( int i = 0; i < paths.length; i++ ) {
TrueZipUtil.copyFile(paths[i].toOSString(), destFiles[i]);
}
- }
- });
+ if( sync )
+ TrueZipUtil.sync();
}
+
+ /*
+ * Deleting files
+ */
public static void deleteFiles(IArchiveFileSet[] filesets, IPath[] paths ) {
+ deleteFiles(filesets, paths, true);
+ }
+ public static void deleteFiles(final IArchiveFileSet[] filesets, final IPath[] paths, boolean sync ) {
for( int i = 0; i < filesets.length; i++ ) {
- deleteFiles(filesets[i], paths);
+ deleteFiles(filesets[i], paths, false);
}
+ if( sync )
+ TrueZipUtil.sync();
}
+
public static void deleteFiles(IArchiveFileSet fileset, final IPath[] paths ) {
+ deleteFiles(fileset, paths, true);
+ }
+ public static void deleteFiles(IArchiveFileSet fileset, final IPath[] paths, boolean sync ) {
final File[] destFiles = getFiles(paths, fileset);
- TrueZipUtil.syncExec(new Runnable() {
- public void run() {
for( int i = 0; i < paths.length; i++ ) {
TrueZipUtil.deleteAll(destFiles[i]);
}
+
+ if( sync )
+ TrueZipUtil.sync();
+ }
+
+
+ /**
+ * Creates the file, folder, or archive represented by the node.
+ * Does nothing for filesets
+ * @param node
+ */
+ public static void createFile(final IArchiveNode node) {
+ createFile(node, true);
}
- });
+ public static void createFile(final IArchiveNode node, boolean sync) {
+ File f = getFile(node);
+ if( f != null ) {
+ f.mkdirs();
}
+ if( sync )
+ TrueZipUtil.sync();
+ }
+
+
/**
* Gets all properly-created de.sch files for a fileset
@@ -158,21 +209,4 @@
return null;
}
-
- /**
- * Creates the file, folder, or archive represented by the node.
- * Does nothing for filesets
- * @param node
- */
- public static void createFile(final IArchiveNode node) {
- TrueZipUtil.syncExec(new Runnable() {
- public void run() {
- File f = getFile(node);
- if( f != null ) {
- f.mkdirs();
- }
- }
- });
- }
-
}
More information about the jboss-cvs-commits
mailing list