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

Reply via email to