[ https://issues.apache.org/jira/browse/ISIS-1860?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dan Haywood resolved ISIS-1860. ------------------------------- Resolution: Fixed > CommandReification.DISABLED is broken / incorrectly documented. > --------------------------------------------------------------- > > Key: ISIS-1860 > URL: https://issues.apache.org/jira/browse/ISIS-1860 > Project: Isis > Issue Type: Documentation > Affects Versions: 1.16.0 > Reporter: Dan Haywood > Assignee: Dan Haywood > Priority: Major > Fix For: 1.16.1 > > > Don't intend to change the implementation, but what I observe is that setting > commandReification=DISABLED does not necessarily prevent a command from being > persisted. All it does is prevent a CommandFacet from being installed on the > corresponding action or property in the metamodel. > A Command object is always created by CommandContext. If there is a > CommandService implementation, then it delegates to that to act as the > factory of the Command. So reification always occurs. > If an action invocation or property edit causes objects to be modified, then > the Command#setPersistHint(...) is set to true. And, if there is no command > facet, then the CommandServiceJdo will default the > Command#setPersistence(...) to PERSIST_IF_HINTED. > The net result is that if commandReification is DISABLED, then commands are > still persisted if they cause any objects to be dirtied. > To prevent commands being persisted, instead use > @Action(commandPersistence=NOT_PERSISTED), and make sure that > @Action(command=ENABLED). > > object is updated with a persist hint. In the case of the incode platform's > Command module, the CommandService#complete(Command) is called, its > implementation will -- This message was sent by Atlassian JIRA (v7.6.3#76005)