public void testPreferencesEvents() throws Exception { storage.toFolder(true); FileUtil.getConfigRoot().addRecursiveListener(new FileListener()); pref.addNodeChangeListener(new NodeListener()); String newPath = "a/b/c"; String[] paths = newPath.split("/"); FileObject fo = null; FileObject fo0 = null; for (int i = 0; i < paths.length; i++) { String path = paths[i]; fo = FileUtil.createFolder((fo == null) ? FileUtil.getConfigRoot() : fo, path); if (i == 0) { fo0 = fo; } nodeAddedEvent.await(); assertEquals("Missing node added event", 0, nodeAddedEvent.getCount()); nodeAddedEvent = new CountDownLatch(1); Preferences pref2 = pref.node(fo.getPath()); pref2.addNodeChangeListener(new NodeListener()); } FileObject fo1 = FileUtil.createData(fo, "a.properties"); nodeAddedEvent.await(); assertEquals("Missing node added event", 0, nodeAddedEvent.getCount()); nodeRemovedEvent = new CountDownLatch(paths.length + 1); fo0.delete(); nodeRemovedEvent.await(); assertEquals("Missing node removed event", 0, nodeRemovedEvent.getCount()); }
public void testInvalidChildrenNames() throws Exception { NbPreferences subnode = pref; assertNotNull(subnode); PropertiesStorage ps = (PropertiesStorage) pref.fileStorage; FileObject fold = ps.toFolder(true); assertNotNull(FileUtil.createData(fold, "a/b/c/invalid1")); subnode.sync(); assertEquals(0, subnode.childrenNames().length); assertNotNull(FileUtil.createData(fold, "a/b/c/invalid2.huh")); subnode.sync(); assertEquals(0, subnode.childrenNames().length); assertNotNull(FileUtil.createData(fold, "a/b/c/invalid3.properties.huh")); subnode.sync(); assertEquals(0, subnode.childrenNames().length); assertNotNull(FileUtil.createData(fold, "a/b/c/valid.properties")); subnode.sync(); assertEquals(1, subnode.childrenNames().length); assertEquals("a", subnode.childrenNames()[0]); }