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