You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "ASF subversion and git services (Jira)" <ji...@apache.org> on 2021/07/23 12:45:00 UTC

[jira] [Commented] (ISIS-2820) Additional arch tests for entities etc.

    [ https://issues.apache.org/jira/browse/ISIS-2820?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17386213#comment-17386213 ] 

ASF subversion and git services commented on ISIS-2820:
-------------------------------------------------------

Commit 1abb93644bd42eaafc3aa19d34e96609f3d89343 in isis's branch refs/heads/ISIS-2820 from danhaywood
[ https://gitbox.apache.org/repos/asf?p=isis.git;h=1abb936 ]

ISIS-2820: adds a bunch of arch tests


> 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)