You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by da...@apache.org on 2014/07/14 21:52:04 UTC

[3/3] git commit: ISIS-837: remove guard which prevents flushing of properties that have NotPersistedFacet.class

ISIS-837: remove guard which prevents flushing of properties that have NotPersistedFacet.class

(eg annotated with javax.jdo.annotations.NotPersistent)


Project: http://git-wip-us.apache.org/repos/asf/isis/repo
Commit: http://git-wip-us.apache.org/repos/asf/isis/commit/877e7edd
Tree: http://git-wip-us.apache.org/repos/asf/isis/tree/877e7edd
Diff: http://git-wip-us.apache.org/repos/asf/isis/diff/877e7edd

Branch: refs/heads/master
Commit: 877e7eddfa49cad5869d8cf97982c75d9e84196f
Parents: 6427dfb
Author: Dan Haywood <da...@haywood-associates.co.uk>
Authored: Mon Jul 14 20:51:47 2014 +0100
Committer: Dan Haywood <da...@haywood-associates.co.uk>
Committed: Mon Jul 14 20:51:47 2014 +0100

----------------------------------------------------------------------
 .../viewer/wicket/model/models/EntityModel.java   | 18 +++++++++++++-----
 1 file changed, 13 insertions(+), 5 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/isis/blob/877e7edd/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
----------------------------------------------------------------------
diff --git a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
index 56d7738..2faca9b 100644
--- a/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
+++ b/component/viewer/wicket/model/src/main/java/org/apache/isis/viewer/wicket/model/models/EntityModel.java
@@ -36,7 +36,6 @@ import org.apache.isis.core.metamodel.adapter.oid.OidMarshaller;
 import org.apache.isis.core.metamodel.adapter.oid.RootOid;
 import org.apache.isis.core.metamodel.adapter.version.ConcurrencyException;
 import org.apache.isis.core.metamodel.consent.Consent;
-import org.apache.isis.core.metamodel.facets.propcoll.notpersisted.NotPersistedFacet;
 import org.apache.isis.core.metamodel.facets.object.bookmarkpolicy.BookmarkPolicyFacet;
 import org.apache.isis.core.metamodel.facets.object.viewmodel.ViewModelFacet;
 import org.apache.isis.core.metamodel.spec.ObjectSpecId;
@@ -578,10 +577,19 @@ public class EntityModel extends BookmarkableModel<ObjectAdapter> implements UiH
         ObjectAdapter adapter = getObjectAdapterMemento().getObjectAdapter(ConcurrencyChecking.CHECK);
         for (final ScalarModel scalarModel : propertyScalarModels.values()) {
             final OneToOneAssociation property = scalarModel.getPropertyMemento().getProperty();
-            if(property.containsDoOpFacet(NotPersistedFacet.class)) {
-                // ignore derived properties
-                continue;
-            }
+
+            //
+            // previously there was a guard here to only apply changes provided:
+            //
+            // property.containsDoOpFacet(NotPersistedFacet.class) == null
+            //
+            // however, that logic is wrong; although a property may not be directly
+            // persisted so far as JDO is concerned, it may be indirectly persisted
+            // as the result of business logic in the setter.
+            //
+            // for example, see ExampleTaggableEntity (in isisaddons-module-tags).
+            //
+
             final ObjectAdapter associate = scalarModel.getObject();
             property.set(adapter, associate);
         }