You can no longer nest partitions from Version 2.13.11?

0 votes
asked Jul 9, 2020 in Question / help by anonymous
Windows10 Pro 64bit

Visual studio code 1.46.1

An error occurred in the activity diagram created in the past.

As a result of investigation, it is normal until PlantUML version 2.13.10.

The same markdown gives an error from PlantUML version 2.13.11.

Is it a specification that you can not nest partitions?

sorry, I don't english. Powerd by GOOGLE Transration.
commented Jul 9, 2020 by albert (3,520 points)
An example plus error message would be nice.
commented Jul 10, 2020 by anonymous

/'
Plantuml 2.13.10 >OK
Plantuml 2.13.12 > Error
'/

@startuml
partition "X"{
  (*) --> "Initialization"
  partition "Y"{
    if "Some Test" then
    -->[true] "Some Activity"
    --> "Another activity"
    -right-> (*)
  else
    ->[false] "Something else"
    -->[Ending process] (*)
  endif
  }
}
@enduml

error message

Error found in diagram "Untitled-1"
code1=Y 
this1=[X, X.Y] 

I think you should use the new model.
However, something too complicated could not be described in the new model.

sorry, I don't english. Powerd by GOOGLE Transration.

commented Jul 10, 2020 by albert (3,520 points)

I just tried it in the plantuml web server and got an image:

http://www.plantuml.com/plantuml/umla/NOynImD144Rx-HKVqqI592RsHrAa40i5BPIGOebxkO7BRfYT22hvxyuTET5KmxmtF7Qd8tfgGxBZliLyChkRp6vHFJvSmZagh5IpqcXAj2WMjBDqy2acEO5V-Pk0gvjhZCSL-3uv3wryXKwpgp-tR_qj83NuEUyZNc8nXZKnzTmBQzDZt9prSclo8VR9WmKlK_PpHVYlL7QDkVTtE8XjYJttNXryEGUjaRJhxMznlKhl7JnetiPIDaF1QUtpH2TQ-EAV_W40

Further I tried it locally with PlantUML version 1.2020.16beta3 and got an image (looks also OK except for the position of the "some text") but here I also get the messages:

code1=Y
this1=[X, X.Y]

When I use more partitions I get more messages. The messages look like to come from the file: src/net/sourceforge/plantuml/cucadiagram/Ident.java

        public void checkSameAs(Code code, String separator, CucaDiagram diagram) {
                if (diagram.V1972()) {
                        return;
                }
                final String last = parts.get(parts.size() - 1);
                if (separator == null) {
                        if (code.getName().equals(last) != true && code.getName().equals(toString(separator)) == false) {
                                System.err.println("code1=" + code);
                                System.err.println("this1=" + this);
                                EntityFactory.bigError();
                        }
                } else {
                        if (getLastPart(code.getName(), separator).equals(last) != true
                                        && code.getName().equals(toString(separator)) == false) {
                                System.err.println("code2=" + code);
                                System.err.println("this2=" + this);
                                EntityFactory.bigError();
                        }
                }
        }

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.
...