com.nomagic.magicdraw.openapi.uml.SessionManager is the singleton manager used for editing model Elements. All modifications to model elements should be performed between the createSession(Project, java.lang.String) and closeSession(Project) method calls.
To edit some com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element, a session with this manager must be created. After editing a model element, a session must be closed. After that, all changes will be applied to the model and registered in the command history (for undo/redo) as one command with a session name. Only one session can be active.
The following code can be used for accessing, checking, and creating the session:
// access a singleton instance by using getInstance() // only one session can be active, so check this. if (!SessionManager.getInstance().isSessionCreated(project)) { // create a new session. SessionManager.getInstance().createSession(project, "Edit"); }
If other session is already created and not closed, the createSession(Project, java.lang.String) method throws the java.lang.IllegalStateException runtime exception.