ifelse and swimlanes seems to break logic.

0 votes
asked Apr 11, 2020 in Bug by MountainLogic (120 points)

I had hoped to break different ifelse conditionals into different  swimlanes.  Trying to do seem to cause unexpected side effects that fragments the ifelse.  I'm guessing ifelse and swimlanes are closing each other's parse tree??

For my current use I can work around using gr

@startuml Validating_Issue

skinparam monochrome true

title Swim Lane Issue

|low|

start

:something Received;

if (doethen (yes)

    :log ;

elseif (raethen (yes)

    :log ;

elseif (methen (yes)

|Middle|

    :log ;

elseif (fathen (no)

|Low|

    :log ;

elseif (lah?then (Yes)

    :log ;

else (dee)

|High|

    :Hello World;

endif

end

@enduml

1 Answer

0 votes
answered Apr 17, 2020 by plantuml (294,960 points)
Thanks for the report.

It should be fixed in last beta http://beta.plantuml.net/plantuml.jar

Tell us if it's not working for you!
commented Oct 2, 2021 by anonymous

First off, thanks for everything you guys are doing with PlantUML. This tool is awesome.

This issue persists. Here's a simpler example.

Expected behavior:

  1. cond2 diamond in lane 2
  2. arrow between cond2 and no2
  3. continuous line below yes1, yes2 and no2

@startuml

' everythign fine with no elseif

|lane1|

start

if (condthen (yes

' |lane1|

:yes1;

|lane2|

else (no)

:no;

endif

|lane1|

end

start

' issues with elseif

|lane1|

if (condthen (yes

:yes1;

|lane2|

elseif (cond2then (yes2)

:yes2;

|lane3|

else (no)

:no2;

endif

|lane1|

end

@enduml

...