You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@causeway.apache.org by ah...@apache.org on 2023/03/07 10:07:51 UTC
[causeway] branch spring6 updated: CAUSEWAY-3275: [Demo] fixes Demo JDO launch issue
This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch spring6
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/spring6 by this push:
new df4d06a02f CAUSEWAY-3275: [Demo] fixes Demo JDO launch issue
df4d06a02f is described below
commit df4d06a02f9a15f9beaf4d8e7f88def71cd47a99
Author: Andi Huber <ah...@apache.org>
AuthorDate: Tue Mar 7 11:07:45 2023 +0100
CAUSEWAY-3275: [Demo] fixes Demo JDO launch issue
- it seems the mix of JDA and JPA present on the classpath does require
an EntityManagerFactory bean - so we provide a dummy (spring6 branch
only)
---
.../webapp/wicket/jdo/DemoAppWicketJdo.java | 46 ++++++++++++++++++++++
1 file changed, 46 insertions(+)
diff --git a/examples/demo/wicket/jdo/src/main/java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java b/examples/demo/wicket/jdo/src/main/java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java
index f6cd187c06..a85dd38634 100644
--- a/examples/demo/wicket/jdo/src/main/java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java
+++ b/examples/demo/wicket/jdo/src/main/java/demoapp/webapp/wicket/jdo/DemoAppWicketJdo.java
@@ -18,9 +18,22 @@
*/
package demoapp.webapp.wicket.jdo;
+import java.util.Map;
+
+import jakarta.persistence.Cache;
+import jakarta.persistence.EntityGraph;
+import jakarta.persistence.EntityManager;
+import jakarta.persistence.EntityManagerFactory;
+import jakarta.persistence.PersistenceUnitUtil;
+import jakarta.persistence.Query;
+import jakarta.persistence.SynchronizationType;
+import jakarta.persistence.criteria.CriteriaBuilder;
+import jakarta.persistence.metamodel.Metamodel;
+
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
+import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Import;
import org.apache.causeway.commons.internal.os._OsUtil;
@@ -74,6 +87,8 @@ import demoapp.webapp.wicket.common.ui.DemoAppWicketCommon;
//XrayEnable.class // for debugging only
//WicketViewerXrayEnable.class // for debugging only
+
+ DemoAppWicketJdo.WorkaroundJpaEntityManagerFactoryRequired.class
})
//@Log4j2
public class DemoAppWicketJdo extends SpringBootServletInitializer {
@@ -97,8 +112,39 @@ public class DemoAppWicketJdo extends SpringBootServletInitializer {
CausewayModuleExtCommandLogApplib.honorSystemEnvironment();
+
SpringApplication.run(new Class[] { DemoAppWicketJdo.class }, args);
}
+ /**
+ * maybe this workaround is not need, if we remove the right JPA artifacts from the class-path;
+ * however, don't know which one that would be
+ */
+ static class WorkaroundJpaEntityManagerFactoryRequired {
+
+ @Bean
+ public EntityManagerFactory entityManagerFactory() {
+ return new EntityManagerFactory() {
+ @Override public <T> T unwrap(final Class<T> cls) { return null; }
+ @Override public boolean isOpen() { return false; }
+ @Override public Map<String, Object> getProperties() { return null; }
+ @Override public PersistenceUnitUtil getPersistenceUnitUtil() { return null; }
+ @Override public Metamodel getMetamodel() { return null; }
+ @Override public CriteriaBuilder getCriteriaBuilder() { return null; }
+ @Override public Cache getCache() { return null; }
+ @Override public EntityManager createEntityManager(
+ final SynchronizationType synchronizationType, final Map map) { return null; }
+ @Override public EntityManager createEntityManager(
+ final SynchronizationType synchronizationType) { return null; }
+ @Override public EntityManager createEntityManager(final Map map) { return null; }
+ @Override public EntityManager createEntityManager() { return null; }
+ @Override public void close() {}
+ @Override public void addNamedQuery(final String name, final Query query) {}
+ @Override public <T> void addNamedEntityGraph(
+ final String graphName, final EntityGraph<T> entityGraph) {}
+ };
+ }
+ }
+
}