[
https://issues.apache.org/jira/browse/ISIS-2820?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Daniel Keir Haywood updated ISIS-2820:
--------------------------------------
Description:
Entities should have protected no-arg constructors, to force use of factory
methods.
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.
~~~~~~
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`
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:
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.
Entities should have protected no-arg constructors, to force use of factory
methods.
Finder methods in `Repository` should return either a `List<.>` or an
`Optional<.>`.
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.
~~~~~~
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`
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
>
>
> Entities should have protected no-arg constructors, to force use of factory
> methods.
>
> 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.
>
>
>
>
>
> ~~~~~~
> 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`
> 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)