public override void FillCopy(Element copyElement, Model targetModel, ElementCopiesMap createdCopies) { base.FillCopy(copyElement, targetModel, createdCopies); TypedElement copyTypedElement = (TypedElement)copyElement; if (Type != null) { if (createdCopies.ContainsKey(Type)) { copyTypedElement.Type = (DataType)createdCopies[Type]; } else { if (Schema == targetModel.Schema) { if (Type is SimpleDataType) { copyTypedElement.Type = Type; } else { //TODO: copy typed element throw new NotImplementedException(); } } } } }
public override Element Clone(Model targetModel, ElementCopiesMap createdCopies) { PSMSuperordinateComponent copyParent = (PSMSuperordinateComponent)createdCopies[Parent]; PSMContentChoice clone = new _PSMContentChoice(copyParent, targetModel.Schema); return(clone); }
public override Element Clone(Model targetModel, ElementCopiesMap createdCopies) { PSMSuperordinateComponent copyParent = (PSMSuperordinateComponent)createdCopies[Parent]; PSMAttributeContainer clone = (PSMAttributeContainer)PSMAttributeContainerFactory.Instance.Create(copyParent, targetModel.Schema); return(clone); }
/// <summary> /// Executive function of a command /// </summary> /// <seealso cref="UndoOperation"/> internal override void CommandOperation() { DiagramClone = Diagram.Clone(); if (Diagram is PIMDiagram) { Dictionary <Element, ViewHelper> viewHelperCopies = new Dictionary <Element, ViewHelper>(); /* Elements in PIM diagram are loaded in the order of their LoadPriority in registration set */ foreach (Type ModelElementType in PIMElementsOrder) { foreach (KeyValuePair <Element, ViewHelper> pair in Diagram.DiagramElements) { Element element = pair.Key; ViewHelper viewHelper = pair.Value; if (!viewHelperCopies.ContainsKey(element) && ModelElementType.IsInstanceOfType(element)) { ViewHelper copiedViewHelper = viewHelper.CreateCopy(DiagramClone, null); viewHelperCopies.Add(element, copiedViewHelper); } } } Diagram.FillCopy(DiagramClone, Controller.Model, null, viewHelperCopies); } else { IList <Element> ordered; // order PSMTree.ReturnElementsInPSMOrder(((PSMDiagram)Diagram).Roots.Cast <Element>(), out ordered, true); // clone the selection ElementCopiesMap createdCopies = new ElementCopiesMap(); foreach (Element element in ordered) { Element copy = element.CreateCopy(Controller.Model, createdCopies); createdCopies[element] = copy; } // representants must be handled separately after all copies are created PSMTree.CopyRepresentantsRelations(createdCopies); // clone viewhelpers Dictionary <Element, ViewHelper> createdViewHelpers = new Dictionary <Element, ViewHelper>(); foreach (Element element in ordered) { ViewHelper viewHelper = Diagram.DiagramElements[element]; ViewHelper copiedViewHelper = viewHelper.CreateCopy(DiagramClone, createdCopies); createdViewHelpers.Add(element, copiedViewHelper); } Diagram.FillCopy(DiagramClone, Controller.Model, createdCopies, createdViewHelpers); } DiagramClone.Caption += " (copy)"; Controller.Project.AddDiagram(DiagramClone); }
public override void FillCopy(Element copyElement, Model targetModel, ElementCopiesMap createdCopies) { base.FillCopy(copyElement, targetModel, createdCopies); PSMAssociation copyPSMAssociation = (PSMAssociation)copyElement; copyPSMAssociation.Lower = Lower; copyPSMAssociation.Upper = Upper; //copyPSMAssociation.IsUnique = IsUnique; //copyPSMAssociation.IsOrdered = IsOrdered; copyPSMAssociation.Child = (PSMAssociationChild)createdCopies[Child]; foreach (NestingJoin nestingJoin in NestingJoins) { PIMClass coreClass; if (targetModel.Schema != this.Schema) { coreClass = (PIMClass)createdCopies[nestingJoin.CoreClass]; } else { coreClass = nestingJoin.CoreClass; } copyPSMAssociation.AddNestingJoin(coreClass); } if (Parent != null && createdCopies.ContainsKey(Parent)) { PSMSuperordinateComponent copyParent = (PSMSuperordinateComponent)createdCopies[Parent]; ((_ImplPSMSubordinateComponent)copyPSMAssociation).Parent = copyParent; copyParent.Components.Add(copyPSMAssociation); } }
public Element CreateCopy(Model targetModel, ElementCopiesMap createdCopies) { Element copyElement = Clone(targetModel, createdCopies); FillCopy(copyElement, targetModel, createdCopies); return(copyElement); }
public override void FillCopy(Element copyElement, Model targetModel, ElementCopiesMap createdCopies) { base.FillCopy(copyElement, targetModel, createdCopies); SimpleDataType copySimpleDataType = (SimpleDataType)copyElement; copySimpleDataType.DefaultXSDImplementation = DefaultXSDImplementation; }
public IExolutioCloneable CreateCopy(ProjectVersion projectVersion, ElementCopiesMap createdCopies) { IExolutioCloneable copyElement = Clone(projectVersion, createdCopies); FillCopy(copyElement, projectVersion, createdCopies); return(copyElement); }
public override void FillCopy(IExolutioCloneable copyComponent, ProjectVersion projectVersion, ElementCopiesMap createdCopies) { base.FillCopy(copyComponent, projectVersion, createdCopies); PSMSchemaClass copyPSMSchemaClass = (PSMSchemaClass)copyComponent; }
public override void FillCopy(IExolutioCloneable copyComponent, ProjectVersion projectVersion, ElementCopiesMap createdCopies) { base.FillCopy(copyComponent, projectVersion, createdCopies); AttributeType copyAttributeType = (AttributeType)copyComponent; copyAttributeType.Name = this.Name; copyAttributeType.IsSealed = this.IsSealed; copyAttributeType.XSDDefinition = this.XSDDefinition; copyAttributeType.XSDAtomic = this.XSDAtomic; if (BaseType != null) { copyAttributeType.baseTypeGuid = createdCopies.GetGuidForCopyOf(BaseType); } if (Schema != null) { copyAttributeType.schemaGuid = createdCopies.GetGuidForCopyOf(Schema); } if (Component != null) { copyAttributeType.componentGuid = createdCopies.GetGuidForCopyOf(Component); } if (RepresentedPIMType != null) { copyAttributeType.representedPIMTypeGuid = RepresentedPIMType; } this.CopyCollection(Operations, copyAttributeType.Operations, projectVersion, createdCopies); copyAttributeType.SetProjectVersion(projectVersion); }
public override void FillCopy(IExolutioCloneable copyComponent, ProjectVersion projectVersion, ElementCopiesMap createdCopies) { base.FillCopy(copyComponent, projectVersion, createdCopies); PIMAssociation copyPIMAssociation = (PIMAssociation)copyComponent; this.CopyCollection(PIMAssociationEnds, copyPIMAssociation.PIMAssociationEnds, projectVersion, createdCopies); }
public override void FillCopy(IExolutioCloneable copyComponent, ProjectVersion projectVersion, ElementCopiesMap createdCopies) { base.FillCopy(copyComponent, projectVersion, createdCopies); PIMComponent copyPIMComponent = (PIMComponent)copyComponent; // TODO: FillCopy Interpreted components }
public override void FillCopy(Element copyElement, Model targetModel, ElementCopiesMap createdCopies) { base.FillCopy(copyElement, targetModel, createdCopies); Comment copyComment = (Comment)copyElement; copyComment.Body = this.Body; }
public override void FillCopy(IExolutioCloneable copyComponent, ProjectVersion projectVersion, ElementCopiesMap createdCopies) { base.FillCopy(copyComponent, projectVersion, createdCopies); PSMContentModel copyPSMContentModel = (PSMContentModel)copyComponent; copyPSMContentModel.Type = this.Type; }
public override Element Clone(Model targetModel, ElementCopiesMap createdCopies) { if (targetModel.Schema == this.Schema) { throw new InvalidOperationException("Clones of Profile should not be created in the same model."); } return(targetModel.Schema.AddProfile()); }
public override void FillCopy(IExolutioCloneable copyComponent, ProjectVersion projectVersion, ElementCopiesMap createdCopies) { base.FillCopy(copyComponent, projectVersion, createdCopies); Component _copyComponent = (Component)copyComponent; _copyComponent.schemaGuid = createdCopies.GetGuidForCopyOf(Schema); _copyComponent.Name = this.Name; }
public override void FillCopy(IExolutioCloneable copyComponent, ProjectVersion projectVersion, ElementCopiesMap createdCopies) { base.FillCopy(copyComponent, projectVersion, createdCopies); OCLScript copyOCLScript = (OCLScript)copyComponent; copyOCLScript.Contents = this.Contents; }
public override void FillCopy(IExolutioCloneable copyComponent, ProjectVersion projectVersion, ElementCopiesMap createdCopies) { base.FillCopy(copyComponent, projectVersion, createdCopies); Schema copySchema = (Schema)copyComponent; copySchema.SetProjectVersion(projectVersion); }
public override void FillCopy(Element copyElement, Model targetModel, ElementCopiesMap createdCopies) { base.FillCopy(copyElement, targetModel, createdCopies); _NamedElement <NUmlType> copyNamedElement = (_NamedElement <NUmlType>)copyElement; copyNamedElement.Name = Name; copyNamedElement.Visibility = Visibility; }
public override void FillCopy(IExolutioCloneable copyComponent, ProjectVersion projectVersion, ElementCopiesMap createdCopies) { base.FillCopy(copyComponent, projectVersion, createdCopies); PIMDiagram copyPIMDiagram = (PIMDiagram)copyComponent; copyPIMDiagram.SetProjectVersion(projectVersion); }
public override void FillCopy(IExolutioCloneable copyComponent, ProjectVersion projectVersion, ElementCopiesMap createdCopies) { base.FillCopy(copyComponent, projectVersion, createdCopies); PSMGeneralization copyPSMGeneralization = (PSMGeneralization)copyComponent; copyPSMGeneralization.generalGuid = createdCopies.GetGuidForCopyOf(General); copyPSMGeneralization.specificGuid = createdCopies.GetGuidForCopyOf(Specific); }
public override Element Clone(Model targetModel, ElementCopiesMap createdCopies) { if (ParentAssociation == null) { throw new InvalidOperationException("Parent association of class union can not be null"); } PSMClassUnion clone = new _PSMClassUnion(targetModel.Schema); return(clone); }
public override void FillCopy(IExolutioCloneable copyComponent, ProjectVersion projectVersion, ElementCopiesMap createdCopies) { base.FillCopy(copyComponent, projectVersion, createdCopies); StereotypeInstance copyStereotypeInstance = (StereotypeInstance)copyComponent; copyStereotypeInstance.componentGuid = createdCopies.GetGuidForCopyOf(Component); copyStereotypeInstance.stereotypeGuid = this.stereotypeGuid; }
public override void FillCopy(IExolutioCloneable copyComponent, ProjectVersion projectVersion, ElementCopiesMap createdCopies) { base.FillCopy(copyComponent, projectVersion, createdCopies); PSMDiagram copyPSMDiagram = (PSMDiagram)copyComponent; copyPSMDiagram.SetProjectVersion(projectVersion); copyPSMDiagram.LoadSchemaToDiagram(copyPSMDiagram.PSMSchema, true); }
public override void FillCopy(Element copyElement, Model targetModel, ElementCopiesMap createdCopies) { base.FillCopy(copyElement, targetModel, createdCopies); Parameter copyParameter = (Parameter)copyElement; copyParameter.Direction = this.Direction; copyParameter.IsOrdered = this.IsOrdered; copyParameter.IsUnique = this.IsUnique; copyParameter.Lower = this.Lower; copyParameter.Upper = this.Upper; }
public override Element Clone(Model targetModel, ElementCopiesMap createdCopies) { if (targetModel != Schema.Model || createdCopies.ContainsKey(NestingPackage)) { Package parentPackage = (Package)createdCopies[NestingPackage]; return(parentPackage.AddNestedPackage()); } else { return(NestingPackage.AddNestedPackage()); } }
public override void FillCopy(IExolutioCloneable copyComponent, ProjectVersion projectVersion, ElementCopiesMap createdCopies) { base.FillCopy(copyComponent, projectVersion, createdCopies); PSMAssociation copyPSMAssociation = (PSMAssociation)copyComponent; copyPSMAssociation.Lower = this.Lower; copyPSMAssociation.Upper = this.Upper; copyPSMAssociation.parentGuid = createdCopies.GetGuidForCopyOf(Parent); copyPSMAssociation.childGuid = createdCopies.GetGuidForCopyOf(Child); }
public override void FillCopy(IExolutioCloneable copyComponent, ProjectVersion projectVersion, ElementCopiesMap createdCopies) { base.FillCopy(copyComponent, projectVersion, createdCopies); PSMComponent copyPSMComponent = (PSMComponent)copyComponent; if (Interpretation != null) { copyPSMComponent.interpretationGuid = createdCopies.GetGuidForCopyOf(Interpretation); } }
public override void FillCopy(Element copyElement, Model targetModel, ElementCopiesMap createdCopies) { base.FillCopy(copyElement, targetModel, createdCopies); PSMContentChoice copyPSMContentChoice = (PSMContentChoice)copyElement; if (Parent != null && createdCopies.ContainsKey(Parent)) { PSMSuperordinateComponent copyParent = (PSMSuperordinateComponent)createdCopies[Parent]; ((_ImplPSMSubordinateComponent)copyPSMContentChoice).Parent = (PSMSuperordinateComponent)createdCopies[Parent]; copyParent.Components.Add(copyPSMContentChoice); } }
public override void FillCopy(Element copyElement, Model targetModel, ElementCopiesMap createdCopies) { base.FillCopy(copyElement, targetModel, createdCopies); PSMAttribute copyPSMAttribute = (PSMAttribute)copyElement; copyPSMAttribute.Alias = Alias; copyPSMAttribute.XSDImplementation = XSDImplementation; if (UsedGeneralizations.Count == 0) { if (this.RepresentedAttribute != null) { int attributeIndex = this.Class.RepresentedClass.Attributes.IndexOf(this.RepresentedAttribute); if (attributeIndex >= 0) { copyPSMAttribute.RepresentedAttribute = copyPSMAttribute.Class.RepresentedClass.Attributes[attributeIndex]; } } } else { foreach (Generalization generalization in this.UsedGeneralizations) { Generalization copyGeneralization; if (targetModel != Schema.Model || createdCopies.ContainsKey(generalization)) { copyGeneralization = (Generalization)createdCopies[generalization]; } else { copyGeneralization = generalization; } copyPSMAttribute.UsedGeneralizations.Add(copyGeneralization); if (this.RepresentedAttribute != null) { int attributeIndex = generalization.General.Attributes.IndexOf(this.RepresentedAttribute); if (attributeIndex >= 0) { copyPSMAttribute.RepresentedAttribute = copyGeneralization.General.Attributes[attributeIndex]; } } } } if (this.RepresentedAttribute != null && copyPSMAttribute.RepresentedAttribute == null) { throw new InvalidOperationException("Faild to copy psm class. "); } }