* Fix bug where fresh groupnode was not registered with nodemanager
when created from addNode() * Fix bug where named child node wasn't evicted when the name property was changed because we tried getNode() rather than getChildElement()
This commit is contained in:
parent
311ddd0732
commit
6b631e0f0e
1 changed files with 10 additions and 3 deletions
|
@ -847,7 +847,7 @@ public final class Node implements INode, Serializable {
|
||||||
String groupbyProp = (groupbyRel != null) ? groupbyRel.propName
|
String groupbyProp = (groupbyRel != null) ? groupbyRel.propName
|
||||||
: srel.groupby;
|
: srel.groupby;
|
||||||
String groupbyValue = node.getString(groupbyProp);
|
String groupbyValue = node.getString(groupbyProp);
|
||||||
INode groupbyNode = getNode(groupbyValue);
|
INode groupbyNode = (INode) getChildElement(groupbyValue);
|
||||||
|
|
||||||
// if group-by node doesn't exist, we'll create it
|
// if group-by node doesn't exist, we'll create it
|
||||||
if (groupbyNode == null) {
|
if (groupbyNode == null) {
|
||||||
|
@ -1167,8 +1167,15 @@ public final class Node implements INode, Serializable {
|
||||||
subnodes.add(node.getHandle());
|
subnodes.add(node.getHandle());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Set the dbmapping on the group node
|
||||||
node.setPrototype(groupbyMapping.getTypeName());
|
node.setPrototype(groupbyMapping.getTypeName());
|
||||||
nmgr.evictKey(node.getKey());
|
// If we created the group node, we register it with the
|
||||||
|
// nodemanager. Otherwise, we just evict whatever was there before
|
||||||
|
if (create) {
|
||||||
|
nmgr.registerNode(node);
|
||||||
|
} else {
|
||||||
|
nmgr.evictKey(node.getKey());
|
||||||
|
}
|
||||||
|
|
||||||
return node;
|
return node;
|
||||||
}
|
}
|
||||||
|
@ -1869,7 +1876,7 @@ public final class Node implements INode, Serializable {
|
||||||
|
|
||||||
if ((propRel != null) && (propRel.accessName != null) &&
|
if ((propRel != null) && (propRel.accessName != null) &&
|
||||||
propRel.accessName.equals(dbcolumn)) {
|
propRel.accessName.equals(dbcolumn)) {
|
||||||
INode n = parent.getNode(value);
|
INode n = (INode) parent.getChildElement(value);
|
||||||
|
|
||||||
if ((n != null) && (n != this)) {
|
if ((n != null) && (n != this)) {
|
||||||
parent.unset(value);
|
parent.unset(value);
|
||||||
|
|
Loading…
Add table
Reference in a new issue