diff --git a/spring-statemachine-uml/src/main/java/org/springframework/statemachine/plantuml/PlantUmlWriter.java b/spring-statemachine-uml/src/main/java/org/springframework/statemachine/plantuml/PlantUmlWriter.java index e8a170a8..52239c60 100644 --- a/spring-statemachine-uml/src/main/java/org/springframework/statemachine/plantuml/PlantUmlWriter.java +++ b/spring-statemachine-uml/src/main/java/org/springframework/statemachine/plantuml/PlantUmlWriter.java @@ -153,15 +153,10 @@ public String toPlantUml( historyStatesToHistoryId = StateMachineHelper.collectHistoryStates(stateMachine); historyTransitions = new ArrayList<>(); - StringBuilder sb = new StringBuilder(); - sb.append(""" - @startuml - 'https://plantuml.com/state-diagram - - 'hide description area for state without description - hide empty description - - """); + StringBuilder sb = new StringBuilder("@startuml\n") + .append(PlantUmlWriterParameters.getStateDiagramSettings(plantUmlWriterParameters)) + .append("\n"); + // 2nd pass: processing statemachine AND collecting history transitions in 'historyTransitions processRegion(stateMachine, stateContext, plantUmlWriterParameters, sb, "", null); @@ -651,7 +646,7 @@ private void processPseudoStatesTransition( S target = targetState.getId(); sb.append(""" %s%s - %s%s -%s[%s]-> %s %s + %s%s -%s%s-> %s %s """ .formatted( indent, @@ -746,7 +741,7 @@ private void addTransition( Transition transition ) { sb.append(""" - %s%s -%s[%s]-> %s %s + %s%s -%s%s-> %s %s """ .formatted( indent, diff --git a/spring-statemachine-uml/src/main/java/org/springframework/statemachine/plantuml/PlantUmlWriterParameters.java b/spring-statemachine-uml/src/main/java/org/springframework/statemachine/plantuml/PlantUmlWriterParameters.java index c49120f3..35080327 100644 --- a/spring-statemachine-uml/src/main/java/org/springframework/statemachine/plantuml/PlantUmlWriterParameters.java +++ b/spring-statemachine-uml/src/main/java/org/springframework/statemachine/plantuml/PlantUmlWriterParameters.java @@ -1,9 +1,6 @@ package org.springframework.statemachine.plantuml; -import lombok.Builder; -import lombok.EqualsAndHashCode; -import lombok.Getter; -import lombok.Value; +import lombok.*; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.springframework.lang.Nullable; @@ -21,7 +18,48 @@ public class PlantUmlWriterParameters { private static final Log log = LogFactory.getLog(PlantUmlWriterParameters.class); - // TODO add hidden arrows 'S1 -[hidden]-> S2' + public static final String DEFAULT_STATE_DIAGRAM_SETTINGS = """ + 'https://plantuml.com/state-diagram + + 'hide description area for state without description + hide empty description + + 'https://plantuml.com/fr/skinparam + 'https://plantuml-documentation.readthedocs.io/en/latest/formatting/all-skin-params.html + 'https://plantuml.com/fr/color + skinparam BackgroundColor white + skinparam DefaultFontColor black + 'skinparam DefaultFontName Impact + skinparam DefaultFontSize 14 + skinparam DefaultFontStyle Normal + skinparam NoteBackgroundColor #FEFFDD + skinparam NoteBorderColor black + + skinparam state { + ArrowColor black + BackgroundColor #F1F1F1 + BorderColor #181818 + FontColor black + ' FontName Impact + FontSize 14 + FontStyle Normal + } + """; + + @Setter + private String stateDiagramSettings = DEFAULT_STATE_DIAGRAM_SETTINGS; + + public static String getStateDiagramSettings(@Nullable PlantUmlWriterParameters plantUmlWriterParameters) { + return plantUmlWriterParameters == null + ? DEFAULT_STATE_DIAGRAM_SETTINGS + : plantUmlWriterParameters.getStateDiagramSettings(); + } + + private String getStateDiagramSettings() { + return stateDiagramSettings == null + ? "" + : stateDiagramSettings; + } /** * Direction of an arrow connecting 2 States @@ -206,7 +244,7 @@ public String getStateColor(S state, @Nullable S currentState) { } public String getArrowColor(boolean isCurrentTransaction) { - return isCurrentTransaction ? "#FF0000" : "#000000"; + return isCurrentTransaction ? "[#FF0000]" : ""; } } diff --git a/spring-statemachine-uml/src/test/java/org/springframework/statemachine/plantuml/PlantUmlWriterTest.java b/spring-statemachine-uml/src/test/java/org/springframework/statemachine/plantuml/PlantUmlWriterTest.java index 59401263..5a034e67 100644 --- a/spring-statemachine-uml/src/test/java/org/springframework/statemachine/plantuml/PlantUmlWriterTest.java +++ b/spring-statemachine-uml/src/test/java/org/springframework/statemachine/plantuml/PlantUmlWriterTest.java @@ -110,6 +110,15 @@ void plantUmlTest(String resourcePath, PlantUmlWriterParameters plantUml // make umlStateMachineModelFactory aware of beans available in BeansForUmlFiles.class umlStateMachineModelFactory.setBeanFactory(context); + if (plantUmlWriterParameters == null) { + plantUmlWriterParameters = new PlantUmlWriterParameters<>(); + }// setting some PlantUml parameters + plantUmlWriterParameters.setStateDiagramSettings(""" + 'https://plantuml.com/state-diagram + + 'hide description area for state without description + hide empty description + """); // Dumping statemachine to PlantUml diagram String stateMachineAsPlantUML = new PlantUmlWriter() .toPlantUml( diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/action-with-transition-choice.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/action-with-transition-choice.puml index c2f7d230..7bd8bbf5 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/action-with-transition-choice.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/action-with-transition-choice.puml @@ -18,13 +18,13 @@ state S5 state S6 -[*] -[#000000]-> S1 -S1 -down[#000000]-> CHOICE1 : E1\n/ s1ToChoice -CHOICE1 -down[#000000]-> CHOICE2 : [choice2Guard]\n/ choice1ToChoice2 -CHOICE2 -down[#000000]-> S6 : / choiceToS6 -CHOICE2 -down[#000000]-> S5 : [s5Guard]\n/ choiceToS5 -CHOICE1 -down[#000000]-> S4 : / choiceToS4 -CHOICE1 -down[#000000]-> S3 : [s3Guard] -CHOICE1 -down[#000000]-> S2 : [s2Guard]\n/ choiceToS2 +[*] --> S1 +CHOICE1 -down-> CHOICE2 : [choice2Guard]\n/ choice1ToChoice2 +CHOICE1 -down-> S2 : [s2Guard]\n/ choiceToS2 +CHOICE1 -down-> S3 : [s3Guard] +CHOICE1 -down-> S4 : / choiceToS4 +CHOICE2 -down-> S5 : [s5Guard]\n/ choiceToS5 +CHOICE2 -down-> S6 : / choiceToS6 +S1 -down-> CHOICE1 : E1\n/ s1ToChoice @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/action-with-transition-junction.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/action-with-transition-junction.puml index 4df00132..07b2c50d 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/action-with-transition-junction.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/action-with-transition-junction.puml @@ -18,13 +18,13 @@ state S5 state S6 -[*] -[#000000]-> S1 -S1 -down[#000000]-> JUNCTION1 : E1\n/ s1ToChoice -JUNCTION1 -down[#000000]-> JUNCTION2 : [choice2Guard]\n/ choice1ToChoice2 -JUNCTION2 -down[#000000]-> S6 : / choiceToS6 -JUNCTION2 -down[#000000]-> S5 : [s5Guard]\n/ choiceToS5 -JUNCTION1 -down[#000000]-> S4 : / choiceToS4 -JUNCTION1 -down[#000000]-> S3 : [s3Guard] -JUNCTION1 -down[#000000]-> S2 : [s2Guard]\n/ choiceToS2 +[*] --> S1 +JUNCTION1 -down-> JUNCTION2 : [choice2Guard]\n/ choice1ToChoice2 +JUNCTION1 -down-> S2 : [s2Guard]\n/ choiceToS2 +JUNCTION1 -down-> S3 : [s3Guard] +JUNCTION1 -down-> S4 : / choiceToS4 +JUNCTION2 -down-> S5 : [s5Guard]\n/ choiceToS5 +JUNCTION2 -down-> S6 : / choiceToS6 +S1 -down-> JUNCTION1 : E1\n/ s1ToChoice @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/broken-model-shadowentries.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/broken-model-shadowentries.puml index 4f2152f0..3c7b66d7 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/broken-model-shadowentries.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/broken-model-shadowentries.puml @@ -8,7 +8,7 @@ state S1 state S2 -[*] -[#000000]-> S1 -S1 -down[#000000]-> S2 +[*] --> S1 +S1 -down-> S2 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/initial-actions.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/initial-actions.puml index 31f6506f..d0342620 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/initial-actions.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/initial-actions.puml @@ -8,7 +8,7 @@ state S1 state S2 -[*] -[#000000]-> S1 : / initialAction -S1 -down[#000000]-> S2 : E1 +[*] --> S1 : / initialAction +S1 -down-> S2 : E1 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/missingname-choice.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/missingname-choice.puml index 4cfa8f17..302703f7 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/missingname-choice.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/missingname-choice.puml @@ -13,10 +13,10 @@ state choice1 <> note left of choice1 : choice1 -[*] -[#000000]-> S1 -S1 -down[#000000]-> choice1 : E1 -choice1 -down[#000000]-> S2 : [s2Guard] -choice1 -down[#000000]-> S3 : [s3Guard] -choice1 -down[#000000]-> S4 +[*] --> S1 +S1 -down-> choice1 : E1 +choice1 -down-> S2 : [s2Guard] +choice1 -down-> S3 : [s3Guard] +choice1 -down-> S4 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/multijoin-forkjoin.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/multijoin-forkjoin.puml index b0e0478a..020fe4fd 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/multijoin-forkjoin.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/multijoin-forkjoin.puml @@ -12,12 +12,12 @@ state S2 { state S21 - [*] -[#000000]-> S20 + [*] --> S20 state S30 state S31 - [*] -[#000000]-> S30 + [*] --> S30 } 'S3 <> state S3 <> @@ -29,17 +29,17 @@ note left of SF : SF state SI -S1 -down[#000000]-> S20 +S1 -down-> S20 -S1 -down[#000000]-> S30 +S1 -down-> S30 -[*] -[#000000]-> SI -S20 -down[#000000]-> S21 : E2 -S30 -down[#000000]-> S31 : E3 -SI -down[#000000]-> S1 : E1 -S31 -down[#000000]-> S3 -S21 -down[#000000]-> S3 -S3 -down[#000000]-> S4 : [extendedState.variables.isEmpty()] -S3 -down[#000000]-> SF : [!extendedState.variables.isEmpty()] +[*] --> SI +S20 -down-> S21 : E2 +S21 -down-> S3 +S30 -down-> S31 : E3 +S31 -down-> S3 +S3 -down-> S4 : [extendedState.variables.isEmpty()] +S3 -down-> SF : [!extendedState.variables.isEmpty()] +SI -down-> S1 : E1 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/pseudostate-in-submachine.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/pseudostate-in-submachine.puml index 22022b86..ea4a70fe 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/pseudostate-in-submachine.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/pseudostate-in-submachine.puml @@ -12,12 +12,12 @@ state S1 { state S12 - [*] -[#000000]-> S11 + [*] --> S11 } -[*] -[#000000]-> S1 -S11 -down[#000000]-> CHOICE -CHOICE -down[#000000]-> S12 +[*] --> S1 +CHOICE -down-> S12 +S11 -down-> CHOICE @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/pseudostate-in-submachineref.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/pseudostate-in-submachineref.puml index 22022b86..ea4a70fe 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/pseudostate-in-submachineref.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/pseudostate-in-submachineref.puml @@ -12,12 +12,12 @@ state S1 { state S12 - [*] -[#000000]-> S11 + [*] --> S11 } -[*] -[#000000]-> S1 -S11 -down[#000000]-> CHOICE -CHOICE -down[#000000]-> S12 +[*] --> S1 +CHOICE -down-> S12 +S11 -down-> CHOICE @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-actions.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-actions.puml index 1a558021..47782d86 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-actions.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-actions.puml @@ -11,7 +11,7 @@ S2 : /entry s2Entry S2 : /do extendedState.variables.put('hellos2do','hellos2dovalue') -[*] -[#000000]-> S1 -S1 -down[#000000]-> S2 : E1\n/ e1Action +[*] --> S1 +S1 -down-> S2 : E1\n/ e1Action @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-choice.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-choice.puml index 67c984de..97800d2c 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-choice.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-choice.puml @@ -13,10 +13,10 @@ state S3 state S4 -[*] -[#000000]-> S1 -S1 -down[#000000]-> CHOICE : E1 -CHOICE -down[#000000]-> S4 -CHOICE -down[#000000]-> S3 : [s3Guard] -CHOICE -down[#000000]-> S2 : [s2Guard] +[*] --> S1 +CHOICE -down-> S2 : [s2Guard] +CHOICE -down-> S3 : [s3Guard] +CHOICE -down-> S4 +S1 -down-> CHOICE : E1 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-connectionpointref.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-connectionpointref.puml index 80adcdbe..1cef76e1 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-connectionpointref.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-connectionpointref.puml @@ -1,5 +1,5 @@ @startuml -note "!!! NOT WORKING !!!\n!!! Missing 'EXIT -down[#000000]-> S4' transition !!!\n It seems ConnectionPointRef is not supported by Spring Statemachine" as NOT_WORKING +note "!!! NOT WORKING !!!\n!!! Missing 'EXIT -down-> S4' transition !!!\n It seems ConnectionPointRef is not supported by Spring Statemachine" as NOT_WORKING 'https://plantuml.com/state-diagram 'hide description area for state without description @@ -11,7 +11,7 @@ state S2 { state S22 - [*] -[#000000]-> S21 + [*] --> S21 state ENTRY <> state EXIT <> } @@ -19,12 +19,12 @@ state S3 state S4 -[*] -[#000000]-> S1 -S1 -down[#000000]-> S2 : E1 -ENTRY -down[#000000]-> S22 -S22 -down[#000000]-> EXIT : E4 -S1 -down[#000000]-> ENTRY : E3 -S2 -down[#000000]-> S3 : E2 -EXIT -down[#000000]-> S4 +[*] --> S1 +S1 -down-> S2 : E1 +ENTRY -down-> S22 +S22 -down-> EXIT : E4 +S1 -down-> ENTRY : E3 +S2 -down-> S3 : E2 +EXIT -down-> S4 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-entryexit.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-entryexit.puml index cbdb6cbd..72827c93 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-entryexit.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-entryexit.puml @@ -10,7 +10,7 @@ state S2 { state S22 - [*] -[#000000]-> S21 + [*] --> S21 state ENTRY <> state EXIT <> } @@ -18,12 +18,12 @@ state S3 state S4 -[*] -[#000000]-> S1 -ENTRY -down[#000000]-> S22 -S22 -down[#000000]-> EXIT : E4 -S1 -down[#000000]-> ENTRY : E3 -EXIT -down[#000000]-> S4 -S1 -down[#000000]-> S2 : E1 -S2 -down[#000000]-> S3 : E2 +[*] --> S1 +ENTRY -down-> S22 +EXIT -down-> S4 +S1 -down-> ENTRY : E3 +S1 -down-> S2 : E1 +S22 -down-> EXIT : E4 +S2 -down-> S3 : E2 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-eventdefer.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-eventdefer.puml index a0f9187a..83516f90 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-eventdefer.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-eventdefer.puml @@ -10,8 +10,8 @@ state S2 state S3 -[*] -[#000000]-> S1 -S1 -down[#000000]-> S2 : E1 -S2 -down[#000000]-> S3 : E2 +[*] --> S1 +S1 -down-> S2 : E1 +S2 -down-> S3 : E2 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-flat-end.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-flat-end.puml index a83a5939..ce729299 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-flat-end.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-flat-end.puml @@ -11,8 +11,8 @@ state S3 <> note left of S3 : S3 -[*] -[#000000]-> S1 -S1 -down[#000000]-> S2 : E1 -S2 -down[#000000]-> S3 : E2 +[*] --> S1 +S1 -down-> S2 : E1 +S2 -down-> S3 : E2 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-flat-multiple-to-end-viachoices.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-flat-multiple-to-end-viachoices.puml index 62de460d..1824ab23 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-flat-multiple-to-end-viachoices.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-flat-multiple-to-end-viachoices.puml @@ -16,10 +16,10 @@ note left of FINAL : FINAL state S1 -[*] -[#000000]-> S1 -S1 -down[#000000]-> CHOICE1 -CHOICE2 -down[#000000]-> FINAL -CHOICE1 -down[#000000]-> FINAL -S1 -down[#000000]-> CHOICE2 +[*] --> S1 +CHOICE1 -down-> FINAL +CHOICE2 -down-> FINAL +S1 -down-> CHOICE1 +S1 -down-> CHOICE2 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-flat-multiple-to-end.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-flat-multiple-to-end.puml index 00f8ce96..250ebe68 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-flat-multiple-to-end.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-flat-multiple-to-end.puml @@ -13,8 +13,8 @@ note left of FINAL2 : FINAL2 state S1 -[*] -[#000000]-> S1 -S1 -down[#000000]-> FINAL1 -S1 -down[#000000]-> FINAL2 +[*] --> S1 +S1 -down-> FINAL1 +S1 -down-> FINAL2 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-flat.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-flat.puml index a2de77e7..72c0afa5 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-flat.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-flat.puml @@ -9,7 +9,7 @@ state S2 S2 : /entry action1 -[*] -[#000000]-> S1 -S1 -down[#000000]-> S2 : E1 +[*] --> S1 +S1 -down-> S2 : E1 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-forkjoin.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-forkjoin.puml index 1a0888ab..7e869d36 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-forkjoin.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-forkjoin.puml @@ -12,12 +12,12 @@ state S2 { state S21 - [*] -[#000000]-> S20 + [*] --> S20 state S30 state S31 - [*] -[#000000]-> S30 + [*] --> S30 } 'S3 <> state S3 <> @@ -28,18 +28,18 @@ note left of SF : SF state SI -S1 -down[#000000]-> S20 +S1 -down-> S20 -S1 -down[#000000]-> S30 +S1 -down-> S30 -[*] -[#000000]-> SI -S20 -down[#000000]-> S21 : E2 -S30 -down[#000000]-> S31 : E3 -SI -down[#000000]-> S1 : E1 -S31 -down[#000000]-> S3 -S21 -down[#000000]-> S3 -S3 -down[#000000]-> SF +[*] --> SI +S20 -down-> S21 : E2 +S21 -down-> S3 +S30 -down-> S31 : E3 +S31 -down-> S3 +S3 -down-> SF +SI -down-> S1 : E1 S1 -right[hidden]-> S2 -@enduml" \ No newline at end of file +@enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-guards.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-guards.puml index 59446d0d..097375ba 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-guards.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-guards.puml @@ -10,9 +10,9 @@ state S3 state S4 -[*] -[#000000]-> S1 -S1 -down[#000000]-> S3 : E2 -S1 -down[#000000]-> S2 : E1\n[denyGuard] -S3 -down[#000000]-> S4 : [denyGuard] +[*] --> S1 +S1 -down-> S2 : E1\n[denyGuard] +S1 -down-> S3 : E2 +S3 -down-> S4 : [denyGuard] @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-history-deep.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-history-deep.puml index d3f3f1a7..2c4fa7ae 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-history-deep.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-history-deep.puml @@ -12,19 +12,19 @@ state S2 { state S212 - [*] -[#000000]-> S211 + [*] --> S211 } - [*] -[#000000]-> S20 + [*] --> S20 } -[*] -[#000000]-> S1 -S211 -down[#000000]-> S212 : E2 -S212 -down[#000000]-> S1 : E3 -S1 -down[#000000]-> S211 : E1 +[*] --> S1 +S1 -down-> S211 : E1 +S211 -down-> S212 : E2 +S212 -down-> S1 : E3 'S1 -> SH -S1 -down[#000000]-> S2[H*] : E4 +S1 -down-> S2[H*] : E4 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-history-default.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-history-default.puml index b32597bc..3721154a 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-history-default.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-history-default.puml @@ -11,17 +11,17 @@ state S2 { state S22 - [*] -[#000000]-> S20 + [*] --> S20 } -[*] -[#000000]-> S1 -S1 -down[#000000]-> S2 : E1 -S20 -down[#000000]-> S21 : E2 -S2 -down[#000000]-> S1 : E3 +[*] --> S1 +S1 -down-> S2 : E1 +S20 -down-> S21 : E2 +S2 -down-> S1 : E3 'S1 -> SH -S1 -down[#000000]-> S2[H] : E4 +S1 -down-> S2[H] : E4 'SH -> S22 -S2[H] -down[#000000]-> S22 +S2[H] -down-> S22 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-history-shallow.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-history-shallow.puml index fc9ebe9c..8f490160 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-history-shallow.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-history-shallow.puml @@ -10,15 +10,15 @@ state S2 { state S21 - [*] -[#000000]-> S20 + [*] --> S20 } -[*] -[#000000]-> S1 -S1 -down[#000000]-> S2 : E1 -S20 -down[#000000]-> S21 : E2 -S2 -down[#000000]-> S1 : E3 +[*] --> S1 +S1 -down-> S2 : E1 +S20 -down-> S21 : E2 +S2 -down-> S1 : E3 'S1 -> SH -S1 -down[#000000]-> S2[H] : E4 +S1 -down-> S2[H] : E4 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-junction.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-junction.puml index 6a6d5446..ba3e5c3f 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-junction.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-junction.puml @@ -16,15 +16,15 @@ state S6 state S7 -[*] -[#000000]-> S1 -S2 -down[#000000]-> JUNCTION : E4 -S3 -down[#000000]-> JUNCTION : E4 -S4 -down[#000000]-> JUNCTION : E4 -S1 -down[#000000]-> S4 : E3 -S1 -down[#000000]-> S3 : E2 -S1 -down[#000000]-> S2 : E1 -JUNCTION -down[#000000]-> S7 -JUNCTION -down[#000000]-> S6 : [s6Guard] -JUNCTION -down[#000000]-> S5 : [s5Guard] +[*] --> S1 +JUNCTION -down-> S5 : [s5Guard] +JUNCTION -down-> S6 : [s6Guard] +JUNCTION -down-> S7 +S1 -down-> S2 : E1 +S1 -down-> S3 : E2 +S1 -down-> S4 : E3 +S2 -down-> JUNCTION : E4 +S3 -down-> JUNCTION : E4 +S4 -down-> JUNCTION : E4 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-localtransition.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-localtransition.puml index fb369412..03f5e8e4 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-localtransition.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-localtransition.puml @@ -10,19 +10,19 @@ state S2 { state S22 - [*] -[#000000]-> S21 + [*] --> S21 } -[*] -[#000000]-> S1 -S1 -down[#000000]-> S2 : E1 -S22 -up[#000000]-> S2 : E33 -S21 -up[#000000]-> S2 : E32 -S22 -up[#000000]-> S2 : E23 -S21 -up[#000000]-> S2 : E22 -S2 -down[#000000]-> S21 : E20 -S2 -down[#000000]-> S22 : E21 -S2 -down[#000000]-> S21 : E30 -S2 -down[#000000]-> S22 : E31 +[*] --> S1 +S1 -down-> S2 : E1 +S21 -up-> S2 : E22 +S21 -up-> S2 : E32 +S22 -up-> S2 : E23 +S22 -up-> S2 : E33 +S2 -down-> S21 : E20 +S2 -down-> S21 : E30 +S2 -down-> S22 : E21 +S2 -down-> S22 : E31 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-root-regions.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-root-regions.puml index 0013878e..e86b3f44 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-root-regions.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-root-regions.puml @@ -1,5 +1,5 @@ @startuml -note "!!! NOT WORKING !!!\n!!! duplicated transition: 'S3 -down[#000000]-> S4 : E2' !!!\n??? Error in Spring Statemachine UML parser ???\n see [[https://github.com/spring-projects/spring-statemachine/issues/1141]] " as NOT_WORKING +note "!!! NOT WORKING !!!\n!!! duplicated transition: 'S3 -down-> S4 : E2' !!!\n??? Error in Spring Statemachine UML parser ???\n see [[https://github.com/spring-projects/spring-statemachine/issues/1141]] " as NOT_WORKING 'https://plantuml.com/state-diagram 'hide description area for state without description @@ -10,17 +10,17 @@ state null { state S2 - [*] -[#000000]-> S1 - S1 -down[#000000]-> S2 : E1 + [*] --> S1 + S1 -down-> S2 : E1 state S3 state S4 - [*] -[#000000]-> S3 - S3 -down[#000000]-> S4 : E2 + [*] --> S3 + S3 -down-> S4 : E2 } -[*] -[#000000]-> null +[*] --> null @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-spels.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-spels.puml index edd3cef7..cd81a9c3 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-spels.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-spels.puml @@ -10,7 +10,7 @@ state S2 S2 : /entry extendedState.variables.put('myvar1','myvalue1') -[*] -[#000000]-> S1 -S1 -down[#000000]-> S2 : E1\n[messageHeaders.get('foo')=='bar'] +[*] --> S1 +S1 -down-> S2 : E1\n[messageHeaders.get('foo')=='bar'] @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-state-actions.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-state-actions.puml index e5430281..30e3740f 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-state-actions.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-state-actions.puml @@ -11,8 +11,8 @@ S2 : /do e2Action state S3 -[*] -[#000000]-> S1 -S1 -down[#000000]-> S2 : E1 -S2 -down[#000000]-> S3 : E2 +[*] --> S1 +S1 -down-> S2 : E1 +S2 -down-> S3 : E2 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-submachine.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-submachine.puml index 4c99b381..f9ea0191 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-submachine.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-submachine.puml @@ -9,13 +9,13 @@ state S1 { state S12 - [*] -[#000000]-> S11 + [*] --> S11 } state S2 -[*] -[#000000]-> S1 -S11 -down[#000000]-> S12 : E1 -S1 -down[#000000]-> S2 : E2 +[*] --> S1 +S11 -down-> S12 : E1 +S1 -down-> S2 : E2 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-submachineref.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-submachineref.puml index fbb1320e..a1225b96 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-submachineref.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-submachineref.puml @@ -12,19 +12,19 @@ state S2 { state S31 - [*] -[#000000]-> S30 + [*] --> S30 } - [*] -[#000000]-> S20 + [*] --> S20 } state S3 -[*] -[#000000]-> S1 -S1 -down[#000000]-> S2 : E1 -S20 -down[#000000]-> S21 : E2 -S30 -down[#000000]-> S31 : E3 -S2 -down[#000000]-> S3 : E4 +[*] --> S1 +S1 -down-> S2 : E1 +S20 -down-> S21 : E2 +S30 -down-> S31 : E3 +S2 -down-> S3 : E4 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-timers.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-timers.puml index 3a89945a..cf9fdf8a 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-timers.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-timers.puml @@ -13,10 +13,10 @@ state S5 S5 : /entry s5Entry -[*] -[#000000]-> S1 -S1 -down[#000000]-> S4 : E2 -S1 -down[#000000]-> S2 : E1 -S2 -down[#000000]-> S3 : every 1 second -S4 -down[#000000]-> S5 : after 1 second +[*] --> S1 +S1 -down-> S2 : E1 +S1 -down-> S4 : E2 +S2 -down-> S3 : every 1 second +S4 -down-> S5 : after 1 second @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-transitiontypes.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-transitiontypes.puml index ea2dad72..9a994a1c 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-transitiontypes.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/simple-transitiontypes.puml @@ -8,9 +8,9 @@ state S1 state S2 -[*] -[#000000]-> S1 -S1 -down[#000000]-> S2 : E1 -S2 -down[#000000]-> S1 : E2 -S2 -down[#000000]-> S2 : E3 +[*] --> S1 +S1 -down-> S2 : E1 +S2 -down-> S1 : E2 +S2 -down-> S2 : E3 @enduml \ No newline at end of file diff --git a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/transition-effect-spel.puml b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/transition-effect-spel.puml index 13e6d9c7..3dd9e9d1 100644 --- a/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/transition-effect-spel.puml +++ b/spring-statemachine-uml/src/test/resources/org/springframework/statemachine/uml/transition-effect-spel.puml @@ -8,7 +8,7 @@ state S1 state S2 -[*] -[#000000]-> S1 -S1 -down[#000000]-> S2 : E1\n/ extendedState.variables.put('key','value') +[*] --> S1 +S1 -down-> S2 : E1\n/ extendedState.variables.put('key','value') @enduml \ No newline at end of file