-
Type:
Bug
-
Status: Closed
-
Priority:
Minor
-
Resolution: Fixed
-
Affects Version/s: objectstore-jdo-1.1.0
-
Fix Version/s: objectstore-jdo-1.3.0
-
Component/s: Isis Persistence JDO
-
Labels:None
This issue was found while working on Estatio app:
public class CommunicationChannel {
....
/**
- Isis callback
*/
public void persisting() { owner.addToCommunicationChannels(this); }}
correctly generates the INSERT of the owner/CC tuple (eg into PARTY_COMMUNICATIONCHANNELS), but then Isis throws an exception.
The fix is to add a guard in DataNucleusSimplePersistAlgorithm:
public void makePersistent(final ObjectAdapter adapter,
final ToPersistObjectSet toPersistObjectSet) {
...
CallbackUtils.callCallback(adapter, PersistingCallbackFacet.class);
// the callback might have caused the adapter to become persistent.
if (alreadyPersistedOrNotPersistable(adapter))
...
}