From 9430a83dde5d7c3f4535f6c3a5f9e21ac68ac8fa Mon Sep 17 00:00:00 2001
From: Joaquín Reñé <jrene@curisit.net>
Date: Thu, 16 Apr 2026 17:05:28 +0000
Subject: [PATCH] #4479 - upgrade SecurisServer to Java 21

---
 securis/src/main/java/net/curisit/securis/ioc/EntityManagerProvider.java |   30 +++++++++++++++++++++++++++---
 1 files changed, 27 insertions(+), 3 deletions(-)

diff --git a/securis/src/main/java/net/curisit/securis/ioc/EntityManagerProvider.java b/securis/src/main/java/net/curisit/securis/ioc/EntityManagerProvider.java
index f702c97..2add6fc 100644
--- a/securis/src/main/java/net/curisit/securis/ioc/EntityManagerProvider.java
+++ b/securis/src/main/java/net/curisit/securis/ioc/EntityManagerProvider.java
@@ -3,6 +3,7 @@
 */
 package net.curisit.securis.ioc;
 
+import jakarta.annotation.PostConstruct;
 import jakarta.enterprise.context.ApplicationScoped;
 import jakarta.persistence.EntityManager;
 import jakarta.persistence.EntityManagerFactory;
@@ -27,15 +28,27 @@
 @ApplicationScoped
 public class EntityManagerProvider {
 
-    @SuppressWarnings("unused")
     private static final Logger log = LogManager.getLogger(EntityManagerProvider.class);
 
     /** 
      * entityManagerFactory<p>
      * Application-wide EMF built from persistence.xml PU "localdb". 
      */
-    private final EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("localdb");
+    //private final EntityManagerFactory entityManagerFactory = Persistence.createEntityManagerFactory("localdb");
+    private EntityManagerFactory entityManagerFactory;
 
+    @PostConstruct
+    public void init() {
+        try {
+            log.info("Initializing EntityManagerFactory with persistence unit 'localdb'");
+            entityManagerFactory = Persistence.createEntityManagerFactory("localdb");
+            log.info("EntityManagerFactory initialized correctly: {}", entityManagerFactory);
+        } catch (Exception e) {
+            log.error("Error creating EntityManagerFactory for persistence unit 'localdb'", e);
+            entityManagerFactory = null;
+        }
+    }
+    
     /**
     * getEntityManager<p>
     * Create a new {@link EntityManager}.
@@ -43,6 +56,17 @@
     * @return a new EntityManager; caller must close it
     */
     public EntityManager getEntityManager() {
-        return entityManagerFactory.createEntityManager();
+        try {
+            if (entityManagerFactory == null) {
+                log.error("EntityManagerFactory is null");
+                return null;
+            }
+            EntityManager em = entityManagerFactory.createEntityManager();
+            log.info("Created EntityManager: {}", em);
+            return em;
+        } catch (Exception e) {
+            log.error("Error creating EntityManager", e);
+            return null;
+        }
     }
 }

--
Gitblit v1.3.2