internal static UmlClassSpec Convert(CdtSpec cdtSpec)
        {
            var umlClassSpec = new UmlClassSpec
            {
                Stereotype   = "CDT",
                Name         = cdtSpec.Name,
                TaggedValues = new[]
                {
                    new UmlTaggedValueSpec("businessTerm", cdtSpec.BusinessTerms),
                    new UmlTaggedValueSpec("definition", cdtSpec.Definition),
                    new UmlTaggedValueSpec("dictionaryEntryName", cdtSpec.DictionaryEntryName)
                    {
                        DefaultValue = GenerateDictionaryEntryNameDefaultValue(cdtSpec)
                    },
                    new UmlTaggedValueSpec("languageCode", cdtSpec.LanguageCode),
                    new UmlTaggedValueSpec("uniqueIdentifier", cdtSpec.UniqueIdentifier)
                    {
                        DefaultValue = GenerateUniqueIdentifierDefaultValue(cdtSpec)
                    },
                    new UmlTaggedValueSpec("versionIdentifier", cdtSpec.VersionIdentifier),
                    new UmlTaggedValueSpec("usageRule", cdtSpec.UsageRules),
                },
            };

            var dependencySpecs = new List <UmlDependencySpec>();

            if (cdtSpec.IsEquivalentTo != null)
            {
                dependencySpecs.Add(new UmlDependencySpec
                {
                    Stereotype = "isEquivalentTo",
                    Target     = ((UpccCdt)cdtSpec.IsEquivalentTo).UmlClass,
                    LowerBound = "0",
                    UpperBound = "1",
                });
            }
            umlClassSpec.Dependencies = dependencySpecs;

            var attributeSpecs = new List <UmlAttributeSpec>();

            if (cdtSpec.Con != null)
            {
                attributeSpecs.Add(CdtConSpecConverter.Convert(cdtSpec.Con, cdtSpec.Name));
            }
            if (cdtSpec.Sups != null)
            {
                foreach (var cdtSupSpec in cdtSpec.Sups)
                {
                    attributeSpecs.Add(CdtSupSpecConverter.Convert(cdtSupSpec, cdtSpec.Name));
                }
            }
            umlClassSpec.Attributes = MakeAttributeNamesUnique(attributeSpecs);

            return(umlClassSpec);
        }
        internal static UmlClassSpec Convert(MaSpec maSpec)
        {
            var umlClassSpec = new UmlClassSpec
            {
                Stereotype = "MA",
                Name       = maSpec.Name,
            };

            var associationSpecs = new List <UmlAssociationSpec>();

            if (maSpec.Asmas != null)
            {
                foreach (var asmaSpec in maSpec.Asmas)
                {
                    associationSpecs.Add(AsmaSpecConverter.Convert(asmaSpec, maSpec.Name));
                }
            }
            umlClassSpec.Associations = MakeAssociationNamesUnique(associationSpecs);

            return(umlClassSpec);
        }
Example #3
0
 public IUmlClass UpdateClass(IUmlClass umlClass, UmlClassSpec spec)
 {
     UpdateEaUmlClassifier((EaUmlClassifier)umlClass, spec);
     return(umlClass);
 }
Example #4
0
 public IUmlClass CreateClass(UmlClassSpec spec)
 {
     return(CreateEaUmlClassifier(spec));
 }
Example #5
0
        internal static UmlClassSpec Convert(AccSpec accSpec)
        {
            var umlClassSpec = new UmlClassSpec
            {
                Stereotype   = "ACC",
                Name         = accSpec.Name,
                TaggedValues = new[]
                {
                    new UmlTaggedValueSpec("businessTerm", accSpec.BusinessTerms),
                    new UmlTaggedValueSpec("definition", accSpec.Definition),
                    new UmlTaggedValueSpec("dictionaryEntryName", accSpec.DictionaryEntryName)
                    {
                        DefaultValue = GenerateDictionaryEntryNameDefaultValue(accSpec)
                    },
                    new UmlTaggedValueSpec("languageCode", accSpec.LanguageCode),
                    new UmlTaggedValueSpec("uniqueIdentifier", accSpec.UniqueIdentifier)
                    {
                        DefaultValue = GenerateUniqueIdentifierDefaultValue(accSpec)
                    },
                    new UmlTaggedValueSpec("versionIdentifier", accSpec.VersionIdentifier),
                    new UmlTaggedValueSpec("usageRule", accSpec.UsageRules),
                },
            };

            var dependencySpecs = new List <UmlDependencySpec>();

            if (accSpec.IsEquivalentTo != null)
            {
                dependencySpecs.Add(new UmlDependencySpec
                {
                    Stereotype = "isEquivalentTo",
                    Target     = ((UpccAcc)accSpec.IsEquivalentTo).UmlClass,
                    LowerBound = "0",
                    UpperBound = "1",
                });
            }
            umlClassSpec.Dependencies = dependencySpecs;

            var attributeSpecs = new List <UmlAttributeSpec>();

            if (accSpec.Bccs != null)
            {
                foreach (var bccSpec in accSpec.Bccs)
                {
                    attributeSpecs.Add(BccSpecConverter.Convert(bccSpec, accSpec.Name));
                }
            }
            umlClassSpec.Attributes = MakeAttributeNamesUnique(attributeSpecs);

            var associationSpecs = new List <UmlAssociationSpec>();

            if (accSpec.Asccs != null)
            {
                foreach (var asccSpec in accSpec.Asccs)
                {
                    associationSpecs.Add(AsccSpecConverter.Convert(asccSpec, accSpec.Name));
                }
            }
            umlClassSpec.Associations = MakeAssociationNamesUnique(associationSpecs);

            return(umlClassSpec);
        }