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 2017/10/30 18:30:11 UTC

[isis] branch dev/2.0.0/ISIS-1632-meta-annotations updated: ISIS-1632: fixes unit tests for metamodel

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

danhaywood pushed a commit to branch dev/2.0.0/ISIS-1632-meta-annotations
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/dev/2.0.0/ISIS-1632-meta-annotations by this push:
     new a29104e  ISIS-1632: fixes unit tests for metamodel
a29104e is described below

commit a29104e451ca5cef6bd23e8c7f827d82b5402a70
Author: Dan Haywood <da...@haywood-associates.co.uk>
AuthorDate: Mon Oct 30 18:30:05 2017 +0000

    ISIS-1632: fixes unit tests for metamodel
---
 .../action/ActionAnnotationFacetFactory.java       |  6 ----
 .../ActionSemanticsFacetForActionAnnotation.java   |  2 +-
 .../PromptStyleFacetFallBackToInline.java          | 35 ----------------------
 .../MandatoryFacetForPropertyAnnotation.java       |  4 +++
 ...nLayoutXmlLayoutAnnotationFacetFactoryTest.java |  4 +++
 ...romptStyleFacetFromPropertyAnnotation_Test.java | 20 ++++++++-----
 6 files changed, 21 insertions(+), 50 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
index 8d59844..d6af533 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/ActionAnnotationFacetFactory.java
@@ -44,7 +44,6 @@ import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInv
 import org.apache.isis.core.metamodel.facets.actions.action.invocation.ActionInvocationFacetForDomainEventFromDefault;
 import org.apache.isis.core.metamodel.facets.actions.action.prototype.PrototypeFacetForActionAnnotation;
 import org.apache.isis.core.metamodel.facets.actions.action.publishing.PublishedActionFacetForActionAnnotation;
-import org.apache.isis.core.metamodel.facets.actions.action.semantics.ActionSemanticsFacetFallbackToNonIdempotent;
 import org.apache.isis.core.metamodel.facets.actions.action.semantics.ActionSemanticsFacetForActionAnnotation;
 import org.apache.isis.core.metamodel.facets.actions.action.typeof.TypeOfFacetForActionAnnotation;
 import org.apache.isis.core.metamodel.facets.actions.bulk.BulkFacet;
@@ -180,11 +179,6 @@ public class ActionAnnotationFacetFactory extends FacetFactoryAbstract {
         ActionSemanticsFacet facet =
                 ActionSemanticsFacetForActionAnnotation.create(actions, holder);
 
-        // else fallback
-        if(facet == null) {
-            facet = new ActionSemanticsFacetFallbackToNonIdempotent(holder);
-        }
-
         FacetUtil.addFacet(facet);
     }
 
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/semantics/ActionSemanticsFacetForActionAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/semantics/ActionSemanticsFacetForActionAnnotation.java
index e4b5ba5..1d7b215 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/semantics/ActionSemanticsFacetForActionAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/actions/action/semantics/ActionSemanticsFacetForActionAnnotation.java
@@ -39,7 +39,7 @@ public class ActionSemanticsFacetForActionAnnotation extends ActionSemanticsFace
                 .findFirst()
                 .map(semanticsOf ->
                         (ActionSemanticsFacet)new ActionSemanticsFacetForActionAnnotation(semanticsOf, holder))
-                .orElse(new ActionSemanticsFacetForActionAnnotation(SemanticsOf.NON_IDEMPOTENT, holder));
+                .orElse(new ActionSemanticsFacetFallbackToNonIdempotent(holder));
     }
 
     private ActionSemanticsFacetForActionAnnotation(SemanticsOf of, final FacetHolder holder) {
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetFallBackToInline.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetFallBackToInline.java
deleted file mode 100644
index ed2187e..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/promptStyle/PromptStyleFacetFallBackToInline.java
+++ /dev/null
@@ -1,35 +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.object.promptStyle;
-
-import org.apache.isis.applib.annotation.PromptStyle;
-import org.apache.isis.core.metamodel.facetapi.FacetHolder;
-
-public class PromptStyleFacetFallBackToInline extends PromptStyleFacetAbstract {
-
-    public PromptStyleFacetFallBackToInline(final FacetHolder holder) {
-        super(holder, Derivation.DERIVED);
-    }
-
-    @Override
-    public PromptStyle value() {
-        return PromptStyle.INLINE;
-    }
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/mandatory/MandatoryFacetForPropertyAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/mandatory/MandatoryFacetForPropertyAnnotation.java
index 7f6c562..3ec9d85 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/mandatory/MandatoryFacetForPropertyAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/properties/property/mandatory/MandatoryFacetForPropertyAnnotation.java
@@ -39,6 +39,10 @@ public abstract class MandatoryFacetForPropertyAnnotation extends MandatoryFacet
             final Method method,
             final FacetHolder holder) {
 
+        if(properties.isEmpty()) {
+            return null;
+        }
+
         final Class<?> returnType = method.getReturnType();
         if (returnType.isPrimitive()) {
             return new MandatoryFacetForPropertyAnnotation.Primitive(holder);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
index 6462747..7546492 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/actions/layout/ActionLayoutXmlLayoutAnnotationFacetFactoryTest.java
@@ -112,6 +112,10 @@ public class ActionLayoutXmlLayoutAnnotationFacetFactoryTest extends AbstractFac
 
                 allowing(mockObjSpec).getFacet(DomainServiceFacet.class);
                 will(returnValue(null));
+
+                allowing(mockConfiguration).getString("isis.viewer.wicket.promptStyle");
+                will(returnValue(null));
+
             }
         });
 
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/promptstyle/PromptStyleFacetFromPropertyAnnotation_Test.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/promptstyle/PromptStyleFacetFromPropertyAnnotation_Test.java
index e878863..386988b 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/promptstyle/PromptStyleFacetFromPropertyAnnotation_Test.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/properties/promptstyle/PromptStyleFacetFromPropertyAnnotation_Test.java
@@ -33,7 +33,6 @@ import org.apache.isis.core.commons.config.IsisConfiguration;
 import org.apache.isis.core.metamodel.facetapi.FacetHolder;
 import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacet;
 import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetAsConfigured;
-import org.apache.isis.core.metamodel.facets.object.promptStyle.PromptStyleFacetFallBackToInline;
 import org.apache.isis.core.metamodel.facets.properties.propertylayout.PromptStyleFacetForPropertyLayoutAnnotation;
 import org.apache.isis.core.unittestsupport.jmocking.JUnitRuleMockery2;
 
@@ -119,10 +118,12 @@ public class PromptStyleFacetFromPropertyAnnotation_Test {
                 allowing(mockPropertyLayout).promptStyle();
                 will(returnValue(PromptStyle.AS_CONFIGURED));
 
-                oneOf(mockFacetHolder).containsDoOpFacet(PromptStyleFacet.class);
+                allowing(mockFacetHolder).containsDoOpFacet(PromptStyleFacet.class);
                 will(returnValue(true));
 
-                never(mockConfiguration);
+                allowing(mockConfiguration).getString("isis.viewer.wicket.promptStyle");
+                will(returnValue(null));
+
             }});
 
             PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
@@ -136,19 +137,20 @@ public class PromptStyleFacetFromPropertyAnnotation_Test {
 
             context.checking(new Expectations() {{
                 allowing(mockPropertyLayout).promptStyle();
-                will(returnValue(null));
+                will(returnValue(PromptStyle.NOT_SPECIFIED));
 
                 allowing(mockFacetHolder).containsDoOpFacet(PromptStyleFacet.class);
                 will(returnValue(false));
 
-                never(mockConfiguration);
+                oneOf(mockConfiguration).getString("isis.viewer.wicket.promptStyle");
+                will(returnValue(null));
             }});
 
             PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation
                     .create(Collections.singletonList(mockPropertyLayout), mockConfiguration, mockFacetHolder);
 
             Assert.assertThat(facet.value(), is(PromptStyle.INLINE));
-            Assert.assertThat(facet, is((Matcher) anInstanceOf(PromptStyleFacetFallBackToInline.class)));
+            Assert.assertThat(facet, is((Matcher) anInstanceOf(PromptStyleFacetAsConfigured.class)));
         }
 
         @Test
@@ -156,12 +158,14 @@ public class PromptStyleFacetFromPropertyAnnotation_Test {
 
             context.checking(new Expectations() {{
                 allowing(mockPropertyLayout).promptStyle();
-                will(returnValue(null));
+                will(returnValue(PromptStyle.NOT_SPECIFIED));
 
                 allowing(mockFacetHolder).containsDoOpFacet(PromptStyleFacet.class);
                 will(returnValue(true));
 
-                never(mockConfiguration);
+                allowing(mockConfiguration).getString("isis.viewer.wicket.promptStyle");
+                will(returnValue(null));
+
             }});
 
             PromptStyleFacet facet = PromptStyleFacetForPropertyLayoutAnnotation

-- 
To stop receiving notification emails like this one, please contact
['"commits@isis.apache.org" <co...@isis.apache.org>'].