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]