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 2021/01/19 07:18:01 UTC

[isis] 05/07: ISIS-439: fully remove installing DisabledFacet for collections.

This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-439
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 680cf8d25af6b84ab329519fd579c4cbec28fbe2
Author: danhaywood <da...@haywood-associates.co.uk>
AuthorDate: Thu Jan 14 18:38:26 2021 +0000

    ISIS-439: fully remove installing DisabledFacet for collections.
    
    Also potential fixes for XmlSnapshotService to honour @Property(mementoSerialization=...)
---
 .../core/metamodel/util/snapshot/XmlSnapshot.java  |  3 +
 .../CollectionAnnotationFacetFactoryTest.java      | 40 -----------
 ...bledAnnotationOnCollectionFacetFactoryTest.java | 82 ----------------------
 3 files changed, 3 insertions(+), 122 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/snapshot/XmlSnapshot.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/snapshot/XmlSnapshot.java
index 6c72124..c3bd5ee 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/snapshot/XmlSnapshot.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/util/snapshot/XmlSnapshot.java
@@ -695,6 +695,9 @@ public class XmlSnapshot implements Snapshot {
                 }
 
                 final OneToOneAssociation valueAssociation = ((OneToOneAssociation) field);
+                if(valueAssociation.isNotPersisted()) {
+                    continue eachField;
+                }
                 final Element xmlValueElement = xmlFieldElement; // more meaningful locally scoped name
 
                 ManagedObject value;
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
index 18657e1..ba5dbf0 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/CollectionAnnotationFacetFactoryTest.java
@@ -106,11 +106,6 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
         facetFactory.processHidden(processMethodContext, collectionIfAny);
     }
 
-    private static void processEditing(
-            CollectionAnnotationFacetFactory facetFactory, FacetFactory.ProcessMethodContext processMethodContext) {
-        val collectionIfAny = processMethodContext.synthesizeOnMethod(Collection.class);
-        facetFactory.processEditing(processMethodContext);
-    }
 
     private static void processTypeOf(
             CollectionAnnotationFacetFactory facetFactory, FacetFactory.ProcessMethodContext processMethodContext) {
@@ -431,41 +426,6 @@ public class CollectionAnnotationFacetFactoryTest extends AbstractFacetFactoryJU
 
     }
 
-    /**
-     * This feature has been removed, so this is a negative test
-     */
-    public static class Editing extends CollectionAnnotationFacetFactoryTest {
-
-        @Test
-        public void withAnnotation() {
-
-            class Order {
-            }
-            class Customer {
-                @Collection()
-                public List<Order> getOrders() {
-                    return null;
-                }
-
-                public void setOrders(final List<Order> orders) {
-                }
-            }
-
-            // given
-            final Class<?> cls = Customer.class;
-            collectionMethod = findMethod(Customer.class, "getOrders");
-
-            // when
-            final FacetFactory.ProcessMethodContext processMethodContext = new FacetFactory.ProcessMethodContext(cls,
-                    null, collectionMethod, mockMethodRemover, facetedMethod);
-            processEditing(facetFactory, processMethodContext);
-
-            // then
-            final DisabledFacet disabledFacet = facetedMethod.getFacet(DisabledFacet.class);
-            Assert.assertNotNull(disabledFacet);
-        }
-    }
-
     public static class TypeOf extends CollectionAnnotationFacetFactoryTest {
 
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/DisabledAnnotationOnCollectionFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/DisabledAnnotationOnCollectionFacetFactoryTest.java
deleted file mode 100644
index 51082ec..0000000
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/collections/collection/DisabledAnnotationOnCollectionFacetFactoryTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-
-package org.apache.isis.core.metamodel.facets.collections.collection;
-
-import java.lang.reflect.Method;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.MatcherAssert.assertThat;
-
-import org.apache.isis.applib.annotation.Collection;
-import org.apache.isis.applib.annotation.Editing;
-import org.apache.isis.core.metamodel.facetapi.Facet;
-import org.apache.isis.core.metamodel.facets.AbstractFacetFactoryTest;
-import org.apache.isis.core.metamodel.facets.FacetFactory;
-import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacet;
-import org.apache.isis.core.metamodel.facets.members.disabled.DisabledFacetAbstract;
-
-import lombok.val;
-
-public class DisabledAnnotationOnCollectionFacetFactoryTest extends AbstractFacetFactoryTest {
-
-    private CollectionAnnotationFacetFactory facetFactory;
-
-    @Override
-    protected void setUp() throws Exception {
-        super.setUp();
-
-        facetFactory = new CollectionAnnotationFacetFactory();
-    }
-
-    @Override
-    protected void tearDown() throws Exception {
-        facetFactory = null;
-        super.tearDown();
-    }
-
-    private static void processEditing(
-            CollectionAnnotationFacetFactory facetFactory, FacetFactory.ProcessMethodContext processMethodContext) {
-        val collectionIfAny = processMethodContext.synthesizeOnMethod(Collection.class);
-        facetFactory.processEditing(processMethodContext);
-    }
-
-
-    public void testDisabledFacetPickedUpOnCollection() {
-        class Customer {
-            @org.apache.isis.applib.annotation.Collection()
-            public java.util.Collection<?> getOrders() {
-                return null;
-            }
-        }
-        final Method actionMethod = findMethod(Customer.class, "getOrders");
-
-        processEditing(facetFactory, new FacetFactory.ProcessMethodContext(Customer.class, null, actionMethod, methodRemover, facetedMethod));
-
-        final Facet facet = facetedMethod.getFacet(DisabledFacet.class);
-        assertNotNull(facet);
-        assertTrue(facet instanceof DisabledFacetAbstract);
-
-        final DisabledFacet disabledFacet = (DisabledFacet) facet;
-        assertThat(disabledFacet.disabledReason(null), is("Always disabled"));
-
-        assertNoMethodsRemoved();
-    }
-
-}