[ https://issues.apache.org/jira/browse/ISIS-2329?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Keir Haywood reassigned ISIS-2329: ----------------------------------------- Assignee: (was: Andi Huber) > Support nested non-static mixins, with domain event class declared within. > -------------------------------------------------------------------------- > > Key: ISIS-2329 > URL: https://issues.apache.org/jira/browse/ISIS-2329 > Project: Isis > Issue Type: Improvement > Affects Versions: 2.0.0-M3 > Reporter: Daniel Keir Haywood > Priority: Minor > Fix For: 2.0.0-M5 > > > To support this, need to allow action domain events to have 1-arg > constructor, being the mixee. > eg, at the moment, in simpleapp, I can refactor updateName into a mixin: > {code:java} > public static class UpdateNameActionDomainEvent > extends SimpleModule.ActionDomainEvent<SimpleObject.updateName> { } > @Action(semantics = IDEMPOTENT, > command = CommandReification.ENABLED, publishing = > Publishing.DISABLED, > associateWith = "name", domainEvent = > UpdateNotesActionDomainEvent.class) > public class updateName { > public SimpleObject act(@Name final String name) { > setName(name); > return SimpleObject.this; > } > public String default0Act() { > return getName(); > } > } > {code} > but the UpdateNameActionDomainEvent has to remain outside for now. Instead, > I'd like to write: > {code:java} > @Action(semantics = IDEMPOTENT, > command = CommandReification.ENABLED, publishing = > Publishing.DISABLED, > associateWith = "name", domainEvent = > UpdateNotesActionDomainEvent.class) > public class updateName { > public class UpdateNameActionDomainEvent > extends SimpleModule.ActionDomainEvent<SimpleObject.updateName> { } > public SimpleObject act(@Name final String name) { > setName(name); > return SimpleObject.this; > } > public String default0Act() { > return getName(); > } > } > {code} > The fix should be quite simple: improve the instantiation logic in > DomainEventHelper to handle events with 1 arg as well as 0 args and 3 args. -- This message was sent by Atlassian Jira (v8.3.4#803005)