Author: husted Date: Fri Jun 24 06:20:16 2005 New Revision: 201614 URL: http://svn.apache.org/viewcvs?rev=201614&view=rev Log: OVR-17 * Add IEntryList and EntryListProcessor.
Added: struts/sandbox/trunk/overdrive/Nexus/Core/IEntryList.cs struts/sandbox/trunk/overdrive/Nexus/Core/Validators/EntryListProcessor.cs Modified: struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj struts/sandbox/trunk/overdrive/Nexus/Core/Tables/FieldTable.cs struts/sandbox/trunk/overdrive/Nexus/Web/BaseGridPage.aspx.cs struts/sandbox/trunk/overdrive/Nexus/Web/GridViewHelper.cs Modified: struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj?rev=201614&r1=201613&r2=201614&view=diff ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj (original) +++ struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj Fri Jun 24 06:20:16 2005 @@ -84,6 +84,16 @@ AssemblyName = "Agility.Core" HintPath = "..\..\Agility\Core\bin\Debug\Agility.Core.dll" /> + <Reference + Name = "System.Drawing" + AssemblyName = "System.Drawing" + HintPath = "..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Drawing.dll" + /> + <Reference + Name = "System.Windows.Forms" + AssemblyName = "System.Windows.Forms" + HintPath = "..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Windows.Forms.dll" + /> </References> </Build> <Files> @@ -94,7 +104,7 @@ BuildAction = "Compile" /> <File - RelPath = "IContextList.cs" + RelPath = "IEntryList.cs" SubType = "Code" BuildAction = "Compile" /> @@ -200,6 +210,11 @@ /> <File RelPath = "Validators\DateTimeProcessor.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "Validators\EntryListProcessor.cs" SubType = "Code" BuildAction = "Compile" /> Added: struts/sandbox/trunk/overdrive/Nexus/Core/IEntryList.cs URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/IEntryList.cs?rev=201614&view=auto ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Core/IEntryList.cs (added) +++ struts/sandbox/trunk/overdrive/Nexus/Core/IEntryList.cs Fri Jun 24 06:20:16 2005 @@ -0,0 +1,22 @@ +using System.Collections; + +namespace Nexus.Core +{ + /// <summary> + /// A list of a set of Fields, such as displayed as the result of a query. + /// </summary> + public interface IEntryList : IList + { + /// <summary> + /// Create and Insert a new entry object at index 0. + /// </summary> + object Insert (string key); + + /// <summary> + /// Add a entry object based on an IDictionary. + /// </summary> + /// <param name="row"></param> + void AddEntry(IDictionary row); + + } +} Modified: struts/sandbox/trunk/overdrive/Nexus/Core/Tables/FieldTable.cs URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/Tables/FieldTable.cs?rev=201614&r1=201613&r2=201614&view=diff ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Core/Tables/FieldTable.cs (original) +++ struts/sandbox/trunk/overdrive/Nexus/Core/Tables/FieldTable.cs Fri Jun 24 06:20:16 2005 @@ -37,7 +37,7 @@ set { if (value == null) - throw new ArgumentNullException ("value is null or wrong type", "Nexus.Core.Tables.FieldTable.AddFieldContext"); + throw new ArgumentNullException ("(value==null) || (Type!=IFieldContext)", "Nexus.Core.Tables.FieldTable.AddFieldContext"); Field [value.ID] = value; } } @@ -47,7 +47,7 @@ set { if (value == null) - throw new ArgumentNullException ("value is null or wrong type", "Nexus.Core.Tables.FieldTable.AddFieldContexts"); + throw new ArgumentNullException ("(value==null) || (Type!=IFieldContext)", "Nexus.Core.Tables.FieldTable.AddFieldContexts"); IEnumerator elements = value.GetEnumerator (); while (elements.MoveNext ()) AddFieldContext = elements.Current as IFieldContext; } @@ -55,10 +55,11 @@ public virtual IFieldContext GetFieldContext (string id) { + if (id==null) throw new ArgumentNullException ("id==null", "Nexus.Core.Tables.FieldTable.GetFieldContext"); IFieldContext fieldContext = Field [id] as IFieldContext; bool problem = ((fieldContext == null) && (Strict)); if (problem) - throw new ArgumentNullException ("Nexus.Core.Tables.FieldTable", "GetFieldContext"); + throw new ArgumentNullException (id, "Nexus.Core.Tables.FieldTable.GetFieldContext"); return fieldContext; } @@ -71,7 +72,7 @@ set { if (value == null) - throw new ArgumentNullException ("value", "Nexus.Core.Tables.FieldTable.AddProcessor"); + throw new ArgumentNullException ("value==null", "Nexus.Core.Tables.FieldTable.AddProcessor"); Processor [value.ID] = value; } } @@ -81,7 +82,7 @@ set { if (value == null) - throw new ArgumentNullException ("value", "Nexus.Core.Tables.FieldTable.AddProcessors"); + throw new ArgumentNullException ("value==null", "Nexus.Core.Tables.FieldTable.AddProcessors"); IEnumerator elements = value.GetEnumerator (); while (elements.MoveNext ()) AddProcessor = elements.Current as IProcessor; } @@ -89,6 +90,8 @@ public virtual IProcessor GetProcessor (string id) { + if (id == null) + throw new ArgumentNullException ("id==null", "Nexus.Core.Tables.FieldTable.GetProcessor"); IProcessor processor = Processor [id] as IProcessor; if (processor == null) throw new ArgumentNullException (id, "Nexus.Core.Tables.FieldTable.GetProcessor"); Added: struts/sandbox/trunk/overdrive/Nexus/Core/Validators/EntryListProcessor.cs URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/Validators/EntryListProcessor.cs?rev=201614&view=auto ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Core/Validators/EntryListProcessor.cs (added) +++ struts/sandbox/trunk/overdrive/Nexus/Core/Validators/EntryListProcessor.cs Fri Jun 24 06:20:16 2005 @@ -0,0 +1,51 @@ +using System.Collections; +using Agility.Nexus.Validators; +using Nexus.Core; + +namespace Nexus.Core.Validators +{ + /// <summary> + /// Transform IDictionary entries into formatted entries on a IEntryList instances. + /// </summary> + /// <remarks><p> + /// To implement, override NewEntryList to provide an instances of the desired type. + /// This will usually be an IEntryList that creates the entry objects used by your application. + /// The entry objects can be conventional property objects, + /// or objects that expose properties backed by an IDictionary, as you prefer. + /// </p></remarks> + /// + public abstract class EntryListProcessor : Processor + { + + public override bool ConvertInput (IProcessorContext incoming) + { + incoming.Target = incoming.Source; + return true; + } + + public override bool FormatOutput (IProcessorContext outgoing) + { + ProcessorCommand formatter = new FormatOutput (); + IList source = outgoing.Source as IList; + + IEntryList target = NewEntryList(); + + foreach (IDictionary row in source) + { + IRequestContext context = new RequestContext (row); + context.FieldTable = outgoing.FieldTable; + ICollection keys = row.Keys; + foreach (string key in keys) + { + IProcessorContext _context = new ProcessorContext (key, context); + formatter.ExecuteProcess (_context); + } + target.AddEntry (context.Criteria); + } + outgoing.Target = target; + return true; + } + + public abstract IEntryList NewEntryList(); + } +} \ No newline at end of file Modified: struts/sandbox/trunk/overdrive/Nexus/Web/BaseGridPage.aspx.cs URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Web/BaseGridPage.aspx.cs?rev=201614&r1=201613&r2=201614&view=diff ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Web/BaseGridPage.aspx.cs (original) +++ struts/sandbox/trunk/overdrive/Nexus/Web/BaseGridPage.aspx.cs Fri Jun 24 06:20:16 2005 @@ -30,9 +30,6 @@ #region Page Properties - protected Panel pnlError; - protected Label lblError; - private IViewHelper _Page_Error; /// <summary> /// Set is called when an error occurs; override to provide functionality. @@ -53,7 +50,6 @@ get {return _Page_Prompt;} } #endregion - #region Messages Modified: struts/sandbox/trunk/overdrive/Nexus/Web/GridViewHelper.cs URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Web/GridViewHelper.cs?rev=201614&r1=201613&r2=201614&view=diff ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Web/GridViewHelper.cs (original) +++ struts/sandbox/trunk/overdrive/Nexus/Web/GridViewHelper.cs Fri Jun 24 06:20:16 2005 @@ -211,12 +211,12 @@ grid.DataSource = list; } - public abstract IContextList NewContextList (); + public abstract IEntryList NewEntryList (); public virtual bool DataInsert (DataGrid grid) { // Fake a blank row - IContextList list = NewContextList (); + IEntryList list = NewEntryList (); list.Insert (String.Empty); ListHelper.Criteria [ListHelper.Command.ID] = list; grid.DataSource = list; --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]