I've got a Sequence Diagram which doesn't display one of the loops.

0 votes
asked Sep 24, 2015 in Bug by anonymous
I tried to write a sequence diagram and it seems not to render correctly neither in Confluence nor in Eclipse. There is a loop missing in the diagram. Following is the source for the diagram:

@startuml
hide footbox
skinparam sequence {
ArrowColor black
ActorBorderColor black
LifelineBorderColor black
}
participant ClassA
participant ClassB
participant ClassC
participant ClassD
participant ClassE
participant ClassF

activate ClassA
loop collection
ClassA -> ClassD : getDataA()
activate ClassD
ClassA <-- ClassD : dataA
deactivate ClassD
ClassA -> ClassD : getDataB(someParam)
activate ClassD
ClassA <-- ClassD : sequence<dataB>
deactivate ClassD

alt matching dataB
ClassA -> ClassE : setDataB(dataB, dataA)
activate ClassE
ClassA <-- ClassE
deactivate ClassE
else multiple dataB
loop dataB objects
ClassA -> ClassE : clone()
activate ClassE
create ClassEClone
ClassE -> ClassEClone : create
ClassA <-- ClassE : clone
deactivate ClassE
ClassA -> ClassEClone : setDataB(dataB, dataA)
activate ClassEClone
ClassA <-- ClassEClone
deactivate ClassEClone
end
end
end

ClassA -> ClassA : calculateDataC()
activate ClassA
deactivate ClassA

' the following loop is not displayed

loop collection

alt matching dataC
ClassA -> ClassE : setDataC(dataC)
activate ClassE
ClassA <-- ClassE
deactivate ClassE
else different dataC
loop dataC objects
ClassA -> ClassE : clone()
activate ClassE
create ClassEClone
ClassE -> ClassEClone : create
ClassA <-- ClassE : clone
deactivate ClassE
ClassA -> ClassEClone : setDataC(dataC)
activate ClassEClone
ClassA <-- ClassEClone
deactivate ClassEClone
end

end

loop collection
ClassA -> ClassB : createDataD(collectionElement)
activate ClassB
ClassA <-- ClassB : dataD
deactivate ClassB

ClassA -> ClassB : storeDataD(dataD, context)
activate ClassB
ClassA <-- ClassB : reusedData
deactivate ClassB

ClassA -> ClassF : storeDataD(reusedData, type, label, other)
activate ClassF
ClassA <-- ClassF
deactivate ClassF
end

deactivate ClassA

@enduml

Your answer

Your name to display (optional):
Privacy: Your email address will only be used for sending these notifications.
Anti-spam verification:

[Antispam2 Feature: please please wait 1 or 2 minutes (this message will disappear) before pressing the button otherwise it will fail](--------)
To avoid this verification in future, please log in or register.
...