You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by hu...@apache.org on 2005/06/24 15:20:19 UTC
svn commit: r201614 - in /struts/sandbox/trunk/overdrive/Nexus:
Core/Core.csproj Core/IEntryList.cs Core/Tables/FieldTable.cs
Core/Validators/EntryListProcessor.cs Web/BaseGridPage.aspx.cs
Web/GridViewHelper.cs
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: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org