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/28 01:12:55 UTC
svn commit: r202093 - in /struts/sandbox/trunk/overdrive/Nexus:
Core/Tokens.cs Extras/Extras.csproj Extras/Spring/FieldContext.cs
Web/BaseGridPage.aspx.cs Web/Messages.resx
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: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org