Adding [dashed] style fails diagram generation

0 votes
asked Jul 8, 2019 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, 2019 by plantuml (294,960 points)
commented Jul 8, 2019 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, 2019 by plantuml (294,960 points)
Ok, got it.

We have to investigate...
commented Jul 10, 2019 by plantuml (294,960 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, 2019 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.
...