stathissideris / ditaa

ditaa is a small command-line utility that can convert diagrams drawn using ascii art ('drawings' that contain characters that resemble lines like | / - ), into proper bitmap graphics.
GNU Lesser General Public License v3.0
924 stars 87 forks source link

IndexOutOfBoundsException / NoSuchElementException with rounded corner directly next to box #71

Open Flupp opened 2 years ago

Flupp commented 2 years ago

The following pictures result in exceptions:

+-+
| |
+-+\
   |

results in

ditaa version 0.11, Copyright (C) 2004--2017  Efstathios (Stathis) Sideris

Running with options:
Reading file: mapdb.ditaa.txt
Exception in thread "main" java.util.NoSuchElementException
        at java.util.HashMap$HashIterator.nextNode(HashMap.java:1447)
        at java.util.HashMap$KeyIterator.next(HashMap.java:1469)
        at org.stathissideris.ascii2image.text.CellSet.getFirst(CellSet.java:81)
        at org.stathissideris.ascii2image.graphics.CompositeDiagramShape.createOpenFromBoundaryCells(CompositeDiagramShape.java:84)
        at org.stathissideris.ascii2image.graphics.Diagram.<init>(Diagram.java:366)
        at org.stathissideris.ascii2image.core.CommandLineConverter.main(CommandLineConverter.java:252)
return value 1
+-+
| |
+-+\
   |
   |

results in

ditaa version 0.11, Copyright (C) 2004--2017  Efstathios (Stathis) Sideris

Running with options:
Reading file: mapdb.ditaa.txt
Exception in thread "main" java.lang.IndexOutOfBoundsException: Index: 1, Size: 1
        at java.util.ArrayList.rangeCheck(ArrayList.java:659)
        at java.util.ArrayList.get(ArrayList.java:435)
        at org.stathissideris.ascii2image.graphics.DiagramShape.connectEndsToAnchors(DiagramShape.java:688)
        at org.stathissideris.ascii2image.graphics.CompositeDiagramShape.connectEndsToAnchors(CompositeDiagramShape.java:217)
        at org.stathissideris.ascii2image.graphics.Diagram.<init>(Diagram.java:372)
        at org.stathissideris.ascii2image.core.CommandLineConverter.main(CommandLineConverter.java:252)
return value 1

I used version 0.11.0-3 on Arch Linux.

37 might be related.