From bf412a896b52694891bc4b72dee092e026f6e667 Mon Sep 17 00:00:00 2001
From: ulrich@undisclosed <ulrich@ulrich-vaio>
Date: Thu, 28 May 2020 08:06:37 +0000
Subject: [PATCH] Revert "Fehler bei PDF-Umwandlung behoben"

---
 src/de/uhilger/wbx/web/AdocServlet.java |   61 ++++++++++++++++++++----------
 1 files changed, 41 insertions(+), 20 deletions(-)

diff --git a/src/de/uhilger/wbx/web/AdocServlet.java b/src/de/uhilger/wbx/web/AdocServlet.java
index 6f9d7d7..af4736b 100644
--- a/src/de/uhilger/wbx/web/AdocServlet.java
+++ b/src/de/uhilger/wbx/web/AdocServlet.java
@@ -33,6 +33,8 @@
 
 import static org.asciidoctor.Asciidoctor.Factory.create;
 import org.asciidoctor.Asciidoctor;
+import static org.asciidoctor.AttributesBuilder.attributes;
+import static org.asciidoctor.OptionsBuilder.options;
 
 
 
@@ -40,7 +42,7 @@
  * Das AdocServlet wandelt AsciiDoc-Inhalte (*.adoc) 
  * zu HTML-Seiten und PDF-Dokumenten
  * 
- * ?pdf=true im URL fuegt PDF-Ausgabe hinzu
+ * Mit Angabe des Parameters ?pdf=true im URL wird PDF erzeugt, andernfalls HTML
  */
 public class AdocServlet extends HttpServlet  {
   
@@ -50,13 +52,13 @@
   private static final String SERVLET_NAME = "AdocServlet";
   
   /**
-   * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
-   * methods.
+   * Die Methode processRequest verarbeitet HTTP-Anfragen des Typs  
+   * <code>GET</code> und <code>POST</code>.
    *
-   * @param request servlet request
-   * @param response servlet response
-   * @throws ServletException if a servlet-specific error occurs
-   * @throws IOException if an I/O error occurs
+   * @param request die Servlet-Anfrage
+   * @param response die Servlet-Antwort
+   * @throws ServletException wenn ein Servlet-spezifischer Fehler passiert
+   * @throws IOException wenn ein Eingabe- oder Ausgabe-Fehler passiert
    */
   protected void processRequest(HttpServletRequest request, HttpServletResponse response)
           throws ServletException, IOException 
@@ -108,14 +110,26 @@
     }
   }
   
+  /**
+   * Nach HTML transformieren
+   * @param fileName der Dateiname der Quelldatei samt absoluter Pfadangabe
+   */
   private void transform(String fileName) {
     transform(fileName, null);
   }  
   
+  /**
+   * In ein Format transformieren, das von einem 'Backend' von Asciidoctor 
+   * unterstuetzt wird
+   * @param fileName der Dateiname der Quelldatei samt absoluter Pfadangabe
+   * @param backend das Kuerzel des Backends, z.B. der String 'pdf', wenn 
+   * nach PDF transformiert werden soll
+   */
   private void transform(String fileName, String backend) {    
+    /*
     Map<String, Object> attributes = new HashMap<>();
     attributes.put("no_footer", false);
-    attributes.put("source_highlighter", "highlightjs");
+    //attributes.put("source_highlighter", "highlightjs");
 
     Map<String, Object> options = new HashMap<>();
     options.put("attributes", attributes); 
@@ -123,18 +137,25 @@
     if(null != backend) {
       options.put("backend", backend);
     }
+    */
+    
+    Map<String, Object> attributes = attributes().sourceHighlighter("highlightjs")
+                                       .asMap();
+    Map<String, Object> options = options().inPlace(false).attributes(attributes)
+                                       .asMap();
+
     
     Asciidoctor asciidoctor = create();    
     asciidoctor.convertFile(new File(fileName), options);    
   }
 
   /**
-   * Handles the HTTP <code>GET</code> method.
+   * Die HTTP-<code>GET</code>-Methode verarbeiten.
    *
-   * @param request servlet request
-   * @param response servlet response
-   * @throws ServletException if a servlet-specific error occurs
-   * @throws IOException if an I/O error occurs
+   * @param request die Servlet-Anfrage
+   * @param response die Servlet-Antwort
+   * @throws ServletException wenn ein Servlet-spezifischer Fehler passiert
+   * @throws IOException wenn ein Eingabe- oder Ausgabe-Fehler passiert
    */
   @Override
   protected void doGet(HttpServletRequest request, HttpServletResponse response)
@@ -143,12 +164,12 @@
   }
 
   /**
-   * Handles the HTTP <code>POST</code> method.
+   * Die HTTP-<code>POST</code>-Methode verarbeiten.
    *
-   * @param request servlet request
-   * @param response servlet response
-   * @throws ServletException if a servlet-specific error occurs
-   * @throws IOException if an I/O error occurs
+   * @param request die Servlet-Anfrage
+   * @param response die Servlet-Antwort
+   * @throws ServletException wenn ein Servlet-spezifischer Fehler passiert
+   * @throws IOException wenn ein Eingabe- oder Ausgabe-Fehler passiert
    */
   @Override
   protected void doPost(HttpServletRequest request, HttpServletResponse response)
@@ -157,9 +178,9 @@
   }
 
   /**
-   * Returns a short description of the servlet.
+   * Eine Kurzbeschreibung des Servlets ausgeben.
    *
-   * @return a String containing servlet description
+   * @return einen String mit der Kurzbeschreibung des Servlets
    */
   @Override
   public String getServletInfo() {

--
Gitblit v1.9.3