This is an automated email from the ASF dual-hosted git repository.

pkarwasz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/logging-log4j-tools.git


The following commit(s) were added to refs/heads/main by this push:
     new 88363b5  Add support for table captions
88363b5 is described below

commit 88363b5d343971aa1ec35e55d490544f17b52236
Author: Piotr P. Karwasz <[email protected]>
AuthorDate: Wed Jun 12 20:32:30 2024 +0200

    Add support for table captions
---
 .../docgen/processor/AbstractAsciiDocTreeVisitor.java      | 14 ++++++++++----
 .../logging/log4j/docgen/processor/internal/TableImpl.java |  4 ++++
 .../resources/AsciiDocConverterTest/JavadocExample.adoc    |  1 +
 .../resources/AsciiDocConverterTest/JavadocExample.java    |  1 +
 src/changelog/.0.x.x/add-table-caption.xml                 |  7 +++++++
 5 files changed, 23 insertions(+), 4 deletions(-)

diff --git 
a/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/processor/AbstractAsciiDocTreeVisitor.java
 
b/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/processor/AbstractAsciiDocTreeVisitor.java
index b753044..a6e76af 100644
--- 
a/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/processor/AbstractAsciiDocTreeVisitor.java
+++ 
b/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/processor/AbstractAsciiDocTreeVisitor.java
@@ -123,6 +123,7 @@ abstract class AbstractAsciiDocTreeVisitor extends 
SimpleDocTreeVisitor<Void, As
             case "i":
             case "strong":
             case "b":
+            case "caption":
                 data.newTextSpan();
                 break;
             default:
@@ -142,10 +143,8 @@ abstract class AbstractAsciiDocTreeVisitor extends 
SimpleDocTreeVisitor<Void, As
             case "li":
             case "table":
             case "td":
-                data.popNode();
-                break;
             case "th":
-                data.popNode().setContext(CellImpl.HEADER_CONTEXT);
+                data.popNode();
                 break;
             case "h1":
             case "h2":
@@ -197,10 +196,14 @@ abstract class AbstractAsciiDocTreeVisitor extends 
SimpleDocTreeVisitor<Void, As
                     idx += row.getCells().size();
                 }
                 final Row row = new RowImpl();
-                for (int i = idx; i < table.getBlocks().size(); i++) {
+                // Add all cells to the row, remove additional elements
+                for (int i = idx; i < cells.size(); ) {
                     final StructuralNode cell = cells.get(i);
                     if (cell instanceof Cell) {
                         row.getCells().add((Cell) cell);
+                        i++;
+                    } else {
+                        cells.remove(i);
                     }
                 }
                 table.getBody().add(row);
@@ -216,6 +219,9 @@ abstract class AbstractAsciiDocTreeVisitor extends 
SimpleDocTreeVisitor<Void, As
             case "b":
                 appendSpan(data, STRONG_EMPHASIS_DELIM);
                 break;
+            case "caption":
+                data.getCurrentNode().setTitle(data.popTextSpan());
+                break;
             default:
         }
         return super.visitEndElement(node, data);
diff --git 
a/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/processor/internal/TableImpl.java
 
b/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/processor/internal/TableImpl.java
index cb4454a..333bb7b 100644
--- 
a/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/processor/internal/TableImpl.java
+++ 
b/log4j-docgen/src/main/java/org/apache/logging/log4j/docgen/processor/internal/TableImpl.java
@@ -35,6 +35,10 @@ public final class TableImpl extends StructuralNodeImpl 
implements Table {
     public void formatTo(final StringBuilder buffer) {
         final int colCount = body.isEmpty() ? 1 : 
body.get(0).getCells().size();
 
+        final String title = getTitle();
+        if (title != null) {
+            buffer.append(".").append(title).append("\n");
+        }
         buffer.append("[cols=\"");
         formatColSpecifier(colCount, buffer);
         buffer.append("\"]\n").append("|===\n");
diff --git 
a/log4j-docgen/src/test/resources/AsciiDocConverterTest/JavadocExample.adoc 
b/log4j-docgen/src/test/resources/AsciiDocConverterTest/JavadocExample.adoc
index e97c87a..f79958e 100644
--- a/log4j-docgen/src/test/resources/AsciiDocConverterTest/JavadocExample.adoc
+++ b/log4j-docgen/src/test/resources/AsciiDocConverterTest/JavadocExample.adoc
@@ -94,6 +94,7 @@ Sed varius justo eget congue lacinia.
 
 == First section
 
+.Caption
 [cols="1,1"]
 |===
 
diff --git 
a/log4j-docgen/src/test/resources/AsciiDocConverterTest/JavadocExample.java 
b/log4j-docgen/src/test/resources/AsciiDocConverterTest/JavadocExample.java
index b6d9971..cd20465 100644
--- a/log4j-docgen/src/test/resources/AsciiDocConverterTest/JavadocExample.java
+++ b/log4j-docgen/src/test/resources/AsciiDocConverterTest/JavadocExample.java
@@ -91,6 +91,7 @@ import javax.tools.Diagnostic;
  * </ul>
  * <h2>First section</h2>
  * <table>
+ *     <caption>Caption</caption>
  *     <tr>
  *         <th>Key</th>
  *         <th>Value</th>
diff --git a/src/changelog/.0.x.x/add-table-caption.xml 
b/src/changelog/.0.x.x/add-table-caption.xml
new file mode 100644
index 0000000..86abc8d
--- /dev/null
+++ b/src/changelog/.0.x.x/add-table-caption.xml
@@ -0,0 +1,7 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<entry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
+       xmlns="https://logging.apache.org/xml/ns";
+       xsi:schemaLocation="https://logging.apache.org/xml/ns 
https://logging.apache.org/xml/ns/log4j-changelog-0.xsd";
+       type="added">
+  <description format="asciidoc">Add support for table captions to JavaDoc to 
AsciiDoc converter.</description>
+</entry>

Reply via email to