Yeah, that's right. To have an exception thrown, you will need to write and register a MetaModelValidator. I think this is done by having the FacetFactory implement MetaModelValidatorRefiner or something similar.
Cheers Dan On 22 September 2013 16:14, Othmen Tiliouine <[email protected]>wrote: > Hi Dan, > > I did not try to resolve the ticket because there was no clear description > of the ticket and I do not know the expected behavior 'cause isis > documentation does not give this details. > But now it is more clear, so if I understand correctly, both having a > @Title > and title() should cause > - an exception if there is a @Title annotations in the classe that > contain title() > - use title() instead of @Title if all @Title are in a superclasses > > Othmen. > > > 2013/9/22 Dan Haywood <[email protected]> > > > Hi Othmen, > > fyi, any attachments (including pictures) are stripped from the Apache > > mailing lists. To show screenshots etc, you'll need to upload the > > screenshots somewhere and then reference them. > > > > To your question about this ticket, though, what you've observed > definitely > > isn't the expected behaviour. As I'm sure you know, in Isis, every > domain > > object should provide a title - a string representation of itself that is > > sufficiently unique to identify it to the end-user. There are two main > > ways of doing this, either declaratively - using @Title annotations - or > > imperatively - with the title() method. (If neither are present, then > > toString() is used). > > > > This ticket was so that the declarative behaviour is the default, but if > a > > class provides a title() method, then this should be used instead. The > > ticket also suggested that perhaps having both @Title and title() might > be > > considered an error, in which case we could use the MetaModelValidator > > interface to prevent Isis from booting. However, I think this doesn't > make > > sense, because it might be that the properties annotated with @Title > might > > be inherited from a superclass, whereas the subclass might want to > override > > this with its own title(). So having both shouldn't be considered an > > error. > > > > I suspect that the fix is very easy ... just reversing the order of the > > registration of TitleAnnotationFacetFactory and > > TitleMethodFacetFactory in ProgrammingModelFacetsJava5. But why don't > you > > have a play around and see. If it works, why not submit a patch? > > > > Cheers > > Dan > > > > > > > > On 21 September 2013 02:16, Othmen Tiliouine <[email protected] > > >wrote: > > > > > Hello, > > > > > > I did not understand this task. > > > I try adding the @Title annotation to the methods getDescription() and > > > getCategory() in ToDOItem class that contains a title() method, the > > > result is that the @Title annotations are used as the title and not the > > > title() method but the method title() is used in this case as an action > > > > > > [image: Images intégrées 2] > > > [image: Images intégrées 3] > > > > > > it's not this the expected behavior? > > > > > > > > > 2013/9/20 Dan Haywood (JIRA) <[email protected]> > > > > > > Dan Haywood created ISIS-543: > > >> -------------------------------- > > >> > > >> Summary: title() should take precedence over @Title, or > > >> perhaps should fail eagerly? > > >> Key: ISIS-543 > > >> URL: https://issues.apache.org/jira/browse/ISIS-543 > > >> Project: Isis > > >> Issue Type: Improvement > > >> Components: Core > > >> Affects Versions: core-1.2.0 > > >> Reporter: Dan Haywood > > >> Assignee: Dan Haywood > > >> Priority: Minor > > >> Fix For: core-1.4.0 > > >> > > >> > > >> > > >> > > >> -- > > >> 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 > > >> > > > > > > > > >
