Author: husted Date: Fri Jul 15 06:09:01 2005 New Revision: 219194 URL: http://svn.apache.org/viewcvs?rev=219194&view=rev Log: OVR-20 * Add ClearContext command.
Added: struts/sandbox/trunk/overdrive/Nexus/Core/Validators/ClearContext.cs Modified: struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj struts/sandbox/trunk/overdrive/Nexus/Test/Test.csproj struts/sandbox/trunk/overdrive/Nexus/Web/Web.csproj Modified: struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj?rev=219194&r1=219193&r2=219194&view=diff ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj (original) +++ struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj Fri Jul 15 06:09:01 2005 @@ -34,7 +34,7 @@ FileAlignment = "4096" IncrementalBuild = "false" NoStdLib = "false" - NoWarn = "" + NoWarn = "1591" Optimize = "false" OutputPath = "bin\Debug\" RegisterForComInterop = "false" @@ -215,6 +215,11 @@ /> <File RelPath = "Tables\IFieldTable.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "Validators\ClearContext.cs" SubType = "Code" BuildAction = "Compile" /> Added: struts/sandbox/trunk/overdrive/Nexus/Core/Validators/ClearContext.cs URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/Validators/ClearContext.cs?rev=219194&view=auto ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Core/Validators/ClearContext.cs (added) +++ struts/sandbox/trunk/overdrive/Nexus/Core/Validators/ClearContext.cs Fri Jul 15 06:09:01 2005 @@ -0,0 +1,35 @@ +using System.Collections; + +namespace Nexus.Core.Validators +{ + /// <summary> + /// Clear from the Context any keys present in the Criteria, + /// so that, if the context is re-used, values from a prior request do not linger. + /// </summary> + /// <remarks><p> + /// Once the values are output from the Context to the Criteria, + /// they can be safely removed from the Context. + /// </p><p>This command can be used as part of a post-opt chain to ensure that + /// Context values are not retained if a Context object is used for multiple + /// business requests. + /// </p></remarks> + public class ClearContext : RequestCommand + { + + /// <summary> + /// Clear from the Context any keys present in the Criteria. + /// </summary> + /// <param name="context">Context after attributes have been output to Criteria</param> + /// <returns>CONTINUE</returns> + public override bool RequestExecute (IRequestContext context) + { + ICollection keys = context.Criteria.Keys; + foreach (string key in keys) + { + context.Remove (key); + } + + return CONTINUE; + } + } +} Modified: struts/sandbox/trunk/overdrive/Nexus/Test/Test.csproj URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Test/Test.csproj?rev=219194&r1=219193&r2=219194&view=diff ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Test/Test.csproj (original) +++ struts/sandbox/trunk/overdrive/Nexus/Test/Test.csproj Fri Jul 15 06:09:01 2005 @@ -34,7 +34,7 @@ FileAlignment = "4096" IncrementalBuild = "false" NoStdLib = "false" - NoWarn = "" + NoWarn = "1591" Optimize = "false" OutputPath = "bin\Debug\" RegisterForComInterop = "false" Modified: struts/sandbox/trunk/overdrive/Nexus/Web/Web.csproj URL: http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Web/Web.csproj?rev=219194&r1=219193&r2=219194&view=diff ============================================================================== --- struts/sandbox/trunk/overdrive/Nexus/Web/Web.csproj (original) +++ struts/sandbox/trunk/overdrive/Nexus/Web/Web.csproj Fri Jul 15 06:09:01 2005 @@ -34,7 +34,7 @@ FileAlignment = "4096" IncrementalBuild = "false" NoStdLib = "false" - NoWarn = "" + NoWarn = "1591" Optimize = "false" OutputPath = "bin\" RegisterForComInterop = "false" --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]