+ Convenience methods added for looking up files/folders in
+ the system filesystem. Rather than having to call
+ Respository.getDefault().getDefaultFileSystem().getRoot().getFileObject("foo/bar")
,
+ you can simply call FileUtil.getConfigurationFolder ("foo/bar", false)
.
+ FileUtil.getConfigurationFolder(path)s
+ and
+ FileUtil.getConfigurationFile(path)
+ were added to the API.
+
config/
subfolder of the userdir on the user's disk.
+ *
+ * If you want to simply get a file or folder from the system,
+ * it is simpler to call
+ * FileUtil.getConfigurationFile(path) or
+ *
+ * FileUtil.getConfigurationFolder(path).
+ *
+ * @return the system filesystem
*/
public final FileSystem getDefaultFileSystem() {
return system;
Index: openide/fs/test/unit/src/org/openide/filesystems/FileUtilTest.java
===================================================================
RCS file: /cvs/openide/fs/test/unit/src/org/openide/filesystems/FileUtilTest.java,v
--- openide/fs/test/unit/src/org/openide/filesystems/FileUtilTest.java 20 Mar 2007 20:12:29 -0000 1.1
+++ openide/fs/test/unit/src/org/openide/filesystems/FileUtilTest.java 27 Mar 2007 02:08:41 -0000
@@ -20,20 +20,26 @@
package org.openide.filesystems;
import java.io.File;
+import java.io.IOException;
import java.net.URL;
import org.netbeans.junit.MockServices;
import org.netbeans.junit.NbTestCase;
import org.openide.util.Utilities;
+import org.netbeans.junit.MockServices;
/**
- * @author Jesse Glick
+ * @author Jesse Glick, Tim Boudreau
*/
public class FileUtilTest extends NbTestCase {
public FileUtilTest(String n) {
super(n);
}
-
+
+ protected void setUp() throws java.lang.Exception {
+ MockServices.setServices(MyRepo.class);
+ }
+
public void testToFileObjectSlash() throws Exception { // #98388
if (!Utilities.isUnix()) {
return;
@@ -60,5 +66,56 @@
}
}
}
+
+ protected String[] getResources(String testName) {
+ return new String[] { "somefolder/somefile.txt" };
+ }
+ public void testGetConfigurationData() throws Exception {
+ System.out.println("testGetConfigurationData");
+ FileObject f = FileUtil.getOrCreateConfigurationFolder("folder");
+ assertNotNull (f);
+ FileObject f1 = FileUtil.getOrCreateConfigurationFile ("folder/file.txt");
+ assertNotNull (f1);
+ assertEquals (f1, f.getFileObject ("file.txt"));
+ }
+
+ public void testCreateConfigurationFile() throws Exception {
+ System.out.println("testCreateConfigurationFile");
+ FileObject f = FileUtil.getOrCreateConfigurationFile("somewhere/file2.txt");
+ assertNotNull (f);
+ FileObject f1 = FileUtil.getOrCreateConfigurationFile ("somewhere/file2.txt");
+ assertNotNull (f1);
+ assertEquals (f, f1);
+ f = FileUtil.getOrCreateConfigurationFolder ("somewhere");
+ assertEquals (f, f1.getParent());
+
+ f = FileUtil.getOrCreateConfigurationFolder("folder");
+ FileObject nue = f.createData ("hello.txt");
+ assertEquals (nue, FileUtil.getOrCreateConfigurationFile("folder/hello.txt"));
+ assertNotNull (f.getFileObject ("hello.txt"));
+ assertTrue (f.getFileObject ("hello.txt").isData());
+ assertFalse (f.getFileObject ("hello.txt").isFolder());
+ }
+
+ public void testCreateConfigurationFolder() throws Exception {
+ System.out.println("testCreateConfigurationFolder");
+ FileObject f = FileUtil.getOrCreateConfigurationFolder ("other");
+ assertNotNull (f);
+ FileObject f1 = FileUtil.getOrCreateConfigurationFolder("other");
+ assertEquals (f, f1);
+ }
+
+ public static class MyRepo extends Repository {
+ static FileSystem sysfs;
+ public MyRepo () {
+ super(sysfs = FileUtil.createMemoryFileSystem());
+ try {
+ FileObject fld = sysfs.getRoot().createFolder("folder");
+ fld.createData("file.txt");
+ } catch (IOException ioe) {
+ throw new Error (ioe);
+ }
+ }
+ }
}