Class ModelTransformationsManager


  • @OpenApiAll
    public final class ModelTransformationsManager
    extends java.lang.Object
    ModelTransformationsManager organizes process of application of model transformation. This class is responsible for Undo/redo commands etc.

    Use this class as singleton.

    • Field Detail

      • mTransformations

        private final java.util.List<ModelTransformationInfo> mTransformations
        The collection of registered model transformations.
      • updateTransformationTest

        private boolean updateTransformationTest
        resets to false after each invocation of updateTransform
    • Constructor Detail

      • ModelTransformationsManager

        private ModelTransformationsManager()
        The private constructor.
    • Method Detail

      • getInstance

        public static ModelTransformationsManager getInstance()
        Returns a shared instance of model transformations manager.
        Returns:
        instance of model transformations manager.
      • addTransformation

        public void addTransformation​(ModelTransformationInfo info)
        Adds the given model transformation in registered model transformations collection.
        Parameters:
        info - the give transformation to add.
      • removeTransformation

        public void removeTransformation​(ModelTransformationInfo info)
        Removes the given model transformation from registered collection of model transformations.
        Parameters:
        info - the given transformation to remove.
      • getTransformations

        public java.util.Collection<ModelTransformationInfo> getTransformations()
        Returns all registered model transformations.
        Returns:
        a collection of registered model transformations.
      • getTransformationInfoByName

        @CheckForNull
        public ModelTransformationInfo getTransformationInfoByName​(java.lang.String transformationName)
        Returns transformation info by transformation name
        Parameters:
        transformationName - transformation name
        Returns:
        transformation info
      • transform

        public boolean transform​(java.util.List<? extends BaseElement> selectedElements)
        Displays transformation wizard and runs transformation
        Parameters:
        selectedElements - list of elements to transform
        Returns:
        true if transformation was successful
      • updateTransformation

        public boolean updateTransformation​(Package transformed,
                                            boolean testingMode)
      • updateTransformation

        public boolean updateTransformation​(Package transformed)
        Checks for already applied transformations, sets the right one and runs transformation update
        Parameters:
        transformed - list of elements to transform
        Returns:
        true if transformation update was successful
      • serializePropertyManager

        private void serializePropertyManager​(java.io.OutputStream stream,
                                              PropertyManager propertiesToSave,
                                              java.lang.String transformationName,
                                              java.lang.String destinationElementID,
                                              boolean syncFinal)
                                       throws java.lang.Exception
        Throws:
        java.lang.Exception
      • saveTransformationProperties

        public void saveTransformationProperties​(ModelTransformationsWizardInformation wizardInformation)
                                          throws java.lang.Exception
        Throws:
        java.lang.Exception
      • updateNumbers

        private void updateNumbers​(@CheckForNull
                                   Package targetPackage,
                                   java.util.Collection<Element> filteredElements)
        Renumber the elements that were transformed
        Parameters:
        targetPackage - the resulting transformation Package, null if in Place
        filteredElements - the originally selected elements
      • collectNumberables

        private java.util.List<Element> collectNumberables​(com.nomagic.magicdraw.autoid.AutoIdManager manager,
                                                           java.util.List<Element> elements)
        Collects all owned elements that are customized for auto Numbering
        Parameters:
        manager - the autoId Manager
        elements - search these elements for children that are numberable
        Returns:
        the Numberable elements