[commit] r2669 - in trunk: Install Install/Build SDK/DotNet/DsmlGenerator SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/Generator SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/Properties SDK/DotNet/DsmlGenerator/ISIS.GME.Common SDK/DotNet/DsmlGenerator/ISIS.GME.Common/Properties Tests/GPyUnit/DsmlGeneratorTest

GMESRC Repository Notifications gme-commit at list.isis.vanderbilt.edu
Tue May 2 18:02:46 CDT 2017


Author: ksmyth
Date: Tue May  2 18:02:46 2017
New Revision: 2669

Log:
DsmlGenerator: better error message for Referred.Kind, when the referred object is not that kind

Modified:
   trunk/Install/Build/build.py
   trunk/Install/GME_SDK.wxs
   trunk/Install/GME_bin.wxs
   trunk/SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/Generator/FcoAttributes.cs
   trunk/SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/Generator/FcoReference.cs
   trunk/SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/Properties/AssemblyInfo.cs
   trunk/SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/app.manifest
   trunk/SDK/DotNet/DsmlGenerator/GME.DSMLGenerator.Runtime.nuspec
   trunk/SDK/DotNet/DsmlGenerator/GME.DSMLGenerator.nuspec
   trunk/SDK/DotNet/DsmlGenerator/ISIS.GME.Common/Properties/AssemblyInfo.cs
   trunk/SDK/DotNet/DsmlGenerator/ISIS.GME.Common/Utils.cs
   trunk/Tests/GPyUnit/DsmlGeneratorTest/DsmlGeneratorTest.csproj
   trunk/Tests/GPyUnit/DsmlGeneratorTest/packages.config

Modified: trunk/Install/Build/build.py
==============================================================================
--- trunk/Install/Build/build.py	Mon Mar 13 12:33:49 2017	(r2668)
+++ trunk/Install/Build/build.py	Tue May  2 18:02:46 2017	(r2669)
@@ -240,7 +240,7 @@
     
     with _winreg.OpenKey(_winreg.HKEY_LOCAL_MACHINE, r"SOFTWARE\Microsoft", 0, _winreg.KEY_WOW64_32KEY | _winreg.KEY_WRITE | _winreg.KEY_READ) as ms:
         with _winreg.CreateKey(ms, r".NETFramework\v4.0.30319\AssemblyFoldersEx\ISIS.GME.Common") as key:
-            _winreg.SetValueEx(key, None, 0, _winreg.REG_SZ, os.path.join(os.environ['windir'], r"Microsoft.NET\assembly\GAC_MSIL\ISIS.GME.Common\v4.0_1.0.5.0__1321e6b92842fe54"))
+            _winreg.SetValueEx(key, None, 0, _winreg.REG_SZ, os.path.join(os.environ['windir'], r"Microsoft.NET\assembly\GAC_MSIL\ISIS.GME.Common\v4.0_1.0.6.0__1321e6b92842fe54"))
     
     sln_file = os.path.join(GME_ROOT, "Tools", "DumpWMF", "DumpWMF.sln")
     tools.build_VS(sln_file, "Release", arch='Any CPU', msbuild=(prefs['arch'] == 'x64' and tools.MSBUILD.replace('Framework', 'Framework64') or tools.MSBUILD))

Modified: trunk/Install/GME_SDK.wxs
==============================================================================
--- trunk/Install/GME_SDK.wxs	Mon Mar 13 12:33:49 2017	(r2668)
+++ trunk/Install/GME_SDK.wxs	Tue May  2 18:02:46 2017	(r2669)
@@ -24,7 +24,7 @@
         </Class>
         <RegistryValue Root="HKCR" Key="CLSID\{78BE7B95-3564-4BA9-8FE6-8D9B91EEE0B8}\Implemented Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}" Value="" Type="string" Action="write" />
         <RegistryValue Root="HKCR" Key="CLSID\{78BE7B95-3564-4BA9-8FE6-8D9B91EEE0B8}\InprocServer32" Name="Class" Value="CSharpDSMLGenerator.CSharpDSMLGeneratorInterpreter" Type="string" Action="write" />
-        <RegistryValue Root="HKCR" Key="CLSID\{78BE7B95-3564-4BA9-8FE6-8D9B91EEE0B8}\InprocServer32" Name="Assembly" Value="CSharpDSMLGenerator, Version=1.0.15.1, Culture=neutral" Type="string" Action="write" />
+        <RegistryValue Root="HKCR" Key="CLSID\{78BE7B95-3564-4BA9-8FE6-8D9B91EEE0B8}\InprocServer32" Name="Assembly" Value="CSharpDSMLGenerator, Version=1.0.16.1, Culture=neutral" Type="string" Action="write" />
         <RegistryValue Root="HKCR" Key="CLSID\{78BE7B95-3564-4BA9-8FE6-8D9B91EEE0B8}\InprocServer32" Name="RuntimeVersion" Value="v4.0.30319" Type="string" Action="write" />
         <RegistryValue Root="HKCR" Key="CLSID\{78BE7B95-3564-4BA9-8FE6-8D9B91EEE0B8}\InprocServer32" Name="CodeBase" Value="file:///[#CSharpDSMLGenerator.dll]" Type="string" Action="write" />
         <RegistryValue Root="HKCR" Key="Component Categories\{62C8FE65-4EBB-45e7-B440-6E39B2CDBF29}" Name="0" Value=".NET Category" Type="string" Action="write" />

Modified: trunk/Install/GME_bin.wxs
==============================================================================
--- trunk/Install/GME_bin.wxs	Mon Mar 13 12:33:49 2017	(r2668)
+++ trunk/Install/GME_bin.wxs	Tue May  2 18:02:46 2017	(r2669)
@@ -782,7 +782,7 @@
           </RegistryKey>
 
           <RegistryKey Key='ISIS.GME.Common' >
-            <RegistryValue Type='string' Value='[WindowsFolder]Microsoft.NET\assembly\GAC_MSIL\ISIS.GME.Common\v4.0_1.0.5.0__1321e6b92842fe54'/>
+            <RegistryValue Type='string' Value='[WindowsFolder]Microsoft.NET\assembly\GAC_MSIL\ISIS.GME.Common\v4.0_1.0.6.0__1321e6b92842fe54'/>
           </RegistryKey>
         </RegistryKey>
       </Component>

Modified: trunk/SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/Generator/FcoAttributes.cs
==============================================================================
--- trunk/SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/Generator/FcoAttributes.cs	Mon Mar 13 12:33:49 2017	(r2668)
+++ trunk/SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/Generator/FcoAttributes.cs	Tue May  2 18:02:46 2017	(r2669)
@@ -10,6 +10,11 @@
 {
 	public partial class FCO
 	{
+        public static string ConvertToDOSLineEnding(string input)
+        {
+            return input.Replace("\r\n", "\n").Replace("\n", "\r\n");
+        }
+
 		void ClassCodeAttributes()
 		{
 			#region Domain Specific Attributes
@@ -112,7 +117,7 @@
 						{
 							sb.Clear();
 							sb.Append(@"<para>");
-							sb.AppendFormat("{0}", description);
+							sb.Append(ConvertToDOSLineEnding(description));
 							sb.Append(@"</para>");
 							attr.Comments.Add(
 								new CodeCommentStatement(sb.ToString(), true));
@@ -248,7 +253,7 @@
 						{
 							sb.Clear();
 							sb.Append(@"<para>");
-							sb.AppendFormat("{0}", description);
+							sb.Append(ConvertToDOSLineEnding(description));
 							sb.Append(@"</para>");
 							attr.Comments.Add(
 								new CodeCommentStatement(sb.ToString(), true));
@@ -319,7 +324,7 @@
 							{
 								sb.Clear();
 								sb.Append(@"<para>");
-								sb.AppendFormat("{0}", description);
+								sb.Append(ConvertToDOSLineEnding(description));
 								sb.Append(@"</para>");
 								attr.Comments.Add(
 									new CodeCommentStatement(sb.ToString(), true));
@@ -386,7 +391,7 @@
 							{
 								sb.Clear();
 								sb.Append(@"<para>");
-								sb.AppendFormat("{0}", description);
+								sb.Append(ConvertToDOSLineEnding(description));
 								sb.Append(@"</para>");
 								attr.Comments.Add(
 									new CodeCommentStatement(sb.ToString(), true));
@@ -454,7 +459,7 @@
 							{
 								sb.Clear();
 								sb.Append(@"<para>");
-								sb.AppendFormat("{0}", description);
+								sb.Append(ConvertToDOSLineEnding(description));
 								sb.Append(@"</para>");
 								attr.Comments.Add(
 									new CodeCommentStatement(sb.ToString(), true));

Modified: trunk/SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/Generator/FcoReference.cs
==============================================================================
--- trunk/SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/Generator/FcoReference.cs	Mon Mar 13 12:33:49 2017	(r2668)
+++ trunk/SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/Generator/FcoReference.cs	Tue May  2 18:02:46 2017	(r2669)
@@ -125,7 +125,7 @@
 							sb.AppendLine();
 						}
 					}
-					sb.Append("}) as ");
+					sb.AppendFormat("}}, \"{0}\") as ", item.Name);
 					sb.Append(Configuration.GetInterfaceName(item as MgaObject));
 
 					newReferred.GetStatements.Add(

Modified: trunk/SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/Properties/AssemblyInfo.cs
==============================================================================
--- trunk/SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/Properties/AssemblyInfo.cs	Mon Mar 13 12:33:49 2017	(r2668)
+++ trunk/SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/Properties/AssemblyInfo.cs	Tue May  2 18:02:46 2017	(r2669)
@@ -35,5 +35,5 @@
 
 // Keep in sync with app.manifest, GME_SDK.wxs, and GME.DSMLGenerator.nuspec
 // Do not end with .0: NuGet gallery will strip it!
-[assembly: AssemblyVersion("1.0.15.1")]
-[assembly: AssemblyFileVersion("1.0.15.1")]
+[assembly: AssemblyVersion("1.0.16.1")]
+[assembly: AssemblyFileVersion("1.0.16.1")]

Modified: trunk/SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/app.manifest
==============================================================================
--- trunk/SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/app.manifest	Mon Mar 13 12:33:49 2017	(r2668)
+++ trunk/SDK/DotNet/DsmlGenerator/CSharpDsmlGenerator/app.manifest	Tue May  2 18:02:46 2017	(r2669)
@@ -3,7 +3,7 @@
   <assemblyIdentity
                type="win32"
                name="CSharpDSMLGenerator"
-               version="1.0.15.1"
+               version="1.0.16.1"
                publicKeyToken="1321e6b92842fe54"
                processorArchitecture="msil" />
   <clrClass

Modified: trunk/SDK/DotNet/DsmlGenerator/GME.DSMLGenerator.Runtime.nuspec
==============================================================================
--- trunk/SDK/DotNet/DsmlGenerator/GME.DSMLGenerator.Runtime.nuspec	Mon Mar 13 12:33:49 2017	(r2668)
+++ trunk/SDK/DotNet/DsmlGenerator/GME.DSMLGenerator.Runtime.nuspec	Tue May  2 18:02:46 2017	(r2669)
@@ -2,7 +2,7 @@
 <package >
   <metadata>
     <id>GME.DSMLGenerator.Runtime</id>
-    <version>1.0.15.1</version>
+    <version>1.0.16.1</version>
     <title>GME DSMLGenerator Runtime</title>
     <authors>ISIS, Vanderbilt University</authors>
     <owners>ksmyth</owners>

Modified: trunk/SDK/DotNet/DsmlGenerator/GME.DSMLGenerator.nuspec
==============================================================================
--- trunk/SDK/DotNet/DsmlGenerator/GME.DSMLGenerator.nuspec	Mon Mar 13 12:33:49 2017	(r2668)
+++ trunk/SDK/DotNet/DsmlGenerator/GME.DSMLGenerator.nuspec	Tue May  2 18:02:46 2017	(r2669)
@@ -2,7 +2,7 @@
 <package >
   <metadata>
     <id>GME.DSMLGenerator</id>
-    <version>1.0.15.1</version>
+    <version>1.0.16.1</version>
     <title>GME DSMLGenerator</title>
     <authors>ISIS, Vanderbilt University</authors>
     <owners>ksmyth</owners>

Modified: trunk/SDK/DotNet/DsmlGenerator/ISIS.GME.Common/Properties/AssemblyInfo.cs
==============================================================================
--- trunk/SDK/DotNet/DsmlGenerator/ISIS.GME.Common/Properties/AssemblyInfo.cs	Mon Mar 13 12:33:49 2017	(r2668)
+++ trunk/SDK/DotNet/DsmlGenerator/ISIS.GME.Common/Properties/AssemblyInfo.cs	Tue May  2 18:02:46 2017	(r2669)
@@ -5,7 +5,7 @@
 // General Information about an assembly is controlled through the following 
 // set of attributes. Change these attribute values to modify the information
 // associated with an assembly.
-[assembly: AssemblyTitle("ISIS.GME.DSML")]
+[assembly: AssemblyTitle("ISIS.GME.Common")]
 [assembly: AssemblyDescription("")]
 [assembly: AssemblyConfiguration("")]
 [assembly: AssemblyCompany("ISIS, Vanderbilt University")]
@@ -23,6 +23,5 @@
 [assembly: Guid("eef84a03-3f78-4ea0-a366-f2a3e8caf27e")]
 
 // also change GME_bin.wxs and build.py AssemblyFoldersEx
-// FIXME: for version 1.0.6.0, change AssemblyTitle to ISIS.GME.Common
-[assembly: AssemblyVersion("1.0.5.0")]
-[assembly: AssemblyFileVersion("1.0.5.0")]
+[assembly: AssemblyVersion("1.0.6.0")]
+[assembly: AssemblyFileVersion("1.0.6.0")]

Modified: trunk/SDK/DotNet/DsmlGenerator/ISIS.GME.Common/Utils.cs
==============================================================================
--- trunk/SDK/DotNet/DsmlGenerator/ISIS.GME.Common/Utils.cs	Mon Mar 13 12:33:49 2017	(r2668)
+++ trunk/SDK/DotNet/DsmlGenerator/ISIS.GME.Common/Utils.cs	Tue May  2 18:02:46 2017	(r2669)
@@ -911,6 +911,14 @@
             MgaReference mgaReference,
             Dictionary<int, Type> metaRefTypes)
         {
+            return CastReferred(mgaReference, metaRefTypes, "<unknown>");
+        }
+
+        public static ISIS.GME.Common.Interfaces.FCO CastReferred(
+            MgaReference mgaReference,
+            Dictionary<int, Type> metaRefTypes,
+            string kind)
+        {
             Contract.Requires(mgaReference != null);
 
             IMgaFCO referred = mgaReference.Referred;
@@ -921,7 +929,12 @@
             else
             {
                 ISIS.GME.Common.Interfaces.FCO result = null;
-                Type t = metaRefTypes[referred.MetaBase.MetaRef];
+                Type t;
+                if (metaRefTypes.TryGetValue(referred.MetaBase.MetaRef, out t) == false)
+                {
+                    // backwards compat dictates that this exception must be KeyNotFoundException
+                    throw new System.Collections.Generic.KeyNotFoundException(String.Format("Tried to retrieve Referred.{0}, but the referred object is \"{1}\", which does not inherit from \"{0}\"", kind, referred.MetaBase.Name));
+                }
                 result = Activator.CreateInstance(t) as ISIS.GME.Common.Interfaces.FCO;
                 (result as ISIS.GME.Common.Classes.FCO).Impl = referred as IMgaObject;
                 return result;

Modified: trunk/Tests/GPyUnit/DsmlGeneratorTest/DsmlGeneratorTest.csproj
==============================================================================
--- trunk/Tests/GPyUnit/DsmlGeneratorTest/DsmlGeneratorTest.csproj	Mon Mar 13 12:33:49 2017	(r2668)
+++ trunk/Tests/GPyUnit/DsmlGeneratorTest/DsmlGeneratorTest.csproj	Tue May  2 18:02:46 2017	(r2669)
@@ -60,15 +60,15 @@
       <SpecificVersion>False</SpecificVersion>
       <EmbedInteropTypes>False</EmbedInteropTypes>
     </Reference>
-    <Reference Include="ISIS.GME.Common, Version=1.0.5.0, Culture=neutral, PublicKeyToken=1321e6b92842fe54, processorArchitecture=MSIL">
+    <Reference Include="ISIS.GME.Common, Version=1.0.6.0, Culture=neutral, PublicKeyToken=1321e6b92842fe54, processorArchitecture=MSIL">
       <SpecificVersion>False</SpecificVersion>
-      <HintPath>packages\GME.DSMLGenerator.Runtime.1.0.15.1\lib\net40\ISIS.GME.Common.dll</HintPath>
+      <HintPath>packages\GME.DSMLGenerator.Runtime.1.0.16.1\lib\net40\ISIS.GME.Common.dll</HintPath>
     </Reference>
     <Reference Include="ISIS.GME.Dsml.BidirConnection">
       <HintPath>..\ISIS.GME.Dsml.BidirConnection.dll</HintPath>
     </Reference>
     <Reference Include="MgaMeta, Version=1.0.1.0, Culture=neutral, PublicKeyToken=1321e6b92842fe54, processorArchitecture=MSIL">
-      <HintPath>packages\GME.DSMLGenerator.Runtime.1.0.15.1\lib\net40\MgaMeta.dll</HintPath>
+      <HintPath>packages\GME.DSMLGenerator.Runtime.1.0.16.1\lib\net40\MgaMeta.dll</HintPath>
     </Reference>
     <Reference Include="System" />
     <Reference Include="System.Core" />

Modified: trunk/Tests/GPyUnit/DsmlGeneratorTest/packages.config
==============================================================================
--- trunk/Tests/GPyUnit/DsmlGeneratorTest/packages.config	Mon Mar 13 12:33:49 2017	(r2668)
+++ trunk/Tests/GPyUnit/DsmlGeneratorTest/packages.config	Tue May  2 18:02:46 2017	(r2669)
@@ -1,5 +1,5 @@
 <?xml version="1.0" encoding="utf-8"?>
 <packages>
-  <package id="GME.DSMLGenerator.Runtime" version="1.0.15.1" targetFramework="net40-Client" />
+  <package id="GME.DSMLGenerator.Runtime" version="1.0.16.1" targetFramework="net40-Client" />
   <package id="GME.PIAs" version="1.0.1.0" targetFramework="net40-Client" />
 </packages>
\ No newline at end of file


More information about the gme-commit mailing list