You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@isis.apache.org by "Dan Haywood (JIRA)" <ji...@apache.org> on 2019/01/06 12:11:00 UTC

[jira] [Closed] (ISIS-1637) [WON'T FIX] Non-JAXB view models do not support editable properties

     [ https://issues.apache.org/jira/browse/ISIS-1637?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Dan Haywood closed ISIS-1637.
-----------------------------
    Resolution: Won't Fix

No real need to fix.

> [WON'T FIX] Non-JAXB view models do not support editable properties
> -------------------------------------------------------------------
>
>                 Key: ISIS-1637
>                 URL: https://issues.apache.org/jira/browse/ISIS-1637
>             Project: Isis
>          Issue Type: Improvement
>    Affects Versions: 1.14.0
>            Reporter: Dan Haywood
>            Priority: Minor
>             Fix For: 1.17.0
>
>
> this is the case irrespective of whether editing is disabled globally using the isis.objects.editing=false)
> background:
> see https://stackoverflow.com/questions/44569302/apache-isis-propertyediting-editing-enabled-doesnt-work-for-viewmodels
> analysis:
> @Property(editing=ENABLED)
> this installs:
> DisabledFacetForPropertyAnnotationInvertedSemantics[interaction=Disabling,type=DisabledFacet,when=Always; where =Everywhere]
> then see @DomainObject(nature=VIEW_MODEL)
> DisabledFacetOnPropertyDerivedFromRecreatableObject[interaction=Disabling,type=DisabledFacet,when=Always; where =Anywhere]
> this overwrites:
>         final Facet existingFacet = getFacet(facetType);
>         if (existingFacet == null || existingFacet.isNoop()) {
>             facetsByClass.put(facetType, facet);
>             return;
>         }
>         if (!facet.alwaysReplace()) {
>             return;
>         }
>         if (facet.isDerived() && !existingFacet.isDerived()) {  << doesn't return here, for example
>             return;
>         }
>         facet.setUnderlyingFacet(existingFacet);
>         facetsByClass.put(facetType, facet);
>         
> then at the class level earlier would also have installed ImmutableFacet because of configuration property (if global property to disable editing) 
> because of that, see:
> DisabledFacetOnPropertyDerivedFromImmutable[interaction=Disabling,type=DisabledFacet,when=Always; where =Anywhere]
> this overwrites once more.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)