[
https://issues.apache.org/jira/browse/ISIS-488?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13731631#comment-13731631
]
ASF subversion and git services commented on ISIS-488:
------------------------------------------------------
Commit f8ebd1bdcc94229209c7b97c2107d176b84cb81f in branch refs/heads/master
from [~danhaywood]
[ https://git-wip-us.apache.org/repos/asf?p=isis.git;h=f8ebd1b ]
ISIS-488: facet factory for JDO @Column annotation
- MandatoryDerivedFromJdoColumnAnnotationFacetFactory
- refactored the MandatoryFacetAbstract hierarchy
- check for incompatibilities between Isis' and JDO's default treatments of
nullable fields.
- new @Mandatory annotation
- fixes to Isis provided JDO entities (PublishedEvent, ApplicationSettingJdo,
UserSettingJdo).
Also:
- trivial refactorings to BigDecimalDerivedFromJdoColumnAnnotationFacetFactory
(from whence cloned)
- fix to LayoutMetadataJsonReader unit test
> Derive Isis' MandatoryFacet from JDO @Column(allowNulls=) annotation, and
> provide @Mandatory annotation as override
> -------------------------------------------------------------------------------------------------------------------
>
> Key: ISIS-488
> URL: https://issues.apache.org/jira/browse/ISIS-488
> Project: Isis
> Issue Type: New Feature
> Components: Objectstore: JDO
> Affects Versions: objectstore-jdo-1.1.0
> Reporter: Dan Haywood
> Assignee: Dan Haywood
> Priority: Minor
> Fix For: objectstore-jdo-1.2.0
>
>
> Thus:
> @javax.jdo.annotations.Column(allowNulls="false")
> public String getFoo() { ... }
> is mandatory
> @javax.jdo.annotations.Column(allowNulls="true")
> public String getFoo() { ... }
> is optional
> @javax.jdo.annotations.Column
> public int getFoo() { ... }
> is mandatory (JDO default for primitives)
> @javax.jdo.annotations.Column
> public String getFoo() { ... }
> is optional (JDO default for non-primitives)
> ~~~
> In certain circumstances (when using roll-up SUPERCLASS_TABLE inheritance) it
> is necessary to annotate a mandatory property as optional in JDO. To force
> Isis to implement a mandatory check, use the @Mandatory annotation
> eg:
> @javax.jdo.annotations.Inheritance(strategy =
> InheritanceStrategy.SUPERCLASS_TABLE)
> public class SomeSubclass {
> @javax.jdo.annotations.Column(allowNulls="false")
> @Mandatory
> public String getFoo() { ... }
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira