Clone
Dan Haywood <dan@haywood-associates.co.uk>
committed
on 11 May 14
ISIS-550: refactored DomainObjectInvocationHandler and ImperativeFacets
Previously DOIH (that the WrapperFactory's wrapper proxies delegates… Show more
ISIS-550: refactored DomainObjectInvocationHandler and ImperativeFacets

Previously DOIH (that the WrapperFactory's wrapper proxies delegates to) was hard-coded to search for particular ImperativeFacets and act accordingly.

This has now been abstracted out into the concept of an Intent (enum defined in ImperativeFacet) which allows more precise control as to how to interpret any given method that is invoked through the wrapper .

In addition:

- split PostPropertyChangedEventFacet into two: PostsPropertyChangedEventSetterFacet and PostsPropertyChangedEventClearFacet, so that both can wrap an underlying *FacetViaMethod.

 This pattern is then consistent with the PostsCollectionFacets (though not the PostsActionInvokedEventFacet)

- (related to ISIS-769), have moved the setup of request-scoped services from the PersistenceSession#open and into IsisTransactionManager#startTransaction.  This is for symmetry with the #endTransaction.

Show less

master + 40 more