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 2021/08/24 05:30:29 UTC
[isis] branch master updated: ISIS-2856: remove _Optionals.or(...)
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 f0c31f0 ISIS-2856: remove _Optionals.or(...)
f0c31f0 is described below
commit f0c31f096ecfc4b2522be56814e02fae4ff70b3d
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Aug 24 07:30:23 2021 +0200
ISIS-2856: remove _Optionals.or(...)
---
.../isis/commons/internal/base/_Optionals.java | 20 +------------------
.../action/ActionAnnotationFacetFactory.java | 13 +++++-------
...tedFacetAnnotationElseConfigurationFactory.java | 23 ++++++++++------------
.../SpecificationLoaderTestAbstract.java | 21 +++++++++-----------
.../ObjectReflectorDefaultTest_object.java | 8 ++++----
.../SpecificationLoaderTestAbstract.java | 21 ++++++++++----------
6 files changed, 40 insertions(+), 66 deletions(-)
diff --git a/commons/src/main/java/org/apache/isis/commons/internal/base/_Optionals.java b/commons/src/main/java/org/apache/isis/commons/internal/base/_Optionals.java
index a0f67b9..991d7b4 100644
--- a/commons/src/main/java/org/apache/isis/commons/internal/base/_Optionals.java
+++ b/commons/src/main/java/org/apache/isis/commons/internal/base/_Optionals.java
@@ -26,25 +26,6 @@ import lombok.experimental.UtilityClass;
@UtilityClass
public class _Optionals {
- /**
- * @deprecated since Java 9 can be replaced with {@code firstOptional.or(() -> secondOptional)};
- */
- @Deprecated
- public static <T> Optional<T> or(
- final Optional<? extends T> a,
- final Supplier<Optional<? extends T>> b) {
- return a.isPresent()
- ? _Casts.uncheckedCast(a)
- : b.get().map(_Casts::uncheckedCast);
- }
-
- public static <T> Optional<T> or(
- final Optional<? extends T> a,
- final Supplier<Optional<? extends T>> b,
- final Supplier<Optional<? extends T>> c) {
- return or(or(a, b), c);
- }
-
public static <T> Optional<T> orNullable(
final Optional<? extends T> a,
final Supplier<? extends T> b) {
@@ -60,4 +41,5 @@ public class _Optionals {
return orNullable(orNullable(a, b), c);
}
+
}
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 a7a4249..3a7e24a 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
@@ -26,7 +26,6 @@ import javax.inject.Inject;
import org.apache.isis.applib.annotation.Action;
import org.apache.isis.applib.events.domain.ActionDomainEvent;
import org.apache.isis.applib.mixins.system.HasInteractionId;
-import org.apache.isis.commons.internal.base._Optionals;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.commons.internal.collections._Collections;
import org.apache.isis.core.metamodel.context.MetaModelContext;
@@ -252,15 +251,13 @@ extends FacetFactoryAbstract {
}
// check for @Action(typeOf=...)
- val typeOfFacet = _Optionals.<TypeOfFacet>or(
-
- actionIfAny
+ val typeOfFacet = actionIfAny
.map(Action::typeOf)
.filter(typeOf -> typeOf != null && typeOf != Object.class)
- .map(typeOf -> new TypeOfFacetForActionAnnotation(typeOf, facetedMethod)),
-
- // else infer from generic type arg if any
- ()->TypeOfFacet.inferFromMethodReturnType(method, facetedMethod));
+ .<TypeOfFacet>map(typeOf -> new TypeOfFacetForActionAnnotation(typeOf, facetedMethod))
+ .or(
+ // else infer from generic type arg if any
+ ()->TypeOfFacet.inferFromMethodReturnType(method, facetedMethod));
addFacetIfPresent(typeOfFacet);
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotationElseConfigurationFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotationElseConfigurationFactory.java
index 669bc5c..b917f0e 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotationElseConfigurationFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/defaults/annotcfg/DefaultedFacetAnnotationElseConfigurationFactory.java
@@ -24,12 +24,10 @@ import java.util.Optional;
import javax.inject.Inject;
import org.apache.isis.applib.annotation.Defaulted;
-import org.apache.isis.commons.internal.base._Optionals;
import org.apache.isis.commons.internal.base._Strings;
import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.facetapi.FeatureType;
import org.apache.isis.core.metamodel.facets.FacetFactoryAbstract;
-import org.apache.isis.core.metamodel.facets.object.defaults.DefaultedFacet;
import org.apache.isis.core.metamodel.facets.object.defaults.DefaultsProviderUtil;
import lombok.val;
@@ -50,22 +48,21 @@ extends FacetFactoryAbstract {
val config = super.getConfiguration();
val defaultedIfAny = processClassContext.synthesizeOnType(Defaulted.class);
- addFacetIfPresent(_Optionals.<DefaultedFacet>or(
+ addFacetIfPresent(
// create from annotation, if present
defaultedIfAny
.flatMap(defaultedAnnot->DefaultedFacetAnnotation.create(config, cls, facetHolder))
- ,
+ .or(
- // otherwise, try to create from configuration, if present
- ()->{
- val providerName = DefaultsProviderUtil.defaultsProviderNameFromConfiguration(config, cls);
- return _Strings.isNotEmpty(providerName)
- ? DefaultedFacetFromConfiguration.create(providerName, facetHolder)
- : Optional.empty();
- }
-
- ));
+ // otherwise, try to create from configuration, if present
+ ()->{
+ val providerName = DefaultsProviderUtil.defaultsProviderNameFromConfiguration(config, cls);
+ return _Strings.isNotEmpty(providerName)
+ ? DefaultedFacetFromConfiguration.create(providerName, facetHolder)
+ : Optional.empty();
+ })
+ );
}
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
index 4ba0e0b..f8f979f 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/specloader/SpecificationLoaderTestAbstract.java
@@ -24,7 +24,9 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
-import org.apache.isis.commons.internal.base._Optionals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
import org.apache.isis.core.metamodel._testing.MetaModelContext_forTesting;
import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.facetapi.Facet;
@@ -36,9 +38,6 @@ import org.apache.isis.core.metamodel.facets.all.named.ObjectNamedFacet;
import org.apache.isis.core.metamodel.facets.collections.CollectionFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-
import lombok.val;
abstract class SpecificationLoaderTestAbstract {
@@ -85,10 +84,9 @@ abstract class SpecificationLoaderTestAbstract {
@Test
public void testNamedFaced() throws Exception {
- val facet =
- _Optionals.<Facet>or(
- specification.lookupFacet(ObjectNamedFacet.class),
- ()->specification.lookupFacet(MemberNamedFacet.class))
+ val facet = specification.lookupFacet(ObjectNamedFacet.class)
+ .map(Facet.class::cast)
+ .or(()->specification.lookupFacet(MemberNamedFacet.class))
.orElse(null);
assertNotNull(facet);
@@ -97,10 +95,9 @@ abstract class SpecificationLoaderTestAbstract {
@Test @Disabled("we allow descriptions to be absent - no need to install empty fallbacks")
public void testDescriptionFacet() throws Exception {
- val facet =
- _Optionals.<Facet>or(
- specification.lookupFacet(ObjectDescribedFacet.class),
- ()->specification.lookupFacet(MemberDescribedFacet.class))
+ val facet = specification.lookupFacet(ObjectDescribedFacet.class)
+ .map(Facet.class::cast)
+ .or(()->specification.lookupFacet(MemberDescribedFacet.class))
.orElse(null);
assertNotNull(facet);
diff --git a/persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/specloader/ObjectReflectorDefaultTest_object.java b/persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/specloader/ObjectReflectorDefaultTest_object.java
index 816ffb7..2dd64c1 100644
--- a/persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/specloader/ObjectReflectorDefaultTest_object.java
+++ b/persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/specloader/ObjectReflectorDefaultTest_object.java
@@ -26,7 +26,6 @@ import static org.junit.jupiter.api.Assertions.assertNotNull;
import static org.junit.jupiter.api.Assertions.assertNull;
import static org.junit.jupiter.api.Assertions.assertTrue;
-import org.apache.isis.commons.internal.base._Optionals;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facets.actcoll.typeof.TypeOfFacet;
import org.apache.isis.core.metamodel.facets.all.named.MemberNamedFacet;
@@ -61,9 +60,10 @@ class ObjectReflectorDefaultTest_object extends SpecificationLoaderTestAbstract
void testStandardFacets() throws Exception {
assertNotNull(
- _Optionals.<Facet>or(
- specification.lookupFacet(ObjectNamedFacet.class),
- ()->specification.lookupFacet(MemberNamedFacet.class))
+
+ specification.lookupFacet(ObjectNamedFacet.class)
+ .map(Facet.class::cast)
+ .or(()->specification.lookupFacet(MemberNamedFacet.class))
.orElse(null));
//assertNotNull(specification.getFacet(ObjectDescribedFacet.class));
diff --git a/persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/specloader/SpecificationLoaderTestAbstract.java b/persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/specloader/SpecificationLoaderTestAbstract.java
index cd511d6..1a315c8 100644
--- a/persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/specloader/SpecificationLoaderTestAbstract.java
+++ b/persistence/jdo/metamodel/src/test/java/org/apache/isis/persistence/jdo/metamodel/specloader/SpecificationLoaderTestAbstract.java
@@ -24,7 +24,9 @@ import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Disabled;
import org.junit.jupiter.api.Test;
-import org.apache.isis.commons.internal.base._Optionals;
+import static org.junit.jupiter.api.Assertions.assertNotNull;
+import static org.junit.jupiter.api.Assertions.assertNull;
+
import org.apache.isis.core.metamodel._testing.MetaModelContext_forTesting;
import org.apache.isis.core.metamodel.context.MetaModelContext;
import org.apache.isis.core.metamodel.facetapi.Facet;
@@ -37,9 +39,6 @@ import org.apache.isis.core.metamodel.facets.collections.CollectionFacet;
import org.apache.isis.core.metamodel.spec.ObjectSpecification;
import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
-import static org.junit.jupiter.api.Assertions.assertNotNull;
-import static org.junit.jupiter.api.Assertions.assertNull;
-
import lombok.val;
abstract class SpecificationLoaderTestAbstract {
@@ -82,9 +81,10 @@ abstract class SpecificationLoaderTestAbstract {
@Test
public void testNamedFaced() throws Exception {
val facet =
- _Optionals.<Facet>or(
- specification.lookupFacet(ObjectNamedFacet.class),
- ()->specification.lookupFacet(MemberNamedFacet.class))
+
+ specification.lookupFacet(ObjectNamedFacet.class)
+ .map(Facet.class::cast)
+ .or(()->specification.lookupFacet(MemberNamedFacet.class))
.orElse(null);
assertNotNull(facet);
@@ -93,9 +93,10 @@ abstract class SpecificationLoaderTestAbstract {
@Test @Disabled("we allow descriptions to be absent - no need to install empty fallbacks")
public void testDescriptionFacet() throws Exception {
val facet =
- _Optionals.<Facet>or(
- specification.lookupFacet(ObjectDescribedFacet.class),
- ()->specification.lookupFacet(MemberDescribedFacet.class))
+
+ specification.lookupFacet(ObjectDescribedFacet.class)
+ .map(Facet.class::cast)
+ .or(()->specification.lookupFacet(MemberDescribedFacet.class))
.orElse(null);
assertNotNull(facet);