Browse Source

ModulLoader throw if ReportItem not found

reports
Peter Forstmeier 13 years ago
parent
commit
d7d1654b91
  1. 13
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Xml/ModelLoader.cs
  2. 12
      src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Xml/MycroParser.cs

13
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Xml/ModelLoader.cs

@ -20,10 +20,17 @@ namespace ICSharpCode.Reporting.Xml
protected override Type GetTypeByName(string ns, string name) protected override Type GetTypeByName(string ns, string name)
{ {
// var b = typeof(BaseSection).Assembly.GetType("ICSharpCode.Reporting.Items" + "." + name); // var b = typeof(BaseSection).Assembly.GetType("ICSharpCode.Reporting.Items" + "." + name);
var s = typeof(BaseSection).Assembly.GetType(typeof(BaseSection).Namespace + "." + name); // var s = typeof(BaseSection).Assembly.GetType(typeof(BaseSection).Namespace + "." + name);
Console.WriteLine("getTypeByname <{0}>",s.Name); // Console.WriteLine("getTypeByname <{0}>",s.Name);
return typeof(BaseSection).Assembly.GetType(typeof(BaseSection).Namespace + "." + name);
var t = typeof(BaseSection).Assembly.GetType(typeof(BaseSection).Namespace + "." + name);
if (t == null) {
Console.WriteLine();
Console.WriteLine("Can't find Item <{0}>",name);
Console.WriteLine();
}
return t;
} }
} }

12
src/AddIns/Misc/Reporting/ICSharpCode.Reporting/Src/Xml/MycroParser.cs

@ -48,16 +48,18 @@ namespace ICSharpCode.Reporting.Xml
// instantiate the class // instantiate the class
string ns=node.Prefix; string ns=node.Prefix;
string cname=node.LocalName; string cname=node.LocalName;
// Console.WriteLine ("ProcessNode(XmlNode node, object parent) {0}",cname); Console.WriteLine ("ProcessNode(XmlNode node, object parent) {0}",cname);
Type t=GetTypeByName(ns, cname); Type t=GetTypeByName(ns, cname);
if (t == null) { if (t == null) {
Console.WriteLine("\t Not found {0}",t.FullName); Console.WriteLine("\t Not found {0}",cname);
// t = GetTypeByName (ns,"ErrorItem"); // t = GetTypeByName (ns,"ErrorItem");
} }
Trace.Assert(t != null, "Type "+cname+" could not be determined."); // Trace.Assert(t != null, "Type "+cname+" could not be determined.");
// Debug.WriteLine("Looking for " + cname + " and got " + t.FullName); // Debug.WriteLine("Looking for " + cname + " and got " + t.FullName);
Console.WriteLine("Looking for " + cname + " and got " + t.FullName); // Console.WriteLine("Looking for " + cname + " and got " + t.FullName);
try try
{ {
ret=Activator.CreateInstance(t); ret=Activator.CreateInstance(t);
@ -97,6 +99,7 @@ namespace ICSharpCode.Reporting.Xml
return ret; return ret;
} }
protected void ProcessChildProperties(XmlNode node, object parent) protected void ProcessChildProperties(XmlNode node, object parent)
{ {
var t=parent.GetType(); var t=parent.GetType();
@ -106,6 +109,7 @@ namespace ICSharpCode.Reporting.Xml
{ {
if (!(child is XmlElement)) continue; if (!(child is XmlElement)) continue;
string pname=child.LocalName; string pname=child.LocalName;
var pi=t.GetProperty(pname); var pi=t.GetProperty(pname);
if (pi==null) if (pi==null)

Loading…
Cancel
Save