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)