Author: michiel
Date: 2010-03-23 11:32:27 +0100 (Tue, 23 Mar 2010)
New Revision: 41569
Modified:
mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/bridge/implementation/BasicRelation.java
Log:
setSource, setDestination obviosly need checkWrite. It's especially important
because that method also arranges the temporarynode-manager stuff
Modified:
mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/bridge/implementation/BasicRelation.java
===================================================================
---
mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/bridge/implementation/BasicRelation.java
2010-03-23 09:05:28 UTC (rev 41568)
+++
mmbase/branches/MMBase-1_9/core/src/main/java/org/mmbase/bridge/implementation/BasicRelation.java
2010-03-23 10:32:27 UTC (rev 41569)
@@ -95,6 +95,7 @@
}
public void setSource(Node node) {
+ checkWrite();
if (node.getCloud() != cloud) {
throw new BridgeException("Source and relation are not in the same
transaction or from different clouds.");
}
@@ -104,13 +105,15 @@
// set a temporary field, transactionmanager resolves this
getNode().setValue("_snumber",
node.getValue(MMObjectBuilder.TMP_FIELD_NUMBER));
} else {
- getNode().setValue("snumber",source);
+ getNode().setValue("snumber", source);
+ assert source == node.getNumber();
}
snum = node.getNumber();
sourceNodeType = node.getIntValue("otype");
}
public void setDestination(Node node) {
+ checkWrite();
if (node.getCloud() != cloud) {
throw new BridgeException("Destination and relation are not in the
same transaction or from different clouds.");
}
@@ -234,8 +237,11 @@
}
}
}
+ //assert snum == getNode().getIntValue("snumber");
+ //log.debug("COMMITTING relation with snumber " + snum + " -> " + dnum
+ " (" + getNode() + ")");
super.commit();
if (!(cloud instanceof Transaction)) {
+ //assert snum == getNode().getIntValue("snumber");
snum = getNode().getIntValue("snumber");
dnum = getNode().getIntValue("dnumber");
}
_______________________________________________
Cvs mailing list
[email protected]
http://lists.mmbase.org/mailman/listinfo/cvs