OldPreferencesTest.java revision 80c9f71990a6655b7b2b43dc1946487e917f0f9d
180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson/* Licensed to the Apache Software Foundation (ASF) under one or more 280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson * contributor license agreements. See the NOTICE file distributed with 380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson * this work for additional information regarding copyright ownership. 480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson * The ASF licenses this file to You under the Apache License, Version 2.0 580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson * (the "License"); you may not use this file except in compliance with 680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson * the License. You may obtain a copy of the License at 780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson * 880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson * http://www.apache.org/licenses/LICENSE-2.0 980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson * 1080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson * Unless required by applicable law or agreed to in writing, software 1180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson * distributed under the License is distributed on an "AS IS" BASIS, 1280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson * See the License for the specific language governing permissions and 1480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson * limitations under the License. 1580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson */ 1680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 1780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilsonpackage libcore.java.util.prefs; 1880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 1980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilsonimport java.io.IOException; 2080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilsonimport java.io.InputStream; 2180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilsonimport java.io.OutputStream; 2280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilsonimport java.util.Arrays; 2380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilsonimport java.util.prefs.BackingStoreException; 2480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilsonimport java.util.prefs.NodeChangeEvent; 2580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilsonimport java.util.prefs.NodeChangeListener; 2680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilsonimport java.util.prefs.PreferenceChangeEvent; 2780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilsonimport java.util.prefs.PreferenceChangeListener; 2880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilsonimport java.util.prefs.Preferences; 2980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilsonimport junit.framework.TestCase; 3080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 3180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilsonpublic final class OldPreferencesTest extends TestCase { 3280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 3380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson final static String longKey; 3480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson final static String longValue; 3580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 3680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson static { 3780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson StringBuffer key = new StringBuffer(Preferences.MAX_KEY_LENGTH); 3880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson for (int i = 0; i < Preferences.MAX_KEY_LENGTH; i++) { 3980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson key.append('a'); 4080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 4180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson longKey = key.toString(); 4280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 4380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson StringBuffer value = new StringBuffer(Preferences.MAX_VALUE_LENGTH); 4480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson for (int i = 0; i < Preferences.MAX_VALUE_LENGTH; i++) { 4580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson value.append('a'); 4680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 4780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson longValue = value.toString(); 4880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 4980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 5080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testAbstractMethods() { 5180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences p = new MockPreferences(); 5280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.absolutePath(); 5380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 5480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.childrenNames(); 5580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (BackingStoreException e4) { 5680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 5780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 5880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.clear(); 5980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (BackingStoreException e5) { 6080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 6180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 6280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.exportNode(null); 6380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IOException e6) { 6480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (BackingStoreException e6) { 6580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 6680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 6780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.exportSubtree(null); 6880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IOException e7) { 6980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (BackingStoreException e7) { 7080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 7180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 7280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.flush(); 7380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (BackingStoreException e8) { 7480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 7580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.get(null, null); 7680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.getBoolean(null, false); 7780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.getByteArray(null, null); 7880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.getFloat(null, 0.1f); 7980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.getDouble(null, 0.1); 8080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.getInt(null, 1); 8180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.getLong(null, 1l); 8280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.isUserNode(); 8380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 8480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.keys(); 8580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (BackingStoreException e) { 8680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 8780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.name(); 8880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.node(null); 8980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 9080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.nodeExists(null); 9180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (BackingStoreException e1) { 9280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 9380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.parent(); 9480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.put(null, null); 9580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.putBoolean(null, false); 9680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.putByteArray(null, null); 9780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.putDouble(null, 1); 9880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.putFloat(null, 1f); 9980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.putInt(null, 1); 10080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.putLong(null, 1l); 10180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.remove(null); 10280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 10380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.removeNode(); 10480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (BackingStoreException e2) { 10580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 10680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.addNodeChangeListener(null); 10780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.addPreferenceChangeListener(null); 10880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.removeNodeChangeListener(null); 10980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.removePreferenceChangeListener(null); 11080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 11180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.sync(); 11280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (BackingStoreException e3) { 11380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 11480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson p.toString(); 11580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 11680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 11780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testConstructor() { 11880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson MockPreferences mp = new MockPreferences(); 11980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(mp.getClass(), MockPreferences.class); 12080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 12180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 12280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testToString() { 12380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences p1 = Preferences.userNodeForPackage(Preferences.class); 12480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertNotNull(p1.toString()); 12580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 12680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences p2 = Preferences.systemRoot(); 12780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertNotNull(p2.toString()); 12880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 12980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences p3 = Preferences.userRoot(); 13080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertNotNull(p3.toString()); 13180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 13280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 13380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testAbsolutePath() { 13480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences p = Preferences.userNodeForPackage(Preferences.class); 13580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("/java/util/prefs", p.absolutePath()); 13680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 13780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 13880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 13980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testChildrenNames() throws BackingStoreException { 14080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences.userNodeForPackage(Preferences.class); 14180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 14280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences child1 = pref.node("child1"); 14380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 14480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.node("child2"); 14580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.node("child3"); 14680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child1.node("subchild1"); 14780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 14880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertSame(pref, child1.parent()); 14980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(3, pref.childrenNames().length); 15080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("child1", pref.childrenNames()[0]); 15180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(1, child1.childrenNames().length); 15280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("subchild1", child1.childrenNames()[0]); 15380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 15480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 15580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testClear() throws BackingStoreException { 15680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences.userNodeForPackage(Preferences.class); 15780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testClearKey", "testClearValue"); 15880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testClearKey1", "testClearValue1"); 15980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("testClearValue", pref.get("testClearKey", null)); 16080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("testClearValue1", pref.get("testClearKey1", null)); 16180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.clear(); 16280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertNull(pref.get("testClearKey", null)); 16380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertNull(pref.get("testClearKey1", null)); 16480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 16580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 16680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testGet() throws BackingStoreException { 16780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences root = Preferences.userNodeForPackage(Preferences.class); 16880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = root.node("mock"); 16980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertNull(pref.get("", null)); 17080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("default", pref.get("key", "default")); 17180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertNull(pref.get("key", null)); 17280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testGetkey", "value"); 17380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertNull(pref.get("testGetKey", null)); 17480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("value", pref.get("testGetkey", null)); 17580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 17680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 17780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.get(null, "abc"); 17880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 17980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 18080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 18180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.get("", "abc"); 18280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.get("key", null); 18380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.get("key", ""); 18480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putFloat("floatKey", 1.0f); 18580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("1.0", pref.get("floatKey", null)); 18680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 18780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removeNode(); 18880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 18980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.get("key", "abc"); 19080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 19180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalStateException e) { 19280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 19380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 19480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.get(null, "abc"); 19580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 19680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 19780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 19880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 19980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 20080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testGetBoolean() { 20180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences.userNodeForPackage(Preferences.class); 20280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 20380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.getBoolean(null, false); 20480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 20580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 20680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 20780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 20880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testGetBooleanKey", "false"); 20980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testGetBooleanKey2", "value"); 21080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertFalse(pref.getBoolean("testGetBooleanKey", true)); 21180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertTrue(pref.getBoolean("testGetBooleanKey2", true)); 21280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 21380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 21480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testGetByteArray() { 21580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences.userNodeForPackage(Preferences.class); 21680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 21780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.getByteArray(null, new byte[0]); 21880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 21980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 22080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 22180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson byte[] b64Array = new byte[] { 0x59, 0x57, 0x4a, 0x6a };// BASE64 22280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 22380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testGetByteArrayKey", "abc="); 22480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testGetByteArrayKey2", new String(b64Array)); 22580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("invalidKey", "<>?"); 22680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertTrue(Arrays.equals(new byte[] { 105, -73 }, pref.getByteArray( 22780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson "testGetByteArrayKey", new byte[0]))); 22880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertTrue(Arrays.equals(new byte[] { 'a', 'b', 'c' }, pref 22980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson .getByteArray("testGetByteArrayKey2", new byte[0]))); 23080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertTrue(Arrays.equals(new byte[0], pref.getByteArray("invalidKey", 23180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson new byte[0]))); 23280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 23380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putByteArray("testGetByteArrayKey3", b64Array); 23480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putByteArray("testGetByteArrayKey4", "abc".getBytes()); 23580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertTrue(Arrays.equals(b64Array, pref.getByteArray( 23680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson "testGetByteArrayKey3", new byte[0]))); 23780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertTrue(Arrays.equals("abc".getBytes(), pref.getByteArray( 23880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson "testGetByteArrayKey4", new byte[0]))); 23980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 24080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 24180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testGetDouble() { 24280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences.userNodeForPackage(Preferences.class); 24380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 24480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.getDouble(null, 0); 24580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 24680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 24780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 24880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 24980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testGetDoubleKey", "1"); 25080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testGetDoubleKey2", "value"); 25180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putDouble("testGetDoubleKey3", 1); 25280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putInt("testGetDoubleKey4", 1); 25380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(1.0, pref.getDouble("testGetDoubleKey", 0.0), 0); 25480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(0.0, pref.getDouble("testGetDoubleKey2", 0.0), 0); 25580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(1.0, pref.getDouble("testGetDoubleKey3", 0.0), 0); 25680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(1.0, pref.getDouble("testGetDoubleKey4", 0.0), 0); 25780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 25880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 25980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testGetFloat() { 26080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences.userNodeForPackage(Preferences.class); 26180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 26280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.getFloat(null, 0f); 26380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 26480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 26580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 26680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testGetFloatKey", "1"); 26780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testGetFloatKey2", "value"); 26880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(1f, pref.getFloat("testGetFloatKey", 0f), 0); 26980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(0f, pref.getFloat("testGetFloatKey2", 0f), 0); 27080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 27180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 27280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testGetInt() { 27380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences.userNodeForPackage(Preferences.class); 27480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 27580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.getInt(null, 0); 27680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 27780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 27880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 27980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 28080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testGetIntKey", "1"); 28180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testGetIntKey2", "value"); 28280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(1, pref.getInt("testGetIntKey", 0)); 28380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(0, pref.getInt("testGetIntKey2", 0)); 28480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 28580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 28680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testGetLong() { 28780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences.userNodeForPackage(Preferences.class); 28880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 28980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.getLong(null, 0); 29080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 29180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 29280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 29380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 29480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testGetLongKey", "1"); 29580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testGetLongKey2", "value"); 29680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(1, pref.getInt("testGetLongKey", 0)); 29780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(0, pref.getInt("testGetLongKey2", 0)); 29880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 29980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 30080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testIsUserNode() { 30180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref1 = Preferences.userNodeForPackage(Preferences.class); 30280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertTrue(pref1.isUserNode()); 30380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 30480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref2 = Preferences.systemNodeForPackage(Preferences.class); 30580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertFalse(pref2.isUserNode()); 30680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 30780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 30880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testKeys() throws BackingStoreException { 30980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences.userNodeForPackage(Preferences.class); 31080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.clear(); 31180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 31280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("key0", "value"); 31380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("key1", "value1"); 31480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("key2", "value2"); 31580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("key3", "value3"); 31680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 31780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson String[] keys = pref.keys(); 31880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(4, keys.length); 31980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson for (int i = 0; i < keys.length; i++) { 32080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(0, keys[i].indexOf("key")); 32180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(4, keys[i].length()); 32280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 32380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 32480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 32580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testName() { 32680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences.userNodeForPackage(Preferences.class); 32780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences child = pref.node("mock"); 32880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("mock", child.name()); 32980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 33080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 33180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testNode() throws BackingStoreException { 33280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson StringBuffer name = new StringBuffer(Preferences.MAX_NAME_LENGTH); 33380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson for (int i = 0; i < Preferences.MAX_NAME_LENGTH; i++) { 33480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson name.append('a'); 33580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 33680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson String longName = name.toString(); 33780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 33880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences root = Preferences.userRoot(); 33980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences parent = Preferences 34080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson .userNodeForPackage(Preferences.class); 34180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = parent.node("mock"); 34280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 34380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 34480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.node(null); 34580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 34680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 34780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 34880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 34980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.node("/java/util/prefs/"); 35080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 35180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 35280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 35380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 35480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.node("/java//util/prefs"); 35580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 35680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 35780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 35880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 35980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.node(longName + "a"); 36080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 36180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 36280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 36380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertNotNull(pref.node(longName)); 36480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 36580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertSame(root, pref.node("/")); 36680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 36780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences prefs = pref.node("/java/util/prefs"); 36880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertSame(prefs, parent); 36980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 37080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertSame(pref, pref.node("")); 37180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 37280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 37380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testNodeExists() throws BackingStoreException { 37480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 37580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences parent = Preferences 37680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson .userNodeForPackage(Preferences.class); 37780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = parent.node("mock"); 37880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 37980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 38080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.nodeExists(null); 38180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 38280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 38380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 38480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 38580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.nodeExists("/java/util/prefs/"); 38680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 38780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 38880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 38980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 39080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.nodeExists("/java//util/prefs"); 39180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 39280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 39380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 39480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 39580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertTrue(pref.nodeExists("/")); 39680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 39780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertTrue(pref.nodeExists("/java/util/prefs")); 39880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 39980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertTrue(pref.nodeExists("")); 40080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 40180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertFalse(pref.nodeExists("child")); 40280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences grandchild = pref.node("child/grandchild"); 40380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertTrue(pref.nodeExists("child")); 40480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertTrue(pref.nodeExists("child/grandchild")); 40580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson grandchild.removeNode(); 40680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertTrue(pref.nodeExists("child")); 40780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertFalse(pref.nodeExists("child/grandchild")); 40880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertFalse(grandchild.nodeExists("")); 40980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 41080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertFalse(pref.nodeExists("child2/grandchild")); 41180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.node("child2/grandchild"); 41280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertTrue(pref.nodeExists("child2/grandchild")); 41380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 41480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 41580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testParent() { 41680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences parent = Preferences 41780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson .userNodeForPackage(Preferences.class); 41880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = parent.node("mock"); 41980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 42080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertSame(parent, pref.parent()); 42180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 42280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 42380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testPut() throws BackingStoreException { 42480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences 42580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson .userNodeForPackage(Preferences.class); 42680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("", "emptyvalue"); 42780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("emptyvalue", pref.get("", null)); 42880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testPutkey", "value1"); 42980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("value1", pref.get("testPutkey", null)); 43080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("testPutkey", "value2"); 43180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("value2", pref.get("testPutkey", null)); 43280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 43380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("", "emptyvalue"); 43480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("emptyvalue", pref.get("", null)); 43580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 43680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 43780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put(null, "value"); 43880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 43980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 44080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 44180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 44280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("key", null); 44380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 44480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 44580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 44680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put(longKey, longValue); 44780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 44880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put(longKey + 1, longValue); 44980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 45080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 45180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 45280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 45380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put(longKey, longValue + 1); 45480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 45580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 45680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 45780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 45880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removeNode(); 45980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 46080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put(longKey, longValue + 1); 46180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 46280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 46380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 46480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 46580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 46680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put(longKey, longValue); 46780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 46880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalStateException e) { 46980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 47080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 47180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 47280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testPutBoolean() { 47380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences 47480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson .userNodeForPackage(Preferences.class); 47580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 47680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putBoolean(null, false); 47780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 47880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 47980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 48080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putBoolean(longKey, false); 48180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 48280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putBoolean(longKey + "a", false); 48380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 48480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 48580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 48680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putBoolean("testPutBooleanKey", false); 48780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("false", pref.get("testPutBooleanKey", null)); 48880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertFalse(pref.getBoolean("testPutBooleanKey", true)); 48980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 49080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 49180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testPutDouble() { 49280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences 49380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson .userNodeForPackage(Preferences.class); 49480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 49580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putDouble(null, 3); 49680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 49780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 49880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 49980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putDouble(longKey, 3); 50080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 50180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putDouble(longKey + "a", 3); 50280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 50380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 50480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 50580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putDouble("testPutDoubleKey", 3); 50680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("3.0", pref.get("testPutDoubleKey", null)); 50780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(3, pref.getDouble("testPutDoubleKey", 0), 0); 50880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 50980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 51080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testPutFloat() { 51180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences 51280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson .userNodeForPackage(Preferences.class); 51380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 51480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putFloat(null, 3f); 51580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 51680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 51780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 51880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putFloat(longKey, 3f); 51980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 52080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putFloat(longKey + "a", 3f); 52180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 52280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 52380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 52480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putFloat("testPutFloatKey", 3f); 52580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("3.0", pref.get("testPutFloatKey", null)); 52680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(3f, pref.getFloat("testPutFloatKey", 0), 0); 52780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 52880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 52980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testPutInt() { 53080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences 53180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson .userNodeForPackage(Preferences.class); 53280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 53380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putInt(null, 3); 53480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 53580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 53680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 53780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putInt(longKey, 3); 53880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 53980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putInt(longKey + "a", 3); 54080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 54180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 54280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 54380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putInt("testPutIntKey", 3); 54480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("3", pref.get("testPutIntKey", null)); 54580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(3, pref.getInt("testPutIntKey", 0)); 54680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 54780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 54880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testPutLong() { 54980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences 55080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson .userNodeForPackage(Preferences.class); 55180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 55280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putLong(null, 3L); 55380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 55480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 55580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 55680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putLong(longKey, 3L); 55780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 55880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putLong(longKey + "a", 3L); 55980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 56080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 56180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 56280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putLong("testPutLongKey", 3L); 56380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("3", pref.get("testPutLongKey", null)); 56480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(3L, pref.getLong("testPutLongKey", 0)); 56580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 56680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 56780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testPutByteArray() { 56880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences 56980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson .userNodeForPackage(Preferences.class); 57080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 57180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putByteArray(null, new byte[0]); 57280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 57380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 57480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 57580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 57680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putByteArray("testPutByteArrayKey4", null); 57780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 57880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 57980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 58080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 58180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putByteArray(longKey, new byte[0]); 58280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 58380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putByteArray(longKey + "a", new byte[0]); 58480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 58580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 58680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 58780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson byte[] longArray = new byte[(int) (Preferences.MAX_VALUE_LENGTH * 0.74)]; 58880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson byte[] longerArray = new byte[(int) (Preferences.MAX_VALUE_LENGTH * 0.75) + 1]; 58980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putByteArray(longKey, longArray); 59080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 59180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putByteArray(longKey, longerArray); 59280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 59380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 59480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 59580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 59680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putByteArray("testPutByteArrayKey", new byte[0]); 59780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("", pref.get("testPutByteArrayKey", null)); 59880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertTrue(Arrays.equals(new byte[0], pref.getByteArray( 59980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson "testPutByteArrayKey", null))); 60080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 60180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putByteArray("testPutByteArrayKey3", new byte[] { 'a', 'b', 'c' }); 60280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("YWJj", pref.get("testPutByteArrayKey3", null)); 60380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertTrue(Arrays.equals(new byte[] { 'a', 'b', 'c' }, pref 60480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson .getByteArray("testPutByteArrayKey3", null))); 60580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 60680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 60780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testRemove() throws BackingStoreException { 60880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences 60980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson .userNodeForPackage(Preferences.class); 61080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.remove("key"); 61180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 61280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.put("key", "value"); 61380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals("value", pref.get("key", null)); 61480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.remove("key"); 61580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertNull(pref.get("key", null)); 61680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 61780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.remove("key"); 61880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 61980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 62080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.remove(null); 62180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 62280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 62380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 62480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 62580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removeNode(); 62680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 62780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.remove("key"); 62880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 62980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalStateException e) { 63080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 63180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 63280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 63380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testRemoveNode() throws BackingStoreException { 63480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences 63580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson .userNodeForPackage(Preferences.class); 63680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences child = pref.node("child"); 63780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences child1 = pref.node("child1"); 63880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences grandchild = child.node("grandchild"); 63980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 64080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removeNode(); 64180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 64280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertFalse(child.nodeExists("")); 64380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertFalse(child1.nodeExists("")); 64480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertFalse(grandchild.nodeExists("")); 64580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertFalse(pref.nodeExists("")); 64680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 64780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 64880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testAddNodeChangeListener() throws BackingStoreException { 64980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences.userNodeForPackage(Preferences.class); 65080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 65180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addNodeChangeListener(null); 65280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 65380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 65480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 65580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 65680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences child1 = null; 65780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences child2 = null; 65880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences child3 = null; 65980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 66080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson MockNodeChangeListener nl = null; 66180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson // To get existed node doesn't create the change event 66280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 66380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl = new MockNodeChangeListener(); 66480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addNodeChangeListener(nl); 66580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child1 = pref.node("mock1"); 66680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.waitForEvent(); 66780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(1, nl.getAdded()); 66880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.reset(); 66980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child2 = pref.node("mock1"); 67080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.waitForEvent(); 67180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(0, nl.getAdded()); 67280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.reset(); 67380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } finally { 67480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removeNodeChangeListener(nl); 67580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child1.removeNode(); 67680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 67780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson // same listener can be added twice, and must be removed twice 67880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 67980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl = new MockNodeChangeListener(); 68080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addNodeChangeListener(nl); 68180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addNodeChangeListener(nl); 68280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child1 = pref.node("mock2"); 68380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.waitForEvent(); 68480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(2, nl.getAdded()); 68580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.reset(); 68680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } finally { 68780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removeNodeChangeListener(nl); 68880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removeNodeChangeListener(nl); 68980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child1.removeNode(); 69080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 69180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson // test remove event 69280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 69380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl = new MockNodeChangeListener(); 69480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addNodeChangeListener(nl); 69580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child1 = pref.node("mock3"); 69680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child1.removeNode(); 69780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.waitForEvent(); 69880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(1, nl.getRemoved()); 69980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.reset(); 70080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } finally { 70180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removeNodeChangeListener(nl); 70280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 70380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson // test remove event with two listeners 70480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 70580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl = new MockNodeChangeListener(); 70680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addNodeChangeListener(nl); 70780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addNodeChangeListener(nl); 70880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child1 = pref.node("mock6"); 70980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child1.removeNode(); 71080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.waitForEvent(); 71180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(2, nl.getRemoved()); 71280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.reset(); 71380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } finally { 71480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removeNodeChangeListener(nl); 71580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removeNodeChangeListener(nl); 71680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 71780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson // test add/remove indirect children, or remove several children at the 71880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson // same time 71980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 72080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl = new MockNodeChangeListener(); 72180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child1 = pref.node("mock4"); 72280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child1.addNodeChangeListener(nl); 72380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child2 = pref.node("mock4/mock5"); 72480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.waitForEvent(); 72580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(1, nl.getAdded()); 72680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.reset(); 72780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child3 = pref.node("mock4/mock5/mock6"); 72880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.waitForEvent(); 72980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(0, nl.getAdded()); 73080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.reset(); 73180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 73280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child3.removeNode(); 73380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.waitForEvent(); 73480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(0, nl.getRemoved()); 73580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.reset(); 73680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 73780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child3 = pref.node("mock4/mock7"); 73880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.waitForEvent(); 73980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(1, nl.getAdded()); 74080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.reset(); 74180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 74280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child1.removeNode(); 74380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.waitForEvent(); 74480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(2, nl.getRemoved()); // fail 1 74580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson nl.reset(); 74680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } finally { 74780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 74880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson child1.removeNode(); 74980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (Exception e) { 75080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 75180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 75280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 75380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 75480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 75580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testAddPreferenceChangeListener() { 75680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences.userNodeForPackage(Preferences.class); 75780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson MockPreferenceChangeListener pl = null; 75880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 75980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 76080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addPreferenceChangeListener(null); 76180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 76280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (NullPointerException e) { 76380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 76480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 76580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson // To get existed node doesn't create the change event 76680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 76780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl = new MockPreferenceChangeListener(); 76880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addPreferenceChangeListener(pl); 76980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putInt("mock1", 123); 77080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl.waitForEvent(1); 77180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(1, pl.getChanged()); 77280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putLong("long_key", Long.MAX_VALUE); 77380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl.waitForEvent(2); 77480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(2, pl.getChanged()); 77580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl.reset(); 77680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 77780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.clear(); 77880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl.waitForEvent(2); 77980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(2, pl.getChanged()); // fail 1 78080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch(BackingStoreException bse) { 78180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl.reset(); 78280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail("BackingStoreException is thrown"); 78380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 78480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl.reset(); 78580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } finally { 78680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removePreferenceChangeListener(pl); 78780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson //child1.removeNode(); 78880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 78980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 79080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson // same listener can be added twice, and must be removed twice 79180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 79280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl = new MockPreferenceChangeListener(); 79380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addPreferenceChangeListener(pl); 79480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addPreferenceChangeListener(pl); 79580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putFloat("float_key", Float.MIN_VALUE); 79680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl.waitForEvent(2); 79780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(2, pl.getChanged()); 79880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl.reset(); 79980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } finally { 80080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removePreferenceChangeListener(pl); 80180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removePreferenceChangeListener(pl); 80280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 80380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 80480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson // test remove event 80580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 80680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl = new MockPreferenceChangeListener(); 80780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addPreferenceChangeListener(pl); 80880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putDouble("double_key", Double.MAX_VALUE); 80980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl.waitForEvent(1); 81080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(1, pl.getChanged()); 81180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 81280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.clear(); 81380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl.waitForEvent(3); 81480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(3, pl.getChanged()); // fails 81580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch(BackingStoreException bse) { 81680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail("BackingStoreException is thrown"); 81780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 81880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl.reset(); 81980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } finally { 82080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removePreferenceChangeListener(pl); 82180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 82280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson // test remove event with two listeners 82380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 82480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl = new MockPreferenceChangeListener(); 82580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addPreferenceChangeListener(pl); 82680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addPreferenceChangeListener(pl); 82780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.putByteArray("byte_array_key", new byte [] {1 ,2 , 3}); 82880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 82980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.clear(); 83080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl.waitForEvent(4); 83180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson assertEquals(4, pl.getChanged()); 83280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch(BackingStoreException bse) { 83380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail("BackingStoreException is thrown"); 83480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 83580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pl.reset(); 83680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } finally { 83780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removePreferenceChangeListener(pl); 83880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removePreferenceChangeListener(pl); 83980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 84080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 84180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 84280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 84380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testRemoveNodeChangeListener() { 84480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences.userNodeForPackage(Preferences.class); 84580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 84680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removeNodeChangeListener(null); 84780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 84880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 84980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 85080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson MockNodeChangeListener l1 = new MockNodeChangeListener(); 85180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson MockNodeChangeListener l2 = new MockNodeChangeListener(); 85280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addNodeChangeListener(l1); 85380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addNodeChangeListener(l1); 85480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 85580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removeNodeChangeListener(l1); 85680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removeNodeChangeListener(l1); 85780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 85880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removeNodeChangeListener(l1); 85980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 86080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 86180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 86280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 86380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removeNodeChangeListener(l2); 86480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 86580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 86680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 86780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 86880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 86980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void testRemovePreferenceChangeListener() { 87080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson Preferences pref = Preferences.userNodeForPackage(Preferences.class); 87180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 87280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removePreferenceChangeListener(null); 87380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 87480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 87580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 87680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson MockPreferenceChangeListener l1 = new MockPreferenceChangeListener(); 87780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson MockPreferenceChangeListener l2 = new MockPreferenceChangeListener(); 87880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addPreferenceChangeListener(l1); 87980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.addPreferenceChangeListener(l1); 88080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 88180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removePreferenceChangeListener(l2); 88280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 88380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 88480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 88580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removePreferenceChangeListener(l1); 88680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removePreferenceChangeListener(l1); 88780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 88880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson pref.removePreferenceChangeListener(l1); 88980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson fail(); 89080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (IllegalArgumentException e) { 89180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 89280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 89380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 89480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 89580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson static class MockInputStream extends InputStream { 89680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 89780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson static final int normal = 0; 89880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 89980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson static final int exception = 1; 90080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 90180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson static final int runtimeException = 2; 90280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 90380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson int result = normal; 90480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 90580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson InputStream wrapper; 90680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 90780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void setResult(int i) { 90880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson result = i; 90980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 91080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 91180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson private void checkException() throws IOException { 91280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson switch (result) { 91380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson case normal: 91480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return; 91580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson case exception: 91680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson throw new IOException("test"); 91780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson case runtimeException: 91880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson throw new RuntimeException("test"); 91980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 92080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 92180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 92280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public MockInputStream(InputStream in) { 92380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson wrapper = in; 92480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 92580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 92680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 92780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public int read() throws IOException { 92880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson checkException(); 92980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return wrapper.read(); 93080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 93180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 93280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 93380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson static class MockNodeChangeListener implements NodeChangeListener { 93480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson private int added = 0; 93580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson private int removed = 0; 93680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 93780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public synchronized void waitForEvent() { 93880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 93980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson wait(500); 94080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (InterruptedException ignored) { 94180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 94280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 94380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 94480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public synchronized void childAdded(NodeChangeEvent e) { 94580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson ++added; 94680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson notifyAll(); 94780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 94880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 94980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public synchronized void childRemoved(NodeChangeEvent e) { 95080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson removed++; 95180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson notifyAll(); 95280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 95380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 95480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public synchronized int getAdded() { 95580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return added; 95680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 95780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 95880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public synchronized int getRemoved() { 95980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return removed; 96080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 96180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 96280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void reset() { 96380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson added = 0; 96480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson removed = 0; 96580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 96680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 96780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 96880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson private static class MockPreferenceChangeListener implements PreferenceChangeListener { 96980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson private int changed = 0; 97080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson private boolean addDispatched = false; 97180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson private boolean result = false; 97280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 97380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void waitForEvent(int count) { 97480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson for (int i = 0; i < count; i++) { 97580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 97680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson synchronized (this) { 97780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson this.wait(500); 97880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 97980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (InterruptedException ignored) { 98080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 98180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 98280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 98380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 98480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public synchronized void preferenceChange(PreferenceChangeEvent pce) { 98580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson changed++; 98680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson addDispatched = true; 98780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson notifyAll(); 98880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 98980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 99080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public boolean getResult() { 99180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson if (!addDispatched) { 99280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 99380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson // TODO: don't know why must add limitation 99480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson this.wait(100); 99580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (InterruptedException e) { 99680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson e.printStackTrace(); 99780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 99880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 99980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson addDispatched = false; 100080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return result; 100180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 100280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 100380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public synchronized int getChanged() { 100480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson if (!addDispatched) { 100580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson try { 100680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson // TODO: don't know why must add limitation 100780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson this.wait(1000); 100880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } catch (InterruptedException e) { 100980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson e.printStackTrace(); 101080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 101180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 101280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson addDispatched = false; 101380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return changed; 101480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 101580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 101680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void reset() { 101780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson changed = 0; 101880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson result = false; 101980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 102080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 102180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 102280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @SuppressWarnings("unused") 102380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson static class MockPreferences extends Preferences { 102480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 102580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 102680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public String absolutePath() { 102780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return null; 102880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 102980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 103080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 103180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public String[] childrenNames() throws BackingStoreException { 103280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return null; 103380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 103480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 103580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 103680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void clear() throws BackingStoreException { 103780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 103880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 103980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 104080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void exportNode(OutputStream ostream) throws IOException, BackingStoreException { 104180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 104280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 104380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 104480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void exportSubtree(OutputStream ostream) throws IOException, BackingStoreException { 104580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 104680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 104780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 104880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void flush() throws BackingStoreException { 104980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 105080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 105180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 105280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public String get(String key, String deflt) { 105380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return null; 105480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 105580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 105680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 105780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public boolean getBoolean(String key, boolean deflt) { 105880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return false; 105980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 106080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 106180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 106280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public byte[] getByteArray(String key, byte[] deflt) { 106380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return null; 106480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 106580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 106680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 106780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public double getDouble(String key, double deflt) { 106880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return 0; 106980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 107080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 107180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 107280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public float getFloat(String key, float deflt) { 107380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return 0; 107480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 107580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 107680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 107780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public int getInt(String key, int deflt) { 107880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return 0; 107980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 108080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 108180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 108280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public long getLong(String key, long deflt) { 108380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return 0; 108480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 108580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 108680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 108780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public boolean isUserNode() { 108880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return false; 108980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 109080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 109180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 109280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public String[] keys() throws BackingStoreException { 109380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return null; 109480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 109580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 109680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 109780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public String name() { 109880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return null; 109980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 110080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 110180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 110280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public Preferences node(String name) { 110380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return null; 110480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 110580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 110680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 110780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public boolean nodeExists(String name) throws BackingStoreException { 110880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return false; 110980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 111080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 111180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 111280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public Preferences parent() { 111380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return null; 111480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 111580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 111680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 111780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void put(String key, String value) { 111880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 111980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 112080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 112180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void putBoolean(String key, boolean value) { 112280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 112380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 112480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 112580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void putByteArray(String key, byte[] value) { 112680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 112780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 112880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 112980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void putDouble(String key, double value) { 113080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 113180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 113280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 113380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void putFloat(String key, float value) { 113480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 113580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 113680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 113780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void putInt(String key, int value) { 113880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 113980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 114080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 114180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void putLong(String key, long value) { 114280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 114380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 114480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 114580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void remove(String key) { 114680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 114780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 114880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 114980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void removeNode() throws BackingStoreException { 115080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 115180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 115280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 115380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void addNodeChangeListener(NodeChangeListener ncl) { 115480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 115580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 115680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 115780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void addPreferenceChangeListener(PreferenceChangeListener pcl) { 115880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 115980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 116080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 116180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void removeNodeChangeListener(NodeChangeListener ncl) { 116280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 116380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 116480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 116580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void removePreferenceChangeListener(PreferenceChangeListener pcl) { 116680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 116780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 116880c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 116980c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public void sync() throws BackingStoreException { 117080c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 117180c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson 117280c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson @Override 117380c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson public String toString() { 117480c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson return null; 117580c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 117680c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson } 117780c9f71990a6655b7b2b43dc1946487e917f0f9dJesse Wilson} 1178