From 31ff37baa3f5562ef959ec91aa3ea60b7c89f2fe Mon Sep 17 00:00:00 2001
From: ulrich
Date: Tue, 07 Oct 2025 14:30:21 +0000
Subject: [PATCH] Logging erweitert.

---
 src/de/uhilger/neon/Factory.java |   35 +++++++++++++++++++++++++----------
 1 files changed, 25 insertions(+), 10 deletions(-)

diff --git a/src/de/uhilger/neon/Factory.java b/src/de/uhilger/neon/Factory.java
index 9f9ef19..61d7e93 100644
--- a/src/de/uhilger/neon/Factory.java
+++ b/src/de/uhilger/neon/Factory.java
@@ -17,6 +17,7 @@
  */
 package de.uhilger.neon;
 
+import de.uhilger.neon.entity.ActorDescriptor;
 import com.google.gson.Gson;
 import com.sun.net.httpserver.Authenticator;
 import com.sun.net.httpserver.Filter;
@@ -48,6 +49,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 import de.uhilger.neon.Scanner.ScannerListener;
+import java.util.Set;
 
 /**
  * Einen Neon-Server aus einer Beschreibungsdatei herstellen
@@ -67,7 +69,7 @@
  */
 public class Factory implements ScannerListener {
   
-  private Map<String, List<TempActor>> actorMap;
+  private Map<String, List<ActorDescriptor>> actorMap;
 
   public Factory() {
     listeners = new ArrayList<>();
@@ -156,19 +158,29 @@
   }
 
   private Authenticator createAuthenticator(NeonDescriptor d) {
+    Logger.getLogger(Factory.class.getName()).log(
+            Level.FINER, "{0} ", new Object[]{"creating Authenticator"});        
     Authenticator auth = null;
     if (d.authenticator != null) {
       try {
+      Logger.getLogger(Factory.class.getName()).log(
+              Level.FINER, "Authenticator className {0} ", new Object[]{d.authenticator.className});        
         Object authObj = Class.forName(d.authenticator.className)
                 .getDeclaredConstructor().newInstance();
         if (authObj instanceof Authenticator) {
           auth = (Authenticator) authObj;
+          Logger.getLogger(Factory.class.getName()).log(
+                  Level.FINER, "Authenticator className {0} created", new Object[]{d.authenticator.className});        
           return auth;
         }
       } catch (ClassNotFoundException | NoSuchMethodException | SecurityException
               | InstantiationException | IllegalAccessException | IllegalArgumentException
               | InvocationTargetException ex) {
         // Klasse nicht gefunden. Muss das geloggt oder sonstwie behandel werden?
+        Logger.getLogger(Factory.class.getName()).log(
+              Level.FINER, "Authenticator className {0} not created, error {1}", 
+                new Object[]{d.authenticator.className, ex.getLocalizedMessage()});        
+        
         return null;
       }
     }
@@ -194,8 +206,8 @@
          */
         ctxAttrs.putAll(cd.attributes);
         ctxAttrs.put("serverDataProviderList", sdp);
-        if (h instanceof Handler handler) {
-          wire(handler, cd.attributes.get("contextName"));
+        if (h instanceof Handler) {
+          wire((Handler) h, cd.attributes.get("contextName"));
         }
         if (cd.authenticator instanceof String) {
           if (!(auth instanceof Authenticator)) {
@@ -212,8 +224,8 @@
             //
             Object filterObj = Class.forName(filterClassName)
                     .getDeclaredConstructor().newInstance();
-            if (filterObj instanceof Filter filter) {
-              ctx.getFilters().add(filter);
+            if (filterObj instanceof Filter) {
+              ctx.getFilters().add((Filter) filterObj);
             }
           }
         }
@@ -348,10 +360,13 @@
    * @param contextName Name des Kontext, dem der Handler zugeordnet ist
    */
   private void wire(Handler h, String contextName) {
-    List<TempActor> actorList = actorMap.get(contextName);
-    Iterator<TempActor> i = actorList.iterator();
+    List<ActorDescriptor> actorList = actorMap.get(contextName);
+    Iterator<ActorDescriptor> i = actorList.iterator();
     while(i.hasNext()) {
-      TempActor actor = i.next();
+      ActorDescriptor actor = i.next();
+      Logger.getLogger(Factory.class.getName()).log(
+              Level.FINER, "actorClassName {0} route {1}", 
+              new Object[]{actor.getActorClassName(), actor.getRoute()});        
       h.setActor(actor.getHttpMethod(), actor.getRoute(), actor.getActorClassName());
     }
   }
@@ -413,13 +428,13 @@
       if (action != null) {
         List<String> actionHandlers = Arrays.asList(action.handler());
         for (String contextName : actionHandlers) {
-           TempActor tempActor = new TempActor();
+           ActorDescriptor tempActor = new ActorDescriptor();
            tempActor.setContextName(contextName);
            tempActor.setHttpMethod(action.type());
            tempActor.setRoute(action.route());
            tempActor.setActorClassName(foundClass.getName());
            
-           List<TempActor> actorList = actorMap.get(contextName);
+           List<ActorDescriptor> actorList = actorMap.get(contextName);
            if(actorList == null) {
              actorList = new ArrayList<>();
            }

--
Gitblit v1.9.3