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/03/25 14:48:15 UTC

[isis] branch master updated: ISIS-1930 allow lazy message string generation

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 9fff9f6  ISIS-1930 allow lazy message string generation
9fff9f6 is described below

commit 9fff9f66e99b54889f07ba8303db33f3e54de8e2
Author: Andi Huber <ah...@apache.org>
AuthorDate: Sun Mar 25 16:48:11 2018 +0200

    ISIS-1930 allow lazy message string generation
    
    also replaced some hamcrest idioms by java language equivalent
---
 .../org/apache/isis/core/commons/ensure/Ensure.java     |  9 +++++++++
 .../core/runtime/persistence/adapter/PojoAdapter.java   |  5 ++---
 .../runtime/system/persistence/PersistenceSession4.java | 12 ++++++------
 .../core/runtime/persistence/adapter/PojoAdapter.java   |  7 +++----
 .../runtime/system/persistence/PersistenceSession5.java | 17 ++++++++++-------
 5 files changed, 30 insertions(+), 20 deletions(-)

diff --git a/core/metamodel/src/main/java/org/apache/isis/core/commons/ensure/Ensure.java b/core/metamodel/src/main/java/org/apache/isis/core/commons/ensure/Ensure.java
index 6bfca7e..98b615d 100644
--- a/core/metamodel/src/main/java/org/apache/isis/core/commons/ensure/Ensure.java
+++ b/core/metamodel/src/main/java/org/apache/isis/core/commons/ensure/Ensure.java
@@ -19,6 +19,8 @@
 
 package org.apache.isis.core.commons.ensure;
 
+import java.util.function.Supplier;
+
 import org.hamcrest.Matcher;
 import org.hamcrest.StringDescription;
 
@@ -77,6 +79,13 @@ public final class Ensure {
         return arg;
     }
 
+    public static <T> T ensureThatArg(final T arg, final Matcher<T> matcher, final Supplier<String> message) {
+        if (!matcher.matches(arg)) {
+            throw new IllegalArgumentException(message.get());
+        }
+        return arg;
+    }
+    
     /**
      * To ensure that the current state of this object (instance fields) is
      * correct.
diff --git a/core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java b/core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java
index fab2a31..47877dd 100644
--- a/core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java
+++ b/core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java
@@ -19,8 +19,7 @@
 
 package org.apache.isis.core.runtime.persistence.adapter;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.notNullValue;
+import java.util.Objects;
 
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.ensure.Ensure;
@@ -133,7 +132,7 @@ public class PojoAdapter extends InstanceAbstract implements ObjectAdapter {
 
     @Override
     public void replaceOid(Oid persistedOid) {
-        Ensure.ensureThatArg(oid, is(notNullValue())); // values have no oid, so cannot be replaced 
+    	Objects.requireNonNull(oid); // values have no oid, so cannot be replaced 
         this.oid = persistedOid;
     }
     
diff --git a/core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession4.java b/core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession4.java
index 691e06e..87895fb 100644
--- a/core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession4.java
+++ b/core/plugins/jdo-datanucleus-4/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession4.java
@@ -20,7 +20,6 @@ package org.apache.isis.core.runtime.system.persistence;
 
 import static org.apache.isis.core.commons.ensure.Ensure.ensureThatArg;
 import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.notNullValue;
 
 import java.lang.reflect.Array;
 import java.lang.reflect.Modifier;
@@ -30,6 +29,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.UUID;
 
 import javax.jdo.FetchGroup;
@@ -723,7 +723,7 @@ implements IsisLifecycleListener2.PersistenceSessionLifecycleManagement {
 
         // can be either a view model or a persistent entity.
 
-        ensureThatArg(oid, is(notNullValue()));
+        Objects.requireNonNull(oid);
 
         final ObjectAdapter adapter = getAdapterFor(oid);
         if (adapter != null) {
@@ -1127,14 +1127,14 @@ implements IsisLifecycleListener2.PersistenceSessionLifecycleManagement {
 
     @Override
     public ObjectAdapter getAdapterFor(final Object pojo) {
-        ensureThatArg(pojo, is(notNullValue()));
+        Objects.requireNonNull(pojo);
 
         return pojoAdapterMap.getAdapter(pojo);
     }
 
     @Override
     public ObjectAdapter getAdapterFor(final Oid oid) {
-        ensureThatArg(oid, is(notNullValue()));
+        Objects.requireNonNull(oid);
         ensureMapsConsistent(oid);
 
         return oidAdapterMap.getAdapter(oid);
@@ -1195,7 +1195,7 @@ implements IsisLifecycleListener2.PersistenceSessionLifecycleManagement {
      * Fail early if any problems.
      */
     private void ensureMapsConsistent(final Oid oid) {
-        ensureThatArg(oid, is(notNullValue()));
+        Objects.requireNonNull(oid);
 
         final ObjectAdapter adapter = oidAdapterMap.getAdapter(oid);
         if (adapter == null) {
@@ -1243,7 +1243,7 @@ implements IsisLifecycleListener2.PersistenceSessionLifecycleManagement {
         }
         ensureThatArg(
                 adapter, is(adapterAccordingToMap),
-                "mismatch in "
+                ()->"mismatch in "
                         + mapName
                         + ": provided adapter's OID: " + adapterOid + ", \n"
                         + "but map's adapter's OID was: " + adapterAccordingToMap.getOid());
diff --git a/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java b/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java
index f5cb832..f9ad222 100644
--- a/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java
+++ b/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/persistence/adapter/PojoAdapter.java
@@ -23,6 +23,8 @@ import org.datanucleus.enhancement.Persistable;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 
+import java.util.Objects;
+
 import org.apache.isis.core.commons.authentication.AuthenticationSession;
 import org.apache.isis.core.commons.ensure.Ensure;
 import org.apache.isis.core.commons.exceptions.IsisException;
@@ -44,9 +46,6 @@ import org.apache.isis.core.metamodel.spec.feature.OneToManyAssociation;
 import org.apache.isis.core.metamodel.specloader.SpecificationLoader;
 import org.apache.isis.core.runtime.system.persistence.PersistenceSession5;
 
-import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.notNullValue;
-
 public class PojoAdapter extends InstanceAbstract implements ObjectAdapter {
 
     private final static Logger LOG = LoggerFactory.getLogger(PojoAdapter.class);
@@ -134,7 +133,7 @@ public class PojoAdapter extends InstanceAbstract implements ObjectAdapter {
 
     @Override
     public void replaceOid(Oid persistedOid) {
-        Ensure.ensureThatArg(oid, is(notNullValue())); // values have no oid, so cannot be replaced 
+        Objects.requireNonNull(oid); // values have no oid, so cannot be replaced 
         this.oid = persistedOid;
     }
     
diff --git a/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession5.java b/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession5.java
index b2cc655..06cf1cc 100644
--- a/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession5.java
+++ b/core/plugins/jdo-datanucleus-5/src/main/java/org/apache/isis/core/runtime/system/persistence/PersistenceSession5.java
@@ -20,7 +20,6 @@ package org.apache.isis.core.runtime.system.persistence;
 
 import static org.apache.isis.core.commons.ensure.Ensure.ensureThatArg;
 import static org.hamcrest.CoreMatchers.is;
-import static org.hamcrest.CoreMatchers.notNullValue;
 
 import java.lang.reflect.Array;
 import java.lang.reflect.Modifier;
@@ -30,6 +29,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 import java.util.UUID;
 
 import javax.jdo.FetchGroup;
@@ -41,6 +41,7 @@ import javax.jdo.listener.InstanceLifecycleListener;
 
 import org.apache.isis.applib.internal.collections._Lists;
 import org.apache.isis.applib.internal.collections._Maps;
+import org.apache.isis.applib.internal.exceptions._Exceptions;
 import org.apache.isis.applib.query.Query;
 import org.apache.isis.applib.services.bookmark.Bookmark;
 import org.apache.isis.applib.services.bookmark.BookmarkService;
@@ -723,7 +724,7 @@ implements IsisLifecycleListener2.PersistenceSessionLifecycleManagement {
 
         // can be either a view model or a persistent entity.
 
-        ensureThatArg(oid, is(notNullValue()));
+        Objects.requireNonNull(oid);
 
         final ObjectAdapter adapter = getAdapterFor(oid);
         if (adapter != null) {
@@ -1127,14 +1128,14 @@ implements IsisLifecycleListener2.PersistenceSessionLifecycleManagement {
 
     @Override
     public ObjectAdapter getAdapterFor(final Object pojo) {
-        ensureThatArg(pojo, is(notNullValue()));
+        Objects.requireNonNull(pojo);
 
         return pojoAdapterMap.getAdapter(pojo);
     }
 
     @Override
     public ObjectAdapter getAdapterFor(final Oid oid) {
-        ensureThatArg(oid, is(notNullValue()));
+        Objects.requireNonNull(oid);
         ensureMapsConsistent(oid);
 
         return oidAdapterMap.getAdapter(oid);
@@ -1195,7 +1196,7 @@ implements IsisLifecycleListener2.PersistenceSessionLifecycleManagement {
      * Fail early if any problems.
      */
     private void ensureMapsConsistent(final Oid oid) {
-        ensureThatArg(oid, is(notNullValue()));
+    	Objects.requireNonNull(oid);
 
         final ObjectAdapter adapter = oidAdapterMap.getAdapter(oid);
         if (adapter == null) {
@@ -1241,15 +1242,17 @@ implements IsisLifecycleListener2.PersistenceSessionLifecycleManagement {
                     + mapName
                     + ": provided adapter's OID: " + adapterOid + "; but no adapter found in map");
         }
+        
         ensureThatArg(
                 adapter, is(adapterAccordingToMap),
-                "mismatch in "
+                ()->"mismatch in "
                         + mapName
                         + ": provided adapter's OID: " + adapterOid + ", \n"
                         + "but map's adapter's OID was: " + adapterAccordingToMap.getOid());
     }
+  
 
-    @Override
+	@Override
     public ObjectAdapter adapterForAny(RootOid rootOid) {
 
         final ObjectSpecId specId = rootOid.getObjectSpecId();

-- 
To stop receiving notification emails like this one, please contact
ahuber@apache.org.