[ https://issues.apache.org/jira/browse/ISIS-2820?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Keir Haywood updated ISIS-2820: -------------------------------------- Description: Every mixin class annotated with @Action, @Collection or @Property must have a 1-arg constructor. Every mixin class annotated with @Action, @Collection or @Property must follow a naming convention of Xxx_yyy or Xxx$yyy where Xxx is the simple name of the constructor parameter. Every mixin class should have primary method matching the name in its @Action or @Collection or @Property methodName attrib. Finder methods in `Repository` should return either a `List<.>` or an `Optional<.>`. For jaxb view model, any `@Inject`ed fields should be marked as `@XmlTransient` For serializable view model, any `@Inject`ed fields should be marked as `transient` keyword. JDO entity must be annotated with @Version. JDO must have @PersistenceCapable#schema JDO entity if datastore identity must have @DatastoreIdentity JPA entity must have Table#schema JPA entity enums should be annotated with EnumType.STRING. JPA entity should have id field annotated with @Id. JPA entity should have version field annotated with @Version. JDO entity, any `@Inject`ed fields should be marked as `@NonPersistent` JPA entity, any `@Inject`ed fields should be marked as `@Transient` JDO entity should have protected no-arg constructors, to force use of factory methods. JPA entity should have protected no-arg constructors, to force use of factory methods. Every class annotated with @Repository must have be named XxxRepository (and vice versa) Every class annotated with @Controller must have be named XxxController (and vice versa) was: Every mixin class annotated with @Action, @Collection or @Property must have a 1-arg constructor. Every mixin class annotated with @Action, @Collection or @Property must follow a naming convention of Xxx_yyy or Xxx$yyy where Xxx is the simple name of the constructor parameter. Every mixin class should have primary method matching the name in its @Action or @Collection or @Property methodName attrib. ~~~~~~ Finder methods in `Repository` should return either a `List<.>` or an `Optional<.>`. For jaxb view model, any `@Inject`ed fields should be marked as `@XmlTransient` For serializable view model, any `@Inject`ed fields should be marked as `transient` keyword. JDO entity must be annotated with @Version. JDO must have @PersistenceCapable#schema JDO entity if datastore identity must have @DatastoreIdentity JPA entity must have Table#schema JPA entity enums should be annotated with EnumType.STRING. JPA entity should have id field annotated with @Id. JPA entity should have version field annotated with @Version. JDO entity, any `@Inject`ed fields should be marked as `@NonPersistent` JPA entity, any `@Inject`ed fields should be marked as `@Transient` JDO entity should have protected no-arg constructors, to force use of factory methods. JPA entity should have protected no-arg constructors, to force use of factory methods. Every class annotated with @Repository must have be named XxxRepository (and vice versa) Every class annotated with @Controller must have be named XxxController (and vice versa) > Additional arch tests for entities etc. > --------------------------------------- > > Key: ISIS-2820 > URL: https://issues.apache.org/jira/browse/ISIS-2820 > Project: Isis > Issue Type: Improvement > Components: Isis Testing > Affects Versions: 2.0.0-M5 > Reporter: Daniel Keir Haywood > Assignee: Daniel Keir Haywood > Priority: Minor > Fix For: 2.0.0-M6 > > > > Every mixin class annotated with @Action, @Collection or @Property must have > a 1-arg constructor. > Every mixin class annotated with @Action, @Collection or @Property must > follow a naming convention of Xxx_yyy or Xxx$yyy where Xxx is the simple name > of the constructor parameter. > Every mixin class should have primary method matching the name in its @Action > or @Collection or @Property methodName attrib. > > Finder methods in `Repository` should return either a `List<.>` or an > `Optional<.>`. > For jaxb view model, any `@Inject`ed fields should be marked as > `@XmlTransient` > For serializable view model, any `@Inject`ed fields should be marked as > `transient` keyword. > > JDO entity must be annotated with @Version. > JDO must have @PersistenceCapable#schema > JDO entity if datastore identity must have @DatastoreIdentity > JPA entity must have Table#schema > JPA entity enums should be annotated with EnumType.STRING. > JPA entity should have id field annotated with @Id. > JPA entity should have version field annotated with @Version. > JDO entity, any `@Inject`ed fields should be marked as `@NonPersistent` > JPA entity, any `@Inject`ed fields should be marked as `@Transient` > JDO entity should have protected no-arg constructors, to force use of factory > methods. > JPA entity should have protected no-arg constructors, to force use of factory > methods. > Every class annotated with @Repository must have be named XxxRepository (and > vice versa) > Every class annotated with @Controller must have be named XxxController (and > vice versa) > > > > > > -- This message was sent by Atlassian Jira (v8.3.4#803005)