// Generate an enum for each DomainEnumeration in the model private void GenerateDomainEnumerationInternal(MetaModel dm, DomainEnumeration domainEnum) { if(!string.IsNullOrEmpty(domainEnum.Namespace)) { #line default #line hidden #line 16 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("namespace "); #line default #line hidden #line 17 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Namespace)); #line default #line hidden #line 17 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\r\n{\r\n"); #line default #line hidden #line 19 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" PushIndent("\t"); } #line default #line hidden #line 22 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("/// <summary>\r\n/// DomainEnumeration: "); #line default #line hidden #line 24 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 24 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\r\n"); #line default #line hidden #line 25 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(Utilities.Instance.GenerateComments(domainEnum.Description)); #line default #line hidden #line 27 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("/// </summary>\r\n[System.ComponentModel.TypeConverter(typeof("); #line default #line hidden #line 29 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 29 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("EnumConverter))]\r\n"); #line default #line hidden #line 30 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" if(domainEnum.IsFlags) { #line default #line hidden #line 33 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("[global::System.Flags]\r\n"); #line default #line hidden #line 35 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" } #line default #line hidden #line 38 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetAccessModifier(domainEnum.AccessModifier))); #line default #line hidden #line 38 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(" enum "); #line default #line hidden #line 38 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 38 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\r\n{\r\n"); #line default #line hidden #line 40 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" double startVal = 1; foreach(EnumerationLiteral literal in domainEnum.Literals) { #line default #line hidden #line 44 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t/// <summary>\r\n\t/// "); #line default #line hidden #line 46 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 46 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\r\n"); #line default #line hidden #line 47 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" PushIndent("\t"); this.Write(Utilities.Instance.GenerateComments(literal.Description)); PopIndent(); #line default #line hidden #line 51 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t/// </summary>\r\n"); #line default #line hidden #line 53 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" PushIndent("\t"); this.Write(Utilities.Instance.GenerateResourceAttributes(literal)); PopIndent(); if(literal.Value.Trim() != string.Empty) { #line default #line hidden #line 60 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t"); #line default #line hidden #line 61 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 61 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(" = "); #line default #line hidden #line 61 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Value)); #line default #line hidden #line 61 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(",\r\n"); #line default #line hidden #line 62 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" } else { if( domainEnum.IsFlags ) { #line default #line hidden #line 68 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t"); #line default #line hidden #line 69 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 69 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(" = "); #line default #line hidden #line 69 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(startVal.ToString())); #line default #line hidden #line 69 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(",\r\n"); #line default #line hidden #line 70 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" startVal = startVal * 2; } else { #line default #line hidden #line 75 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t"); #line default #line hidden #line 76 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 76 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(",\r\n"); #line default #line hidden #line 77 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" } } } #line default #line hidden #line 81 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("}\r\n/// <summary>\r\n/// Type converter for "); #line default #line hidden #line 84 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 84 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(" enumeration.\r\n/// </summary>\r\npublic class "); #line default #line hidden #line 86 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 86 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("EnumConverter : System.ComponentModel.EnumConverter\r\n{\r\n\tSystem.Collections.Gener" + "ic.Dictionary<"); #line default #line hidden #line 88 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 88 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(", string> dictionary;\r\n\t\r\n\t/// <summary>\r\n /// Constructor.\r\n /// </summary" + ">\r\n public "); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("EnumConverter() : base(typeof("); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("))\r\n {\r\n // create lookup dictionary\r\n dictionary = new System.C" + "ollections.Generic.Dictionary<"); #line default #line hidden #line 96 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 96 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(", string>();\r\n"); #line default #line hidden #line 97 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" foreach(EnumerationLiteral literal in domainEnum.Literals) { string resourceKey = domainEnum.GetFullName(false)+"/"+literal.Name; #line default #line hidden #line 101 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("\t\tdictionary.Add("); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("."); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(", "); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.GetFullName(true))); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("DomainModel.SingletonResourceManager.GetString(\""); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(resourceKey)); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(".DisplayName\"));\r\n"); #line default #line hidden #line 103 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" } #line default #line hidden #line 105 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(" }\r\n\r\n\t/// <summary>\r\n /// Converts the specified value object to "); #line default #line hidden #line 109 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 109 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(@". /// </summary> /// <param name=""context"">An System.ComponentModel.ITypeDescriptorContext that provides a format context.</param> /// <param name=""culture"">An optional System.Globalization.CultureInfo. If not supplied, the current culture is assumed.</param> /// <param name=""value"">The System.Object to convert.</param> /// <returns>"); #line default #line hidden #line 114 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 114 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(@" object that represents the converted value.</returns> public override object ConvertFrom(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) { string strValue = value as string; if( strValue != null ) { foreach("); #line default #line hidden #line 120 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 120 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(@" d in dictionary.Keys ) { if( dictionary[d] == strValue ) return d; } } return base.ConvertFrom(context, culture, value); } /// <summary> /// Converts the given value object to the specified destination type. /// </summary> /// <param name=""context"">An System.ComponentModel.ITypeDescriptorContext that provides a format context.</param> /// <param name=""culture"">An optional System.Globalization.CultureInfo. If not supplied, the current culture is assumed.</param> /// <param name=""value""> System.Object to convert.</param> /// <param name=""destinationType"">The System.Type to convert the value to.</param> /// <returns>An System.Object that represents the converted value.</returns> public override object ConvertTo(System.ComponentModel.ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, System.Type destinationType) { "); #line default #line hidden #line 140 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 140 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("? strValue = value as "); #line default #line hidden #line 140 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainEnum.Name)); #line default #line hidden #line 140 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("?;\r\n\t\tif( strValue != null )\r\n\t\t{\r\n\t\t\treturn dictionary[strValue.Value];\r\n\t\t}\r\n\r\n" + " return base.ConvertTo(context, culture, value, destinationType);\r\n }\r" + "\n}\r\n"); #line default #line hidden #line 149 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" if(!string.IsNullOrEmpty(domainEnum.Namespace)) { PopIndent(); #line default #line hidden #line 153 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" this.Write("}\r\n"); #line default #line hidden #line 155 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" } #line default #line hidden #line 158 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainEnumerationGenerator.tt" }
public void GenerateSerializationHelper(MetaModel dm) { #line default #line hidden #line 19 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("namespace "); #line default #line hidden #line 20 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Namespace)); #line default #line hidden #line 20 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\r\n{\r\n\tpartial class "); #line default #line hidden #line 22 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 22 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@"DomainModel { ///<Summary> /// Provide an implementation of the partial method to set up the serialization behavior for this model. ///</Summary> ///<remarks> /// This partial method is called from the constructor of the domain class. ///</remarks> [System.Diagnostics.CodeAnalysis.SuppressMessage(""Microsoft.Performance"",""CA1822:MarkMembersAsStatic"", Justification=""Alternative implementations might need to reference instance variables, so not marked as static."")] partial void InitializeSerialization(DslModeling::Store store) { // Register the serializers and moniker resolver for this model "); #line default #line hidden #line 34 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 34 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("SerializationHelper.Instance.InitializeSerialization(store);\t\r\n\t\t}\r\n\t}\r\n}\r\n\r\nname" + "space "); #line default #line hidden #line 39 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Namespace)); #line default #line hidden #line 39 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\r\n{\r\n\t\t\r\n\t/// <summary>\r\n\t/// Helper class for serializing and deserializing "); #line default #line hidden #line 43 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 43 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" models.\r\n\t/// </summary>\r\n\tpublic abstract partial class "); #line default #line hidden #line 45 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 45 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("SerializationHelperBase : DslEditorModeling::SerializationHelper\r\n\t{\r\n\t\t#region C" + "onstructor\r\n\t\t/// <summary>\r\n\t\t/// Constructor\r\n\t\t/// </summary>\r\n\t\tprotected "); #line default #line hidden #line 51 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 51 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@"SerializationHelperBase() { } #endregion #region Methods /// <summary> /// Write schema definitions. /// </summary> /// <param name=""writer"">XmlWriter to write serialized data to.</param> /// <param name=""modelContextName"">Name of the model context.</param> /// <param name=""domainModelName"">Name of the domain model.</param> public virtual void WriteSchemaDefinitions(global::System.Xml.XmlWriter writer, string modelContextName, string domainModelName) { "); #line default #line hidden #line 63 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" foreach(PropertyGridEditor p in this.MetaModel.PropertyGridEditors) { if( p.Name == "ReferencedModelRoleViewModel" && p.Namespace == "Tum.PDE.ToolFramework.Modeling.Visualization.VMXExtensions.Path" ) { #line default #line hidden #line 70 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" writer.WriteAttributeString(\"xmlns\", \"xi\", null, \"http://www.w3.org/2" + "001/XInclude\");\r\n writer.WriteAttributeString(\"xmlns\", \"xsi\", null, \"" + "http://www.w3.org/2001/XMLSchema-instance\");\t\t\t\r\n"); #line default #line hidden #line 73 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" break; } } #line default #line hidden #line 78 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" }\r\n\t\t\r\n\t\t/// <summary>\r\n\t\t/// Return the directory of serializers to use\r" + "\n\t\t/// </summary>\r\n\t\tprotected virtual DslModeling::DomainXmlSerializerDirectory" + " GetDirectory(DslModeling::Store store)\r\n\t\t{\r\n\t\t\t// Just return the default seri" + "alization directory from the store\r\n\t\t\treturn store.SerializerDirectory;\r\n\t\t}\t\t\r" + "\n\t\r\n\t\t/// <Summary>\r\n\t\t/// Called by the serialization helper to allow any neces" + "sary setup to be done on each load / save.\r\n\t\t/// </Summary>\r\n\t\t/// <param name=" + "\"partition\">The partition being serialized.</param>\r\n\t\t/// <param name=\"serializ" + "ationContext\">The current serialization context instance.</param>\r\n\t\t/// <param " + "name=\"isLoading\">Flag to indicate whether the file is being loaded or saved.</pa" + "ram>\r\n\t\t/// <Remarks>The base implementation does nothing</Remarks>\r\n\t\tprotected" + " virtual void InitializeSerializationContext(DslModeling::Partition partition, D" + "slModeling::SerializationContext serializationContext, bool isLoading)\r\n\t\t{\r\n\t\t}" + "\r\n\t\t\r\n\t\t/// <summary>\r\n\t\t/// Attempts to return the encoding used by the reader." + "\r\n\t\t/// </summary>\r\n\t\t/// <remarks>\r\n\t\t/// The reader will be positioned at the " + "start of the document when calling this method.\r\n\t\t/// </remarks>\r\n\t\tprotected v" + "irtual bool TryGetEncoding(global::System.Xml.XmlReader reader, out global::Syst" + "em.Text.Encoding encoding)\r\n\t\t{\r\n\t\t\tglobal::System.Diagnostics.Debug.Assert(read" + "er.NodeType == System.Xml.XmlNodeType.XmlDeclaration, \"reader should be at the X" + "mlDeclaration node when calling this method\");\r\n\t\r\n\t\t\tencoding = null;\r\n\t\t\t// At" + "tempt to read and parse the \"encoding\" attribute from the XML declaration node\r\n" + "\t\t\tif (reader.NodeType == global::System.Xml.XmlNodeType.XmlDeclaration)\r\n\t\t\t{\r\n" + "\t\t\t\tstring encodingName = reader.GetAttribute(\"encoding\");\r\n\t\t\t\tif (!string.IsNu" + "llOrWhiteSpace(encodingName))\r\n\t\t\t\t{\r\n\t\t\t\t\tencoding = global::System.Text.Encodi" + "ng.GetEncoding(encodingName);\r\n\t\t\t\t\treturn true;\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\treturn false;\r" + "\n\t\t}\r\n\t\t\r\n\t\t/// <summary>\r\n\t\t/// Creates and returns the settings used when read" + "ing a file.\r\n\t\t/// </summary>\r\n\t\t/// <param name=\"serializationContext\">The curr" + "ent serialization context instance.</param>\r\n\t\t/// <param name=\"isDiagram\">Indic" + "ates whether a diagram or model file is currently being serialized.</param>\r\n\t\ti" + "nternal virtual global::System.Xml.XmlReaderSettings CreateXmlReaderSettings(Dsl" + "Modeling::SerializationContext serializationContext, bool isDiagram)\r\n\t\t{\r\n\t\t\tre" + "turn new global::System.Xml.XmlReaderSettings();\r\n\t\t}\r\n\t\t\r\n\t\t/// <summary>\r\n\t\t//" + "/ Creates and returns the settings used when writing a file.\r\n\t\t/// </summary>\r\n" + "\t\t/// <param name=\"serializationContext\">The current serialization context insta" + "nce.</param>\r\n\t\t/// <param name=\"isDiagram\">Indicates whether a diagram or model" + " file is currently being serialized.</param>\r\n\t\t/// <param name=\"encoding\">The e" + "ncoding to use when writing the file.</param>\r\n\t\tinternal virtual global::System" + ".Xml.XmlWriterSettings CreateXmlWriterSettings(DslModeling::SerializationContext" + " serializationContext, bool isDiagram, global::System.Text.Encoding encoding)\r\n\t" + "\t{\r\n\t\t\tglobal::System.Xml.XmlWriterSettings settings = new global::System.Xml.Xm" + "lWriterSettings();\r\n\t\t\tsettings.Indent = true;\r\n\t\t\tsettings.Encoding = encoding;" + "\r\n\t settings.CheckCharacters = true;\r\n\r\n\t\t\treturn settings;\r\n\t\t}\r\n\t\t\r\n\t\t/" + "// <summary>\r\n /// This method is called to copy any existing validation " + "messages (that were added during conversion).\r\n /// </summary>\r\n\t\t/// <pa" + "ram name=\"serializationContext\">The current serialization context instance.</par" + "am>\r\n\t\t/// <param name=\"validatable\">Class that can be validated.</param>\r\n\t\tpub" + "lic virtual void CopyValidationMessages(DslModeling::SerializationContext serial" + "izationContext, DslEditorModeling::IValidatable validatable)\r\n\t\t{\r\n\t\t\tforeach(Ds" + "lEditorModeling::IValidationMessage message in validatable.ValidationResult)\r\n\t\t" + "\t{\r\n DslModeling.SerializationMessageKind kind = DslModeling.Seri" + "alizationMessageKind.Error;\r\n if (message.Type == DslEditorModeli" + "ng.ModelValidationViolationType.Message)\r\n kind = DslModeling" + ".SerializationMessageKind.Info;\r\n else if (message.Type == DslEdi" + "torModeling.ModelValidationViolationType.Warning)\r\n kind = Ds" + "lModeling.SerializationMessageKind.Warning;\r\n\t\t\t \r\n\t\t\t\tserializationContext.R" + "esult.AddMessage(new DslModeling.SerializationMessage(kind,\r\n " + " message.Description, validatable.ToString(), 0, 0, null));\r\n\t\t\t}\r\n\t\t}\r\n\r\n\t\t/// " + "<summary>\r\n /// This method is called during deserialization to convert a" + " given value to a specific typed value.\r\n /// </summary>\r\n\t\t/// <param na" + "me=\"serializationContext\">The current serialization context instance.</param>\r\n\t" + "\t/// <param name=\"modelELement\">ModdelElement, to which the property belongs to." + "</param>\r\n\t\t/// <param name=\"propertyName\">The Property name, which value is to " + "be converted.</param>\r\n /// <param name=\"value\">Value to convert.</param>" + "\r\n /// <param name=\"targetType\">Type, the object is to be converted to.</" + "param>\r\n\t\t/// <param name=\"isRequired\">True if this property is marked as requir" + "ed in the domain model. Can be null.</param>\r\n /// <returns>Converted val" + "ue.</returns>\r\n\t\tpublic virtual object ConvertTypedObjectFrom(DslModeling::Seria" + "lizationContext serializationContext, DslModeling::ModelElement modelELement, st" + "ring propertyName, object value, System.Type targetType, bool? isRequired)\r\n\t\t{\r" + "\n"); #line default #line hidden #line 183 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" foreach(DomainType type in this.MetaModel.DomainTypes ) { if( type.RequiresSerializationConversion ) { #line default #line hidden #line 188 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" \t\t\tif (targetType == typeof("); #line default #line hidden #line 189 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(type.GetFullName(true))); #line default #line hidden #line 189 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("))\r\n\t\t\t{\r\n\t\t\t\treturn ConvertTypedObject"); #line default #line hidden #line 191 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetDomainTypeCodeName(type))); #line default #line hidden #line 191 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("From(serializationContext, modelELement, propertyName, value, targetType, isRequi" + "red);\r\n\t\t\t}\r\n"); #line default #line hidden #line 193 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" } else if( type is DomainEnumeration ) { #line default #line hidden #line 197 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\t\t\tif( targetType == typeof("); #line default #line hidden #line 198 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(type.GetFullName(true))); #line default #line hidden #line 198 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("?) && value != null )\r\n\t\t\t{\r\n\t\t\t\tstring strValue = value.ToString();\r\n\t\t\t\tswitch(" + "strValue)\r\n\t\t\t\t{\r\n"); #line default #line hidden #line 203 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" foreach(EnumerationLiteral literal in (type as DomainEnumeration).Literals ) { #line default #line hidden #line 206 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\t\t\t\t\tcase \""); #line default #line hidden #line 207 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.SerializationName)); #line default #line hidden #line 207 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\":\r\n\t\t\t\t\t\treturn "); #line default #line hidden #line 208 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(type.GetFullName(true))); #line default #line hidden #line 208 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("."); #line default #line hidden #line 208 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 208 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(";\r\n"); #line default #line hidden #line 209 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" } #line default #line hidden #line 211 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\r\n\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t//throw new System.NotSupportedException(\"Can not convert " + "\" + strValue + \" to type "); #line default #line hidden #line 214 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(type.Name)); #line default #line hidden #line 214 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\");\r\n\t\t\t\t\t\treturn null;\r\n\t\t\t\t}\r\n\t\t\t}\r\n"); #line default #line hidden #line 218 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" } if( !type.RequiresSerializationConversion && type.Name == "Boolean?" ) { #line default #line hidden #line 222 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\t\t\tif (targetType == typeof(global::System.Boolean?) && value is string)\r\n " + " {\r\n if (System.String.IsNullOrEmpty(value as string))\r\n " + " return null;\r\n\r\n if (System.String.IsNullOrWhiteSp" + "ace(value as string))\r\n return null;\r\n\r\n try\r\n" + " {\r\n System.Boolean? d = System.Convert.ToBool" + "ean(value, System.Globalization.CultureInfo.InvariantCulture);\r\n " + " return d;\r\n }\r\n catch (System.Exception ex)\r\n " + " {\r\n serializationContext.Result.AddMessage(new" + " DslModeling::SerializationMessage(\r\n DslModeling::Seria" + "lizationMessageKind.Error, \"Couldnt convert \" + value + \" to Boolean: \" + ex.ToS" + "tring(), \"\", 0, 0, null));\r\n }\r\n }\r\n\t\t\tif (targetType " + "== typeof(global::System.Guid?) && value is string)\r\n {\r\n\t\t\t\tif (Syst" + "em.String.IsNullOrEmpty(value as string))\r\n return null;\r\n\r\n " + " if (System.String.IsNullOrWhiteSpace(value as string))\r\n " + " return null;\r\n\t\t\t\t\r\n try\r\n {\r\n " + " System.Guid? d = new System.Guid(value as string);\r\n " + " return d;\r\n }\r\n catch (System.Exception ex)\r\n " + " {\r\n serializationContext.Result.AddMessage(new " + "DslModeling::SerializationMessage(\r\n DslModeling::Serial" + "izationMessageKind.Error, \"Couldnt convert \" + value + \" to Guid: \" + ex.ToStrin" + "g(), \"\", 0, 0, null));\r\n }\r\n\t\t\t}\r\n"); #line default #line hidden #line 261 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" } } #line default #line hidden #line 264 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@" return value; } /// <summary> /// This method is called during serialization to convert a given typed value to a specific value. /// </summary> /// <param name=""serializationContext"">The current serialization context instance.</param> /// <param name=""modelELement"">ModdelElement, to which the property belongs to.</param> /// <param name=""propertyName"">The Property name, which value is to be converted.</param> /// <param name=""value"">Typed value to convert.</param> /// <param name=""sourceType"">Type of the value.</param> /// <param name=""isRequired"">True if this property is marked as required in the domain model. Can be null.</param> /// <returns>Converted value.</returns> public virtual object ConvertTypedObjectTo(DslModeling::SerializationContext serializationContext, DslModeling::ModelElement modelELement, string propertyName, object value, System.Type sourceType, bool? isRequired) { "); #line default #line hidden #line 281 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" foreach(DomainType type in this.MetaModel.DomainTypes ) { if( type.RequiresSerializationConversion ) { #line default #line hidden #line 286 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" \t\t\tif (sourceType == typeof("); #line default #line hidden #line 287 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(type.GetFullName(true))); #line default #line hidden #line 287 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("))\r\n {\r\n\t\t\t\treturn ConvertTypedObject"); #line default #line hidden #line 289 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetDomainTypeCodeName(type))); #line default #line hidden #line 289 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("To(serializationContext, modelELement, propertyName, value, sourceType, isRequire" + "d);\r\n\t\t\t}\r\n"); #line default #line hidden #line 291 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" } else if( type is DomainEnumeration ) { #line default #line hidden #line 295 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\t\t\tif( sourceType == typeof("); #line default #line hidden #line 296 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(type.GetFullName(true))); #line default #line hidden #line 296 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("?) && value != null )\r\n\t\t\t{\r\n\t\t\t\t"); #line default #line hidden #line 298 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(type.GetFullName(true))); #line default #line hidden #line 298 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("? strValue = value as "); #line default #line hidden #line 298 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(type.GetFullName(true))); #line default #line hidden #line 298 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("?;\r\n\t\t\t\tif( strValue != null )\r\n\t\t\t\t\tswitch(strValue)\r\n\t\t\t\t\t{\r\n"); #line default #line hidden #line 302 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" foreach(EnumerationLiteral literal in (type as DomainEnumeration).Literals ) { #line default #line hidden #line 305 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\t\t\t\t\t\tcase "); #line default #line hidden #line 306 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(type.GetFullName(true))); #line default #line hidden #line 306 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("."); #line default #line hidden #line 306 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.Name)); #line default #line hidden #line 306 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(":\r\n\t\t\t\t\t\t\treturn \""); #line default #line hidden #line 307 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(literal.SerializationName)); #line default #line hidden #line 307 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\";\r\n"); #line default #line hidden #line 308 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" } #line default #line hidden #line 310 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\r\n\t\t\t\t\t\tdefault:\r\n\t\t\t\t\t\t\tthrow new System.NotSupportedException(\"Value of type "); #line default #line hidden #line 313 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(type.Name)); #line default #line hidden #line 313 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" is unknown.\");\r\n\t\t\t\t\t}\r\n\t\t\t}\r\n"); #line default #line hidden #line 316 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" } if( !type.RequiresSerializationConversion && type.Name == "Boolean?" ) { #line default #line hidden #line 320 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@" if (sourceType == typeof(global::System.Boolean?) && value != null) { if (value is System.Boolean) { return ((System.Boolean)value).ToString(System.Globalization.CultureInfo.InvariantCulture); } } if (sourceType == typeof(global::System.Guid?) && value != null) { if (value is System.Guid) { return ((System.Guid)value).ToString(); } } "); #line default #line hidden #line 335 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" } } #line default #line hidden #line 338 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\t\t\r\n\t\t\treturn value;\r\n\t\t}\r\n\t\t\r\n"); #line default #line hidden #line 342 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" foreach(DomainType type in this.MetaModel.DomainTypes ) { if( type.RequiresSerializationConversion ) { string typeName = CodeGenerationUtilities.GetDomainTypeCodeName(type); #line default #line hidden #line 348 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\t\t/// <summary>\r\n /// This method is called during deserialization to conv" + "ert a given value to a specific typed value ("); #line default #line hidden #line 350 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(type.Name)); #line default #line hidden #line 350 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@"). /// </summary> /// <param name=""serializationContext"">The current serialization context instance.</param> /// <param name=""modelELement"">ModdelElement, to which the property belongs to.</param> /// <param name=""propertyName"">The Property name, which value is to be converted.</param> /// <param name=""value"">Value to convert.</param> /// <param name=""targetType"">Type, the object is to be converted to.</param> /// <param name=""isRequired"">True if this property is marked as required in the domain model. Can be null.</param> /// <returns>Converted value.</returns> public abstract "); #line default #line hidden #line 359 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(type.GetFullName(true))); #line default #line hidden #line 359 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" ConvertTypedObject"); #line default #line hidden #line 359 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(typeName)); #line default #line hidden #line 359 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@"From(DslModeling::SerializationContext serializationContext, DslModeling::ModelElement modelELement, string propertyName, object value, System.Type targetType, bool? isRequired); /// <summary> /// This method is called during serialization to convert a given typed value ("); #line default #line hidden #line 362 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(type.Name)); #line default #line hidden #line 362 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@") to a specific value (string). /// </summary> /// <param name=""serializationContext"">The current serialization context instance.</param> /// <param name=""modelELement"">ModdelElement, to which the property belongs to.</param> /// <param name=""propertyName"">The Property name, which value is to be converted.</param> /// <param name=""value"">Typed value to convert.</param> /// <param name=""sourceType"">Type of the value.</param> /// <param name=""isRequired"">True if this property is marked as required in the domain model. Can be null.</param> /// <returns>Converted value.</returns> public abstract object ConvertTypedObject"); #line default #line hidden #line 371 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(typeName)); #line default #line hidden #line 371 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("To(DslModeling::SerializationContext serializationContext, DslModeling::ModelElem" + "ent modelELement, string propertyName, object value, System.Type sourceType, boo" + "l? isRequired);\r\n\r\n"); #line default #line hidden #line 373 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" } } #line default #line hidden #line 376 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\t\t\r\n\t\t/// <summary>\r\n /// This method is called during deserialization to " + "convert a given id as string to the id of type Guid as used by the domain model." + "\r\n /// </summary>\r\n\t\t/// <param name=\"serializationContext\">The current s" + "erialization context instance.</param>\r\n /// <param name=\"id\">Id as stri" + "ng.</param>\r\n /// <returns>Converted value, Id as Guid.</returns>\r\n\t\tpubl" + "ic virtual System.Guid ConvertIdFrom(DslModeling::SerializationContext serializa" + "tionContext, string id)\r\n\t\t{\r\n\t\t\ttry\r\n\t\t\t{\r\n\t\t\t\treturn new System.Guid(id);\r\n\t\t\t" + "}\r\n\t\t\tcatch(System.Exception ex)\r\n {\r\n serializationCo" + "ntext.Result.AddMessage(new DslModeling::SerializationMessage(\r\n " + " DslModeling::SerializationMessageKind.Error, \"Couldnt convert \" + id + \" to" + " Guid: \" + ex.ToString(), \"\", 0, 0, null));\r\n\r\n return System.Gui" + "d.Empty;\r\n }\r\n\t\t}\r\n\t\t\r\n\t\t/// <summary>\r\n /// This method is ca" + "lled during serialization to convert a given id to its specific string represent" + "ation.\r\n /// </summary>\r\n\t\t/// <param name=\"serializationContext\">The cur" + "rent serialization context instance.</param>\r\n /// <param name=\"id\">Id.</" + "param>\r\n /// <returns>Converted value.</returns>\r\n\t\tpublic virtual string" + " ConvertIdTo(DslModeling::SerializationContext serializationContext, System.Guid" + " id)\r\n\t\t{\r\n\t\t\treturn id.ToString(\"D\");\r\n\t\t}\r\n\t\t\r\n\t\t/// <summary>\r\n\t\t/// Writes t" + "he specified element to the file.\r\n\t\t/// </summary>\r\n\t\t/// <param name=\"serializ" + "ationContext\">The current serialization context instance.</param>\r\n\t\t/// <param " + "name=\"element\">The element whose attributes have just been written.</param>\r\n\t\t/" + "// <param name=\"writer\">XmlWriter to write serialized data to.</param>\r\n\t\t/// <p" + "aram name=\"elementName\">Name of the element to be written.</param>\r\n\t\t/// <param" + " name=\"elementValue\">Value of the element to be written.</param>\r\n\t\t/// <remarks" + ">This is an extension point to allow customisation e.g. to encode the data\r\n\t\t//" + "/ being written to the file.</remarks>\r\n\t\tinternal virtual void WriteElementStri" + "ng(DslModeling::SerializationContext serializationContext, DslModeling::ModelEle" + "ment element, global::System.Xml.XmlWriter writer, string elementName, string el" + "ementValue)\r\n\t\t{\r\n\t\t\twriter.WriteElementString(elementName, elementValue);\r\n\t\t}\r" + "\n\t\t\r\n\t\tinternal virtual void WriteElementCDATAString(DslModeling::SerializationC" + "ontext serializationContext, DslModeling::ModelElement element, global::System.X" + "ml.XmlWriter writer, string elementName, string elementValue)\r\n\t\t{\r\n\t\t\twriter.Wr" + "iteStartElement(elementName);\r\n writer.WriteCData(elementValue);\r\n " + " writer.WriteEndElement();\r\n\t\t}\r\n\t\t\r\n\t\t/// <summary>\r\n\t\t/// Writes the s" + "pecified attribute to the file.\r\n\t\t/// </summary>\r\n\t\t/// <param name=\"serializat" + "ionContext\">The current serialization context instance.</param>\r\n\t\t/// <param na" + "me=\"element\">The element whose attributes have just been written.</param>\r\n\t\t///" + " <param name=\"writer\">XmlWriter to write serialized data to.</param>\r\n\t\t/// <par" + "am name=\"attributeName\">Name of the attribute to be written</param>\r\n\t\t/// <para" + "m name=\"attributeValue\">Value of the attribute to be written</param>\r\n\t\t/// <rem" + "arks>This is an extension point to allow customisation e.g. to encode the data\r\n" + "\t\t/// being written to the file.</remarks>\r\n\t\tpublic virtual void WriteAttribute" + "String(DslModeling::SerializationContext serializationContext, DslModeling::Mode" + "lElement element, global::System.Xml.XmlWriter writer, string attributeName, str" + "ing attributeValue)\r\n\t\t{\r\n\t\t\twriter.WriteAttributeString(attributeName, attribut" + "eValue);\r\n\t\t}\r\n\t\t\r\n\t\t/// <summary>\r\n\t\t/// Reads and returns the value of an attr" + "ibute.\r\n\t\t/// </summary>\r\n\t\t/// <param name=\"serializationContext\">The current s" + "erialization context instance.</param>\r\n\t\t/// <param name=\"element\">The element " + "whose attributes have just been written.</param>\r\n\t\t/// <param name=\"reader\">Xml" + "Reader to read the serialized data from.</param>\r\n\t\t/// <param name=\"attributeNa" + "me\">The name of the attribute to be read.</param>\r\n\t\t/// <returns>The value of t" + "he attribute.</returns>\r\n\t\t/// <remarks>This is an extension point to allow cust" + "omisation e.g. to decode the data\r\n\t\t/// being written to the file.</remarks>\r\n\t" + "\tpublic virtual string ReadAttribute(DslModeling::SerializationContext serializa" + "tionContext, DslModeling::ModelElement element, global::System.Xml.XmlReader rea" + "der, string attributeName)\r\n\t\t{\r\n\t\t\treturn reader.GetAttribute(attributeName);\r\n" + "\t\t}\r\n\t\t\r\n\t\t/// <summary>\r\n\t\t/// Reads and returns the value of an element.\r\n\t\t//" + "/ </summary>\r\n\t\t/// <param name=\"serializationContext\">The current serialization" + " context instance.</param>\r\n\t\t/// <param name=\"element\">The element whose attrib" + "utes have just been written.</param>\r\n\t\t/// <param name=\"reader\">XmlReader to re" + "ad the serialized data from.</param>\r\n\t\t/// <returns>The value of the element.</" + "returns>\r\n\t\t/// <remarks>This is an extension point to allow customisation e.g. " + "to decode the data\r\n\t\t/// being written to the file.</remarks>\r\n\t\tpublic virtual" + " string ReadElementContentAsString(DslModeling::SerializationContext serializati" + "onContext, DslModeling::ModelElement element, global::System.Xml.XmlReader reade" + "r)\r\n\t\t{\r\n\t\t\treturn reader.ReadElementContentAsString();\r\n\t\t}\r\n\t\t\r\n\t\t/// <summary" + ">\r\n /// Reads and returns the value of an cdata element.\r\n /// </s" + "ummary>\r\n /// <param name=\"serializationContext\">The current serializatio" + "n context instance.</param>\r\n /// <param name=\"element\">The element whose" + " attributes have just been written.</param>\r\n /// <param name=\"reader\">Xm" + "lReader to read the serialized data from.</param>\r\n /// <returns>The valu" + "e of the element.</returns>\r\n /// <remarks>This is an extension point to " + "allow customisation e.g. to decode the data being written to the file.</remarks>" + "\r\n\t\tpublic virtual string ReadElementCDATAContentAsString(DslModeling::Serializa" + "tionContext serializationContext, DslModeling::ModelElement element, global::Sys" + "tem.Xml.XmlReader reader)\r\n\t\t{\r\n\t\t\treturn reader.ReadElementContentAsString();\r\n" + "\t\t}\r\n\t\t\r\n /// <summary>\r\n /// Reads and returns the inner xml valu" + "e of an element.\r\n /// </summary>\r\n /// <param name=\"serialization" + "Context\">The current serialization context instance.</param>\r\n /// <param" + " name=\"element\">The element whose attributes have just been written.</param>\r\n " + " /// <param name=\"reader\">XmlReader to read the serialized data from.</para" + "m>\r\n /// <returns>The value of the element.</returns>\r\n /// <remar" + "ks>This is an extension point to allow customisation e.g. to decode the data bei" + "ng written to the file.</remarks>\r\n public virtual string ReadInnerXmlAsS" + "tring(DslModeling::SerializationContext serializationContext, DslModeling::Model" + "Element element, global::System.Xml.XmlReader reader)\r\n {\r\n re" + "turn reader.ReadInnerXml();\r\n }\r\n\r\n /// <summary>\r\n /// Rea" + "ds and returns the inner xml value (which is serialized as cdata) of an element." + "\r\n /// </summary>\r\n /// <param name=\"serializationContext\">The cur" + "rent serialization context instance.</param>\r\n /// <param name=\"element\">" + "The element whose attributes have just been written.</param>\r\n /// <param" + " name=\"reader\">XmlReader to read the serialized data from.</param>\r\n /// " + "<returns>The value of the element.</returns>\r\n /// <remarks>This is an ex" + "tension point to allow customisation e.g. to decode the data being written to th" + "e file.</remarks>\r\n public virtual string ReadCDATAFromInnerXmlAsString(D" + "slModeling::SerializationContext serializationContext, DslModeling::ModelElement" + " element, global::System.Xml.XmlReader reader)\r\n {\r\n string in" + "nerXml = reader.ReadInnerXml();\r\n if( innerXml.Length > 9 )\r\n " + " {\r\n\r\n if (innerXml.Substring(0, 9) == \"<![CDATA[\" && innerXml" + ".Substring(innerXml.Length - 3, 3) == \"]]>\")\r\n {\r\n " + " return innerXml.Substring(9, innerXml.Length - 12);\r\n }\r\n " + " }\r\n\r\n return innerXml;\r\n }\r\n\t\r\n\t\t/// <summary>\r\n " + " /// Writes the specified string as the elements content to the file.\r\n " + " /// </summary>\r\n /// <param name=\"serializationContext\">The current seri" + "alization context instance.</param>\r\n /// <param name=\"element\">The eleme" + "nt whose attributes have just been written.</param>\r\n /// <param name=\"wr" + "iter\">XmlWriter to write serialized data to.</param>\r\n /// <param name=\"a" + "ttributeName\">Name of the attribute to be written</param>\r\n /// <param na" + "me=\"attributeValue\">Value of the attribute to be written</param>\r\n /// <r" + "emarks>This is an extension point to allow customisation e.g. to encode the data" + "\r\n /// being written to the file.</remarks>\r\n public virtual void " + "WriteInnerXmlAsString(DslModeling::SerializationContext serializationContext, Ds" + "lModeling::ModelElement element, global::System.Xml.XmlWriter writer, string att" + "ributeName, string attributeValue)\r\n {\r\n writer.WriteValue(att" + "ributeValue);\r\n }\r\n\r\n /// <summary>\r\n /// Writes the specif" + "ied string as the elements content (formatted as CDATA) to the file.\r\n //" + "/ </summary>\r\n /// <param name=\"serializationContext\">The current seriali" + "zation context instance.</param>\r\n /// <param name=\"element\">The element " + "whose attributes have just been written.</param>\r\n /// <param name=\"write" + "r\">XmlWriter to write serialized data to.</param>\r\n /// <param name=\"attr" + "ibuteName\">Name of the attribute to be written</param>\r\n /// <param name=" + "\"attributeValue\">Value of the attribute to be written</param>\r\n /// <rema" + "rks>This is an extension point to allow customisation e.g. to encode the data\r\n " + " /// being written to the file.</remarks>\r\n public virtual void Wri" + "teCDATAFromInnerXmlAsString(DslModeling::SerializationContext serializationConte" + "xt, DslModeling::ModelElement element, global::System.Xml.XmlWriter writer, stri" + "ng attributeName, string attributeValue)\r\n {\r\n writer.WriteCDa" + "ta(attributeValue);\r\n }\t\r\n\t\t#endregion\r\n\t\t\r\n\t\t#region Initialization\r\n\t\t\r" + "\n\t\t/// <summary>\r\n\t\t/// Ensure that moniker resolvers and domain element seriali" + "zers are installed properly on the given store, \r\n\t\t/// so that deserialization " + "can be carried out correctly.\r\n\t\t/// </summary>\r\n\t\t/// <param name=\"store\">Store" + " on which moniker resolvers will be set up.</param>\r\n\t\tinternal protected virtua" + "l void InitializeSerialization(DslModeling::Store store)\r\n\t\t{\r\n\t\t\t#region Check " + "Parameters\r\n\t\t\tglobal::System.Diagnostics.Debug.Assert(store != null);\r\n\t\t\tif (s" + "tore == null)\r\n\t\t\t\tthrow new global::System.ArgumentNullException(\"store\");\r\n\t\t\t" + "#endregion\r\n\t\r\n\t\t\tDslModeling::DomainXmlSerializerDirectory directory = this.Get" + "Directory(store);\r\n\t\t\r\n\t\t\t// Add serialization behaviors\r\n\t\t\tdirectory.AddBehavi" + "or("); #line default #line hidden #line 574 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 574 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@"SerializationBehavior.Instance); } /// <summary> /// Gets or set wether serializers have already been initialized or not. /// </summary> public static bool IsInitializeSerialized = false; private static void AddTypeEmbeddedDerivedNameTypesElement(System.Guid key, string name, System.Guid id) { try { if( !typeEmbeddedDerivedNameTypes[key].ContainsKey(name) ) typeEmbeddedDerivedNameTypes[key].Add(name, new System.Collections.Generic.List<System.Guid>()); typeEmbeddedDerivedNameTypes[key][name].Add(id); } catch{} } private static void AddTypeDerivedNameTypesElement(System.Guid key, string name, System.Guid id) { try { typeDerivedNameTypes[key].Add(name, id); } catch{} } /// <summary> /// Initializes serializers (creates derived classes lookup dictionaries). /// </summary> /// <param name=""directory"">Serializer dictionary.</param> /// <param name=""domainDataDirectory"">DomainDataDirectory to be used to discover all derived classes.</param> public static void InitializeSerializers(DslModeling::DomainXmlSerializerDirectory directory, DslModeling::DomainDataDirectory domainDataDirectory) { if( IsInitializeSerialized ) return; "); #line default #line hidden #line 612 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" foreach(DomainClass domainClass in dm.AllClasses) { if( domainClass.AllDerivedClasses.Count > 0 ) { #line default #line hidden #line 617 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\t\t\t// add dictionary informations...\r\n\t\t\ttypeDerivedNameTypes.Add("); #line default #line hidden #line 619 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainClass.GetFullName(true))); #line default #line hidden #line 619 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(".DomainClassId, new System.Collections.Generic.Dictionary<string, System.Guid>())" + ";\r\n"); #line default #line hidden #line 620 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" foreach(DomainClass derivedClass in domainClass.AllDerivedClasses) { if( derivedClass.InheritanceModifier == InheritanceModifier.Abstract ) continue; #line default #line hidden #line 625 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\t\t\tAddTypeDerivedNameTypesElement("); #line default #line hidden #line 626 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainClass.GetFullName(true))); #line default #line hidden #line 626 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(".DomainClassId, \""); #line default #line hidden #line 626 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(derivedClass.SerializationName)); #line default #line hidden #line 626 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\", "); #line default #line hidden #line 626 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(derivedClass.GetFullName(true))); #line default #line hidden #line 626 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(".DomainClassId);\r\n"); #line default #line hidden #line 627 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" } } SerializedDomainClass sDomainClass = domainClass.SerializedDomainClass; List<DomainClass> derivedEmbClasses = new List<DomainClass>(); foreach(SerializationElement child in sDomainClass.Children ) { if( child is SerializedEmbeddingRelationship ) { SerializedEmbeddingRelationship sCon = child as SerializedEmbeddingRelationship; EmbeddingRelationship con = sCon.EmbeddingRelationship; if( sCon.OmitRelationship ) continue; if( con.Target.RolePlayer is DomainClass ) derivedEmbClasses.Add(con.Target.RolePlayer as DomainClass); } } if( derivedEmbClasses.Count > 0 ) { #line default #line hidden #line 649 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\t\t\t\t\r\n\t\t\ttypeEmbeddedDerivedNameTypes.Add("); #line default #line hidden #line 651 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainClass.GetFullName(true))); #line default #line hidden #line 651 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(".DomainClassId, new System.Collections.Generic.Dictionary<string, System.Collecti" + "ons.Generic.List<System.Guid>>());\r\n"); #line default #line hidden #line 652 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" foreach(DomainClass dDerivedEmb in derivedEmbClasses ) foreach(DomainClass derivedClass in dDerivedEmb.AllDerivedClasses) { if( derivedClass.InheritanceModifier == InheritanceModifier.Abstract ) continue; #line default #line hidden #line 660 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\t\t\tAddTypeEmbeddedDerivedNameTypesElement("); #line default #line hidden #line 661 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainClass.GetFullName(true))); #line default #line hidden #line 661 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(".DomainClassId, \""); #line default #line hidden #line 661 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(derivedClass.SerializationName)); #line default #line hidden #line 661 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\", "); #line default #line hidden #line 661 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(derivedClass.GetFullName(true))); #line default #line hidden #line 661 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(".DomainClassId);\r\n"); #line default #line hidden #line 662 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" } } } #line default #line hidden #line 667 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\t\t\t\r\n typeDNTInitializedEvent.Set();\r\n\t\t\ttypeEmbeddedDNTInitializedEve" + "nt.Set();\r\n\t\t\t\r\n\t\t\tIsInitializeSerialized = true;\r\n\r\n"); #line default #line hidden #line 674 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" foreach(MetaModelLibrary lib in dm.MetaModelLibraries) if( lib.ImportedLibrary != null ) { MetaModel m = lib.ImportedLibrary as MetaModel; #line default #line hidden #line 679 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\t\t\t"); #line default #line hidden #line 680 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(m.Namespace)); #line default #line hidden #line 680 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("."); #line default #line hidden #line 680 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(m.Name)); #line default #line hidden #line 680 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("SerializationHelper.InitializeSerializers(directory, domainDataDirectory);\r\n"); #line default #line hidden #line 681 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" } #line default #line hidden #line 683 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\t\t}\r\n\t\t#endregion\r\n\t\t\r\n"); #line default #line hidden #line 687 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" DomainClass domainModel = null; foreach(DomainClass domainClass in dm.AllClasses) { if( domainClass.IsDomainModel ) { domainModel = domainClass; #line default #line hidden #line 695 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\r\n\t\t#region Serialization Methods for "); #line default #line hidden #line 697 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 697 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\r\n\t\t/// <summary>\r\n\t\t/// Loads a "); #line default #line hidden #line 699 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 699 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" instance.\r\n\t\t/// </summary>\r\n\t\t/// <param name=\"serializationResult\">Stores seri" + "alization result from the load operation.</param>\r\n\t\t/// <param name=\"partition\"" + ">Partition in which the new "); #line default #line hidden #line 702 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 702 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" instance will be created.</param>\r\n\t\t/// <param name=\"fileName\">Name of the file" + " from which the "); #line default #line hidden #line 703 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 703 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@" instance will be deserialized.</param> /// <param name=""schemaResolver""> /// An ISchemaResolver that allows the serializer to do schema validation on the root element (and everything inside it). /// If null is passed, schema validation will not be performed. /// </param> /// <param name=""validationController""> /// A ValidationController that will be used to do load-time validation (validations with validation category ""Load""). If null /// is passed, load-time validation will not be performed. /// </param> /// <param name=""serializerLocator""></param> /// <returns>The loaded MetaModel instance.</returns> [global::System.Diagnostics.CodeAnalysis.SuppressMessage(""Microsoft.Maintainability"", ""CA1506:AvoidExcessiveClassCoupling"", Justification = ""Generated code"")] public virtual "); #line default #line hidden #line 715 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.GetFullName(true))); #line default #line hidden #line 715 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" LoadModel"); #line default #line hidden #line 715 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 715 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@"(DslModeling::SerializationResult serializationResult, DslModeling::Partition partition, string fileName, DslModeling::ISchemaResolver schemaResolver, DslValidation::ValidationController validationController, DslModeling::ISerializerLocator serializerLocator) { #region Check Parameters if (serializationResult == null) throw new global::System.ArgumentNullException(""serializationResult""); if (partition == null) throw new global::System.ArgumentNullException(""partition""); if (string.IsNullOrEmpty(fileName)) throw new global::System.ArgumentNullException(""fileName""); #endregion DslEditorModeling::DomainModelStore dStore = (DslEditorModeling::DomainModelStore)partition.Store; if( dStore == null) throw new global::System.ArgumentNullException(""dStore""); //dStore.WaitForWritingLockRelease(); // Ensure there is a transaction for this model to Load in. if (!partition.Store.TransactionActive) { throw new global::System.InvalidOperationException("); #line default #line hidden #line 734 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 734 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("DomainModel.SingletonResourceManager.GetString(\"MissingTransaction\"));\r\n " + " }\r\n\t\t\t\r\n\t\t\t"); #line default #line hidden #line 737 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.GetFullName(true))); #line default #line hidden #line 737 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" modelRoot = null;\r\n\t\t\tDslModeling::DomainXmlSerializerDirectory directory = this" + ".GetDirectory(partition.Store);\r\n\t\t\tDslModeling::DomainClassXmlSerializer modelR" + "ootSerializer = directory.GetSerializer("); #line default #line hidden #line 739 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.GetFullName(true))); #line default #line hidden #line 739 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(".DomainClassId);\r\n\t\t\tglobal::System.Diagnostics.Debug.Assert(modelRootSerializer " + "!= null, \"Cannot find serializer for "); #line default #line hidden #line 740 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 740 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@"!""); if (modelRootSerializer != null) { global::System.IO.FileStream fileStream = null; try { fileStream = global::System.IO.File.OpenRead(fileName); DslModeling::SerializationContext serializationContext = new DslModeling::SerializationContext(directory, fileStream.Name, serializationResult); this.InitializeSerializationContext(partition, serializationContext, true); DslModeling::TransactionContext transactionContext = new DslModeling::TransactionContext(); transactionContext.Add(DslModeling::SerializationContext.TransactionContextKey, serializationContext); //using (DslModeling::Transaction t = partition.Store.TransactionManager.BeginTransaction(""Load Model from "" + fileName, true, transactionContext)) //{ // Ensure there is some content in the file. Blank (or almost blank, to account for encoding header bytes, etc.) // files will cause a new root element to be created and returned. if (fileStream.Length > 5) { global::System.Xml.XmlReaderSettings settings = "); #line default #line hidden #line 760 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 760 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@"SerializationHelper.Instance.CreateXmlReaderSettings(serializationContext, false); using (global::System.Xml.XmlReader reader = global::System.Xml.XmlReader.Create(fileStream, settings)) { try { // Attempt to read the encoding. reader.Read(); // Move to the first node - will be the XmlDeclaration if there is one. global::System.Text.Encoding encoding; if (this.TryGetEncoding(reader, out encoding)) { serializationResult.Encoding = encoding; } // Load any additional domain models that are required //DslModeling::SerializationUtilities.ResolveDomainModels(reader, serializerLocator, partition.Store); reader.MoveToContent(); modelRoot = modelRootSerializer.TryCreateInstance(serializationContext, reader, partition) as "); #line default #line hidden #line 778 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.GetFullName(true))); #line default #line hidden #line 778 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(";\r\n\t\t\t\t\t\t\t\t\tif (modelRoot != null && !serializationResult.Failed)\r\n\t\t\t\t\t\t\t\t\t{\r\n\t\t" + "\t\t\t\t\t\t\t\tmodelRoot.DomainFilePath = fileName;\r\n\t\t\t\t\t\t\t\t\t\tthis.ReadRootElement"); #line default #line hidden #line 782 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 782 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@"(serializationContext, modelRoot, reader, schemaResolver); } fileStream.Dispose(); } catch (global::System.Xml.XmlException xEx) { DslModeling::SerializationUtilities.AddMessage( serializationContext, DslModeling::SerializationMessageKind.Error, xEx ); } finally { fileStream = null; } } } if(modelRoot == null && !serializationResult.Failed) { // create model root if it doesn't exist. modelRoot = this.CreateModelHelper"); #line default #line hidden #line 805 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 805 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@"(partition); modelRoot.DomainFilePath = fileName; } //if (t.IsActive) // t.Commit(); //} // Do load-time validation if a ValidationController is provided. if (!serializationResult.Failed && validationController != null) { using (new SerializationValidationObserver(serializationResult, validationController)) { validationController.Validate(partition, DslValidation::ValidationCategories.Load); } } } finally { if( fileStream != null ) fileStream.Dispose(); } } return modelRoot; } /// <summary> /// Helper method to create and initialize a new "); #line default #line hidden #line 831 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 831 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(".\r\n\t\t/// </summary>\r\n\t\tinternal protected virtual "); #line default #line hidden #line 833 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.GetFullName(true))); #line default #line hidden #line 833 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" CreateModelHelper"); #line default #line hidden #line 833 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 833 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("(DslModeling::Partition modelPartition)\r\n\t\t{\r\n\t\t\t"); #line default #line hidden #line 835 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.GetFullName(true))); #line default #line hidden #line 835 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" model = new "); #line default #line hidden #line 835 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.GetFullName(true))); #line default #line hidden #line 835 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("(modelPartition, \r\n\t\t\t\t"); #line default #line hidden #line 836 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.GetFullName(true))); #line default #line hidden #line 836 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("DomainModelIdProvider.Instance.AssignId(null));\r\n\t\t\tif( "); #line default #line hidden #line 837 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 837 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("ElementNameProvider.Instance.HasName(model) )\r\n\t\t\t\t"); #line default #line hidden #line 838 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 838 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("ElementNameProvider.Instance.SetName(model, \""); #line default #line hidden #line 838 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 838 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@"""); return model; } /// <summary> /// Read an element from the root of XML. /// </summary> /// <param name=""serializationContext"">Serialization context.</param> /// <param name=""rootElement"">In-memory element instance that will get the deserialized data.</param> /// <param name=""reader"">XmlReader to read serialized data from.</param> /// <param name=""schemaResolver"">An ISchemaResolver that allows the serializer to do schema validation on the root element (and everything inside it).</param> protected virtual void ReadRootElement"); #line default #line hidden #line 850 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 850 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("(DslModeling::SerializationContext serializationContext, DslModeling::ModelElemen" + "t rootElement, global::System.Xml.XmlReader reader, DslModeling::ISchemaResolver" + " schemaResolver)\r\n\t\t{\r\n\t\t\t#region Check Parameters\r\n\t\t\tglobal::System.Diagnostic" + "s.Debug.Assert(serializationContext != null);\r\n\t\t\tif (serializationContext == nu" + "ll)\r\n\t\t\t\tthrow new global::System.ArgumentNullException(\"serializationContext\");" + "\r\n\t\t\tglobal::System.Diagnostics.Debug.Assert(rootElement != null);\r\n\t\t\tif (rootE" + "lement == null)\r\n\t\t\t\tthrow new global::System.ArgumentNullException(\"rootElement" + "\");\r\n\t\t\tglobal::System.Diagnostics.Debug.Assert(reader != null);\r\n\t\t\tif (reader " + "== null)\r\n\t\t\t\tthrow new global::System.ArgumentNullException(\"reader\");\r\n\t\t\t#end" + "region\r\n\t\r\n\t\t\tDslModeling::DomainXmlSerializerDirectory directory = this.GetDire" + "ctory(rootElement.Store);\r\n\t\r\n\t\t\tDslModeling::DomainClassXmlSerializer rootSeria" + "lizer = directory.GetSerializer(rootElement.GetDomainClass().Id);\r\n\t\t\tglobal::Sy" + "stem.Diagnostics.Debug.Assert(rootSerializer != null, \"Cannot find serializer fo" + "r \" + rootElement.GetDomainClass().Name + \"!\");\r\n\t\r\n\t\t\t// Version check.\r\n\t\t\t//t" + "his.CheckVersion(serializationContext, reader);\r\n\t\t\tif (!serializationContext.Re" + "sult.Failed)\r\n\t\t\t{\t\r\n\t\t\t\trootSerializer.Read(serializationContext, rootElement, " + "reader);\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t/// <summary>\r\n\t\t/// Saves the given model root to th" + "e given file, with specified encoding.\r\n\t\t/// </summary>\r\n\t\t/// <param name=\"ser" + "ializationResult\">Stores serialization result from the save operation.</param>\r\n" + "\t\t/// <param name=\"modelRoot\">"); #line default #line hidden #line 881 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 881 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" instance to be saved.</param>\r\n\t\t/// <param name=\"fileName\">Name of the file in " + "which the "); #line default #line hidden #line 882 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 882 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" instance will be saved.</param>\r\n\t\t/// <param name=\"encoding\">Encoding to use wh" + "en saving the "); #line default #line hidden #line 883 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 883 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@" instance.</param> /// <param name=""writeOptionalPropertiesWithDefaultValue"">Whether optional properties with default value will be saved.</param> [global::System.Diagnostics.CodeAnalysis.SuppressMessage(""Microsoft.Design"", ""CA1011:ConsiderPassingBaseTypesAsParameters"")] public virtual void SaveModel"); #line default #line hidden #line 886 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 886 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("(DslModeling::SerializationResult serializationResult, "); #line default #line hidden #line 886 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.GetFullName(true))); #line default #line hidden #line 886 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@" modelRoot, string fileName, global::System.Text.Encoding encoding, bool writeOptionalPropertiesWithDefaultValue) { #region Check Parameters if (serializationResult == null) throw new global::System.ArgumentNullException(""serializationResult""); if (modelRoot == null) throw new global::System.ArgumentNullException(""modelRoot""); if (string.IsNullOrEmpty(fileName)) throw new global::System.ArgumentNullException(""fileName""); #endregion //DslEditorModeling::DomainModelStore dStore = (DslEditorModeling::DomainModelStore)modelRoot.Store; //if( dStore == null) // throw new global::System.ArgumentNullException(""dStore""); //dStore.WaitForWritingLockRelease(); if (serializationResult.Failed) return; global::System.IO.MemoryStream newFileContent = null; try { newFileContent = new global::System.IO.MemoryStream(); DslModeling::DomainXmlSerializerDirectory directory = this.GetDirectory(modelRoot.Store); DslModeling::SerializationContext serializationContext = new DslModeling::SerializationContext(directory, fileName, serializationResult); this.InitializeSerializationContext(modelRoot.Partition, serializationContext, false); serializationContext.WriteOptionalPropertiesWithDefaultValue = writeOptionalPropertiesWithDefaultValue; global::System.Xml.XmlWriterSettings settings = "); #line default #line hidden #line 916 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 916 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@"SerializationHelper.Instance.CreateXmlWriterSettings(serializationContext, false, encoding); global::System.Xml.XmlWriter writer = global::System.Xml.XmlWriter.Create(newFileContent, settings); DslEditorModeling.SerializationOptions options = new DslEditorModeling.SerializationOptions(); options.SerializationMode = DslEditorModeling.SerializationMode.Normal; this.WriteRootElement"); #line default #line hidden #line 921 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 921 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("(serializationContext, modelRoot, writer, options);\r\n\t\t\t\t\r\n\t\t\t\twriter.Flush();\r\n\t" + "\r\n\t\t\t\tif (!serializationResult.Failed && newFileContent != null)\r\n\t\t\t\t{\t// Only " + "write the content if there\'s no error encountered during serialization.\r\n\t\t\t\t\tgl" + "obal::System.IO.FileStream fileStream = null;\r\n\t\t\t\t\ttry\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tfileStrea" + "m = new global::System.IO.FileStream(fileName, global::System.IO.FileMode.Create" + ", global::System.IO.FileAccess.Write, global::System.IO.FileShare.None);\r\n\t\t\t\t\t\t" + "using (global::System.IO.BinaryWriter writerBin = new global::System.IO.BinaryWr" + "iter(fileStream, encoding))\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\ttry\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\twriterBin.Wr" + "ite(newFileContent.ToArray());\r\n\t\t\t\t\t\t\t\tfileStream.Dispose();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t" + "finally\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfileStream = null;\r\n\t\t\t\t\t\t\t}\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t}\r" + "\n\t\t\t\t\tfinally\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\tif( fileStream != null )\r\n\t\t\t\t\t\t\tfileStream.Dispose" + "();\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n\t\t\t}\r\n\t\t\tfinally\r\n\t\t\t{\r\n\t\t\t\tif( newFileContent != null )\r\n\t\t" + "\t\t\tnewFileContent.Dispose();\r\n\t\t\t}\r\n\t\t}\r\n\t\t\r\n\t\t/// <summary>\r\n\t\t/// Saves the gi" + "ven model root as a in-memory stream.\r\n\t\t/// This is a helper used by SaveModel(" + ") and SaveModelAndDiagram(). When saving the model and the diagram together, we " + "want to make sure that \r\n\t\t/// both can be saved without error before writing th" + "e content to disk, so we serialize the model into a in-memory stream first.\r\n\t\t/" + "// </summary>\r\n\t\t/// <param name=\"serializationResult\">Stores serialization resu" + "lt from the save operation.</param>\r\n\t\t/// <param name=\"modelRoot\">"); #line default #line hidden #line 964 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 964 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" instance to be saved.</param>\r\n\t\t/// <param name=\"fileName\">Name of the file in " + "which the "); #line default #line hidden #line 965 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 965 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" instance will be saved.</param>\r\n\t\t/// <param name=\"encoding\">Encoding to use wh" + "en saving the "); #line default #line hidden #line 966 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 966 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@" instance.</param> /// <param name=""writeOptionalPropertiesWithDefaultValue"">Whether optional properties with default value will be saved.</param> /// <param name=""serializationMode"">Serialization Mode.</param> /// <returns>In-memory stream containing the serialized "); #line default #line hidden #line 969 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 969 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@" instance.</returns> [global::System.Diagnostics.CodeAnalysis.SuppressMessage(""Microsoft.Design"", ""CA1011:ConsiderPassingBaseTypesAsParameters"")] [global::System.Diagnostics.CodeAnalysis.SuppressMessage(""Microsoft.Reliability"", ""CA2000:Dispose objects before losing scope"")] private global::System.IO.MemoryStream InternalSaveModel"); #line default #line hidden #line 972 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 972 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("(DslModeling::SerializationResult serializationResult, "); #line default #line hidden #line 972 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.GetFullName(true))); #line default #line hidden #line 972 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@" modelRoot, string fileName, global::System.Text.Encoding encoding, bool writeOptionalPropertiesWithDefaultValue, DslEditorModeling.SerializationMode serializationMode) { #region Check Parameters global::System.Diagnostics.Debug.Assert(serializationResult != null); global::System.Diagnostics.Debug.Assert(modelRoot != null); global::System.Diagnostics.Debug.Assert(!serializationResult.Failed); #endregion //DslEditorModeling::DomainModelStore dStore = (DslEditorModeling::DomainModelStore)modelRoot.Store; //if( dStore == null) // throw new global::System.ArgumentNullException(""dStore""); //dStore.WaitForWritingLockRelease(); serializationResult.Encoding = encoding; DslModeling::DomainXmlSerializerDirectory directory = this.GetDirectory(modelRoot.Store); global::System.IO.MemoryStream newFileContent = new global::System.IO.MemoryStream(); DslModeling::SerializationContext serializationContext = new DslModeling::SerializationContext(directory, fileName, serializationResult); this.InitializeSerializationContext(modelRoot.Partition, serializationContext, false); // MonikerResolver shouldn't be required in Save operation, so not calling SetupMonikerResolver() here. serializationContext.WriteOptionalPropertiesWithDefaultValue = writeOptionalPropertiesWithDefaultValue; global::System.Xml.XmlWriterSettings settings = "); #line default #line hidden #line 997 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 997 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@"SerializationHelper.Instance.CreateXmlWriterSettings(serializationContext, false, encoding); using (global::System.Xml.XmlWriter writer = global::System.Xml.XmlWriter.Create(newFileContent, settings)) { DslEditorModeling.SerializationOptions options = new DslEditorModeling.SerializationOptions(); //options.SerializationMode = DslEditorModeling.SerializationMode.InternalToString; options.SerializationMode = serializationMode; this.WriteRootElement"); #line default #line hidden #line 1003 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 1003 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@"(serializationContext, modelRoot, writer, options); } return newFileContent; } /// <summary> /// Saves the given model root to the given file, with specified encoding. /// </summary> /// <param name=""serializationResult"">Stores serialization result from the save operation.</param> /// <param name=""modelRoot"">VModell instance to be saved.</param> /// <param name=""fileName"">Name of the file in which the VModell instance will be saved.</param> /// <param name=""encoding"">Encoding to use when saving the VModell instance.</param> /// <param name=""writeOptionalPropertiesWithDefaultValue"">Whether optional properties with default value will be saved.</param> [global::System.Diagnostics.CodeAnalysis.SuppressMessage(""Microsoft.Design"", ""CA1011:ConsiderPassingBaseTypesAsParameters"")] public virtual void TemporarlySaveModel"); #line default #line hidden #line 1018 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 1018 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("(DslModeling::SerializationResult serializationResult, "); #line default #line hidden #line 1018 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.GetFullName(true))); #line default #line hidden #line 1018 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" modelRoot, string fileName, global::System.Text.Encoding encoding, bool writeOpt" + "ionalPropertiesWithDefaultValue)\r\n {\r\n #region Check Parameter" + "s\r\n if (serializationResult == null)\r\n throw new globa" + "l::System.ArgumentNullException(\"serializationResult\");\r\n if (modelRo" + "ot == null)\r\n throw new global::System.ArgumentNullException(\"mod" + "elRoot\");\r\n if (string.IsNullOrEmpty(fileName))\r\n thro" + "w new global::System.ArgumentNullException(\"fileName\");\r\n #endregion\r" + "\n\r\n if (serializationResult.Failed)\r\n return;\r\n\r\n " + " //DslEditorModeling::DomainModelStore dStore = (DslEditorModeling::Domain" + "ModelStore)modelRoot.Store;\r\n //if( dStore == null)\r\n // " + " throw new global::System.ArgumentNullException(\"dStore\");\r\n\t\t\t\t\r\n\t\t\t//dStore.W" + "aitForWritingLockRelease();\r\n\r\n\t\t\tglobal::System.IO.MemoryStream newFileContent " + "= null;\r\n try \r\n {\r\n\t\t\t\tnewFileContent = new global::Syste" + "m.IO.MemoryStream();\r\n\t\t\t\t\r\n DslModeling::DomainXmlSerializerDire" + "ctory directory = this.GetDirectory(modelRoot.Store);\r\n\r\n DslMode" + "ling::SerializationContext serializationContext = new DslModeling::Serialization" + "Context(directory, fileName, serializationResult);\r\n this.Initial" + "izeSerializationContext(modelRoot.Partition, serializationContext, false);\r\n " + " serializationContext.WriteOptionalPropertiesWithDefaultValue = write" + "OptionalPropertiesWithDefaultValue;\r\n global::System.Xml.XmlWrite" + "rSettings settings = "); #line default #line hidden #line 1048 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 1048 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@"SerializationHelper.Instance.CreateXmlWriterSettings(serializationContext, false, encoding); global::System.Xml.XmlWriter writer = global::System.Xml.XmlWriter.Create(newFileContent, settings); DslEditorModeling::SerializationOptions options = new DslEditorModeling.SerializationOptions(); options.SerializationMode = DslEditorModeling.SerializationMode.Temporarly; this.WriteRootElement"); #line default #line hidden #line 1053 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 1053 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("(serializationContext, modelRoot, writer, options);\r\n\t\t\t\t\r\n\t\t\t\twriter.Flush();\r\n\r" + "\n if (!serializationResult.Failed && newFileContent != null)\r\n " + " {\t// Only write the content if there\'s no error encountered during " + "serialization.\r\n\t\t\t\t\tglobal::System.IO.FileStream fileStream = null;\r\n " + " try\r\n {\r\n\t\t\t\t\t\tfileStream = new global::System.IO.F" + "ileStream(fileName, global::System.IO.FileMode.Create, global::System.IO.FileAcc" + "ess.Write, global::System.IO.FileShare.None);\r\n using (gl" + "obal::System.IO.BinaryWriter writerBin = new global::System.IO.BinaryWriter(file" + "Stream, encoding))\r\n {\r\n\t\t\t\t\t\t\ttry\r\n\t\t\t\t\t\t\t{\r\n " + " \twriterBin.Write(newFileContent.ToArray());\r\n\t\t\t\t\t\t\t\tfileStream" + ".Dispose();\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\tfinally\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tfileStream = null;\r\n\t\t\t" + "\t\t\t\t}\t\t\t\t\t\t\t\r\n }\r\n }\r\n\t\t\t\t\tfinally\r\n\t\t" + "\t\t\t{\r\n\t\t\t\t\t\tif( fileStream != null )\r\n\t\t\t\t\t\t\tfileStream.Dispose();\r\n\t\t\t\t\t}\r\n " + " }\r\n }\r\n\t\t\tfinally\r\n\t\t\t{\r\n\t\t\t\tif( newFileContent != null )" + "\r\n\t\t\t\t\tnewFileContent.Dispose();\r\n\t\t\t}\r\n }\r\n\t\r\n\t\t/// <summary>\r\n\t\t/// Wri" + "te an element as the root of XML.\r\n\t\t/// </summary>\r\n\t\t/// <param name=\"serializ" + "ationContext\">Serialization context.</param>\r\n\t\t/// <param name=\"rootElement\">Ro" + "ot element instance that will be serialized.</param>\r\n\t\t/// <param name=\"writer\"" + ">XmlWriter to write serialized data to.</param>\r\n\t\t/// <param name=\"options\">Ser" + "ialization options.</param>\r\n\t\tpublic virtual void WriteRootElement"); #line default #line hidden #line 1097 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 1097 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("(DslModeling::SerializationContext serializationContext, DslModeling::ModelElemen" + "t rootElement, global::System.Xml.XmlWriter writer, DslEditorModeling::Serializa" + "tionOptions options)\r\n\t\t{\r\n\t\t\t#region Check Parameters\r\n\t\t\tglobal::System.Diagno" + "stics.Debug.Assert(serializationContext != null);\r\n\t\t\tif (serializationContext =" + "= null)\r\n\t\t\t\tthrow new global::System.ArgumentNullException(\"serializationContex" + "t\");\r\n\t\t\tglobal::System.Diagnostics.Debug.Assert(rootElement != null);\r\n\t\t\tif (r" + "ootElement == null)\r\n\t\t\t\tthrow new global::System.ArgumentNullException(\"rootEle" + "ment\");\r\n\t\t\tglobal::System.Diagnostics.Debug.Assert(writer != null);\r\n\t\t\tif (wri" + "ter == null)\r\n\t\t\t\tthrow new global::System.ArgumentNullException(\"writer\");\r\n\t\t\t" + "#endregion\r\n\t\r\n\t\t\tDslModeling::DomainXmlSerializerDirectory directory = this.Get" + "Directory(rootElement.Store);\r\n\t\r\n\t\t\tDslEditorModeling::SerializationDomainClass" + "XmlSerializer rootSerializer = directory.GetSerializer(rootElement.GetDomainClas" + "s().Id) as DslEditorModeling::SerializationDomainClassXmlSerializer;\r\n\t\t\tglobal:" + ":System.Diagnostics.Debug.Assert(rootSerializer != null, \"Cannot find serializer" + " for \" + rootElement.GetDomainClass().Name + \"!\");\r\n\t\r\n\t\t\t// Carry out the norma" + "l serialization.\r\n\t\t\trootSerializer.Write(serializationContext, rootElement, wri" + "ter, new DslModeling::RootElementSettings(), options);\r\n\t\t}\r\n\t\t\r\n\t\t/// <summary>" + "\r\n\t\t/// Return the model in XML format\r\n\t\t/// </summary>\r\n\t\t/// <param name=\"mod" + "elRoot\">Root instance to be saved.</param>\r\n\t\t/// <param name=\"encoding\">Encodin" + "g to use when saving the root instance.</param>\r\n\t\t/// <param name=\"serializatio" + "nMode\">Serialization Mode.</param>\r\n\t\t/// <returns>Model in XML form</returns>\r\n" + "\t\tpublic virtual string GetSerializedModelString"); #line default #line hidden #line 1127 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 1127 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("("); #line default #line hidden #line 1127 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.GetFullName(true))); #line default #line hidden #line 1127 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@" modelRoot, global::System.Text.Encoding encoding, DslEditorModeling.SerializationMode serializationMode) { string result = string.Empty; if (modelRoot == null) { return result; } //DslEditorModeling::DomainModelStore dStore = (DslEditorModeling::DomainModelStore)modelRoot.Store; //if( dStore == null) // throw new global::System.ArgumentNullException(""dStore""); //dStore.WaitForWritingLockRelease(); DslModeling::SerializationResult serializationResult = new DslModeling::SerializationResult(); using (global::System.IO.MemoryStream modelFileContent = this.InternalSaveModel"); #line default #line hidden #line 1142 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainModel.Name)); #line default #line hidden #line 1142 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(@"(serializationResult, modelRoot, string.Empty, encoding, false, serializationMode)) { if (!serializationResult.Failed && modelFileContent != null) { char[] chars = encoding.GetChars(modelFileContent.GetBuffer()); // search the open angle bracket and trim off the Byte Of Mark. result = new string( chars); int indexPos = result.IndexOf('<'); if (indexPos > 0) { // strip off the leading Byte Of Mark. result = result.Substring(indexPos); } // trim off trailing 0s. result = result.TrimEnd( '\0'); } } return result; } #endregion "); #line default #line hidden #line 1164 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" } } #line default #line hidden #line 1167 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("\t\t\r\n\t\t#region Private/Helper Methods/Properties\r\n\t\t#region Class SerializationVal" + "idationObserver\r\n\t\t/// <summary>\r\n\t\t/// An utility class to collect validation m" + "essages during serialization, and store them in serialization result.\r\n\t\t/// </s" + "ummary>\r\n\t\tprotected sealed class SerializationValidationObserver : DslValidatio" + "n::ValidationMessageObserver, global::System.IDisposable\r\n\t\t{\r\n\t\t\t#region Member" + " Variables\r\n\t\t\t/// <summary>\r\n\t\t\t/// SerializationResult to store the messages.\r" + "\n\t\t\t/// </summary>\r\n\t\t\tprivate DslModeling::SerializationResult serializationRes" + "ult;\r\n\t\t\t/// <summary>\r\n\t\t\t/// ValidationController to get messages from.\r\n\t\t\t//" + "/ </summary>\r\n\t\t\tprivate DslValidation::ValidationController validationControlle" + "r;\r\n\t\t\t#endregion\r\n\t\r\n\t\t\t#region Constructor\r\n\t\t\t/// <summary>\r\n\t\t\t/// Construct" + "or\r\n\t\t\t/// </summary>\r\n\t\t\tinternal SerializationValidationObserver(DslModeling::" + "SerializationResult serializationResult, DslValidation::ValidationController val" + "idationController)\r\n\t\t\t{\r\n\t\t\t\t#region Check Parameters\r\n\t\t\t\tglobal::System.Diagn" + "ostics.Debug.Assert(serializationResult != null);\r\n\t\t\t\tglobal::System.Diagnostic" + "s.Debug.Assert(validationController != null);\r\n\t\t\t\t#endregion\r\n\t\r\n\t\t\t\tthis.seria" + "lizationResult = serializationResult;\r\n\t\t\t\tthis.validationController = validatio" + "nController;\r\n\t\r\n\t\t\t\t// Subscribe to validation messages.\r\n\t\t\t\tthis.validationCo" + "ntroller.AddObserver(this);\r\n\t\t\t}\r\n\t\r\n\t\t\t/// <summary>\r\n\t\t\t/// Destructor\r\n\t\t\t//" + "/ </summary>\r\n\t\t\t~SerializationValidationObserver()\r\n\t\t\t{\r\n\t\t\t\tthis.Dispose(fals" + "e);\r\n\t\t\t}\r\n\t\t\t#endregion\r\n\t\r\n\t\t\t#region Base Overrides\r\n\t\t\t/// <summary>\r\n\t\t\t///" + " Called with validation messages are added.\r\n\t\t\t/// </summary>\r\n\t\t\tprotected ove" + "rride void OnValidationMessageAdded(DslValidation::ValidationMessage addedMessag" + "e)\r\n\t\t\t{\r\n\t\t\t\t#region Check Parameters\r\n\t\t\t\tglobal::System.Diagnostics.Debug.Ass" + "ert(addedMessage != null);\r\n\t\t\t\t#endregion\r\n\t\r\n\t\t\t\tif (addedMessage != null && t" + "his.serializationResult != null)\r\n\t\t\t\t{\t// Record the validation message as a se" + "rialization message.\r\n\t\t\t\t\tDslModeling::SerializationUtilities.AddValidationMess" + "age(this.serializationResult, addedMessage);\r\n\t\t\t\t}\r\n\t\t\t\tbase.OnValidationMessag" + "eAdded(addedMessage);\r\n\t\t\t}\r\n\t\t\t#endregion\r\n\t\r\n\t\t\t#region IDisposable Members\r\n\t" + "\t\t/// <summary>\r\n\t\t\t/// IDisposable.Dispose().\r\n\t\t\t/// </summary>\r\n\t\t\tpublic voi" + "d Dispose()\r\n\t\t\t{\r\n\t\t\t\tthis.Dispose(true);\r\n\t\t\t\tglobal::System.GC.SuppressFinali" + "ze(this);\r\n\t\t\t}\r\n\t\r\n\t\t\t/// <summary>\r\n\t\t\t/// Unregister the observer on dispose." + "\r\n\t\t\t/// </summary>\r\n\t\t\tprivate void Dispose(bool disposing)\r\n\t\t\t{\r\n\t\t\t\tglobal::" + "System.Diagnostics.Debug.Assert(disposing, \"SerializationValidationObserver fina" + "lized without being disposed!\");\r\n\t\t\t\tif (disposing && this.validationController" + " != null)\r\n\t\t\t\t{\r\n\t\t\t\t\tthis.validationController.RemoveObserver(this);\r\n\t\t\t\t\tthi" + "s.validationController = null;\r\n\t\t\t\t}\r\n\t\t\t\tthis.serializationResult = null;\r\n\t\t\t" + "}\r\n\t\t\t#endregion\r\n\t\t}\r\n\t\t#endregion\r\n\t\t#endregion\r\n\t\r\n\t}\r\n\t\r\n\t/// <summary>\r\n\t//" + "/ Double derived helper class for serializing and deserializing "); #line default #line hidden #line 1263 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 1263 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(" models.\r\n\t/// </summary>\r\n\tpublic sealed partial class "); #line default #line hidden #line 1265 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 1265 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("SerializationHelper : "); #line default #line hidden #line 1265 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 1265 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("SerializationHelperBase\r\n\t{\r\n\t\t#region Constructor\r\n\t\t/// <summary>\r\n\t\t/// Constr" + "uctor\r\n\t\t/// </summary>\r\n\t\tprivate "); #line default #line hidden #line 1271 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 1271 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("SerializationHelper() : base() { }\r\n\t\t#endregion\r\n\t\t\r\n\t\t#region Singleton Instanc" + "e\r\n\t\t/// <summary>\r\n\t\t/// Singleton instance.\r\n\t\t/// </summary>\r\n\t\tprivate stati" + "c "); #line default #line hidden #line 1278 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 1278 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("SerializationHelper instance;\r\n\t\t/// <summary>\r\n\t\t/// Singleton instance.\r\n\t\t/// " + "</summary>\r\n\t\t[global::System.Diagnostics.DebuggerBrowsable(global::System.Diagn" + "ostics.DebuggerBrowsableState.Never)] // Will trigger creation otherwise.\r\n\t\tpub" + "lic static "); #line default #line hidden #line 1283 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 1283 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("SerializationHelper Instance\r\n\t\t{\r\n\t\t\t[global::System.Diagnostics.DebuggerStepThr" + "ough]\r\n\t\t\tget\r\n\t\t\t{\r\n\t\t\t\tif ("); #line default #line hidden #line 1288 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 1288 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("SerializationHelper.instance == null)\r\n\t\t\t\t\t"); #line default #line hidden #line 1289 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 1289 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("SerializationHelper.instance = new "); #line default #line hidden #line 1289 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 1289 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("SerializationHelper();\r\n\t\t\t\treturn "); #line default #line hidden #line 1290 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 1290 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" this.Write("SerializationHelper.instance;\r\n\t\t\t}\r\n\t\t}\r\n\t\t#endregion\r\n\t}\r\n}\r\n"); #line default #line hidden #line 1296 "J:\Temp\!!!!!TESTS_PDE_IMPL3\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\SerializationHelperGenerator.tt" }
public void GenerateDomainValidation(MetaModel dm) { List<AttributedDomainElement> elements = new List<AttributedDomainElement>(); elements.AddRange(dm.AllClasses); elements.AddRange(dm.AllRelationships); string messageIdsClass = dm.Namespace + "." + dm.Name + "ValidationMessageIds"; #line default #line hidden #line 23 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("namespace "); #line default #line hidden #line 24 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Namespace)); #line default #line hidden #line 24 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\r\n{\r\n\t/// <summary>\r\n /// Groups logic for model validation.\r\n /// </summar" + "y>\r\n\tpublic partial class "); #line default #line hidden #line 29 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 29 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("ValidationController : DslEditorModeling::ModelValidationController\r\n\t{\r\n\t\t#regio" + "n Singleton Instance\r\n\t\tprivate static "); #line default #line hidden #line 32 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 32 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(@"ValidationController validationController = null; private static object domainModelValidationLock = new object(); /// <summary> /// Singleton instance. /// </summary> [global::System.Diagnostics.DebuggerBrowsable(global::System.Diagnostics.DebuggerBrowsableState.Never)] // Will trigger creation otherwise. public static "); #line default #line hidden #line 39 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 39 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(@"ValidationController Instance { [global::System.Diagnostics.DebuggerStepThrough] get { lock(domainModelValidationLock) { if( validationController == null ) { validationController = new "); #line default #line hidden #line 48 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 48 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("ValidationController();\r\n\t\t\t\t\t\t\r\n\t\t\t\t\t\t// initialize\r\n\t\t\t\t\t\t"); #line default #line hidden #line 51 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 51 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(@"ValidationController.Initialize(validationController, new System.Collections.Generic.List<string>()); } } return validationController; } } /// <summary> /// Constructor. /// </summary> private "); #line default #line hidden #line 62 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 62 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(@"ValidationController() : base() { } #endregion #region Initialization /// <summary> /// Initializes the static Validation map as well as the Validation is enabled fields in the actual instance of this class. /// </summary> /// <param name=""controller"">Controller to initalize</param> /// <param name=""discardController"">Validation controllers to discard.</param> public static void Initialize(DslEditorModeling::ModelValidationController controller, System.Collections.Generic.List<string> discardController) { "); #line default #line hidden #line 75 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" foreach(AttributedDomainElement domainElement in elements) { if( domainElement.GeneratesDoubleDerived ) { #line default #line hidden #line 80 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\t\t\tInitializeType(controller, typeof(global::"); #line default #line hidden #line 81 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainElement.Namespace)); #line default #line hidden #line 81 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("."); #line default #line hidden #line 81 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainElement.Name)); #line default #line hidden #line 81 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("Base));\r\n"); #line default #line hidden #line 82 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" } #line default #line hidden #line 84 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\t\t\tInitializeType(controller, typeof("); #line default #line hidden #line 85 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainElement.GetFullName(true))); #line default #line hidden #line 85 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("));\r\n"); #line default #line hidden #line 86 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" } #line default #line hidden #line 88 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\r\n\t\t\t// extern controller\r\n\t\t\tdiscardController.Add(\""); #line default #line hidden #line 91 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.GetFullName(true))); #line default #line hidden #line 91 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\");\r\n\r\n"); #line default #line hidden #line 93 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" foreach(MetaModelLibrary lib in dm.MetaModelLibraries) if( lib.ImportedLibrary != null ) { MetaModel m = lib.ImportedLibrary as MetaModel; #line default #line hidden #line 98 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\t\t\tif( !discardController.Contains(\""); #line default #line hidden #line 99 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(m.GetFullName(true))); #line default #line hidden #line 99 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\") )\r\n\t\t\t\t"); #line default #line hidden #line 100 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(m.GetFullName(true))); #line default #line hidden #line 100 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("ValidationController.Initialize(controller, discardController);\r\n\t\t\t\r\n"); #line default #line hidden #line 102 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" } #line default #line hidden #line 104 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\t\t}\r\n\t\t#endregion\r\n\t}\r\n}\r\n\r\nnamespace "); #line default #line hidden #line 110 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Namespace)); #line default #line hidden #line 110 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\r\n{\r\n\t/// <summary>\r\n /// Ids identifying model validation messages.\r\n /// " + "</summary>\r\n\tpublic partial class "); #line default #line hidden #line 115 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 115 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("ValidationMessageIds : DslEditorModeling::ModelValidationMessageIds\r\n\t{\r\n\t\t#regio" + "n Property Ids\r\n"); #line default #line hidden #line 118 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" foreach(AttributedDomainElement domainElement in elements ) { if( domainElement is EmbeddingRelationship ) continue; foreach(DomainProperty p in domainElement.Properties) { if( p.IsRequired ) { #line default #line hidden #line 128 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\t\t/// <summary>\r\n \t/// "); #line default #line hidden #line 130 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainElement.Name)); #line default #line hidden #line 130 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("_"); #line default #line hidden #line 130 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(p.Name)); #line default #line hidden #line 130 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(" error ID\r\n \t/// </summary>\r\n\t\tpublic const string "); #line default #line hidden #line 132 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainElement.Name)); #line default #line hidden #line 132 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("_"); #line default #line hidden #line 132 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(p.Name)); #line default #line hidden #line 132 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(" = \""); #line default #line hidden #line 132 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(domainElement.Name)); #line default #line hidden #line 132 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("."); #line default #line hidden #line 132 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(p.Name)); #line default #line hidden #line 132 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\";\r\n"); #line default #line hidden #line 133 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" } } } #line default #line hidden #line 137 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\t\t#endregion\r\n\t\t\r\n\t\t#region Relationship Ids\r\n"); #line default #line hidden #line 141 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" foreach(AttributedDomainElement domainElement in elements ) { foreach(DomainRole role in domainElement.RolesPlayed ) { if( role.Relationship is EmbeddingRelationship ) if( role.Relationship.Source != role) continue; if( role.Multiplicity == Tum.PDE.LanguageDSL.Multiplicity.ZeroMany) continue; if( role.Relationship is ReferenceRelationship ) if( role != role.Relationship.Source && !(role.Relationship.Target.RolePlayer is DomainClass) ) continue; #line default #line hidden #line 157 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\t\t/// <summary>\r\n \t/// "); #line default #line hidden #line 159 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(role.Relationship.Name)); #line default #line hidden #line 159 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("_"); #line default #line hidden #line 159 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(role.Relationship.Target.Name)); #line default #line hidden #line 159 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(" error ID\r\n \t/// </summary>\r\n\t\tpublic const string "); #line default #line hidden #line 161 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(role.Relationship.Name)); #line default #line hidden #line 161 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("_"); #line default #line hidden #line 161 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(role.Opposite.Name)); #line default #line hidden #line 161 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(" = \""); #line default #line hidden #line 161 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(role.Relationship.Name)); #line default #line hidden #line 161 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("."); #line default #line hidden #line 161 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(role.Opposite.Name)); #line default #line hidden #line 161 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\";\r\n"); #line default #line hidden #line 162 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" } } #line default #line hidden #line 165 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\t\t#endregion\t\t\r\n\t}\r\n}\r\n\r\n"); #line default #line hidden #line 170 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" foreach(AttributedDomainElement c in elements ) { if( c is EmbeddingRelationship ) continue; bool bSkip = true; if( c.Properties.Count > 0 ) foreach(DomainProperty p in c.Properties) { if( p.IsRequired ) { bSkip = false; break; } } if( bSkip ) { foreach(DomainRole role in c.RolesPlayed ) { if( role.Relationship.Source == role) { if( role.Relationship.Source.Multiplicity != Tum.PDE.LanguageDSL.Multiplicity.ZeroMany) { bSkip = false; break; } } } } if( bSkip ) continue; #line default #line hidden #line 204 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("namespace "); #line default #line hidden #line 205 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(c.Namespace)); #line default #line hidden #line 205 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\r\n{\r\n\t/// <summary>\r\n /// Partial class used to validate "); #line default #line hidden #line 208 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(c.Name)); #line default #line hidden #line 208 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(".\r\n /// </summary>\r\n\t[DslEditorModeling::ModelValidationState(DslEditorModelin" + "g::ModelValidationState.Enabled)]\r\n\t"); #line default #line hidden #line 211 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetAccessModifier(c.AccessModifier))); #line default #line hidden #line 211 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetGenerationInheritanceModifier(c))); #line default #line hidden #line 211 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(" partial class "); #line default #line hidden #line 211 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(CodeGenerationUtilities.GetGenerationClassName(c))); #line default #line hidden #line 211 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\r\n\t{\r\n\t\t#region Validate\r\n\t\t/// <summary>\r\n \t\t/// Automatically validates "); #line default #line hidden #line 215 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(c.Name)); #line default #line hidden #line 215 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write(".\r\n \t/// </summary>\r\n\t\t[DslEditorModeling::ModelValidationMethod(DslEditorMode" + "ling::ModelValidationCategories.Open | DslEditorModeling::ModelValidationCategor" + "ies.Save | DslEditorModeling::ModelValidationCategories.Menu)]\t\t\r\n"); #line default #line hidden #line 218 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" GenerateValidationFunction(c, messageIdsClass); #line default #line hidden #line 220 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" this.Write("\t\t#endregion\r\n\t}\r\n}\r\n"); #line default #line hidden #line 224 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\DomainValidationGenerator.tt" } }
public void GenerateUI(MetaModel dm) { #line default #line hidden #line 15 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write(@"using DslEditorContracts = Tum.PDE.ToolFramework.Modeling.Visualization.Contracts; using DslEditorPopups = Tum.PDE.ToolFramework.Modeling.Visualization.Controls.Popups; using DslEditorServices = Tum.PDE.ToolFramework.Modeling.Visualization.ViewModel.Services; using DslEditorCommands = Tum.PDE.ToolFramework.Modeling.Visualization.Commands; using DslEditorDiagramSurface = Tum.PDE.ToolFramework.Modeling.Visualization.ViewModel.DiagramSurface; using WPFRibbon = Fluent; using System; using System.ComponentModel.Composition; using System.ComponentModel.Composition.Hosting; using System.Reflection; using System.Windows.Controls; using "); #line default #line hidden #line 30 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Namespace)); #line default #line hidden #line 30 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write(".ViewModel;\r\n\r\nnamespace "); #line default #line hidden #line 32 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Namespace)); #line default #line hidden #line 32 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write(".View\r\n{\r\n\t/// <summary>\r\n /// This class is used as a base class for the main" + " window of the editor.\r\n /// </summary>\r\n\tpublic abstract class DslPluginMain" + "Control : UserControl\r\n\t{\r\n\t\t/// <summary>\r\n /// "); #line default #line hidden #line 40 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 40 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write(" Modeling document data.\r\n /// </summary>\r\n protected "); #line default #line hidden #line 42 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.GetFullName(true))); #line default #line hidden #line 42 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write("DocumentData DocData = null;\r\n\t\t\r\n /// <summary>\r\n /// "); #line default #line hidden #line 45 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 45 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write(" Main view model.\r\n /// </summary>\r\n protected "); #line default #line hidden #line 47 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(dm.Name)); #line default #line hidden #line 47 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write(@"MainViewModel ViewModel = null; /* /// <summary> /// Imported plugins which suffice to the IPlugin interface. /// </summary> [ImportMany(typeof(DslEditorContracts::IPlugin))] public System.Collections.Generic.List<DslEditorContracts::IPlugin> SimplePlugins { get; set; } /// <summary> /// Imported plugins which suffice to the IPlugin interface. /// </summary> [ImportMany(typeof(DslEditorContracts::IModelPlugin))] public System.Collections.Generic.List<DslEditorContracts::IModelPlugin> SimpleModelPlugins { get; set; } /// <summary> /// Imported plugins which suffice to the IViewModelPlugin interface. /// </summary> [ImportMany(typeof(DslEditorContracts::IViewModelPlugin))] public System.Collections.Generic.List<DslEditorContracts::IViewModelPlugin> ViewModelPlugins { get; set; } */ /// <summary> /// Plugins directory. /// </summary> public const string PluginsDirectory = ""plugins""; /// <summary> /// Constructor. /// </summary> public DslPluginMainControl() { } /// <summary> /// Sets view model. /// </summary> /// <param name=""viewModel"">VM.</param> public virtual void SetViewModel("); #line default #line hidden #line 86 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.MetaModel.Namespace)); #line default #line hidden #line 86 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write(".ViewModel."); #line default #line hidden #line 86 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write(this.ToStringHelper.ToStringWithCulture(this.MetaModel.Name)); #line default #line hidden #line 86 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" this.Write("MainViewModel viewModel)\r\n\t\t{\r\n\t\t\ttry\r\n { \r\n\t\t\t\tthis.ViewMod" + "el = viewModel;\r\n this.DataContext = viewModel;\r\n\r\n \tv" + "iewModel.Ribbon = this.Ribbon;\r\n\t\t\t\tviewModel.RestoreLayout();\r\n\t\t\t}\r\n\t\t\tcatch (" + "System.Exception ex)\r\n {\r\n\t\t\t\tSystem.Windows.MessageBox.Show(\"Error d" + "uring initialization: \" + ex.Message);\r\n\t\t\t}\r\n\t\t\t\r\n\t\t\t// Register known windows\r" + "\n\t\t\tDslEditorServices::IUIVisualizerService popupVisualizer = ViewModel.GlobalSe" + "rviceProvider.Resolve<DslEditorServices::IUIVisualizerService>();\t\t\t\t\r\n\t\t\tpopupV" + "isualizer.TryRegister(\"SelectElementPopup\", typeof(DslEditorPopups::SelectElemen" + "tPopup));\r\n\t\t\tpopupVisualizer.TryRegister(\"DeleteElementsPopup\", typeof(DslEdito" + "rPopups::DeleteElementsPopup));\t\t\t\t\r\n\t\t\tpopupVisualizer.TryRegister(\"SelectEleme" + "ntWithRSTypePopup\", typeof(DslEditorPopups::SelectElementWithRSTypePopup));\r\n\t\t\t" + "popupVisualizer.TryRegister(\"SelectRSTypePopup\", typeof(DslEditorPopups::SelectR" + "STypePopup));\r\n\t\t\t\t\r\n\t\t\t/*\r\n try\r\n {\r\n // l" + "oad plugins\r\n LoadPlugins();\r\n }\r\n catch (S" + "ystem.Exception ex)\r\n {\r\n System.Windows.MessageBox.Sh" + "ow(\"Error during plugin loading: \" + ex.Message);\r\n }*/\r\n\t\t}\r\n\t\t\r\n\t\t/" + "*\r\n\t\t/// <summary>\r\n /// Load plugins.\r\n /// </summary>\r\n\t\tpublic " + "virtual void LoadPlugins()\r\n\t\t{\r\n\t\t\ttry\r\n {\r\n\t\t\t\tstring path = Assemb" + "ly.GetAssembly(this.GetType()).Location;\r\n string dir = new Syste" + "m.IO.FileInfo(path).Directory.FullName;\r\n\r\n string fullDir = dir " + "+ System.IO.Path.DirectorySeparatorChar + PluginsDirectory;\r\n\r\n\r\n\t\t\t\t// Load plu" + "gins\r\n if (!System.IO.Directory.Exists(fullDir))\r\n " + " System.IO.Directory.CreateDirectory(fullDir);\r\n\r\n DirectoryC" + "atalog directoryCatalog = new DirectoryCatalog(fullDir);\r\n\t\t\t\tCompositionContain" + "er container = new CompositionContainer(directoryCatalog);\r\n \tcontain" + "er.ComposeParts(this);\r\n\t\t\t\t\r\n\t\t\t\tif( SimplePlugins.Count > 0 )\r\n\t\t\t\t{\r\n\t\t\t\t\tfor" + "each(DslEditorContracts::IPlugin plugin in SimplePlugins)\r\n\t\t\t\t\t\tforeach (Tum.PD" + "E.ToolFramework.Modeling.Visualization.ViewModel.ModelContextViewModel mcVM in V" + "iewModel.AvailableModelModelContextViewModels)\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tif( plugin.Model" + "Context == mcVM.ModelContext.Name || plugin.ModelContext == null)\r\n\t\t\t\t\t\t\t\tmcVM." + "AddPlugin(plugin);\r\n\t\t\t\t\t\t}\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tif( SimpleModelPlugins.Count >" + " 0 )\r\n\t\t\t\t{\r\n\t\t\t\t\tforeach(DslEditorContracts::IModelPlugin plugin in SimpleModel" + "Plugins)\r\n\t\t\t\t\t\tforeach (Tum.PDE.ToolFramework.Modeling.Visualization.ViewModel." + "ModelContextViewModel mcVM in ViewModel.AvailableModelModelContextViewModels)\r\n\t" + "\t\t\t\t\t{\r\n\t\t\t\t\t\t\tif( plugin.ModelContext == mcVM.ModelContext.Name || plugin.Model" + "Context == null)\r\n\t\t\t\t\t\t\t\tmcVM.AddPlugin(plugin);\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\tplugin.SetVi" + "ewModelStore(ViewModel.ViewModelStore);\r\n\t\t\t\t\t\t}\t\t\t\t\r\n\t\t\t\t}\r\n\t\t\t\t\r\n\t\t\t\tif( ViewM" + "odelPlugins.Count > 0 )\r\n\t\t\t\t{\r\n\t\t\t\t\tforeach(DslEditorContracts::IViewModelPlugi" + "n plugin in ViewModelPlugins)\r\n\t\t\t\t\t{\r\n\t\t\t\t\t\ttry\r\n\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\tDslEditorDiagr" + "amSurface::BaseDiagramSurfaceViewModel vm = plugin.GetViewModel(ViewModel.ViewMo" + "delStore);\r\n\t\t\t\t\t\t\tif( vm != null )\r\n\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\tforeach (Tum.PDE.ToolFram" + "ework.Modeling.Visualization.ViewModel.ModelContextViewModel mcVM in ViewModel.A" + "vailableModelModelContextViewModels)\r\n if (pl" + "ugin.ModelContext == null)\r\n mcVM.AddPlug" + "inViewModel(vm);\r\n else if( plugin.ModelConte" + "xt == mcVM.ModelContext.Name)\r\n mcVM.AddP" + "luginViewModel(vm);\r\n\t\t\t\t\t\t\t\t\r\n\t\t\t\t\t\t\t\tSystem.Windows.ResourceDictionary diction" + "ary = plugin.GetViewModelRessourceDictionary();\r\n\t\t\t\t\t\t\t\tif( dictionary != null " + ")\r\n\t\t\t\t\t\t\t\t{\r\n\t\t\t\t\t\t\t\t\tSystem.Windows.Application.Current.Resources.BeginInit();" + "\r\n\t\t\t\t\t\t System.Windows.Application.Current.Resources.MergedDictionar" + "ies.Add(dictionary);\r\n \t\t\t\t\t\tSystem.Windows.Application.Current.Resou" + "rces.EndInit();\r\n\t\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t\t}\r\n\t\t\t\t\t\t}\r\n\t\t\t\t\t\tcatch (System.Exception ex)" + "\r\n \t\t\t{\r\n \t\t\tSystem.Windows.MessageBox.Show(ex.Message" + ");\r\n \t\t\t}\r\n\t\t\t\t\t}\r\n\t\t\t\t}\r\n }\r\n catch (System.Ex" + "ception ex)\r\n {\r\n System.Windows.MessageBox.Show(ex.Me" + "ssage);\r\n }\r\n\t\t}\r\n\t\t*/\r\n\r\n\t\t/// <summary>\r\n /// Gets the WPF r" + "ibbon instance.\r\n /// </summary>\r\n\t\tpublic abstract WPFRibbon::Ribbon Rib" + "bon{ get; }\r\n\t\t\r\n /// <summary>\r\n /// Clean up.\r\n /// </sum" + "mary>\r\n public virtual void Dispose()\r\n {\r\n\t\t\tthis.DataContext = n" + "ull;\r\n\t\t\r\n if (this.ViewModel != null)\r\n {\r\n " + " // Unregister known windows\r\n\t\t\t\t/*\r\n DslEditorServices::IUIVis" + "ualizerService popupVisualizer = ViewModel.GlobalServiceProvider.Resolve<DslEdit" + "orServices::IUIVisualizerService>();\r\n popupVisualizer.Unregister" + "(\"SelectElementPopup\");\r\n popupVisualizer.Unregister(\"DeleteEleme" + "ntsPopup\");\r\n popupVisualizer.Unregister(\"SelectElementWithRSType" + "Popup\");\r\n popupVisualizer.Unregister(\"SelectRSTypePopup\");*/\r\n\r\n" + " this.ViewModel.Dispose();\r\n }\r\n\t\t}\t\t\r\n\t}\r\n}\r\n"); #line default #line hidden #line 229 "J:\Uni\CC Processes\Werkzeuge\PDE 2\Tum.PDE.ToolFramework\Tum.PDE.ToolFramework.Templates\Shell\ViewModel\WPFApplication\UIGenerator.tt" }