Adding [dashed] style fails diagram generation

0 votes
asked Jul 8 in Bug by wim.deblauwe (120 points)

This diagram works fine:

@startuml

skinparam shadowing false

skinparam note {

  borderColor black

  backgroundColor white

}

skinparam activity {

  StartColor black

  BarColor black

  EndColor black

  BackgroundColor white

  DiamondBackgroundColor white

  DiamondBorderColor black

  BorderColor black

  ArrowColor black

}

' All NO arrows are made 'dashed' to more clearly see the direction

(*) --> "Entering ValidateConnection state"

If "Is list of certificates used?" then

  -r-> [YES] Wait timeout on SSL error

  --> [If no error during timeout] "Validate Authentication"

else

  -[dashed]-> [NO] "Validate Authentication"

  --> if "Is authentication enabled\nin Flux?" then

    --> [YES] if "Has detector PRODUCT_SECURITY capability?" then

    --> [YES] if "Flux Has credentials for detector" then

  --> [YES] Authenticate on detector

  --> if "Login with detector succesful?"

    --> [YES] "Move to Connected"

    else

    -[dashed]-> [NO] "Move to ConnectionFailed"

    endif

    else

  --> [NO] if "Is Authentication is enabled on detector?" then

      --> [YES] "Move to ConnectionFailed"

    else

      -[dashed]-> [NO] "Move to Connected"

    endif

    endif

  else

    -[dashed]-> [NO] "Move to connected state"

    note right

        If the detector has no

        security capability,

        we never have to check

        the credentials

      end note

  endif

  else

    -[dashed]-> [NO] Check authentication on detector

      if "Is Authentication is enabled on detector?" then

        --> [YES] "Move to ConnectionFailed"

      else

        -[dashed]-> [NO] "Move to Connected"

      endif

  endif

endif

@enduml

However, this diagram does not work, where the only change is adding a 'dashed' style to an arrow (on line 37):

@startuml

skinparam shadowing false

skinparam note {

  borderColor black

  backgroundColor white

}

skinparam activity {

  StartColor black

  BarColor black

  EndColor black

  BackgroundColor white

  DiamondBackgroundColor white

  DiamondBorderColor black

  BorderColor black

  ArrowColor black

}

' All NO arrows are made 'dashed' to more clearly see the direction

(*) --> "Entering ValidateConnection state"

If "Is list of certificates used?" then

  -r-> [YES] Wait timeout on SSL error

  --> [If no error during timeout] "Validate Authentication"

else

  -[dashed]-> [NO] "Validate Authentication"

  --> if "Is authentication enabled\nin Flux?" then

    --> [YES] if "Has detector PRODUCT_SECURITY capability?" then

    --> [YES] if "Flux Has credentials for detector" then

  --> [YES] Authenticate on detector

  --> if "Login with detector succesful?"

    --> [YES] "Move to Connected"

    else

    -[dashed]-> [NO] "Move to ConnectionFailed"

    endif

    else

  -[dashed]-> [NO] if "Is Authentication is enabled on detector?" then

      --> [YES] "Move to ConnectionFailed"

    else

      -[dashed]-> [NO] "Move to Connected"

    endif

    endif

  else

    -[dashed]-> [NO] "Move to connected state"

    note right

        If the detector has no

        security capability,

        we never have to check

        the credentials

      end note

  endif

  else

    -[dashed]-> [NO] Check authentication on detector

      if "Is Authentication is enabled on detector?" then

        --> [YES] "Move to ConnectionFailed"

      else

        -[dashed]-> [NO] "Move to Connected"

      endif

  endif

endif

@enduml

Am I doing something wrong? Or is this a bug?

I have it locally with the IntelliJ plugin, but the same issue also happens on http://www.plantuml.com/plantuml

regards,

Wim

1 Answer

0 votes
answered Jul 8 by plantuml (198,780 points)
commented Jul 8 by wim.deblauwe (120 points)
While that generates a diagram indeed, it is no longer correct if you generate it like that. There are suddenly 3 arrows coming out of the 'Is list of certificates used?' decision diamond.
commented Jul 8 by plantuml (198,780 points)
Ok, got it.

We have to investigate...
commented Jul 10 by plantuml (198,780 points)
Ok, so this is fixed in last beta http://beta.plantuml.net/plantuml.jar

I'm not sure if you can manually patch your IntelliJ plugin.
commented Jul 11 by wim.deblauwe (120 points)
I have no clue if I can patch it, but if you release a new version I can ask them to upgrade.
...