public void testNode5() throws BackingStoreException { Preferences child = pref.node("a"); child.put("key", "value"); child.flush(); assertNotNull(storage.toFolder()); assertNull(storage.toPropertiesFile()); }
public void testNode() throws BackingStoreException { assertNull(storage.toFolder()); assertNull(storage.toPropertiesFile()); pref.flush(); assertNull(storage.toFolder()); assertNull(storage.toPropertiesFile()); pref.put("key", "value"); }
public void testRemove() throws BackingStoreException { assertNull(storage.toFolder()); assertNull(storage.toPropertiesFile()); pref.put("key", "value"); pref.flush(); assertNotNull(storage.toPropertiesFile()); pref.remove("key"); assertTrue(pref.properties.isEmpty()); pref.flush(); assertNull(storage.toPropertiesFile()); }
private void deleteStorageEntry(String key) throws IOException { String currentText = storage.toPropertiesFile().asText(); int index = currentText.indexOf(key); String before = currentText.substring(0, index); String after = currentText.substring(index + key.length() + 1); String newText = before.concat(after); OutputStream storageOutputStream = storage.toPropertiesFile().getOutputStream(); storageOutputStream.write(newText.getBytes("ISO-8859-1")); storageOutputStream.close(); }
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()); }
private void overrideStorageEntryWithNewValue(String oldValue, String newValue) throws IOException { String newText = constructNewEntryText(oldValue, newValue); OutputStream storageOutputStream = storage.toPropertiesFile().getOutputStream(); storageOutputStream.write(newText.getBytes("ISO-8859-1")); storageOutputStream.close(); }
public void testRemoveParentNode() throws BackingStoreException { assertNull(storage.toFolder()); assertNull(storage.toPropertiesFile()); Preferences subnode = pref.node("subnode"); assertNull(storage.toFolder()); assertNull(storage.toPropertiesFile()); subnode.put("key", "value"); subnode.flush(); assertNotNull(storage.toFolder()); assertNull(storage.toPropertiesFile()); subnode.removeNode(); pref.flush(); assertNull(storage.toPropertiesFile()); assertNull(storage.toFolder()); assertFalse(storage.existsNode()); }
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]); }
public void testChildrenNames() throws Exception { Preferences subnode = pref.node("c1"); subnode.put("k", "v"); subnode.flush(); subnode = pref.node("c2"); subnode.put("k", "v"); subnode.flush(); subnode = pref.node("c3/c4"); subnode.put("k", "v"); subnode.flush(); assertEquals( new TreeSet<String>(Arrays.asList("c1", "c2", "c3")), new TreeSet<String>(Arrays.asList(storage.childrenNames()))); pref.node("c2").removeNode(); assertEquals( new TreeSet<String>(Arrays.asList("c1", "c3")), new TreeSet<String>(Arrays.asList(storage.childrenNames()))); pref.node("c3").removeNode(); assertEquals( Collections.singleton("c1"), new TreeSet<String>(Arrays.asList(storage.childrenNames()))); pref.node("c1").removeNode(); assertEquals( Collections.emptySet(), new TreeSet<String>(Arrays.asList(storage.childrenNames()))); }
@RandomlyFails // FSException: Invalid lock (from flush) public void testRemoveNode() throws BackingStoreException { assertNull(storage.toFolder()); assertNull(storage.toPropertiesFile()); pref.put("key", "value"); pref.node("subnode").put("key", "value"); pref.flush(); assertNotNull(storage.toPropertiesFile()); assertNotNull(storage.toFolder()); pref.removeNode(); pref.flush(); assertNull(storage.toPropertiesFile()); assertNull(storage.toFolder()); assertFalse(storage.existsNode()); pref.sync(); }
@Override protected NbPreferences.FileStorage getInstance() { return PropertiesStorage.instanceReadOnly("/PropertiesStorageTest/" + getName()); // NOI18N); }
private String constructNewEntryText(String oldValue, String newValue) throws IOException { String currentText = storage.toPropertiesFile().asText(); String newText = currentText.replace(oldValue, newValue); return newText; }
private void overrideStorageEntryWithNewData(String newData) throws IOException { OutputStream storageOutputStream = storage.toPropertiesFile(true).getOutputStream(); storageOutputStream.write(newData.getBytes("ISO-8859-1")); storageOutputStream.close(); }
public void testNode3() throws BackingStoreException { testNode(); pref.flushTask.waitFinished(); assertNotNull(storage.toPropertiesFile()); }
public void testNode2() throws BackingStoreException { testNode(); pref.flush(); assertNotNull(storage.toPropertiesFile()); }