Clone
Dan Haywood <dan@haywood-associates.co.uk>
committed
on 23 Apr 16
ISIS-1390: default CommandServiceDefault. Also simplifying the relationship between IsisTransaction and Command, and how the Command object… Show more
ISIS-1390: default CommandServiceDefault.  Also simplifying the relationship between IsisTransaction and Command, and how the Command object is initialized.

Also:

... deprecating CommandService#startTransaction(...), make it the responsibility of IsisTransactionManager to populate the transactionId of the Command in all cases.

... simplifying logic in IsisTransaction; the Command is only just created, so will never have a transactionId to reuse.  The design is now simply for the IsisTransactionManager to create a new UUID and set on both the Command and also pass into IsisTransaction.

... extend IsisTranscationManager's executeWithTransaction to allow an existing Command to be passed in; leverage this from BackgroundCommandExecution.

Also:

... use ClockService to obtain the time, rather than Clock singleton (for Command#setTimestamp, also Command#setStartedAt,

... make lookup of mandatory services fail-fast if not present (PropertySetterFacet, ActionInvocationFacet, IsisTransactionManager, IsisTransaction)

... minor alterations to visibility of DomainObjectJdoAbstract properties in tables.

Show less

master + 38 more