Uploaded image for project: 'Causeway'
  1. Causeway
  2. CAUSEWAY-2820

Additional arch tests for entities etc.

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Closed
    • Minor
    • Resolution: Fixed
    • 2.0.0-M5
    • 2.0.0-M6
    • None

    Description

      FIXES:

      every_jdo_PersistenceCapable_must_be_annotated_with_Version ... should not apply if this is a subtype of an entity.

       

       

      ~~~~~~~~ 

      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) 

       

       

       

       

       

       

      Attachments

        Activity

          People

            danhaywood Daniel Keir Haywood
            danhaywood Daniel Keir Haywood
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: