Details
-
Bug
-
Status: Closed
-
Minor
-
Resolution: Fixed
-
objectstore-jdo-1.1.0
-
None
Description
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))
...
}