Preferences : AddNodeChangeListener fails on win jdk1.4 build48
Test program passes on Solaris and Fails on Windows.
----------------------------Test.java--------------------------
import java.util.prefs.*;
import java.util.*;
public class Test {
private static final int TOTALNODE = 1;
public static void main(String[] args) throws Exception {
try {
Preferences userRoot = Preferences.userRoot();
Preferences N1 = userRoot.node("N1");
NodeChangeListenerTestAdd ncl = new NodeChangeListenerTestAdd();
//addNodeChangeListener
N1.addNodeChangeListener(ncl);
String startNodeName = "TNCL";
Preferences [] addPreference = new Preferences[TOTALNODE];
//add nodes and check for nodechange listener for node added
for(int i = 0; i <TOTALNODE; i++) {
String newNodeName = startNodeName + Integer.toString(i);
Preferences newNode = N1.node(newNodeName);
addPreference[i] = newNode;
}
//check for the nodes added count
int nodeAddedCount = ncl.getNodeAddedCount();
System.out.println("nodeAddedCount = " + nodeAddedCount);
if (nodeAddedCount != TOTALNODE) {
throw new Exception("nodeAddedCount != TOTALNODE is not ok in AddNodeChangeListenerTest01()");
}
System.out.println("AddNodeChangeListenerTest01() Pass");
} catch(BackingStoreException bse) {
System.out.println("BackingStoreException thrown = " + bse);
System.out.println("AddNodeChangeListenerTest01() Fail");
bse.printStackTrace();
} catch (Exception e) {
System.out.println("Exception thrown = " + e);
System.out.println("AddNodeChangeListenerTest01() Fail");
e.printStackTrace();
}
}
}
class NodeChangeListenerTestAdd implements NodeChangeListener {
private Preferences nodeAdded = null;
private Preferences parentNode = null;
private Preferences nodeRemoved = null;
private int nodeAddedCount = 0;
private int nodeRemovedCount = 0;
public void childAdded(NodeChangeEvent evt) {
nodeAdded = evt.getChild();
parentNode = evt.getParent();
nodeAddedCount++;
}
public Preferences getNodeAdded() {
return nodeAdded;
}
public Preferences getParentNode() {
return parentNode;
}
public int getNodeAddedCount(){
return nodeAddedCount;
}
public void childRemoved(NodeChangeEvent evt) {
nodeRemoved = evt.getChild();
nodeRemovedCount++;
}
public Preferences getNodeRemoved() {
return nodeRemoved;
}
public int getNodeRemoveCount(){
return nodeRemovedCount;
}
}
Test program passes on Solaris and Fails on Windows.
----------------------------Test.java--------------------------
import java.util.prefs.*;
import java.util.*;
public class Test {
private static final int TOTALNODE = 1;
public static void main(String[] args) throws Exception {
try {
Preferences userRoot = Preferences.userRoot();
Preferences N1 = userRoot.node("N1");
NodeChangeListenerTestAdd ncl = new NodeChangeListenerTestAdd();
//addNodeChangeListener
N1.addNodeChangeListener(ncl);
String startNodeName = "TNCL";
Preferences [] addPreference = new Preferences[TOTALNODE];
//add nodes and check for nodechange listener for node added
for(int i = 0; i <TOTALNODE; i++) {
String newNodeName = startNodeName + Integer.toString(i);
Preferences newNode = N1.node(newNodeName);
addPreference[i] = newNode;
}
//check for the nodes added count
int nodeAddedCount = ncl.getNodeAddedCount();
System.out.println("nodeAddedCount = " + nodeAddedCount);
if (nodeAddedCount != TOTALNODE) {
throw new Exception("nodeAddedCount != TOTALNODE is not ok in AddNodeChangeListenerTest01()");
}
System.out.println("AddNodeChangeListenerTest01() Pass");
} catch(BackingStoreException bse) {
System.out.println("BackingStoreException thrown = " + bse);
System.out.println("AddNodeChangeListenerTest01() Fail");
bse.printStackTrace();
} catch (Exception e) {
System.out.println("Exception thrown = " + e);
System.out.println("AddNodeChangeListenerTest01() Fail");
e.printStackTrace();
}
}
}
class NodeChangeListenerTestAdd implements NodeChangeListener {
private Preferences nodeAdded = null;
private Preferences parentNode = null;
private Preferences nodeRemoved = null;
private int nodeAddedCount = 0;
private int nodeRemovedCount = 0;
public void childAdded(NodeChangeEvent evt) {
nodeAdded = evt.getChild();
parentNode = evt.getParent();
nodeAddedCount++;
}
public Preferences getNodeAdded() {
return nodeAdded;
}
public Preferences getParentNode() {
return parentNode;
}
public int getNodeAddedCount(){
return nodeAddedCount;
}
public void childRemoved(NodeChangeEvent evt) {
nodeRemoved = evt.getChild();
nodeRemovedCount++;
}
public Preferences getNodeRemoved() {
return nodeRemoved;
}
public int getNodeRemoveCount(){
return nodeRemovedCount;
}
}
- duplicates
-
JDK-4407788 Preferences :PreferenceChangeListener behaviour differ on solaris/win jdk1.4b48
-
- Closed
-