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 2020/01/20 08:28:55 UTC

[isis] branch master updated: ISIS-2158: minor code improvements

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 3441feb  ISIS-2158: minor code improvements
3441feb is described below

commit 3441feb05c6199bf453ece9cf01d31f036ce0d5e
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Jan 20 09:28:41 2020 +0100

    ISIS-2158: minor code improvements
---
 .../metamodel/services/classsubstitutor/ClassSubstitutor.java    | 9 +++++----
 .../services/classsubstitutor/ClassSubstitutorAbstract.java      | 7 ++++---
 .../core/metamodel/specloader/SpecificationLoaderDefault.java    | 2 +-
 .../metamodel/valuetypes/ValueTypeProviderForCollections.java    | 7 +++----
 .../apache/isis/core/metamodel/valuetypes/ValueTypeRegistry.java | 2 +-
 5 files changed, 14 insertions(+), 13 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/classsubstitutor/ClassSubstitutor.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/classsubstitutor/ClassSubstitutor.java
index 99f2145..00c0808 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/classsubstitutor/ClassSubstitutor.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/classsubstitutor/ClassSubstitutor.java
@@ -33,11 +33,12 @@ import lombok.Value;
 public interface ClassSubstitutor {
     
     /**
-     * Captures 3 possible directives:
+     * Captures 4 possible directives:
      * <ul>
-     * <li>do not replace the class (NOP)</li>
-     * <li>ignore the class, that is do not introspect ever</li>
-     * <li>replace the class with another (non-null)</li>
+     * <li>pass-through (indifferent)</li>
+     * <li>never replace the class</li>
+     * <li>never introspect the class</li>
+     * <li>replace the class with another</li>
      * </ul> 
      * @since 2.0
      */
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/classsubstitutor/ClassSubstitutorAbstract.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/classsubstitutor/ClassSubstitutorAbstract.java
index 445a094..301b411 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/classsubstitutor/ClassSubstitutorAbstract.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/services/classsubstitutor/ClassSubstitutorAbstract.java
@@ -19,6 +19,7 @@
 
 package org.apache.isis.core.metamodel.services.classsubstitutor;
 
+import java.util.Objects;
 import java.util.Set;
 
 import org.apache.isis.applib.annotation.Programmatic;
@@ -35,12 +36,12 @@ public abstract class ClassSubstitutorAbstract implements ClassSubstitutor {
     @Override
     public final Substitution getSubstitution(@NonNull Class<?> cls) {
         val replacement = getReplacement(cls);
+        if(Objects.equals(cls, replacement)) {
+            return Substitution.passThrough(); // indifferent
+        }
         if(replacement==null) {
             return Substitution.neverIntrospect();
         }
-        if(cls.equals(replacement)) {
-            return Substitution.passThrough(); // indifferent
-        }
         return Substitution.replaceWith(replacement) ;
     }
     
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderDefault.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderDefault.java
index 21967cc..214bcaa 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderDefault.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderDefault.java
@@ -208,7 +208,7 @@ public class SpecificationLoaderDefault implements SpecificationLoader {
 
         val valueTypeSpecs = _Lists.<ObjectSpecification>newArrayList();
 
-        valueTypeRegistry.classes().forEach(clazz -> {
+        valueTypeRegistry.streamRegisteredClasses().forEach(clazz -> {
             val spec = loadSpecification(clazz, IntrospectionState.NOT_INTROSPECTED);
             if(spec!=null) {
                 knownSpecs.add(spec);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuetypes/ValueTypeProviderForCollections.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuetypes/ValueTypeProviderForCollections.java
index fe8b250..add9a43 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuetypes/ValueTypeProviderForCollections.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuetypes/ValueTypeProviderForCollections.java
@@ -18,9 +18,7 @@
  */
 package org.apache.isis.core.metamodel.valuetypes;
 
-import java.util.Arrays;
 import java.util.Collection;
-import java.util.Collections;
 import java.util.List;
 import java.util.Set;
 import java.util.SortedSet;
@@ -31,6 +29,7 @@ import org.springframework.core.annotation.Order;
 import org.springframework.stereotype.Component;
 
 import org.apache.isis.applib.annotation.OrderPrecedence;
+import org.apache.isis.core.commons.internal.collections._Lists;
 
 @Component
 @Named("isisMetaModel.ValueTypeProviderCollections")
@@ -39,11 +38,11 @@ public class ValueTypeProviderForCollections implements ValueTypeProvider {
 
     @Override
     public Collection<ValueTypeDefinition> definitions() {
-        return Collections.unmodifiableList(Arrays.asList(
+        return _Lists.of(
                     ValueTypeDefinition.collection(List.class),
                     ValueTypeDefinition.collection(Set.class),
                     ValueTypeDefinition.collection(SortedSet.class)
-                ));
+                );
     }
 
 }
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuetypes/ValueTypeRegistry.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuetypes/ValueTypeRegistry.java
index 3dbdba0..017fa81 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuetypes/ValueTypeRegistry.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/valuetypes/ValueTypeRegistry.java
@@ -81,7 +81,7 @@ public class ValueTypeRegistry {
         return ValueType.REFERENCE;
     }
 
-    public Stream<Class<?>> classes() {
+    public Stream<Class<?>> streamRegisteredClasses() {
         val classes = new LinkedHashSet<Class<?>>();
         valueTypeProviders.stream()
                 .map(ValueTypeProvider::definitions)