internal static UmlDataTypeSpec Convert(IdSchemeSpec idSchemeSpec)
        {
            var umlDataTypeSpec = new UmlDataTypeSpec
            {
                Stereotype   = "IDSCHEME",
                Name         = idSchemeSpec.Name,
                TaggedValues = new[]
                {
                    new UmlTaggedValueSpec("businessTerm", idSchemeSpec.BusinessTerms),
                    new UmlTaggedValueSpec("definition", idSchemeSpec.Definition),
                    new UmlTaggedValueSpec("dictionaryEntryName", idSchemeSpec.DictionaryEntryName)
                    {
                        DefaultValue = GenerateDictionaryEntryNameDefaultValue(idSchemeSpec)
                    },
                    new UmlTaggedValueSpec("identifierSchemeAgencyIdentifier", idSchemeSpec.IdentifierSchemeAgencyIdentifier),
                    new UmlTaggedValueSpec("identifierSchemeAgencyName", idSchemeSpec.IdentifierSchemeAgencyName),
                    new UmlTaggedValueSpec("modificationAllowedIndicator", idSchemeSpec.ModificationAllowedIndicator),
                    new UmlTaggedValueSpec("pattern", idSchemeSpec.Pattern),
                    new UmlTaggedValueSpec("restrictedPrimitive", idSchemeSpec.RestrictedPrimitive),
                    new UmlTaggedValueSpec("uniqueIdentifier", idSchemeSpec.UniqueIdentifier)
                    {
                        DefaultValue = GenerateUniqueIdentifierDefaultValue(idSchemeSpec)
                    },
                    new UmlTaggedValueSpec("versionIdentifier", idSchemeSpec.VersionIdentifier),
                },
            };

            return(umlDataTypeSpec);
        }
        internal static UmlDataTypeSpec Convert(PrimSpec primSpec)
        {
            var umlDataTypeSpec = new UmlDataTypeSpec
            {
                Stereotype   = "PRIM",
                Name         = primSpec.Name,
                TaggedValues = new[]
                {
                    new UmlTaggedValueSpec("businessTerm", primSpec.BusinessTerms),
                    new UmlTaggedValueSpec("definition", primSpec.Definition),
                    new UmlTaggedValueSpec("dictionaryEntryName", primSpec.DictionaryEntryName)
                    {
                        DefaultValue = GenerateDictionaryEntryNameDefaultValue(primSpec)
                    },
                    new UmlTaggedValueSpec("fractionDigits", primSpec.FractionDigits),
                    new UmlTaggedValueSpec("languageCode", primSpec.LanguageCode),
                    new UmlTaggedValueSpec("length", primSpec.Length),
                    new UmlTaggedValueSpec("maximumExclusive", primSpec.MaximumExclusive),
                    new UmlTaggedValueSpec("maximumInclusive", primSpec.MaximumInclusive),
                    new UmlTaggedValueSpec("maximumLength", primSpec.MaximumLength),
                    new UmlTaggedValueSpec("minimumExclusive", primSpec.MinimumExclusive),
                    new UmlTaggedValueSpec("minimumInclusive", primSpec.MinimumInclusive),
                    new UmlTaggedValueSpec("minimumLength", primSpec.MinimumLength),
                    new UmlTaggedValueSpec("pattern", primSpec.Pattern),
                    new UmlTaggedValueSpec("totalDigits", primSpec.TotalDigits),
                    new UmlTaggedValueSpec("uniqueIdentifier", primSpec.UniqueIdentifier)
                    {
                        DefaultValue = GenerateUniqueIdentifierDefaultValue(primSpec)
                    },
                    new UmlTaggedValueSpec("versionIdentifier", primSpec.VersionIdentifier),
                    new UmlTaggedValueSpec("whiteSpace", primSpec.WhiteSpace),
                },
            };

            var dependencySpecs = new List <UmlDependencySpec>();

            if (primSpec.IsEquivalentTo != null)
            {
                dependencySpecs.Add(new UmlDependencySpec
                {
                    Stereotype = "isEquivalentTo",
                    Target     = ((UpccPrim)primSpec.IsEquivalentTo).UmlDataType,
                    LowerBound = "0",
                    UpperBound = "1",
                });
            }
            umlDataTypeSpec.Dependencies = dependencySpecs;

            return(umlDataTypeSpec);
        }
Example #3
0
 public IUmlDataType UpdateDataType(IUmlDataType dataType, UmlDataTypeSpec spec)
 {
     UpdateEaUmlClassifier((EaUmlClassifier)dataType, spec);
     return(dataType);
 }
Example #4
0
 public IUmlDataType CreateDataType(UmlDataTypeSpec spec)
 {
     return(CreateEaUmlClassifier(spec));
 }