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

Dan Haywood updated ISIS-1637:
------------------------------
    Fix Version/s:     (was: 2.3.0)
                   1.17.0
       Issue Type: Improvement  (was: Bug)
          Summary: [WON'T FIX] Non-JAXB view models do not support editable 
properties  (was: Non-JAXB view models do not support editable properties)

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

Reply via email to