News for Developers
Modeling tools
General OpenAPI Changes
Removed constants:
- com.nomagic.magicdraw.properties.PropertyID#SHOW_SMART_MANIPULATORS
- com.nomagic.magicdraw.uml2.datatypes.OSDecimalFormatSymbolsGetter#INFINITY
- com.nomagic.uml2.UML2Constants#STANDARD_PROFILE_L2
- com.nomagic.uml2.UML2Constants#STANDARD_PROFILE_L3
Removed constructors:
- com.nomagic.magicdraw.core.modules.ModulesService.UsedViaReadOnlyAutomaticUsageException#UsedViaReadOnlyAutomaticUsageException(com.nomagic.ci.persistence.spi.decomposition.AttachmentSet)
Removed methods:
- com.nomagic.magicdraw.core.modules.ModulesService.UsedViaReadOnlyAutomaticUsageException#getOffendingUsages
- com.nomagic.uml2.finder.AbstractByQualifiedNameFinder#isMatchingElement
- com.nomagic.uml2.finder.AbstractByQualifiedNameFinder#isFinalPartOfQualifiedName
- com.nomagic.uml2.finder.AbstractByQualifiedNameFinder#splitQualifiedName
- com.nomagic.uml2.ext.jmi.reflect.AbstractRepository#isRawMode - always returned false
- com.nomagic.uml2.ext.jmi.reflect.AbstractRepository#setRawMode - empty implementation
- com.nomagic.magicdraw.uml.MDElement#accept
Changes:
The changes consist of classes being moved to other packages and renamed.
| Old API | New API |
|---|---|
com.nomagic.uml2.ext.jmi.reflect.AbstractRepository#nextVersion | com.nomagic.uml2.ext.jmi.reflect.AbstractRepository#nextBasicVersion |
| com.nomagic.uml2.ext.jmi.smartlistener.SmartEventSupport#registerConfig | com.nomagic.uml2.ext.jmi.smartlistener.SmartEventSupport#register |
| com.nomagic.uml2.ext.jmi.smartlistener.SmartEventSupport#unregisterConfig | com.nomagic.uml2.ext.jmi.smartlistener.SmartEventSupport#unregister |
| com.nomagic.magicdraw.utils.PriorityProvider | com.nomagic.utils.PriorityProvider |
| com.nomagic.magicdraw.core.options.OptionsGroup#getIcon | com.nomagic.magicdraw.core.options.OptionsGroup#getGroupIcon |
| com.nomagic.ui.ResizableIconAdapter | com.dassault_systemes.modeler.foundation.common.ui.ResizableIconAdapter |
| com.nomagic.magicdraw.uml.MDElement#getProject | com.nomagic.magicdraw.core.Project#getProject(com.nomagic.magicdraw.uml.BaseElement) |
| com.nomagic.magicdraw.uml.MDElement#getProjectImpl | com.nomagic.magicdraw.core.Project#getProject(com.nomagic.magicdraw.uml.BaseElement) |
| com.nomagic.magicdraw.uml.MDElement | com.nomagic.magicdraw.uml.core.MDElement |
| com.nomagic.magicdraw.uml.ModelElementProvider | com.nomagic.magicdraw.uml.core.ModelElementProvider |
| com.nomagic.magicdraw.uml.ModelElementsProvider | com.nomagic.magicdraw.uml.core.ModelElementsProvider |
| com.nomagic.magicdraw.uml.AbstractDiagramType | com.nomagic.magicdraw.uml.symbols.AbstractDiagramType |
| com.nomagic.magicdraw.ui.AbstractDiagramSurfacePainter | com.dassault_systemes.modeler.foundation.diagram.AbstractDiagramSurfacePainter |
Class
- com.nomagic.magicdraw.uml.CompartmentElement
was removed from OpenAPI and moved to another package
- com.dassault_systemes.modeler.foundation.common.compartments.CompartmentElement
PresentationElement OpenAPI Changes
The changes consist of Property related calls being moved to PresentationElementsManager, and some method name changes.
| Old API | New API |
|---|---|
| com.nomagic.magicdraw.uml.symbols.PresentationElement#getPreferredSize | com.nomagic.magicdraw.uml.symbols.PresentationElement#getPreferredDimension |
| com.nomagic.magicdraw.uml.symbols.PresentationElement#getProperty | com.nomagic.magicdraw.openapi.uml.PresentationElementsManager#getProperty |
| com.nomagic.magicdraw.uml.symbols.PresentationElement#addProperty | com.nomagic.magicdraw.openapi.uml.PresentationElementsManager#addProperty |
| com.nomagic.magicdraw.uml.symbols.PresentationElement#getPropertyManager | com.nomagic.magicdraw.openapi.uml.PresentationElementsManager#getPropertyManager |
| com.nomagic.magicdraw.uml.symbols.PresentationElement#getPreferredSize | com.nomagic.magicdraw.uml.symbols.PresentationElement#getPreferredDimension |
| com.nomagic.magicdraw.uml.symbols.PresentationElement#getDiagramPresentationElement | com.nomagic.magicdraw.uml.symbols.DiagramPresentationElement#get |
| com.nomagic.magicdraw.uml.symbols.PresentationElement#useParentProperties | com.nomagic.magicdraw.uml.symbols.PresentationElement#useParentStyle |
com.nomagic.magicdraw.uml.Visitor was refactored by moving symbols specific methods to
- com.nomagic.magicdraw.uml.PresentationElementVisitor and
- com.nomagic.magicdraw.uml.symbols.BasePresentationElementVisitor
com.nomagic.magicdraw.uml.InheritanceVisitor was refactored by moving symbols specific methods to
- com.nomagic.magicdraw.uml.symbols.BasePresentationElementInheritanceVisitor and
- com.nomagic.magicdraw.uml.PresentationElementInheritanceVisitor
Project Merge/Compare OpenAPI Changes
com.nomagic.magicdraw.merge.CompareUtil#getDifference API:
- CompareUtil#getDifference(com.nomagic.magicdraw.core.Project, com.nomagic.magicdraw.core.project.ProjectDescriptor, com.nomagic.magicdraw.core.project.ProjectDescriptor, com.nomagic.utils.ErrorHandler<java.lang.Exception>, com.nomagic.magicdraw.merge.Optimization, java.util.Set<com.nomagic.magicdraw.diff.ModuleInfo>)
was changed with:
- CompareUtil#getDifference(com.nomagic.magicdraw.core.Project, com.nomagic.magicdraw.core.project.ProjectDescriptor, com.nomagic.magicdraw.core.project.ProjectDescriptor, com.nomagic.utils.ErrorHandler<java.lang.Exception>, com.nomagic.magicdraw.merge.Optimization)
Removed:
com.nomagic.magicdraw.merge.ProjectDifference.getRejectedModules() method removed that incorrectly returned empty collection.
com.nomagic.magicdraw.diff.RwMergeModeConstraint class removed.
Remote project-related OpenAPI Changes
Changes:
Class com.nomagic.magicdraw.esi.EsiUtils changed to Interface. Most methods are no longer static and work with a specific TWC server connection. To get an instance, use com.nomagic.magicdraw.esi.EsiUtils#get(), com.nomagic.magicdraw.esi.EsiUtils#get(com.nomagic.ci.persistence.IPrimaryProject)
| Old API | New API |
|---|---|
| EsiUtils.getCommandLinePasswordManager(...) | EsiUtils.getPasswordManager(...) |
| EsiUtils.getCategoryID(...) | EsiUtils.getCategory(...) |
| EsiUtils#getCategory(String) | EsiUtils#getCategoryInfoByResourceID(String) |
| EsiUtils.getNewBranch(...) | EsiUtils.getNewEsiBranch(...) |
| EsiUtils#setNotifyOnNewTags(com.nomagic.magicdraw.esi.project.project.EsiPrimaryProject, com.nomagic.ci.persistence.IAttachedProject, java.util.Collection<String>) | EsiUtils#setNotifyOnNewTags(com.nomagic.ci.persistence.IPrimaryProject, com.nomagic.ci.persistence.IAttachedProject, java.util.Collection<String>) |
| EsiUtils#cloneProject(org.eclipse.emf.common.util.URI, String,String,String) | EsiUtils#cloneProject(org.eclipse.emf.common.util.URI, String, String, java.util.UUID) |
| ITeamworkService.isLiveConnection() | ITeamworkService.isConnected() |
| TeamworkService.getInstance(java.lang.String) | TeamworkService.getInstance() |
| com.nomagic.magicdraw.teamwork2.esi.protect.CommandLinePasswordManager | com.nomagic.magicdraw.teamwork2.esi.protect.PasswordManager |
Removed:
ITeamworkService.setAsLastUsedService() method removed due to empty implementation
ITeamworkService setActiveInstance(ITeamworkService) method removed. The method was dangerous.
Dependency Matrix OpenAPI Changes
DependencyEditor(com.nomagic.magicdraw.dependencymatrix.datamodel.editing.DependencyEditor) methods createAddActions, createEditActions, canCreate, canEdit now require ElementNode(com.nomagic.magicdraw.dependencymatrix.datamodel.ElementNode) type parameters instead of Element (com.nomagic.uml2.ext.magicdraw.classes.mdkernel.Element).
| Old API | New API |
|---|---|
| DependencyEditor#createAddActions(PersistenceManager, Element, Element, AbstractMatrixCell, ActionsCategory, ActionsCategory,ActionsCategory) | DependencyEditor#createAddActions(PersistenceManager, ElementNode, ElementNode, AbstractMatrixCell, ActionsCategory, ActionsCategory, ActionsCategory) |
| DependencyEditor#createEditActions(PersistenceManager, Element, Element, AbstractMatrixCell, ActionsCategory, ActionsCategory) | DependencyEditor#createEditActions(PersistenceManager, ElementNode,ElementNode, AbstractMatrixCell, ActionsCategory, ActionsCategory) |
| DependencyEditor#canCreate(PersistenceManager, Element, Element, AbstractMatrixCell) | DependencyEditor#canCreate(PersistenceManager, ElementNode, ElementNode, AbstractMatrixCell) |
| DependencyEditor#canEdit(PersistenceManager, Element, Element, AbstractMatrixCell) | DependencyEditor#canEdit(PersistenceManager, ElementNode, ElementNode, AbstractMatrixCell) |
Diagram Layout OpenAPI Changes
Following the deprecation of layout related code in 2024xRefresh3, the OpenAPI is removed in this version.
- The coupling between a diagram and layouters has been removed.
- All of the following changes have been replaced with a separate class for layouting - com.nomagic.magicdraw.uml.symbols.layout.Layouting (see Layouting symbols in the diagram).
- Layout related methods removed from AbstractDiagramPresentationElement instead use Layouting class
All concrete layouters are no longer OpenAPI, constructors related to Environment Options removed.
This includes layouters:
- DiagramLayouter
- AbstractDiagramLayouter
- AbstractHierarchicDiagramLayouter
- AbstractLinkDiagramLayouter
- CircularDiagramLayouter
- GridDiagramLayouter
- OrganicDiagramLayouter
- OrthogonalDiagramLayouter
- TreeDiagramLayouter
- HierarchicDiagramLayouter
- ActivityDiagramLayouter
- BusinessProcessDiagramLayouter
- CompositeStructureDiagramLayouter
- ClassDiagramLayouter
- OrderedHierarchicDiagramLayouter
- StateDiagramLayouter
- OrganicLinkDiagramLayouter
- OrthogonalLinkDiagramLayouter
- LayoutManager
They are also moved from com.nomagic.magicdraw.uml.symbols.layout package to com.dassault_systemes.modeler.foundation.diagram.ylayout
Graph classes no longer OpenAPI:
- com.nomagic.magicdraw.uml.symbols.layout.BaseGraph
- com.nomagic.magicdraw.uml.symbols.layout.UMLGraph
Magic Model Analyst / Cameo Simulation Toolkit
API Changes
Renamed packages:
| Old Package | New Package |
|---|---|
| fUML.Semantics.Activities.IntermediateActivities | com.nomagic.magicdraw.simulation.fuml.activities.intermediate |
| fUML.Semantics.Classes.Kernel | com.nomagic.magicdraw.simulation.fuml.classes |
| fUML.Semantics.CommonBehaviors.BasicBehaviors | com.nomagic.magicdraw.simulation.fuml.behaviors |
| fUML.Semantics.CommonBehaviors.Communications | com.nomagic.magicdraw.simulation.fuml.behaviors.communications |
| fUML.Semantics.Loci.LociL1 | com.nomagic.magicdraw.simulation.fuml.loci |
Renamed tag due to removal of Web Server for Cameo Simulation Toolkit Plugin from:
com.nomagic.magicdraw.simulation.SimulationProfile.SimulationConfigStereotype#isStartWebServer → com.nomagic.magicdraw.simulation.SimulationProfile.SimulationConfigStereotype#isShowUIAsHTML
Simulation options API changes:
| Old API | New API |
|---|---|
| com.nomagic.magicdraw.simulation.execution.SimulationExecution#getSimulationOptions | com.nomagic.magicdraw.simulation.execution.SimulationExecution#getOptions |
| com.nomagic.magicdraw.simulation.execution.SimulationOptions#getOption | com.nomagic.magicdraw.simulation.execution.SimulationOptions#get |
| com.nomagic.magicdraw.simulation.execution.SimulationOptions#addOption | com.nomagic.magicdraw.simulation.execution.SimulationOptions#set |
Renamed option due to removal of Web Server for Cameo Simulation Toolkit Plugin
com.nomagic.magicdraw.simulation.execution.SimulationOptions#START_WEB_SERVER → com.nomagic.magicdraw.simulation.execution.SimulationOptions#SHOW_UI_AS_HTML
Removed:
- com.nomagic.magicdraw.simulation.execution.SimulationOptions#ADD_CONTROL_PANEL
- com.nomagic.magicdraw.simulation.SimulationProfile.SimulationConfigStereotype#isAddControlPanel
In addition to the method renaming, the package of the Object_ class has changed from:
- fUML.Semantics.Classes.Kernel.Object_#getExecution
to
- com.nomagic.magicdraw.simulation.fuml.classes.Object_#getExecutions
Class com.nomagic.magicdraw.simulation.fuml.fUMLHelper methods removed:
- com.nomagic.magicdraw.simulation.fuml.fUMLHelper#getFeatureValueByName(StructuredValue, String, Locus) - Use shorter overloaded version without the Locus parameter
- com.nomagic.magicdraw.simulation.fuml.fUMLHelper#getFeatureValue(StructuredValue, StructuralFeature, Locus) - Use shorter overloaded version without the Locus parameter
- com.nomagic.magicdraw.simulation.fuml.fUMLHelper#getFeatureValue - Use com.nomagic.magicdraw.simulation.fuml.classes.StructuredValue#getFeatureValue directly
- com.nomagic.magicdraw.simulation.fuml.fUMLHelper#getObjectFromValueList(ValueList, Type, int) - Use shorter overloaded version without the Type parameter
Downgraded com.nomagic.magicdraw.simulation.engine.AbstractExecutionEngineDescriptor to InternalAPI.