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/06 12:00:19 UTC

[isis] branch master updated: ISIS-2183: removes IsisJdoMetamodelPlugin

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 b1652b7  ISIS-2183: removes IsisJdoMetamodelPlugin
b1652b7 is described below

commit b1652b71d6c50cfc05cd74e4c2c7566aa29af524
Author: Andi Huber <ah...@apache.org>
AuthorDate: Mon Jan 6 12:57:45 2020 +0100

    ISIS-2183: removes IsisJdoMetamodelPlugin
---
 .../jdosupport/IsisJdoMetamodelPlugin5.java        | 65 ----------------------
 .../metamodel/IsisJdoMetamodelPlugin.java          | 56 -------------------
 .../datanucleus5/metamodel/JdoMetamodelUtil.java   | 31 ++++++++++-
 .../JdoPersistenceCapableFacetImpl.java            |  6 +-
 ...o.datanucleus5.metamodel.IsisJdoMetamodelPlugin |  1 -
 5 files changed, 32 insertions(+), 127 deletions(-)

diff --git a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/IsisJdoMetamodelPlugin5.java b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/IsisJdoMetamodelPlugin5.java
deleted file mode 100644
index 2dd696c..0000000
--- a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/jdosupport/IsisJdoMetamodelPlugin5.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.persistence.jdo.datanucleus5.jdosupport;
-
-import java.lang.reflect.Method;
-import java.util.Set;
-
-import org.apache.isis.commons.internal.base._NullSafe;
-import org.apache.isis.commons.internal.collections._Sets;
-import org.apache.isis.persistence.jdo.datanucleus5.metamodel.IsisJdoMetamodelPlugin;
-
-public class IsisJdoMetamodelPlugin5 implements IsisJdoMetamodelPlugin {
-
-    @Override
-    public boolean isPersistenceEnhanced(Class<?> cls) {
-        if(cls==null) {
-            return false;
-        }
-        return org.datanucleus.enhancement.Persistable.class.isAssignableFrom(cls);
-    }
-
-    @Override
-    public boolean isMethodProvidedByEnhancement(Method method) {
-        if(method==null) {
-            return false;
-        }
-        ensureInit();
-        return /*methodStartsWith(method, "jdo") || */ 
-                jdoMethodsProvidedByEnhancement.contains(method.toString());
-    }
-    
-    // -- HELPER
-
-    private final Set<String> jdoMethodsProvidedByEnhancement = _Sets.newHashSet();
-    
-    private static Method[] getMethodsProvidedByEnhancement() {
-        return org.datanucleus.enhancement.Persistable.class.getDeclaredMethods();
-    }
-
-    private void ensureInit() {
-        if(jdoMethodsProvidedByEnhancement.isEmpty()) {
-            _NullSafe.stream(getMethodsProvidedByEnhancement())
-            .map(Method::toString)
-            .forEach(jdoMethodsProvidedByEnhancement::add);
-        }
-    }
-    
-    
-}
diff --git a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/metamodel/IsisJdoMetamodelPlugin.java b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/metamodel/IsisJdoMetamodelPlugin.java
deleted file mode 100644
index 2a9fa14..0000000
--- a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/metamodel/IsisJdoMetamodelPlugin.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- *  Licensed to the Apache Software Foundation (ASF) under one
- *  or more contributor license agreements.  See the NOTICE file
- *  distributed with this work for additional information
- *  regarding copyright ownership.  The ASF licenses this file
- *  to you under the Apache License, Version 2.0 (the
- *  "License"); you may not use this file except in compliance
- *  with the License.  You may obtain a copy of the License at
- *
- *        http://www.apache.org/licenses/LICENSE-2.0
- *
- *  Unless required by applicable law or agreed to in writing,
- *  software distributed under the License is distributed on an
- *  "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- *  KIND, either express or implied.  See the License for the
- *  specific language governing permissions and limitations
- *  under the License.
- */
-package org.apache.isis.persistence.jdo.datanucleus5.metamodel;
-
-import java.lang.reflect.Method;
-
-import javax.annotation.Nullable;
-
-import org.apache.isis.commons.internal.context._Plugin;
-
-public interface IsisJdoMetamodelPlugin {
-
-    // -- INTERFACE
-
-    /**
-     * Equivalent to org.datanucleus.enhancement.Persistable.class.isAssignableFrom(cls).
-     * @param cls
-     * @return
-     */
-    public boolean isPersistenceEnhanced(@Nullable Class<?> cls);
-
-    /**
-     * Equivalent to any match with org.datanucleus.enhancement.Persistable.class.getDeclaredMethods().
-     * @return
-     */
-    public boolean isMethodProvidedByEnhancement(Method method);
-
-    // -- LOOKUP
-
-    public static IsisJdoMetamodelPlugin get() {
-        return _Plugin.getOrElse(IsisJdoMetamodelPlugin.class,
-                ambiguousPlugins->{
-                    throw _Plugin.ambiguityNonRecoverable(IsisJdoMetamodelPlugin.class, ambiguousPlugins);
-                },
-                ()->{
-                    throw _Plugin.absenceNonRecoverable(IsisJdoMetamodelPlugin.class);
-                });
-    }
-
-}
diff --git a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/metamodel/JdoMetamodelUtil.java b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/metamodel/JdoMetamodelUtil.java
index 05d12e3..d482d87 100644
--- a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/metamodel/JdoMetamodelUtil.java
+++ b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/metamodel/JdoMetamodelUtil.java
@@ -18,17 +18,46 @@
  */
 package org.apache.isis.persistence.jdo.datanucleus5.metamodel;
 
+import java.lang.reflect.Method;
+import java.util.Set;
+
 import javax.annotation.Nullable;
 
+import org.apache.isis.commons.internal.base._NullSafe;
+import org.apache.isis.commons.internal.collections._Sets;
+
 public class JdoMetamodelUtil {
     
     public static boolean isPersistenceEnhanced(@Nullable Class<?> cls) {
         if(cls==null) {
             return false;
         }
-        return IsisJdoMetamodelPlugin.get().isPersistenceEnhanced(cls);
+        return org.datanucleus.enhancement.Persistable.class.isAssignableFrom(cls);
+    }
+
+    public static boolean isMethodProvidedByEnhancement(@Nullable Method method) {
+        if(method==null) {
+            return false;
+        }
+        ensureInit();
+        return /*methodStartsWith(method, "jdo") || */ 
+                jdoMethodsProvidedByEnhancement.contains(method.toString());
     }
     
+    // -- HELPER
+
+    private final static Set<String> jdoMethodsProvidedByEnhancement = _Sets.newHashSet();
     
+    private static Method[] getMethodsProvidedByEnhancement() {
+        return org.datanucleus.enhancement.Persistable.class.getDeclaredMethods();
+    }
+
+    private static void ensureInit() {
+        if(jdoMethodsProvidedByEnhancement.isEmpty()) {
+            _NullSafe.stream(getMethodsProvidedByEnhancement())
+            .map(Method::toString)
+            .forEach(jdoMethodsProvidedByEnhancement::add);
+        }
+    }
 
 }
diff --git a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/metamodel/facets/object/persistencecapable/JdoPersistenceCapableFacetImpl.java b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/metamodel/facets/object/persistencecapable/JdoPersistenceCapableFacetImpl.java
index 5bc5e60..f433dcf 100644
--- a/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/metamodel/facets/object/persistencecapable/JdoPersistenceCapableFacetImpl.java
+++ b/core/persistence/jdo/datanucleus-5/src/main/java/org/apache/isis/persistence/jdo/datanucleus5/metamodel/facets/object/persistencecapable/JdoPersistenceCapableFacetImpl.java
@@ -31,7 +31,7 @@ import org.apache.isis.metamodel.facetapi.FacetHolder;
 import org.apache.isis.metamodel.spec.EntityState;
 import org.apache.isis.metamodel.spec.ManagedObject;
 import org.apache.isis.metamodel.spec.ObjectSpecification;
-import org.apache.isis.persistence.jdo.datanucleus5.metamodel.IsisJdoMetamodelPlugin;
+import org.apache.isis.persistence.jdo.datanucleus5.metamodel.JdoMetamodelUtil;
 
 import lombok.val;
 
@@ -128,10 +128,8 @@ public class JdoPersistenceCapableFacetImpl extends JdoPersistenceCapableFacetAb
 
     @Override
     public boolean isProxyEnhancement(Method method) {
-        return IsisJdoMetamodelPlugin.get().isMethodProvidedByEnhancement(method);
+        return JdoMetamodelUtil.isMethodProvidedByEnhancement(method);
     }
 
 
-
-
 }
diff --git a/core/persistence/jdo/datanucleus-5/src/main/resources/META-INF/services/org.apache.isis.persistence.jdo.datanucleus5.metamodel.IsisJdoMetamodelPlugin b/core/persistence/jdo/datanucleus-5/src/main/resources/META-INF/services/org.apache.isis.persistence.jdo.datanucleus5.metamodel.IsisJdoMetamodelPlugin
deleted file mode 100644
index 2ff5579..0000000
--- a/core/persistence/jdo/datanucleus-5/src/main/resources/META-INF/services/org.apache.isis.persistence.jdo.datanucleus5.metamodel.IsisJdoMetamodelPlugin
+++ /dev/null
@@ -1 +0,0 @@
-org.apache.isis.persistence.jdo.datanucleus5.jdosupport.IsisJdoMetamodelPlugin5
\ No newline at end of file