This is an automated email from the ASF dual-hosted git repository.

danhaywood pushed a commit to branch ISIS-3183
in repository https://gitbox.apache.org/repos/asf/isis.git

commit 7b6481f5c6f8a3d130e1b2ea9b4f74bbd8b88387
Author: Dan Haywood <[email protected]>
AuthorDate: Fri Aug 26 13:47:25 2022 +0100

    ISIS-3183: moves DN mixins to own module.
---
 .../IsisModulePersistenceJdoDatanucleus.java       |  17 ----
 .../IsisModulePersistenceJdoDatanucleusMixins.java | 100 +++++++++++++++++++++
 .../mixins/Persistable_datanucleusVersionLong.java |   1 +
 .../Persistable_datanucleusVersionTimestamp.java   |   1 +
 .../mixins/Persistable_downloadJdoMetadata.java    |   2 +-
 5 files changed, 103 insertions(+), 18 deletions(-)

diff --git 
a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.java
 
b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.java
index d20fe551e3..70c320e333 100644
--- 
a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.java
+++ 
b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleus.java
@@ -108,11 +108,6 @@ import lombok.extern.log4j.Log4j2;
     JdoStringIdValueSemantics.class,
     JdoObjectIdValueSemantics.class,
 
-    // @Mixin's
-    Persistable_datanucleusVersionLong.class,
-    Persistable_datanucleusVersionTimestamp.class,
-    Persistable_downloadJdoMetadata.class,
-
     // @Service's
     JdoSupportServiceDefault.class,
 
@@ -132,18 +127,6 @@ public class IsisModulePersistenceJdoDatanucleus {
         return new DnJdoDialect(dataSource);
     }
 
-//    private static boolean ignore(final Class<?> entityType) {
-//        try {
-//            if(entityType.isAnonymousClass() || entityType.isLocalClass() || 
entityType.isMemberClass() || entityType.isInterface()) {
-//                return true;
-//            }
-//            val persistenceCapable = 
entityType.getAnnotation(PersistenceCapable.class);
-//            return persistenceCapable == null; // ignore if doesn't have 
@PersistenceCapable
-//        } catch (NoClassDefFoundError ex) {
-//            return true;
-//        }
-//    }
-
     @Qualifier("local-pmf-proxy")
     @Bean
     public LocalPersistenceManagerFactoryBean 
getLocalPersistenceManagerFactoryBean(
diff --git 
a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleusMixins.java
 
b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleusMixins.java
new file mode 100644
index 0000000000..704fe633e5
--- /dev/null
+++ 
b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/IsisModulePersistenceJdoDatanucleusMixins.java
@@ -0,0 +1,100 @@
+/*
+ *  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.datanucleus;
+
+import java.util.Collections;
+import java.util.List;
+
+import javax.jdo.JDOException;
+import javax.jdo.PersistenceManagerFactory;
+import javax.sql.DataSource;
+
+import org.datanucleus.api.jdo.JDOPersistenceManagerFactory;
+import org.datanucleus.metadata.PersistenceUnitMetaData;
+import org.springframework.beans.factory.annotation.Qualifier;
+import 
org.springframework.boot.context.properties.EnableConfigurationProperties;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.context.annotation.Import;
+import org.springframework.context.annotation.Primary;
+import org.springframework.dao.support.PersistenceExceptionTranslator;
+import org.springframework.transaction.interceptor.TransactionInterceptor;
+
+import org.apache.isis.commons.internal.assertions._Assert;
+import org.apache.isis.commons.internal.base._NullSafe;
+import org.apache.isis.core.config.IsisConfiguration;
+import org.apache.isis.core.config.beans.IsisBeanTypeRegistry;
+import 
org.apache.isis.core.config.beans.aoppatch.TransactionInterceptorFactory;
+import org.apache.isis.core.metamodel.context.MetaModelContext;
+import 
org.apache.isis.core.metamodel.services.objectlifecycle.ObjectLifecyclePublisher;
+import 
org.apache.isis.persistence.jdo.datanucleus.changetracking.JdoLifecycleListener;
+import org.apache.isis.persistence.jdo.datanucleus.config.DatanucleusSettings;
+import org.apache.isis.persistence.jdo.datanucleus.dialect.DnJdoDialect;
+import 
org.apache.isis.persistence.jdo.datanucleus.entities.DnEntityStateProvider;
+import 
org.apache.isis.persistence.jdo.datanucleus.jdosupport.JdoSupportServiceDefault;
+import 
org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionLong;
+import 
org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_datanucleusVersionTimestamp;
+import 
org.apache.isis.persistence.jdo.datanucleus.mixins.Persistable_downloadJdoMetadata;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoByteIdValueSemantics;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoByteIdentityValueSemantics;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoCharIdValueSemantics;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoCharIdentityValueSemantics;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreIdImplValueSemantics;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreIdValueSemantics;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoDatastoreUniqueLongIdValueSemantics;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoIntIdValueSemantics;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoIntIdentityValueSemantics;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoLongIdValueSemantics;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoLongIdentityValueSemantics;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoObjectIdValueSemantics;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoObjectIdentityValueSemantics;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoShortIdValueSemantics;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoShortIdentityValueSemantics;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoStringIdValueSemantics;
+import 
org.apache.isis.persistence.jdo.datanucleus.valuetypes.JdoStringIdentityValueSemantics;
+import 
org.apache.isis.persistence.jdo.integration.IsisModulePersistenceJdoIntegration;
+import 
org.apache.isis.persistence.jdo.provider.config.JdoEntityDiscoveryListener;
+import org.apache.isis.persistence.jdo.spring.integration.JdoDialect;
+import 
org.apache.isis.persistence.jdo.spring.integration.JdoTransactionManager;
+import 
org.apache.isis.persistence.jdo.spring.integration.LocalPersistenceManagerFactoryBean;
+import 
org.apache.isis.persistence.jdo.spring.integration.TransactionAwarePersistenceManagerFactoryProxy;
+
+import lombok.SneakyThrows;
+import lombok.val;
+import lombok.extern.log4j.Log4j2;
+
+/**
+ * @since 2.0 {@index}
+ */
+@Configuration
+@Import({
+    // modules
+    IsisModulePersistenceJdoDatanucleus.class,
+
+    // @Mixin's
+    Persistable_datanucleusVersionLong.class,
+    Persistable_datanucleusVersionTimestamp.class,
+    Persistable_downloadJdoMetadata.class,
+
+})
+@EnableConfigurationProperties(DatanucleusSettings.class)
+@Log4j2
+public class IsisModulePersistenceJdoDatanucleusMixins {
+
+}
diff --git 
a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionLong.java
 
b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionLong.java
index 63524870d6..bf457af41f 100644
--- 
a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionLong.java
+++ 
b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionLong.java
@@ -15,6 +15,7 @@
  *  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.datanucleus.mixins;
 
diff --git 
a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionTimestamp.java
 
b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionTimestamp.java
index 2e724242cb..6a532b9f8f 100644
--- 
a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionTimestamp.java
+++ 
b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_datanucleusVersionTimestamp.java
@@ -15,6 +15,7 @@
  *  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.datanucleus.mixins;
 
diff --git 
a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_downloadJdoMetadata.java
 
b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_downloadJdoMetadata.java
index c4e2fcd66b..645812148f 100644
--- 
a/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_downloadJdoMetadata.java
+++ 
b/persistence/jdo/datanucleus/src/main/java/org/apache/isis/persistence/jdo/datanucleus/mixins/Persistable_downloadJdoMetadata.java
@@ -15,6 +15,7 @@
  *  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.datanucleus.mixins;
 
@@ -30,7 +31,6 @@ import org.datanucleus.enhancement.Persistable;
 import org.apache.isis.applib.annotation.Action;
 import org.apache.isis.applib.annotation.ActionLayout;
 import org.apache.isis.applib.annotation.MemberSupport;
-import org.apache.isis.applib.annotation.ParameterLayout;
 import org.apache.isis.applib.annotation.Publishing;
 import org.apache.isis.applib.annotation.RestrictTo;
 import org.apache.isis.applib.annotation.SemanticsOf;

Reply via email to