From 0c14c00bab23e52508e0d30ef5fdf82399096612 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Fri, 23 Apr 2021 17:57:31 +0000
Subject: [PATCH] Ablageorte werden im laufenden Betrieb ein- und ausgeklinkt

---
 src/de/uhilger/mediaz/Server.java |   13 ++++++++++++-
 1 files changed, 12 insertions(+), 1 deletions(-)

diff --git a/src/de/uhilger/mediaz/Server.java b/src/de/uhilger/mediaz/Server.java
index a3f1b1c..a758078 100644
--- a/src/de/uhilger/mediaz/Server.java
+++ b/src/de/uhilger/mediaz/Server.java
@@ -63,6 +63,8 @@
   private int port;
 
   private String ctx;
+  
+  private HttpServer server;
 
   /**
    * Ein neues Objekt der Kalsse Server erzeugen
@@ -110,7 +112,7 @@
     String wwwData = App.getInitParameter(App.getRs(App.RB_AP_WWW_DATA));
     File wwwDir = new File(wwwData);
 
-    HttpServer server = HttpServer.create(new InetSocketAddress(port), 0);
+    server = HttpServer.create(new InetSocketAddress(port), 0);
     server.createContext(ctx + App.getRs(RB_WEBROOT), new FileHandler(wwwDir.getAbsolutePath()));
     ablageorteEinklinken(server);
     server.createContext(ctx + App.getRs(RB_STORE), new StorageHandler());
@@ -121,7 +123,16 @@
     server.setExecutor(Executors.newFixedThreadPool(20));
     server.start();
   }
+  
+  public void ablageortEntfernen(String url) {
+    server.removeContext(ctx + url);
+  }
 
+  public void ablageortHinzufuegen(Ablageort ort) {
+    server.createContext(ctx + ort.getUrl(),  
+          new ListFileHandler(new File(ort.getOrt()).getAbsolutePath()));
+  }
+  
   private void ablageorteEinklinken(HttpServer server) 
               throws ClassNotFoundException, IOException {
     String typ = Ablageort.class.getSimpleName();

--
Gitblit v1.9.3