From f5adf51f59628c210d6bc8838df99d9b64002ee5 Mon Sep 17 00:00:00 2001
From: ulrich
Date: Fri, 25 Jun 2021 09:55:05 +0000
Subject: [PATCH] Logik in den Actor ausgelagert

---
 src/de/uhilger/httpserver/adoc/AdocActor.java |   22 +++++++++++++++++++++-
 1 files changed, 21 insertions(+), 1 deletions(-)

diff --git a/src/de/uhilger/httpserver/adoc/AdocActor.java b/src/de/uhilger/httpserver/adoc/AdocActor.java
index 66bbe00..94944f9 100644
--- a/src/de/uhilger/httpserver/adoc/AdocActor.java
+++ b/src/de/uhilger/httpserver/adoc/AdocActor.java
@@ -17,7 +17,10 @@
  */
 package de.uhilger.httpserver.adoc;
 
+import com.sun.net.httpserver.HttpExchange;
+import de.uhilger.httpserver.base.HttpResponder;
 import java.io.File;
+import java.io.IOException;
 import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -45,6 +48,16 @@
   private static final String DOT = ".";
   public static final String HTML = "html";
   public static final String PDF = "pdf";
+  
+  public void handle(HttpExchange e, String fileBase, String fileName) throws IOException {
+    File adocfile = new File(fileBase, fileName);
+    logger.fine("adocfile: " + adocfile.getAbsolutePath());
+    AdocActor actor = new AdocActor();
+    File outfile = actor.getTargetFile(adocfile, AdocActor.HTML);
+    logger.fine("outfile: " + outfile.getAbsolutePath());
+    HttpResponder fs = new HttpResponder();
+    fs.serveFile(e, outfile);
+  }
   
   public File getTargetFile(File adocfile, String ext) {
     String nameext = adocfile.getName();
@@ -74,6 +87,7 @@
       die HTML-Datei noch nicht existiert
     */
     if(!htmlfile.exists() || adocfile.lastModified() > htmlfile.lastModified()) {
+      logger.fine("calling transform for " + absname);
       transform(absname);
     }
  
@@ -121,6 +135,7 @@
    * nach PDF transformiert werden soll
    */
   private void transform(String fileName, String backend) {    
+    logger.fine("fileName: " + fileName + ", backend: " + backend);
     Map<String, Object> attributes;
     File outFile = new File(fileName);
     String thisDirName = outFile.getParent();
@@ -150,9 +165,14 @@
               .attributes(attributes).asMap();
     }
     
+    File adcf = new File(fileName);
+    logger.fine("before asciidoctor create, adcf: " + adcf.getAbsolutePath());
     Asciidoctor asciidoctor = create();    
+    logger.fine("asciidoctor created.");
     asciidoctor.requireLibrary("asciidoctor-diagram");
-    asciidoctor.convertFile(new File(fileName), options);    
+    logger.fine("asciidoctor requireLibrary diagram passed.");
+    logger.fine("calling asciidoctor.convert for file " + adcf.getAbsolutePath());
+    asciidoctor.convertFile(adcf, options);    
   }
   
 }

--
Gitblit v1.9.3