From eee8999d92ecd485af6d159ba7323b80fe17623f Mon Sep 17 00:00:00 2001
From: ulrich
Date: Tue, 24 Feb 2026 16:35:56 +0000
Subject: [PATCH] Beschreibung der Factory ergaenzt.

---
 src/de/uhilger/neon/Factory.java |   43 +++++++------------------------------------
 1 files changed, 7 insertions(+), 36 deletions(-)

diff --git a/src/de/uhilger/neon/Factory.java b/src/de/uhilger/neon/Factory.java
index 61d7e93..25e6813 100644
--- a/src/de/uhilger/neon/Factory.java
+++ b/src/de/uhilger/neon/Factory.java
@@ -18,7 +18,6 @@
 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;
 import com.sun.net.httpserver.HttpContext;
@@ -28,17 +27,12 @@
 import de.uhilger.neon.entity.NeonDescriptor;
 import de.uhilger.neon.entity.ServerDescriptor;
 import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
 import java.io.IOException;
 import java.io.InputStream;
 import java.io.InputStreamReader;
 import java.lang.reflect.InvocationTargetException;
 import java.lang.reflect.Method;
 import java.net.InetSocketAddress;
-import java.net.MalformedURLException;
-import java.net.URI;
-import java.net.URISyntaxException;
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.HashMap;
@@ -49,15 +43,14 @@
 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
+ * Einen Neon-Server aus einer Beschreibungsdatei herstellen und starten
  *
  * Die Werte aus der Beschreibungsdatei werden in die Attribute der HttpContext-Objekte geschrieben,
  * die zu jedem Server eroeffnet werden.
  *
- * Die Entitaeten stehen wie folgt in Beziehung: HttpServer -1:n-> HttpContext -1:1-> HttpHandler
+ * Die Entitaeten stehen wie folgt in Beziehung: HttpServer -1:n-> HttpContext -1:n-> HttpHandler.
  *
  * Die Factory legt die Kontexte, Handler sowie die Verbindung zu den Actors selbsttaetig an. Alle
  * Parameter aus 'attributes'-Elementen der Beschreibungsdatei werden als Attribute in den
@@ -66,6 +59,7 @@
  *
  * @author Ulrich Hilger
  * @version 1, 6.2.2024
+ * @version 2, 24.2.2026
  */
 public class Factory implements ScannerListener {
   
@@ -74,30 +68,6 @@
   public Factory() {
     listeners = new ArrayList<>();
     actorMap = new HashMap<>();
-  }
-
-  /**
-   * Beschreibungsdatei lesen
-   *
-   * @param file die Datei, die den Server beschreibt
-   * @return ein Objekt, das den Server beschreibt
-   * @throws IOException wenn die Datei nicht gelesen werden konnte
-   */
-  public NeonDescriptor readDescriptor(File file) throws IOException {
-    //Logger logger = Logger.getLogger(Factory.class.getName());
-    //logger.log(Level.INFO, "reading NeonDescriptor from {0}", file.getAbsolutePath());
-
-    StringBuilder sb = new StringBuilder();
-    BufferedReader r = new BufferedReader(new FileReader(file));
-    String line = r.readLine();
-    while (line != null) {
-      sb.append(line);
-      line = r.readLine();
-    }
-    r.close();
-
-    Gson gson = new Gson();
-    return gson.fromJson(sb.toString(), NeonDescriptor.class);
   }
 
   public void runInstance(Class c, NeonDescriptor d)
@@ -133,7 +103,7 @@
           IllegalAccessException, IllegalArgumentException, InvocationTargetException, IOException {
 
     Logger.getLogger(Factory.class.getName()).log(Level.FINER, System.getProperty("java.class.path"));
-
+    
     List<ServerDescriptor> serverList = d.server;
     for (ServerDescriptor sd : serverList) {
       HttpServer server = HttpServer.create(new InetSocketAddress(sd.port), 0);
@@ -154,7 +124,8 @@
       server.setExecutor(Executors.newFixedThreadPool(10));
       server.start();
     }
-    fireInstanceStarted();
+
+   fireInstanceStarted();
   }
 
   private Authenticator createAuthenticator(NeonDescriptor d) {
@@ -394,7 +365,7 @@
       l.serverCreated(server);
     }
   }
-
+  
   private void fireHandlerCreated(HttpContext ctx, HttpHandler h) {
     for (FactoryListener l : listeners) {
       l.handlerCreated(ctx, h);

--
Gitblit v1.9.3