Author: husted
Date: Mon Jun 27 16:12:53 2005
New Revision: 202093

URL: http://svn.apache.org/viewcvs?rev=202093&view=rev
Log:
OVR-12
OVR-15
* Add alternative FieldContext implements to Extra.Spring that utilizes the 
message source. 
* Conform control names.

Added:
    struts/sandbox/trunk/overdrive/Nexus/Extras/Spring/FieldContext.cs
Modified:
    struts/sandbox/trunk/overdrive/Nexus/Core/Tokens.cs
    struts/sandbox/trunk/overdrive/Nexus/Extras/Extras.csproj
    struts/sandbox/trunk/overdrive/Nexus/Web/BaseGridPage.aspx.cs
    struts/sandbox/trunk/overdrive/Nexus/Web/Messages.resx

Modified: struts/sandbox/trunk/overdrive/Nexus/Core/Tokens.cs
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/Tokens.cs?rev=202093&r1=202092&r2=202093&view=diff
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Core/Tokens.cs (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Core/Tokens.cs Mon Jun 27 16:12:53 2005
@@ -220,13 +220,26 @@
 
                #region Hint IDs
 
-               public const string HINT_EDIT = "Hint_Edit";
+               /// <summary>
+               ///  Token for Edit hint.
+               /// </summary>
+               public const string HINT_EDIT = "hint_edit";
 
-               public const string HINT_SUCCESS_ADD = "Hint_Success_Add";
+               /// <summary>
+               ///  Token for Add Succeess hint.
+               /// </summary>
+               public const string HINT_SUCCESS_ADD = "hint_success_add";
 
-               public const string HINT_SUCCESS_EDIT = "Hint_Success_Edit";
+               /// <summary>
+               ///  Token for Edit Success hint.
+               /// </summary>
+               public const string HINT_SUCCESS_EDIT = "hint_success_edit";
+
+               /// <summary>
+               /// Token for Quit Success hint.
+               /// </summary>
+               public const string HINT_SUCCESS_QUIT = "hint_success_quit";
 
-               public const string HINT_SUCCESS_QUIT = "Hint_Success_Quit";
                #endregion
        }
 }

Modified: struts/sandbox/trunk/overdrive/Nexus/Extras/Extras.csproj
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Extras/Extras.csproj?rev=202093&r1=202092&r2=202093&view=diff
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Extras/Extras.csproj (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Extras/Extras.csproj Mon Jun 27 
16:12:53 2005
@@ -109,6 +109,11 @@
                     BuildAction = "Compile"
                 />
                 <File
+                    RelPath = "Spring\FieldContext.cs"
+                    SubType = "Code"
+                    BuildAction = "Compile"
+                />
+                <File
                     RelPath = "Spring\Objects.cs"
                     SubType = "Code"
                     BuildAction = "Compile"

Added: struts/sandbox/trunk/overdrive/Nexus/Extras/Spring/FieldContext.cs
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Extras/Spring/FieldContext.cs?rev=202093&view=auto
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Extras/Spring/FieldContext.cs (added)
+++ struts/sandbox/trunk/overdrive/Nexus/Extras/Spring/FieldContext.cs Mon Jun 
27 16:12:53 2005
@@ -0,0 +1,139 @@
+using System;
+using Agility.Core;
+using Nexus.Core;
+using Nexus.Core.Tables;
+using Spring.Context;
+
+namespace Nexus.Extras.Spring
+{
+       /// <summary>
+       /// Concrete IFieldContext implementation that uses Spring 
MessageSource to resolve text .
+       /// </summary>
+       /// <remarks><p>
+       /// This implementation *requires* that a Spring MessageSource be 
exposed to each the FieldContext member. 
+       /// The simplest way to do that is by using a base FieldContext in the 
Spring configuration file. 
+       /// The MessageSource property can be set once in the base and 
inherited by the others. 
+       /// </p><p>
+       /// In this implementation, the text properties -- Alert, Hint, Help, 
and Label -- are read-only 
+       /// and cannot be accessed with a MessageSource property. 
+       /// When the property is read, 
+       /// the method loods for a message resource that shares the same  ID as 
the FieldContext,
+       /// but with a "_property" suffix (_alert, _hint, _help, _label). 
+       /// So, if the FieldContext ID is LastName, then reading its Alert will 
look for a message 
+       /// resource named "LastName_alert". 
+       /// If the resource is not found, 
+       /// then the FieldContext ID (e.g. "LastName") is quietly returned 
instead. 
+       /// </p></remarks>
+       [Serializable]
+       public class FieldContext : Context, IFieldContext
+       {
+               public FieldContext () : base ()
+               {
+                       ControlTypeName = Tokens.CONTROL_INPUT; // Default
+               }
+
+               public string ControlTypeName
+               {
+                       get { return this [Tokens.ControlTypeName] as string; }
+                       set { this [Tokens.ControlTypeName] = value; }
+               }
+
+               public string DataFormat
+               {
+                       get { return this [Tokens.DataFormat] as string; }
+                       set { this [Tokens.DataFormat] = value; }
+               }
+
+               public string ID
+               {
+                       get { return this [Tokens.ID] as string; }
+                       set { this [Tokens.ID] = value; }
+               }
+               public string ProcessorID
+               {
+                       get { return this [Tokens.DataTypeID] as string; }
+                       set { this [Tokens.DataTypeID] = value; }
+               }
+
+               #region text properties
+
+               private IMessageSource _MessageSource;
+               /// <summary>
+               /// Identify the message source for this FieldContext.
+               /// </summary>
+               /// <exception cref="System.InvalidOperationException">
+               /// If the context has not been initialized yet.
+               /// </exception>
+               public IMessageSource MessageSource
+               {
+                       get{ return _MessageSource; }
+                       set{ _MessageSource = value; }
+               }
+
+               /// <summary>
+               /// Resolve the message.
+               /// </summary>
+               /// <param name="name">The name of the resource to get.</param>
+               /// <returns>
+               /// The resolved message if the lookup was successful. 
Otherwise, it either throws
+               /// an exception or returns the resource name, depending on the 
implementation.
+               /// </returns>
+               private string GetMessage(string name)
+               {
+                       return MessageSource.GetMessage(name);
+               }
+
+               /// <summary>
+               /// Resolve the message or return null.
+               /// </summary>
+               /// <param name="name">The name of the resource to get.</param>
+               /// <param name="defaultValue">The value to return on 
error.</param>
+               /// <returns>A resolved message or the defaultValue if the 
message could not be located for any reason.</returns>
+               private string GetMessageOrDefault(string name, string 
defaultValue)
+               {
+                       string _name = null;
+                       try
+                       {
+                               _name = GetMessage(name);
+                       }
+                       catch (Exception e)
+                       {
+                               e = e; // silly assignment
+                               _name = defaultValue;
+                       }
+                       return _name;
+               }
+
+               private string GetText(string root, string suffix)
+               {
+                       return GetMessageOrDefault(root + suffix, root);
+               }
+
+               public string Alert
+               {
+                       get { return GetText(this.ID,"_alert"); }
+                       set { throw new NotSupportedException(); }
+               }
+
+               public string Hint
+               {
+                       get { return GetText(this.ID,"_hint"); }
+                       set { throw new NotSupportedException(); }
+               }
+
+               public string Help
+               {
+                       get { return GetText(this.ID,"_help"); }
+                       set { throw new NotSupportedException(); }
+               }
+
+               public string Label
+               {
+                       get { return GetText(this.ID,"_label"); }
+                       set { throw new NotSupportedException(); }
+               }
+
+               #endregion
+
+       }
+}
\ 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=202093&r1=202092&r2=202093&view=diff
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Web/BaseGridPage.aspx.cs (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Web/BaseGridPage.aspx.cs Mon Jun 27 
16:12:53 2005
@@ -19,10 +19,10 @@
        /// GridViewHelper is abstract, and you need to implement your own 
NewEntryList method. 
        /// </p><p>
        /// The ASPX page needs to provide 
-       /// * pnlError
-       /// * pnlList
-       /// * repList
-       /// * cmdAddList
+       /// * error_panel
+       /// * list_panel
+       /// * list_report
+       /// * list_add_Command
        /// </p>
        /// <p>
        /// If a Find dialog is provided, the implementing code behind can 
override 
@@ -138,7 +138,7 @@
                        set
                        {
                                ViewState [LIST_ITEM_INDEX] = value;
-                               if (repList != null) repList.EditItemIndex = 
value;
+                               if (list_report != null) 
list_report.EditItemIndex = value;
                        }
                }
 
@@ -175,7 +175,7 @@
                        set
                        {
                                ViewState [LIST_INSERT_KEY] = value;
-                               cmdListAdd.Visible = !value;
+                               list_add_command.Visible = !value;
                        }
                }
 
@@ -226,17 +226,17 @@
                /// <summary>
                /// Group List controls.
                /// </summary>
-               protected Panel pnlList;
+               protected Panel list_panel;
 
                /// <summary>
                /// Render the list as a DataGrid.
                /// </summary>
-               protected DataGrid repList;
+               protected DataGrid list_report;
 
                /// <summary>
                /// Invoke display for adding a new entry.
                /// </summary>
-               protected Button cmdListAdd;
+               protected Button list_add_command;
 
                #endregion
 
@@ -249,16 +249,16 @@
                protected virtual bool List_Load ()
                {
                        IGridViewHelper h = GridHelper;
-                       bool okay = h.Load (repList, List_Criteria);
+                       bool okay = h.Load (list_report, List_Criteria);
                        if (okay)
                        {
                                // 
Template_Load(h.TitleText,h.HeadingText,h.PromptText);
                                // cmdListAdd.Text = msg_ADD_COMMAND;
-                               pnlList.Visible = true;
+                               list_panel.Visible = true;
                        }
                        else
                        {
-                               pnlList.Visible = false;
+                               list_panel.Visible = false;
                                Page_Error = h.ListHelper;
                        }
                        return okay;
@@ -327,7 +327,7 @@
                        bool okay = h.Save (key, controls);
                        if (okay)
                        {
-                               okay = h.List (repList);
+                               okay = h.List (list_report);
                                Page_Prompt = (List_Insert) ? 
GetMessage(Tokens.HINT_SUCCESS_ADD) : GetMessage(Tokens.HINT_SUCCESS_EDIT);
                                List_Insert = false;
                                List_ItemIndex = -1;
@@ -342,8 +342,8 @@
                protected virtual void List_Refresh ()
                {
                        IGridViewHelper h = GridHelper;
-                       h.DataBind (repList);
-                       pnlList.Visible = true;
+                       h.DataBind (list_report);
+                       list_panel.Visible = true;
                }
 
                /// <summary>
@@ -353,13 +353,13 @@
                protected virtual void List_Add_Load ()
                {
                        IGridViewHelper h = GridHelper;
-                       bool okay = h.DataInsert (repList);
+                       bool okay = h.DataInsert (list_report);
                        if (okay)
                        {
                                Page_Prompt = GetMessage(Tokens.HINT_EDIT);
                                List_Insert = true;
                                List_ItemIndex = 0;
-                               pnlList.Visible = true;
+                               list_panel.Visible = true;
                        }
                        else Page_Error = h.ListHelper;
                }
@@ -374,8 +374,8 @@
                /// </p></remarks>
                protected void List_ResetIndex ()
                {
-                       repList.SelectedIndex = 0;
-                       repList.CurrentPageIndex = 0; // sic
+                       list_report.SelectedIndex = 0;
+                       list_report.CurrentPageIndex = 0; // sic
                }
 
                #endregion
@@ -389,14 +389,14 @@
                /// </summary>
                private void List_Init ()
                {
-                       repList.AutoGenerateColumns = false;
-                       repList.EditItemIndex = List_ItemIndex;
-                       repList.CancelCommand += new 
DataGridCommandEventHandler (this.List_Quit);
-                       repList.EditCommand += new DataGridCommandEventHandler 
(this.List_Edit);
-                       repList.UpdateCommand += new 
DataGridCommandEventHandler (this.List_Save);
-                       repList.ItemCommand += new DataGridCommandEventHandler 
(this.List_Item);
-                       repList.PageIndexChanged += new 
DataGridPageChangedEventHandler (this.List_PageIndexChanged);
-                       cmdListAdd.Click += new EventHandler (this.List_Add);
+                       list_report.AutoGenerateColumns = false;
+                       list_report.EditItemIndex = List_ItemIndex;
+                       list_report.CancelCommand += new 
DataGridCommandEventHandler (this.List_Quit);
+                       list_report.EditCommand += new 
DataGridCommandEventHandler (this.List_Edit);
+                       list_report.UpdateCommand += new 
DataGridCommandEventHandler (this.List_Save);
+                       list_report.ItemCommand += new 
DataGridCommandEventHandler (this.List_Item);
+                       list_report.PageIndexChanged += new 
DataGridPageChangedEventHandler (this.List_PageIndexChanged);
+                       list_add_command.Click += new EventHandler 
(this.List_Add);
                }
 
                // postback events
@@ -419,8 +419,8 @@
                protected void List_Save (object source, 
DataGridCommandEventArgs e)
                {
                        IGridViewHelper h = GridHelper;
-                       string key = (List_Insert) ? null : h.GetDataKey (e, 
repList);
-                       ICollection controls = h.GetControls (e, repList);
+                       string key = (List_Insert) ? null : h.GetDataKey (e, 
list_report);
+                       ICollection controls = h.GetControls (e, list_report);
                        List_Save (key, controls);
                }
 
@@ -462,7 +462,7 @@
                /// <param name="e"></param>
                protected void List_PageIndexChanged (object sender, 
DataGridPageChangedEventArgs e)
                {
-                       repList.CurrentPageIndex = e.NewPageIndex;
+                       list_report.CurrentPageIndex = e.NewPageIndex;
                        List_Refresh ();
                }
 
@@ -485,7 +485,7 @@
 
                        if (!IsPostBack)
                        {
-                               pnlList.Visible = false;                        
        
+                               list_panel.Visible = false;                     
        
                        }
                }
 
@@ -503,7 +503,7 @@
                                Find_Load ();
                        }
 
-                       if (pnlList.Visible)
+                       if (list_panel.Visible)
                                List_Load ();
                }
 
@@ -514,7 +514,7 @@
                /// <param name="e">Event</param>
                protected virtual void Page_PreRender(object sender, EventArgs 
e)
                {
-                       cmdListAdd.Text = GetMessage("cmdListAdd.Text");
+                       list_add_command.Text = GetMessage(list_add_command.ID);
                }
 
                #endregion

Modified: struts/sandbox/trunk/overdrive/Nexus/Web/Messages.resx
URL: 
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Web/Messages.resx?rev=202093&r1=202092&r2=202093&view=diff
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Web/Messages.resx (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Web/Messages.resx Mon Jun 27 16:12:53 
2005
@@ -40,24 +40,24 @@
                <value>System.Resources.ResXResourceWriter, 
System.Windows.Forms, Version=1.0.5000.0, Culture=neutral, 
PublicKeyToken=b77a5c561934e089</value>
        </resheader>
        
-  <data name="Hint_Edit">
+  <data name="hint_edit">
        <value>Edit entry, press SAVE. </value>
   </data>
   
-  <data name="Hint_Success_Add">
+  <data name="hint_success_add">
     <value>Item added. </value>
   </data>
        
-  <data name="Hint_Success_Edit">
+  <data name="hint_success_edit">
     <value>Changes saved. </value>
   </data>
   
-  <data name="Hint_Success_Quit">
+  <data name="hint_success_quit">
        <value>Change cancelled.  </value>
   </data>
        
-  <data name="cmdListAdd.Text">
+  <data name="list_add_command">
     <value>ADD ITEM</value>
   </data>
-       
+       
 </root>



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to