Browse Source

ModulLoader throw if ReportItem not found

reports
Peter Forstmeier 12 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 @@ -20,10 +20,17 @@ namespace ICSharpCode.Reporting.Xml
protected override Type GetTypeByName(string ns, string name)
{
// var b = typeof(BaseSection).Assembly.GetType("ICSharpCode.Reporting.Items" + "." + name);
var s = typeof(BaseSection).Assembly.GetType(typeof(BaseSection).Namespace + "." + name);
Console.WriteLine("getTypeByname <{0}>",s.Name);
return typeof(BaseSection).Assembly.GetType(typeof(BaseSection).Namespace + "." + name);
// var s = typeof(BaseSection).Assembly.GetType(typeof(BaseSection).Namespace + "." + name);
// Console.WriteLine("getTypeByname <{0}>",s.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 @@ -48,16 +48,18 @@ namespace ICSharpCode.Reporting.Xml
// instantiate the class
string ns=node.Prefix;
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);
if (t == null) {
Console.WriteLine("\t Not found {0}",t.FullName);
Console.WriteLine("\t Not found {0}",cname);
// 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);
Console.WriteLine("Looking for " + cname + " and got " + t.FullName);
// Console.WriteLine("Looking for " + cname + " and got " + t.FullName);
try
{
ret=Activator.CreateInstance(t);
@ -97,6 +99,7 @@ namespace ICSharpCode.Reporting.Xml @@ -97,6 +99,7 @@ namespace ICSharpCode.Reporting.Xml
return ret;
}
protected void ProcessChildProperties(XmlNode node, object parent)
{
var t=parent.GetType();
@ -106,6 +109,7 @@ namespace ICSharpCode.Reporting.Xml @@ -106,6 +109,7 @@ namespace ICSharpCode.Reporting.Xml
{
if (!(child is XmlElement)) continue;
string pname=child.LocalName;
var pi=t.GetProperty(pname);
if (pi==null)

Loading…
Cancel
Save