You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@isis.apache.org by ah...@apache.org on 2019/09/29 17:29:58 UTC

[isis] branch v2 updated: ISIS-2158: fixes all mm tests

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

ahuber pushed a commit to branch v2
in repository https://gitbox.apache.org/repos/asf/isis.git


The following commit(s) were added to refs/heads/v2 by this push:
     new 59b3b8f  ISIS-2158: fixes all mm tests
59b3b8f is described below

commit 59b3b8fdb0047b07b94d768177ed9f7cdf16f3c8
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Sep 29 19:29:51 2019 +0200

    ISIS-2158: fixes all mm tests
    
    - there was a strange discrepancy of testing logic v1 vs v2
    - assuming v1 test-logic is correct
---
 .../applib/services/registry/ServiceRegistry.java  | 10 -----
 .../org/apache/isis/config/IsisConfiguration.java  |  7 +++
 .../command/CommandActionsConfiguration.java       |  2 +-
 .../publishing/PublishActionsConfiguration.java    |  2 +-
 ...uration.java => AuditObjectsConfiguration.java} | 15 +++----
 .../auditing/DefaultViewConfiguration.java         |  2 +-
 .../publishing/PublishObjectsConfiguration.java    |  2 +-
 .../publishing/PublishPropertiesConfiguration.java |  4 --
 .../command/CommandFacetForActionAnnotation.java   |  2 +-
 .../PublishedActionFacetForActionAnnotation.java   |  2 +-
 .../DomainObjectAnnotationFacetFactory.java        |  6 +--
 .../auditing/AuditObjectsConfiguration.java        | 40 -----------------
 .../AuditableFacetForDomainObjectAnnotation.java   | 11 ++---
 .../DomainObjectAnnotationFacetFactoryTest.java    | 51 +++++-----------------
 14 files changed, 35 insertions(+), 121 deletions(-)

diff --git a/core/applib/src/main/java/org/apache/isis/applib/services/registry/ServiceRegistry.java b/core/applib/src/main/java/org/apache/isis/applib/services/registry/ServiceRegistry.java
index 2749ab3..a4b93bd 100644
--- a/core/applib/src/main/java/org/apache/isis/applib/services/registry/ServiceRegistry.java
+++ b/core/applib/src/main/java/org/apache/isis/applib/services/registry/ServiceRegistry.java
@@ -149,16 +149,6 @@ public interface ServiceRegistry {
                 .anyMatch(bean->bean.getBeanClass().isAssignableFrom(requiredType));
     }
 
-    /**
-     * Yet a synonym for {@link isResolvableBean}
-     * @param cls
-     * @deprecated marked deprecated, because the intended use if this method is unclear
-     */
-    @Deprecated //TODO [2112] marked deprecated, because the intended use if this method is unclear
-    default boolean isService(Class<?> cls) {
-        return isResolvableBean(cls);
-    }
-
     // -- PRIORITY ANNOTATION HANDLING
 
     static class InstanceByPriorityComparator implements Comparator<Object> {
diff --git a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
index a50bb8f..935ba60 100644
--- a/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/config/IsisConfiguration.java
@@ -33,6 +33,7 @@ import org.apache.isis.commons.internal.base._Strings;
 import org.apache.isis.commons.internal.collections._Maps;
 import org.apache.isis.metamodel.facets.actions.action.command.CommandActionsConfiguration;
 import org.apache.isis.metamodel.facets.actions.action.publishing.PublishActionsConfiguration;
+import org.apache.isis.metamodel.facets.object.domainobject.auditing.AuditObjectsConfiguration;
 import org.apache.isis.metamodel.facets.object.domainobject.auditing.DefaultViewConfiguration;
 import org.apache.isis.metamodel.facets.object.domainobject.editing.EditingObjectsConfiguration;
 import org.apache.isis.metamodel.facets.object.domainobject.publishing.PublishObjectsConfiguration;
@@ -304,6 +305,12 @@ public class IsisConfiguration {
             ApplicationFeaturesInitConfiguration init = ApplicationFeaturesInitConfiguration.NOT_SPECIFIED;
         }
 
+        private final Audit audit = new Audit();
+        @Data
+        public static class Audit {
+            private AuditObjectsConfiguration objects = AuditObjectsConfiguration.NONE;
+        }
+        
         private final Command command = new Command();
         @Data
         public static class Command {
diff --git a/core/config/src/main/java/org/apache/isis/metamodel/facets/actions/action/command/CommandActionsConfiguration.java b/core/config/src/main/java/org/apache/isis/metamodel/facets/actions/action/command/CommandActionsConfiguration.java
index ab88215..fffb7db 100644
--- a/core/config/src/main/java/org/apache/isis/metamodel/facets/actions/action/command/CommandActionsConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/metamodel/facets/actions/action/command/CommandActionsConfiguration.java
@@ -29,7 +29,7 @@ public enum CommandActionsConfiguration {
     IGNORE_QUERY_ONLY,
     NONE;
 
-    public static CommandActionsConfiguration parse(final IsisConfiguration configuration) {
+    public static CommandActionsConfiguration from(final IsisConfiguration configuration) {
         return configuration.getServices().getCommand().getActions();
     }
 
diff --git a/core/config/src/main/java/org/apache/isis/metamodel/facets/actions/action/publishing/PublishActionsConfiguration.java b/core/config/src/main/java/org/apache/isis/metamodel/facets/actions/action/publishing/PublishActionsConfiguration.java
index e3dd298..5e1bb3c 100644
--- a/core/config/src/main/java/org/apache/isis/metamodel/facets/actions/action/publishing/PublishActionsConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/metamodel/facets/actions/action/publishing/PublishActionsConfiguration.java
@@ -29,7 +29,7 @@ public enum PublishActionsConfiguration {
     IGNORE_QUERY_ONLY,
     NONE;
 
-    public static PublishActionsConfiguration parse(IsisConfiguration configuration) {
+    public static PublishActionsConfiguration from(IsisConfiguration configuration) {
         return configuration.getServices().getPublish().getActions();
     }
 
diff --git a/core/config/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/DefaultViewConfiguration.java b/core/config/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/AuditObjectsConfiguration.java
similarity index 77%
copy from core/config/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/DefaultViewConfiguration.java
copy to core/config/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/AuditObjectsConfiguration.java
index d960fb1..cefc63f 100644
--- a/core/config/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/DefaultViewConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/AuditObjectsConfiguration.java
@@ -20,17 +20,12 @@ package org.apache.isis.metamodel.facets.object.domainobject.auditing;
 
 import org.apache.isis.config.IsisConfiguration;
 
-public enum DefaultViewConfiguration {
-    HIDDEN(),
-    TABLE();
+public enum AuditObjectsConfiguration {
+    ALL,
+    NONE;
 
-    public String toNameLower() {
-        return name().toLowerCase();
+    public static AuditObjectsConfiguration from(IsisConfiguration configuration) {
+        return configuration.getServices().getAudit().getObjects();
     }
 
-    public static DefaultViewConfiguration parse(IsisConfiguration configuration) {
-        return configuration.getViewers().getCollectionLayout().getDefaultView();
-    }
-
-
 }
diff --git a/core/config/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/DefaultViewConfiguration.java b/core/config/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/DefaultViewConfiguration.java
index d960fb1..be11d80 100644
--- a/core/config/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/DefaultViewConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/DefaultViewConfiguration.java
@@ -28,7 +28,7 @@ public enum DefaultViewConfiguration {
         return name().toLowerCase();
     }
 
-    public static DefaultViewConfiguration parse(IsisConfiguration configuration) {
+    public static DefaultViewConfiguration from(IsisConfiguration configuration) {
         return configuration.getViewers().getCollectionLayout().getDefaultView();
     }
 
diff --git a/core/config/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/publishing/PublishObjectsConfiguration.java b/core/config/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/publishing/PublishObjectsConfiguration.java
index 5f3cbf5..f0e8343 100644
--- a/core/config/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/publishing/PublishObjectsConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/publishing/PublishObjectsConfiguration.java
@@ -24,7 +24,7 @@ public enum PublishObjectsConfiguration {
     ALL,
     NONE;
 
-    public static PublishObjectsConfiguration parse(IsisConfiguration configuration) {
+    public static PublishObjectsConfiguration from(IsisConfiguration configuration) {
         return configuration.getServices().getPublish().getObjects();
     }
 }
diff --git a/core/config/src/main/java/org/apache/isis/metamodel/facets/properties/property/publishing/PublishPropertiesConfiguration.java b/core/config/src/main/java/org/apache/isis/metamodel/facets/properties/property/publishing/PublishPropertiesConfiguration.java
index e515b67..1604c90 100644
--- a/core/config/src/main/java/org/apache/isis/metamodel/facets/properties/property/publishing/PublishPropertiesConfiguration.java
+++ b/core/config/src/main/java/org/apache/isis/metamodel/facets/properties/property/publishing/PublishPropertiesConfiguration.java
@@ -18,10 +18,6 @@
  */
 package org.apache.isis.metamodel.facets.properties.property.publishing;
 
-import org.apache.isis.config.IsisConfiguration;
-import org.apache.isis.config.IsisConfigurationLegacy;
-import org.apache.isis.metamodel.facets.object.domainobject.Util;
-
 public enum PublishPropertiesConfiguration {
     ALL,
     NONE;
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/command/CommandFacetForActionAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/command/CommandFacetForActionAnnotation.java
index c81fb77..d3af8ae 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/command/CommandFacetForActionAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/command/CommandFacetForActionAnnotation.java
@@ -40,7 +40,7 @@ public class CommandFacetForActionAnnotation extends CommandFacetAbstract {
             final ServiceInjector servicesInjector,
             final FacetHolder holder) {
 
-        final CommandActionsConfiguration setting = CommandActionsConfiguration.parse(configuration);
+        final CommandActionsConfiguration setting = CommandActionsConfiguration.from(configuration);
 
         return actions.stream()
                 .filter(action -> action.command() != CommandReification.NOT_SPECIFIED)
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/publishing/PublishedActionFacetForActionAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/publishing/PublishedActionFacetForActionAnnotation.java
index 5dfbad7..84e1dbf 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/publishing/PublishedActionFacetForActionAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/actions/action/publishing/PublishedActionFacetForActionAnnotation.java
@@ -36,7 +36,7 @@ public class PublishedActionFacetForActionAnnotation extends PublishedActionFace
             final IsisConfiguration configuration,
             final FacetHolder holder) {
 
-        final PublishActionsConfiguration setting = PublishActionsConfiguration.parse(configuration);
+        final PublishActionsConfiguration setting = PublishActionsConfiguration.from(configuration);
 
         return actions.stream()
                 .map(Action::publishing)
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
index 9a1b4ab..9ac97d0 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
@@ -137,7 +137,7 @@ implements MetaModelValidatorRefiner, PostConstructMethodCache, ObjectSpecIdFace
 
         // check for @DomainObject(auditing=....)
         AuditableFacet auditableFacet = AuditableFacetForDomainObjectAnnotation
-                .create(domainObjects, getConfigurationLegacy(), holder);
+                .create(domainObjects, getConfiguration(), holder);
 
         // then add
         FacetUtil.addFacet(auditableFacet);
@@ -541,8 +541,8 @@ implements MetaModelValidatorRefiner, PostConstructMethodCache, ObjectSpecIdFace
                 if(autoCompleteFacet != null && !autoCompleteFacet.isNoop() && autoCompleteFacet instanceof AutoCompleteFacetAbstract) {
                     final AutoCompleteFacetAbstract facet = (AutoCompleteFacetForDomainObjectAnnotation) autoCompleteFacet;
                     final Class<?> repositoryClass = facet.getRepositoryClass();
-                    final boolean isRegistered = getServiceRegistry().isService(repositoryClass);
-                    if(!isRegistered) {
+                    final boolean isResolvableBean = getServiceRegistry().isResolvableBean(repositoryClass);
+                    if(!isResolvableBean) {
                         validationFailures.add(
                                 thisSpec.getIdentifier(),
                                 "@DomainObject annotation on %s specifies unknown repository '%s'",
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/AuditObjectsConfiguration.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/AuditObjectsConfiguration.java
deleted file mode 100644
index cdb4ba8..0000000
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/AuditObjectsConfiguration.java
+++ /dev/null
@@ -1,40 +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.metamodel.facets.object.domainobject.auditing;
-
-import org.apache.isis.config.IsisConfigurationLegacy;
-import org.apache.isis.metamodel.facets.object.domainobject.Util;
-
-public enum AuditObjectsConfiguration {
-    ALL,
-    NONE;
-
-    private static final String AUDIT_OBJECTS_KEY = "isis.services.audit.objects";
-
-    public static AuditObjectsConfiguration parse(IsisConfigurationLegacy configuration) {
-        final String configuredValue = configuration.getString(AUDIT_OBJECTS_KEY);
-        return AuditObjectsConfiguration.parse(configuredValue);
-    }
-
-    private static AuditObjectsConfiguration parse(final String value) {
-        // must be explicitly enabled
-        return Util.parseYes(value)? ALL: NONE;
-    }
-
-}
diff --git a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/AuditableFacetForDomainObjectAnnotation.java b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/AuditableFacetForDomainObjectAnnotation.java
index 21778b4..d43b9fd 100644
--- a/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/AuditableFacetForDomainObjectAnnotation.java
+++ b/core/metamodel/src/main/java/org/apache/isis/metamodel/facets/object/domainobject/auditing/AuditableFacetForDomainObjectAnnotation.java
@@ -22,24 +22,22 @@ package org.apache.isis.metamodel.facets.object.domainobject.auditing;
 import java.util.List;
 
 import javax.annotation.Nullable;
-import javax.validation.constraints.NotNull;
 
 import org.apache.isis.applib.annotation.Auditing;
 import org.apache.isis.applib.annotation.DomainObject;
 import org.apache.isis.commons.internal.exceptions._Exceptions;
-import org.apache.isis.config.IsisConfigurationLegacy;
+import org.apache.isis.config.IsisConfiguration;
 import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.facets.object.audit.AuditableFacet;
 import org.apache.isis.metamodel.facets.object.audit.AuditableFacetAbstract;
 
 import lombok.val;
 
-
 public class AuditableFacetForDomainObjectAnnotation extends AuditableFacetAbstract {
 
     public static AuditableFacet create(
             List<DomainObject> domainObjectAnnotations,
-            IsisConfigurationLegacy configuration,
+            IsisConfiguration configuration,
             FacetHolder holder) {
 
         val domainObjectAnnotation = domainObjectAnnotations.stream()
@@ -50,10 +48,9 @@ public class AuditableFacetForDomainObjectAnnotation extends AuditableFacetAbstr
         return create(domainObjectAnnotation, configuration, holder);
     }
 
-    @NotNull
     private static AuditableFacet create(
             @Nullable DomainObject domainObjectAnnotation,
-            IsisConfigurationLegacy configuration,
+            IsisConfiguration configuration,
             FacetHolder holder) {
 
         val auditing = domainObjectAnnotation != null 
@@ -63,7 +60,7 @@ public class AuditableFacetForDomainObjectAnnotation extends AuditableFacetAbstr
         switch (auditing) {
         case AS_CONFIGURED:
 
-            val auditObjects = AuditObjectsConfiguration.parse(configuration);
+            val auditObjects = AuditObjectsConfiguration.from(configuration);
             switch (auditObjects) {
             case NONE:
                 return null;
diff --git a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
index 2666719..fd2d5fb 100644
--- a/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactoryTest.java
@@ -97,16 +97,15 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
     
     void allowingAuditObjectsToReturn(AuditObjectsConfiguration value) {
         
-//        val config = new IsisConfiguration();
+        val config = new IsisConfiguration();
         
         if(value!=null) {
-          //TODO[2086] config.getServices().getAudit().setObjects(value);
-            _Config.put("isis.services.audit.objects", value.name().toLowerCase());
+            config.getServices().getAudit().setObjects(value);
         }
         
-//        MetaModelContext.preset(MetaModelContext.builder()
-//                .configuration(config)
-//                .build());
+        MetaModelContext.preset(MetaModelContext.builder()
+                .configuration(config)
+                .build());
     }
     
     void allowingPublishObjectsToReturn(PublishObjectsConfiguration value) {
@@ -186,24 +185,11 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
                 facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
 
                 final AuditableFacet facet = facetHolder.getFacet(AuditableFacet.class);
-                Assert.assertNotNull(facet); 
-                Assert.assertThat(facet.isDisabled(), is(false));
+                Assert.assertNull(facet); 
 
                 expectNoMethodsRemoved();
             }
 
-            @Test
-            public void configured_value_set_to_default() {
-                allowingAuditObjectsToReturn(null);
-
-                facetFactory.process(new ProcessClassContext(DomainObjectAnnotationFacetFactoryTest.Customer.class, mockMethodRemover, facetHolder));
-
-                final AuditableFacet facet = facetHolder.getFacet(AuditableFacet.class);
-                Assert.assertNotNull(facet); 
-                Assert.assertThat(facet.isDisabled(), is(false));
-
-                expectNoMethodsRemoved();
-            }
         }
 
         public static class WithDomainObjectAnnotationWithAuditingSetToAsConfigured extends Auditing {
@@ -228,24 +214,11 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
                 facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToAsConfigured.class, mockMethodRemover, facetHolder));
 
                 final AuditableFacet facet = facetHolder.getFacet(AuditableFacet.class);
-                Assert.assertNotNull(facet);
-                Assert.assertThat(facet.isDisabled(), is(false));
+                Assert.assertNull(facet);
 
                 expectNoMethodsRemoved();
             }
 
-            @Test
-            public void configured_value_set_to_default() {
-                allowingAuditObjectsToReturn(null);
-
-                facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndAuditingSetToAsConfigured.class, mockMethodRemover, facetHolder));
-
-                final AuditableFacet facet = facetHolder.getFacet(AuditableFacet.class);
-                Assert.assertNotNull(facet);
-                Assert.assertThat(facet.isDisabled(), is(false));
-
-                expectNoMethodsRemoved();
-            }
         }
 
         public static class WithDomainObjectAnnotationWithAuditingSetToEnabled extends Auditing {
@@ -421,19 +394,15 @@ public class DomainObjectAnnotationFacetFactoryTest extends AbstractFacetFactory
 
             @Test
             public void irrespective_of_configured_value() {
-                allowingPublishObjectsToReturn(PublishObjectsConfiguration.ALL);
+                allowingPublishObjectsToReturn(null);
 
                 facetFactory.process(new ProcessClassContext(CustomerWithDomainObjectAndPublishingSetToDisabled.class, mockMethodRemover, facetHolder));
 
                 final AuditableFacet facet = facetHolder.getFacet(AuditableFacet.class);
-                Assert.assertNotNull(facet);
-
-                Assert.assertThat(facet.isDisabled(), is(false));
-                Assert.assertThat(facet.alwaysReplace(), is(true));
-                Assert.assertThat(facet.isNoop(), is(false));
-                Assert.assertThat(facet.isDerived(), is(false));
+                Assert.assertNull(facet);
 
                 expectNoMethodsRemoved();
+                
             }
         }
     }