A list item containing an admonition should convert to DITA without causing a parsing error.
VS-Code Markdown Preview shows expected result:
Actual Behavior
Fails with Java exception in 3 different scenarios.
[gen-list] Processing file:/C:/gitworks/dita-ot-bug-prep/test-UA_TM-1720.md
Error: Failed to run pipeline: class com.vladsch.flexmark.ext.admonition.AdmonitionBlock cannot be cast to class com.vladsch.flexmark.ast.ListItem (com.vladsch.flexmark.ext.admonition.AdmonitionBlock and com.vladsch.flexmark.ast.ListItem are in unnamed module of loader java.net.URLClassLoader @3498ed)
when the following Markdown source is used:
1. Retrieve the PersistentVolume defined for an application:
!!! note
If the STATUS value is not "Bound", then the application does not have access to the required storage.
Error: Failed to run pipeline: class com.vladsch.flexmark.ext.admonition.AdmonitionBlock cannot be cast to class com.vladsch.flexmark.ast.ListItem (com.vladsch.flexmark.ext.admonition.AdmonitionBlock and com.vladsch.flexmark.ast.ListItem are in unnamed module of loader java.net.URLClassLoader @3498ed)
Environment
DITA-OT: 4.1.2
LwDITA version: 5.5.0
Operating system and version: Windows 10
resulted in the following VS-Code stack trace building lwdita 5.5.0 and running MarkdownReaderTest.java in debugger:
java.lang.ClassCastException: class com.vladsch.flexmark.ext.admonition.AdmonitionBlock cannot be cast to class com.vladsch.flexmark.ast.ListItem (com.vladsch.flexmark.ext.admonition.AdmonitionBlock and com.vladsch.flexmark.ast.ListItem are in unnamed module of loader 'app')
at com.elovirta.dita.markdown.renderer.TopicRenderer.render(TopicRenderer.java:838)
at com.elovirta.dita.markdown.renderer.TopicRenderer.lambda$52(TopicRenderer.java:235)
at com.elovirta.dita.markdown.renderer.NodeRenderingHandler.render(NodeRenderingHandler.java:16)
at com.elovirta.dita.markdown.DitaRenderer$MainNodeRenderer.renderNode(DitaRenderer.java:258)
at com.elovirta.dita.markdown.DitaRenderer$MainNodeRenderer.renderChildren(DitaRenderer.java:275)
at com.elovirta.dita.markdown.renderer.TopicRenderer.render(TopicRenderer.java:313)
at com.elovirta.dita.markdown.renderer.TopicRenderer.lambda$28(TopicRenderer.java:206)
at com.elovirta.dita.markdown.renderer.NodeRenderingHandler.render(NodeRenderingHandler.java:16)
at com.elovirta.dita.markdown.DitaRenderer$MainNodeRenderer.renderNode(DitaRenderer.java:258)
at com.elovirta.dita.markdown.DitaRenderer$MainNodeRenderer.renderChildren(DitaRenderer.java:275)
at com.elovirta.dita.markdown.renderer.AbstractRenderer.printTag(AbstractRenderer.java:203)
at com.elovirta.dita.markdown.renderer.TopicRenderer.render(TopicRenderer.java:796)
at com.elovirta.dita.markdown.renderer.TopicRenderer.lambda$49(TopicRenderer.java:232)
at com.elovirta.dita.markdown.renderer.NodeRenderingHandler.render(NodeRenderingHandler.java:16)
at com.elovirta.dita.markdown.DitaRenderer$MainNodeRenderer.renderNode(DitaRenderer.java:258)
at com.elovirta.dita.markdown.DitaRenderer$MainNodeRenderer.renderChildren(DitaRenderer.java:275)
at com.elovirta.dita.markdown.renderer.AbstractRenderer.printTag(AbstractRenderer.java:203)
at com.elovirta.dita.markdown.renderer.TopicRenderer.render(TopicRenderer.java:809)
at com.elovirta.dita.markdown.renderer.TopicRenderer.lambda$51(TopicRenderer.java:234)
at com.elovirta.dita.markdown.renderer.NodeRenderingHandler.render(NodeRenderingHandler.java:16)
at com.elovirta.dita.markdown.DitaRenderer$MainNodeRenderer.renderNode(DitaRenderer.java:258)
at com.elovirta.dita.markdown.DitaRenderer$MainNodeRenderer.renderChildren(DitaRenderer.java:275)
at com.elovirta.dita.markdown.renderer.TopicRenderer.render(TopicRenderer.java:271)
at com.elovirta.dita.markdown.renderer.TopicRenderer.lambda$34(TopicRenderer.java:215)
at com.elovirta.dita.markdown.renderer.NodeRenderingHandler.render(NodeRenderingHandler.java:16)
at com.elovirta.dita.markdown.DitaRenderer$MainNodeRenderer.renderNode(DitaRenderer.java:242)
at com.elovirta.dita.markdown.DitaRenderer$MainNodeRenderer.render(DitaRenderer.java:219)
at com.elovirta.dita.markdown.DitaRenderer.render(DitaRenderer.java:170)
at com.elovirta.dita.markdown.MarkdownParserImpl.render(MarkdownParserImpl.java:83)
at com.elovirta.dita.markdown.MarkdownParserImpl.convert(MarkdownParserImpl.java:42)
at com.elovirta.dita.markdown.MarkdownReader.parse(MarkdownReader.java:258)
Expected Behavior
A list item containing an admonition should convert to DITA without causing a parsing error.
VS-Code Markdown Preview shows expected result:
Actual Behavior
Fails with Java exception in 3 different scenarios.
when the following Markdown source is used:
Possible Solution
flexmark issue?
Steps to Reproduce
Run project dita-ot-bug-prep.zip
Copy of the error message, log file or stack trace
[gen-list] Processing file:/C:/gitworks/dita-ot-bug-prep/test-UA_TM-1720.md
Error: Failed to run pipeline: class com.vladsch.flexmark.ext.admonition.AdmonitionBlock cannot be cast to class com.vladsch.flexmark.ast.ListItem (com.vladsch.flexmark.ext.admonition.AdmonitionBlock and com.vladsch.flexmark.ast.ListItem are in unnamed module of loader java.net.URLClassLoader @3498ed)
Environment
DITA-OT: 4.1.2 LwDITA version: 5.5.0 Operating system and version: Windows 10
Test Method 1 (DITA 4.1.2 from command line)
"C:\Users\kirkilis\Downloads\dita-ot-4.1.2/bin/dita.bat" -v -f pdf2 -o C:\gitworks\dita-ot-bug-prep/out/pdf -t C:\gitworks\dita-ot-bug-prep/temp/pdf -i C:\gitworks\dita-ot-bug-prep\test-UA_TM-1720.ditamap "-Dpdf.formatter=fop"
Test Method 2
Reproduced it in OxygenXML Editor v26.0 in its DITA preview tab:
Test Method 3 (Using VS-Code Debugger to see if I could find the root cause)
Referenced the attached file at the beginning of MarkdownReaderTest.java and ran in debugger:
resulted in the following VS-Code stack trace building lwdita 5.5.0 and running MarkdownReaderTest.java in debugger: