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 2018/01/23 10:57:42 UTC
[isis] 05/10: ISIS-1841 replace uses of deprecated Nullable with
Java's Optional
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch ISIS-1846_internal_utils
in repository https://gitbox.apache.org/repos/asf/isis.git
commit 3b9aded419530572499770ae854377e23b976d05
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Jan 23 09:41:45 2018 +0100
ISIS-1841 replace uses of deprecated Nullable with Java's Optional
---
.../isis/core/metamodel/facetapi/FacetUtil.java | 8 ++++---
.../core/metamodel/facets/MethodFinderUtils.java | 16 ++++++-------
.../DomainObjectAnnotationFacetFactory.java | 8 +++----
.../recreatable/RecreatableObjectFacetFactory.java | 8 +++----
.../metamodel/facets/MethodFinderUtilsTest.java | 27 +++++++++++-----------
5 files changed, 34 insertions(+), 33 deletions(-)
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetUtil.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetUtil.java
index 7f1e10e..bf8b727 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetUtil.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facetapi/FacetUtil.java
@@ -25,6 +25,7 @@ import java.util.List;
import java.util.Map;
import org.apache.isis.applib.internal._Constants;
+import org.apache.isis.applib.internal.base._Casts;
import com.google.common.collect.Lists;
@@ -110,9 +111,9 @@ public final class FacetUtil {
* Bit nasty, for use only by {@link FacetHolder}s that index their
* {@link Facet}s in a Map.
*/
- @SuppressWarnings("unchecked")
public static Class<? extends Facet>[] getFacetTypes(final Map<Class<? extends Facet>, Facet> facetsByClass) {
- return facetsByClass.keySet().toArray(_Constants.emptyClasses);
+ return _Casts.uncheckedCast(
+ facetsByClass.keySet().toArray(_Constants.emptyClasses) );
}
/**
@@ -169,7 +170,8 @@ public final class FacetUtil {
public static void copyFacets(final FacetHolder source, final FacetHolder target) {
final Class<? extends Facet>[] facetTypes = source.getFacetTypes();
for (Class<? extends Facet> facetType : facetTypes) {
- final Facet facet = source.getFacet(facetType);
+ //TODO [ahuber] unused because of expected side effects?
+ final Facet facet = source.getFacet(facetType);
}
List<Facet> facets = source.getFacets(com.google.common.base.Predicates.<Facet>alwaysTrue());
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/MethodFinderUtils.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/MethodFinderUtils.java
index 144ffc2..2109995 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/MethodFinderUtils.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/MethodFinderUtils.java
@@ -22,8 +22,8 @@ import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
-import org.apache.isis.core.commons.lang.Nullable;
import org.apache.isis.core.metamodel.facetapi.MethodRemover;
import org.apache.isis.core.metamodel.methodutils.MethodScope;
@@ -202,28 +202,28 @@ public final class MethodFinderUtils {
public static Method findAnnotatedMethod(
final Object pojo,
final Class<? extends Annotation> annotationClass,
- final Map<Class, Nullable<Method>> methods) {
+ final Map<Class, Optional<Method>> methods) {
final Class<?> clz = pojo.getClass();
- Nullable<Method> nullableMethod = methods.get(clz);
+ Optional<Method> nullableMethod = methods.get(clz);
if(nullableMethod == null) {
nullableMethod = search(clz, annotationClass, methods);
}
- return nullableMethod.value();
+ return nullableMethod.orElse(null);
}
- private static Nullable<Method> search(
+ private static Optional<Method> search(
final Class<?> clz,
final Class<? extends Annotation> annotationClass,
- final Map<Class, Nullable<Method>> postConstructMethods) {
+ final Map<Class, Optional<Method>> postConstructMethods) {
final Method[] methods = clz.getMethods();
- Nullable<Method> nullableMethod = Nullable.none();
+ Optional<Method> nullableMethod = Optional.empty();
for (final Method method : methods) {
final Annotation annotation = method.getAnnotation(annotationClass);
if(annotation != null) {
- nullableMethod = Nullable.some(method);
+ nullableMethod = Optional.of(method);
break;
}
}
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
index a6c387f..3408427 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/domainobject/DomainObjectAnnotationFacetFactory.java
@@ -21,12 +21,11 @@ package org.apache.isis.core.metamodel.facets.object.domainobject;
import java.lang.reflect.Method;
import java.util.List;
import java.util.Map;
+import java.util.Optional;
import java.util.stream.Collectors;
import javax.annotation.PostConstruct;
-import com.google.common.collect.Maps;
-
import org.apache.isis.applib.annotation.DomainObject;
import org.apache.isis.applib.annotation.Nature;
import org.apache.isis.applib.services.HasTransactionId;
@@ -38,7 +37,6 @@ import org.apache.isis.applib.services.eventbus.ObjectRemovingEvent;
import org.apache.isis.applib.services.eventbus.ObjectUpdatedEvent;
import org.apache.isis.applib.services.eventbus.ObjectUpdatingEvent;
import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.lang.Nullable;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
@@ -82,6 +80,8 @@ import org.apache.isis.core.metamodel.specloader.validator.ValidationFailures;
import org.apache.isis.core.metamodel.util.EventUtil;
import org.apache.isis.objectstore.jdo.metamodel.facets.object.persistencecapable.JdoPersistenceCapableFacet;
+import com.google.common.collect.Maps;
+
public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
implements MetaModelValidatorRefiner, PostConstructMethodCache {
@@ -522,7 +522,7 @@ public class DomainObjectAnnotationFacetFactory extends FacetFactoryAbstract
// //////////////////////////////////////
- private final Map<Class, Nullable<Method>> postConstructMethods = Maps.newHashMap();
+ private final Map<Class, Optional<Method>> postConstructMethods = Maps.newHashMap();
public Method postConstructMethodFor(final Object pojo) {
return MethodFinderUtils.findAnnotatedMethod(pojo, PostConstruct.class, postConstructMethods);
diff --git a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetFactory.java b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetFactory.java
index 99f491c..ea70a9a 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetFactory.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/metamodel/facets/object/recreatable/RecreatableObjectFacetFactory.java
@@ -21,16 +21,14 @@ package org.apache.isis.core.metamodel.facets.object.recreatable;
import java.lang.reflect.Method;
import java.util.Map;
+import java.util.Optional;
import javax.annotation.PostConstruct;
import javax.xml.bind.annotation.XmlRootElement;
-import com.google.common.collect.Maps;
-
import org.apache.isis.applib.RecreatableDomainObject;
import org.apache.isis.applib.ViewModel;
import org.apache.isis.core.commons.config.IsisConfiguration;
-import org.apache.isis.core.commons.lang.Nullable;
import org.apache.isis.core.metamodel.facetapi.Facet;
import org.apache.isis.core.metamodel.facetapi.FacetHolder;
import org.apache.isis.core.metamodel.facetapi.FacetUtil;
@@ -48,6 +46,8 @@ import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorCom
import org.apache.isis.core.metamodel.specloader.validator.MetaModelValidatorVisiting;
import org.apache.isis.core.metamodel.specloader.validator.ValidationFailures;
+import com.google.common.collect.Maps;
+
public class RecreatableObjectFacetFactory extends FacetFactoryAbstract
implements MetaModelValidatorRefiner, PostConstructMethodCache {
@@ -125,7 +125,7 @@ public class RecreatableObjectFacetFactory extends FacetFactoryAbstract
// //////////////////////////////////////
- private final Map<Class, Nullable<Method>> postConstructMethods = Maps.newHashMap();
+ private final Map<Class, Optional<Method>> postConstructMethods = Maps.newHashMap();
public Method postConstructMethodFor(final Object pojo) {
return MethodFinderUtils.findAnnotatedMethod(pojo, PostConstruct.class, postConstructMethods);
diff --git a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/MethodFinderUtilsTest.java b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/MethodFinderUtilsTest.java
index b2a8ed6..044339d 100644
--- a/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/MethodFinderUtilsTest.java
+++ b/core/metamodel/src/test/java/org/apache/isis/core/metamodel/facets/MethodFinderUtilsTest.java
@@ -16,21 +16,20 @@
*/
package org.apache.isis.core.metamodel.facets;
+import static org.hamcrest.CoreMatchers.is;
+import static org.hamcrest.CoreMatchers.not;
+import static org.hamcrest.CoreMatchers.nullValue;
+import static org.junit.Assert.assertThat;
+
import java.lang.reflect.Method;
import java.util.Map;
+import java.util.Optional;
import javax.annotation.PostConstruct;
-import com.google.common.collect.Maps;
-
import org.junit.Test;
-import org.apache.isis.core.commons.lang.Nullable;
-
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.not;
-import static org.hamcrest.CoreMatchers.nullValue;
-import static org.junit.Assert.assertThat;
+import com.google.common.collect.Maps;
public class MethodFinderUtilsTest {
@@ -45,27 +44,27 @@ public class MethodFinderUtilsTest {
@Test
public void whenExists() throws Exception {
- final Map<Class, Nullable<Method>> cache = Maps.newHashMap();
+ final Map<Class, Optional<Method>> cache = Maps.newHashMap();
final Method method = MethodFinderUtils.findAnnotatedMethod(new WithPostConstruct(), PostConstruct.class, cache);
assertThat(method, is(not(nullValue())));
- final Nullable<Method> actual = cache.get(WithPostConstruct.class);
+ final Optional<Method> actual = cache.get(WithPostConstruct.class);
assertThat(actual, is(not(nullValue())));
assertThat(actual.isPresent(), is(true));
- assertThat(actual.value(), is(method));
+ assertThat(actual.orElse(null), is(method));
}
@Test
public void whenDoesNotExist() throws Exception {
- final Map<Class, Nullable<Method>> cache = Maps.newHashMap();
+ final Map<Class, Optional<Method>> cache = Maps.newHashMap();
final Method method = MethodFinderUtils.findAnnotatedMethod(new NoPostConstruct(), PostConstruct.class, cache);
assertThat(method, is(nullValue()));
- final Nullable<Method> actual = cache.get(NoPostConstruct.class);
+ final Optional<Method> actual = cache.get(NoPostConstruct.class);
assertThat(actual, is(not(nullValue())));
assertThat(actual.isPresent(), is(false));
- assertThat(actual.value(), is(nullValue()));
+ assertThat(actual.orElse(null), is(nullValue()));
}
}
\ No newline at end of file
--
To stop receiving notification emails like this one, please contact
ahuber@apache.org.