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 2014/11/04 22:13:34 UTC
[jira] [Created] (ISIS-941) Wicket viewer shouldn't try to flush
properties that are disabled.
Dan Haywood created ISIS-941:
--------------------------------
Summary: Wicket viewer shouldn't try to flush properties that are disabled.
Key: ISIS-941
URL: https://issues.apache.org/jira/browse/ISIS-941
Project: Isis
Issue Type: Bug
Components: Viewer: Wicket
Affects Versions: viewer-wicket-1.6.0
Reporter: Dan Haywood
Assignee: Dan Haywood
Priority: Minor
Fix For: viewer-wicket-1.8.0
This broke in 1.6.0 because of https://issues.apache.org/jira/browse/ISIS-837
https://github.com/apache/isis/blob/0af3219129076161143bd388e3fc3ec039cbed79/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java#L582
There are two conflicting requirements. In some cases we want a derived property to appear to be editable... so that it udpates other stuff. In other cases the derived property is not editable, so we should do nothing.
In https://github.com/apache/isis/blob/1b10065e7fefc591e7e510ecb7a5ea6dba17f485/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/update/PropertySetAndClearFacetFactory.java#L78 we install a NotPersistedFacetInferred if there is no setter/clear.
That is correct... we use "isNotPersisted" on OneToOneAssociation in several places (eg IsisTransaction#enlist..., and PersistedAlgorithmDefault) in order to ensure we only deal with properties that have "backing" data.
The fix in ISIS-837 is correct so far as it goes It's not enough EntityModel#apply to go looking for the NotPersistedFacet, because as the comment from ISIS-837 and the first use case says, in these cases we DO want to flush the changes into the Isis runtime.
However, EntityModel#apply must also account for the property being disabled (which is inferred from it not having any setter/clear facets, see DisabledFacetOnPropertyInferredFacetFactory).
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)