[ 
https://issues.apache.org/jira/browse/ISIS-2820?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Daniel Keir Haywood updated ISIS-2820:
--------------------------------------
    Description: 
For entity, any `@Inject`ed fields should be marked as `@NonPersistent`

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.

JPA entity should have id field annotated with @Id.

JPA entity should have version field annotated with @Version.

 

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.

Every class annotated with @Repository must have be named XxxRepository.

 

For JDO, the members of a @Unique or Index should match the name of a field.

 ~~~~~~

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.

 

  was:
For entity, any `@Inject`ed fields should be marked as `@NonPersistent`

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.

JPA entity should have id field annotated with @Id.

JPA entity should have version field annotated with @Version.

 

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.

Every class annotated with @Repository must have be named XxxRepository.

 ~~~~~~

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.

 


> 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
>
>
> For entity, any `@Inject`ed fields should be marked as `@NonPersistent`
> 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.
> JPA entity should have id field annotated with @Id.
> JPA entity should have version field annotated with @Version.
>  
> 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.
> Every class annotated with @Repository must have be named XxxRepository.
>  
> For JDO, the members of a @Unique or Index should match the name of a field.
>  ~~~~~~
> 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.
>  



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to