Author: husted
Date: Thu Apr 7 16:17:28 2005
New Revision: 160493
URL: http://svn.apache.org/viewcvs?view=rev&rev=160493
Log:
OVR-7
OVR-8
OVR-9
* Implement members sufficient to compile and run (but not pass) initial unit
tests.
Added:
struts/sandbox/trunk/overdrive/Nexus/Core/IRequestCommand.cs
struts/sandbox/trunk/overdrive/Nexus/Core/RequestCommand.cs
struts/sandbox/trunk/overdrive/Nexus/Core/Tokens.cs
struts/sandbox/trunk/overdrive/Nexus/Extras/
struts/sandbox/trunk/overdrive/Nexus/Extras/Extras.csproj
struts/sandbox/trunk/overdrive/Nexus/Extras/Spring/
struts/sandbox/trunk/overdrive/Nexus/Extras/Spring/Controller.cs
struts/sandbox/trunk/overdrive/Nexus/Extras/Spring/Objects.cs
struts/sandbox/trunk/overdrive/Nexus/Test/Commands/
struts/sandbox/trunk/overdrive/Nexus/Test/Commands/ListAll.cs
struts/sandbox/trunk/overdrive/Nexus/Test/Resources/
struts/sandbox/trunk/overdrive/Nexus/Test/Resources/Command/
struts/sandbox/trunk/overdrive/Nexus/Test/Resources/Command/Catalog.xml
Modified:
struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj
struts/sandbox/trunk/overdrive/Nexus/Core/IController.cs
struts/sandbox/trunk/overdrive/Nexus/Core/IRequestContext.cs
struts/sandbox/trunk/overdrive/Nexus/Core/RequestContext.cs
struts/sandbox/trunk/overdrive/Nexus/Nexus.sln
struts/sandbox/trunk/overdrive/Nexus/Test/BaseNexusTest.cs
struts/sandbox/trunk/overdrive/Nexus/Test/RequestContextTest.cs
struts/sandbox/trunk/overdrive/Nexus/Test/Test.csproj
Modified: struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj?view=diff&r1=160492&r2=160493
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Core/Core.csproj Thu Apr 7 16:17:28
2005
@@ -99,12 +99,27 @@
BuildAction = "Compile"
/>
<File
+ RelPath = "IRequestCommand.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
RelPath = "IRequestContext.cs"
SubType = "Code"
BuildAction = "Compile"
/>
<File
+ RelPath = "RequestCommand.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
RelPath = "RequestContext.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "Tokens.cs"
SubType = "Code"
BuildAction = "Compile"
/>
Modified: struts/sandbox/trunk/overdrive/Nexus/Core/IController.cs
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/IController.cs?view=diff&r1=160492&r2=160493
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Core/IController.cs (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Core/IController.cs Thu Apr 7
16:17:28 2005
@@ -1,9 +1,13 @@
namespace Nexus.Core
{
/// <summary>
- /// The IController interacts with the caller,
- /// controlling and managing the processing of a request.
+ /// Interact with the caller, controlling and managing
+ /// the processing of a request [OVR-8].
/// </summary>
+ /// <remarks><p>
+ /// The caller should only need to know the name of a Command
+ /// to be able to acquire the appropriate Context, and then execute the
request.
+ /// </p></remarks>
public interface IController
{
/// <summary>
Added: struts/sandbox/trunk/overdrive/Nexus/Core/IRequestCommand.cs
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/IRequestCommand.cs?view=auto&rev=160493
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Core/IRequestCommand.cs (added)
+++ struts/sandbox/trunk/overdrive/Nexus/Core/IRequestCommand.cs Thu Apr 7
16:17:28 2005
@@ -0,0 +1,33 @@
+using Agility.Core;
+
+namespace Nexus.Core
+{
+ /// <summary>
+ /// Use an IRequestContext to process a Command [OVR-9]
+ /// </summary>
+ /// <remarks>
+ /// <p>
+ /// Rather than have each command cast its context to an
IRequestContext,
+ /// provide a IRequestCommand with an alternative signature.
+ /// </p>
+ /// </remarks>
+ public interface IRequestCommand : ICommand
+ {
+
+ /// <summary>
+ /// Factory method to provide an empty context that can be used
with the Command instance.
+ /// </summary>
+ /// <returns>Context instance with Command ID set.</returns>
+ IRequestContext NewContext ();
+
+ /// <summary>
+ /// Operations to perform with HelperContext.
+ /// </summary>
+ /// <remarks><p>
+ /// Expected to be called from Execute as a casting convenience.
+ /// </p></remarks>
+ /// <param name="context">Context to process.</param>
+ bool RequestExecute (IRequestContext context);
+
+ }
+}
Modified: struts/sandbox/trunk/overdrive/Nexus/Core/IRequestContext.cs
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/IRequestContext.cs?view=diff&r1=160492&r2=160493
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Core/IRequestContext.cs (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Core/IRequestContext.cs Thu Apr 7
16:17:28 2005
@@ -17,11 +17,21 @@
{
/// <summary>
- /// Return true if this context contains all of the given keys,.
+ /// Identifier for the top-level Command (or Chain) processing
this Context.
/// </summary>
- /// <returns>True if this context contains all of the given
keys.</returns>
- bool ContainsKeys (string[] keys);
-
+ /// <remarks>
+ /// Corresponds to ID of INexusCommand for the initial Command
or Chain.
+ /// </remarks>
+ string Command { get; set; }
+
+ /// <summary>
+ /// Instance of the top-level Command (or Chain) processing
this Context.
+ /// </summary>
+ /// <remarks>
+ /// Corresponds to ID of INexusCommand for the initial Command
or Chain.
+ /// </remarks>
+ IRequestCommand CommandBin { get; set; }
+
/// <summary>
/// Return true if an Outcome object is present.
/// </summary>
Added: struts/sandbox/trunk/overdrive/Nexus/Core/RequestCommand.cs
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/RequestCommand.cs?view=auto&rev=160493
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Core/RequestCommand.cs (added)
+++ struts/sandbox/trunk/overdrive/Nexus/Core/RequestCommand.cs Thu Apr 7
16:17:28 2005
@@ -0,0 +1,46 @@
+using Agility.Core;
+
+namespace Nexus.Core
+{
+ /// <summary>
+ /// Concrete IRequestCommand implementation.
+ /// </summary>
+ public class RequestCommand : IRequestCommand
+ {
+
+ /// <summary>
+ /// Return STOP if a Command is part of a Chain.
+ /// </summary>
+ public const bool STOP = true;
+
+ /// <summary>
+ /// Return CONTINUE if another Command can run.
+ /// </summary>
+ public const bool CONTINUE = false;
+
+ private string _ID = null;
+ public virtual string ID
+ {
+ get { return _ID; }
+ set { _ID = value; }
+ }
+
+ public virtual IRequestContext NewContext ()
+ {
+ // Return a new instance on each call.
+ return new RequestContext (ID);
+ }
+
+ public virtual bool RequestExecute(IRequestContext context)
+ {
+ // TODO: Add RequestCommand.NexusExecute implementation
+ return STOP;
+ }
+
+ public virtual bool Execute (IContext context)
+ {
+ IRequestContext nexus = context as IRequestContext;
+ return RequestExecute (nexus);
+ }
+ }
+}
Modified: struts/sandbox/trunk/overdrive/Nexus/Core/RequestContext.cs
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/RequestContext.cs?view=diff&r1=160492&r2=160493
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Core/RequestContext.cs (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Core/RequestContext.cs Thu Apr 7
16:17:28 2005
@@ -4,16 +4,39 @@
namespace Nexus.Core
{
/// <summary>
- /// Summary description for RequestContext.
+ /// Concrete IRequestContext implementation.
/// </summary>
public class RequestContext : Context, IRequestContext
{
- public bool ContainsKeys(string[] keys)
+ /// <summary>
+ /// Convenience constructor to set Command on instantiation.
+ /// </summary>
+ /// <param name="command">Name of Command processing this
Context.</param>
+ public RequestContext (string command)
{
- // TODO: Add RequestContext.ContainsKeys implementation
- return false;
+ Command = command;
}
+
+ /// <summary>
+ /// Default, no argument constructor.
+ /// </summary>
+ public RequestContext ()
+ {
+ }
+
+ public string Command
+ {
+ get { return this [Tokens.COMMAND] as string; }
+ set { this [Tokens.COMMAND] = value; }
+ }
+
+ public IRequestCommand CommandBin
+ {
+ get { return this [Tokens.COMMAND_BIN] as
IRequestCommand; }
+ set { this [Tokens.COMMAND_BIN] = value; }
+ }
+
public bool HasOutcome
{
Added: struts/sandbox/trunk/overdrive/Nexus/Core/Tokens.cs
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Core/Tokens.cs?view=auto&rev=160493
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Core/Tokens.cs (added)
+++ struts/sandbox/trunk/overdrive/Nexus/Core/Tokens.cs Thu Apr 7 16:17:28 2005
@@ -0,0 +1,24 @@
+namespace Nexus.Core
+{
+ /// <summary>
+ /// Tokens representing context keys.
+ /// </summary>
+ public class Tokens
+ {
+ private Tokens()
+ {
+ // No need to construct static helper class
+ }
+
+ /// <summary>
+ /// Token for Command property.
+ /// </summary>
+ public const string COMMAND = "__COMMAND";
+
+ /// <summary>
+ /// Token for CommandBin property.
+ /// </summary>
+ public const string COMMAND_BIN = "__COMMAND_BIN";
+
+ }
+}
Added: struts/sandbox/trunk/overdrive/Nexus/Extras/Extras.csproj
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Extras/Extras.csproj?view=auto&rev=160493
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Extras/Extras.csproj (added)
+++ struts/sandbox/trunk/overdrive/Nexus/Extras/Extras.csproj Thu Apr 7
16:17:28 2005
@@ -0,0 +1,120 @@
+<VisualStudioProject>
+ <CSHARP
+ ProjectType = "Local"
+ ProductVersion = "7.10.3077"
+ SchemaVersion = "2.0"
+ ProjectGuid = "{7931CACD-0E73-4DD2-A373-FF6A01CE6186}"
+ >
+ <Build>
+ <Settings
+ ApplicationIcon = ""
+ AssemblyKeyContainerName = ""
+ AssemblyName = "Nexus.Extras"
+ AssemblyOriginatorKeyFile = ""
+ DefaultClientScript = "JScript"
+ DefaultHTMLPageLayout = "Grid"
+ DefaultTargetSchema = "IE50"
+ DelaySign = "false"
+ OutputType = "Library"
+ PreBuildEvent = ""
+ PostBuildEvent = ""
+ RootNamespace = "Nexus.Extras"
+ RunPostBuildEvent = "OnBuildSuccess"
+ StartupObject = ""
+ >
+ <Config
+ Name = "Debug"
+ AllowUnsafeBlocks = "false"
+ BaseAddress = "285212672"
+ CheckForOverflowUnderflow = "false"
+ ConfigurationOverrideFile = ""
+ DefineConstants = "DEBUG;TRACE"
+ DocumentationFile = ""
+ DebugSymbols = "true"
+ FileAlignment = "4096"
+ IncrementalBuild = "false"
+ NoStdLib = "false"
+ NoWarn = ""
+ Optimize = "false"
+ OutputPath = "bin\Debug\"
+ RegisterForComInterop = "false"
+ RemoveIntegerChecks = "false"
+ TreatWarningsAsErrors = "false"
+ WarningLevel = "4"
+ />
+ <Config
+ Name = "Release"
+ AllowUnsafeBlocks = "false"
+ BaseAddress = "285212672"
+ CheckForOverflowUnderflow = "false"
+ ConfigurationOverrideFile = ""
+ DefineConstants = "TRACE"
+ DocumentationFile = ""
+ DebugSymbols = "false"
+ FileAlignment = "4096"
+ IncrementalBuild = "false"
+ NoStdLib = "false"
+ NoWarn = ""
+ Optimize = "true"
+ OutputPath = "bin\Release\"
+ RegisterForComInterop = "false"
+ RemoveIntegerChecks = "false"
+ TreatWarningsAsErrors = "false"
+ WarningLevel = "4"
+ />
+ </Settings>
+ <References>
+ <Reference
+ Name = "System"
+ AssemblyName = "System"
+ HintPath =
"..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll"
+ />
+ <Reference
+ Name = "System.Data"
+ AssemblyName = "System.Data"
+ HintPath =
"..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll"
+ />
+ <Reference
+ Name = "System.XML"
+ AssemblyName = "System.XML"
+ HintPath =
"..\..\..\..\..\..\..\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll"
+ />
+ <Reference
+ Name = "Spring.Core"
+ AssemblyName = "Spring.Core"
+ HintPath = "..\..\SpringNet.bin\Spring.Core.dll"
+ />
+ <Reference
+ Name = "Core"
+ Project = "{7C8CAFD4-1E45-41B4-9963-F51199B12EA7}"
+ Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"
+ />
+ <Reference
+ Name = "Agility.Core"
+ AssemblyName = "Agility.Core"
+ HintPath = "..\..\Agility\Core\bin\Debug\Agility.Core.dll"
+ />
+ </References>
+ </Build>
+ <Files>
+ <Include>
+ <File
+ RelPath = "AssemblyInfo.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "Spring\Controller.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "Spring\Objects.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ </Include>
+ </Files>
+ </CSHARP>
+</VisualStudioProject>
+
Added: struts/sandbox/trunk/overdrive/Nexus/Extras/Spring/Controller.cs
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Extras/Spring/Controller.cs?view=auto&rev=160493
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Extras/Spring/Controller.cs (added)
+++ struts/sandbox/trunk/overdrive/Nexus/Extras/Spring/Controller.cs Thu Apr 7
16:17:28 2005
@@ -0,0 +1,125 @@
+using System;
+using Nexus.Core;
+using Spring.Context;
+
+namespace Agility.Extras.Spring
+{
+ /// <summary>
+ /// Concrete IController implementation using Spring as an IOC
container.
+ /// </summary>
+ public class Controller : IController, IApplicationContextAware
+ {
+ private IApplicationContext _Factory = null;
+
+ public IApplicationContext ApplicationContext
+ {
+ get { return _Factory; }
+ set { _Factory = value; }
+ }
+
+ public Controller ()
+ {
+ }
+
+ public Controller (IApplicationContext value)
+ {
+ ApplicationContext = value;
+ }
+
+ public IApplicationContext Factory ()
+ {
+ return _Factory;
+ }
+
+ public object GetObject (string name)
+ {
+ if (null == name)
+ throw new ArgumentNullException ("name",
"IController.GetObject");
+ return Factory ().GetObject (name);
+ }
+
+ public IRequestCommand GetCommand (string name)
+ {
+ if (null == name)
+ {
+ Exception e = new Exception ("Command name
cannot be null.");
+ throw(e);
+ }
+ object o = GetObject (name);
+ if (o == null)
+ {
+ Exception e = new Exception ("Object is not
found in Factory.");
+ throw(e);
+ }
+ IRequestCommand command = o as IRequestCommand;
+ if (command == null)
+ {
+ Exception e = new Exception ("Command is not a
IRequestCommand or IRequestChain.");
+ throw(e);
+ }
+ return command;
+ }
+
+ /// <summary>
+ /// Token for Command object.
+ /// </summary>
+ private string COMMAND_BIN = Tokens.COMMAND_BIN;
+
+ public IRequestContext GetContext (string name)
+ {
+ IRequestContext context = null;
+ try
+ {
+ IRequestCommand command = GetCommand (name);
+ context = command.NewContext ();
+ context [COMMAND_BIN] = command;
+ }
+ catch (Exception e)
+ {
+ context = new RequestContext ();
+ context.Fault = e;
+ // TODO: Log exception(faults) (Log all errors
in verbose mode?)
+ // TODO: Provide an alternate location on
fault? -- Declarative exception handing
+ }
+ return context;
+ }
+
+ public void Execute (IRequestContext context)
+ {
+ if (null == context)
+ {
+ context = new RequestContext ();
+ // TODO: Add a message about null context
+ }
+
+ IRequestCommand command = context [COMMAND_BIN] as
IRequestCommand;
+
+ if (null == command)
+ {
+ // TODO: Add a message about null command.
+ // (A null context with then have two messages.)
+ }
+ else
+ {
+ try
+ {
+ command.Execute (context);
+ }
+ catch (Exception e)
+ {
+ context.Fault = e;
+ }
+ }
+ // TODO: Log exception(faults) (Log all errors in
verbose mode?)
+ // TODO: Provide an alternate location on fault? --
Declarative exception handing?
+ }
+
+ public IRequestContext ExecuteContext (string command)
+ {
+ IRequestContext context = GetContext (command);
+ Execute (context);
+ return context;
+ }
+
+ }
+}
\ No newline at end of file
Added: struts/sandbox/trunk/overdrive/Nexus/Extras/Spring/Objects.cs
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Extras/Spring/Objects.cs?view=auto&rev=160493
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Extras/Spring/Objects.cs (added)
+++ struts/sandbox/trunk/overdrive/Nexus/Extras/Spring/Objects.cs Thu Apr 7
16:17:28 2005
@@ -0,0 +1,51 @@
+using System;
+using Spring.Context;
+using Spring.Context.Support;
+using Spring.Objects.Factory.Xml;
+
+namespace Agility.Extras.Spring
+{
+ /// <summary>
+ /// A singleton configuration loader for Spring.
+ /// </summary>
+ public class Objects
+ {
+
+ // Controller: Obviously, this should be configurable, like
iBATIS.
+
+ private static string[] files = {
+ "/Resources/Command/Catalog.xml"
+ };
+
+ private Objects ()
+ {
+ // private constructor prevents instantiation.
+ }
+
+ private static string _rootDirectory =
+ AppDomain.CurrentDomain.BaseDirectory.Replace (@"\bin",
"").Replace (@"\Debug", "").Replace (@"\Release", "");
+
+ private static volatile IApplicationContext _Factory = null;
+
+ public static IApplicationContext Factory ()
+ {
+ if (_Factory == null)
+ {
+ lock (typeof (XmlObjectFactory))
+ {
+ int i = 0;
+ string[] foo = new string[files.Length];
+ foreach (string f in files)
+ {
+ foo [i] = "file://" +
_rootDirectory + f;
+ i++;
+ }
+ if (_Factory == null) // double-check
+ _Factory = new
XmlApplicationContext (foo);
+ }
+ }
+ return _Factory;
+ }
+
+ }
+}
\ No newline at end of file
Modified: struts/sandbox/trunk/overdrive/Nexus/Nexus.sln
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Nexus.sln?view=diff&r1=160492&r2=160493
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Nexus.sln (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Nexus.sln Thu Apr 7 16:17:28 2005
@@ -8,6 +8,10 @@
{7C8CAFD4-1E45-41B4-9963-F51199B12EA7} =
{7C8CAFD4-1E45-41B4-9963-F51199B12EA7}
EndProjectSection
EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Extras",
"Extras\Extras.csproj", "{7931CACD-0E73-4DD2-A373-FF6A01CE6186}"
+ ProjectSection(ProjectDependencies) = postProject
+ EndProjectSection
+EndProject
Global
GlobalSection(SolutionConfiguration) = preSolution
Debug = Debug
@@ -22,6 +26,10 @@
{C533FFAA-CB2B-40CD-B3C2-77394E4D9222}.Debug.Build.0 =
Debug|.NET
{C533FFAA-CB2B-40CD-B3C2-77394E4D9222}.Release.ActiveCfg =
Release|.NET
{C533FFAA-CB2B-40CD-B3C2-77394E4D9222}.Release.Build.0 =
Release|.NET
+ {7931CACD-0E73-4DD2-A373-FF6A01CE6186}.Debug.ActiveCfg =
Debug|.NET
+ {7931CACD-0E73-4DD2-A373-FF6A01CE6186}.Debug.Build.0 =
Debug|.NET
+ {7931CACD-0E73-4DD2-A373-FF6A01CE6186}.Release.ActiveCfg =
Release|.NET
+ {7931CACD-0E73-4DD2-A373-FF6A01CE6186}.Release.Build.0 =
Release|.NET
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
EndGlobalSection
Modified: struts/sandbox/trunk/overdrive/Nexus/Test/BaseNexusTest.cs
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Test/BaseNexusTest.cs?view=diff&r1=160492&r2=160493
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Test/BaseNexusTest.cs (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Test/BaseNexusTest.cs Thu Apr 7
16:17:28 2005
@@ -1,4 +1,6 @@
+using Agility.Extras.Spring;
using NUnit.Framework;
+using Spring.Context;
namespace Nexus.Core
{
@@ -8,15 +10,14 @@
[TestFixture]
public class BaseNexusTest
{
-
protected IController controller;
[SetUp]
public virtual void SetUp ()
{
- // TODO: Implement Objects.Facotory [OVR-8]
- // IApplicationContext factory = Objects.Factory ();
- // controller = new Controller (factory);
+ // TODO: Implement Objects.Factory [OVR-8]
+ IApplicationContext factory = Objects.Factory ();
+ controller = new Controller (factory);
}
}
}
Added: struts/sandbox/trunk/overdrive/Nexus/Test/Commands/ListAll.cs
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Test/Commands/ListAll.cs?view=auto&rev=160493
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Test/Commands/ListAll.cs (added)
+++ struts/sandbox/trunk/overdrive/Nexus/Test/Commands/ListAll.cs Thu Apr 7
16:17:28 2005
@@ -0,0 +1,21 @@
+using System.Collections;
+
+namespace Nexus.Core.Commands
+{
+ /// <summary>
+ /// Return a list as the outcome.
+ /// </summary>
+ public class ListAll : RequestCommand
+ {
+
+ public override bool RequestExecute (IRequestContext context)
+ {
+ // IList list = Mapper.Get ().QueryForList (ID,
context);
+ // Fake it:
+ IList list = new ArrayList();
+ list.Add("data");
+ context.Outcome = list;
+ return CONTINUE;
+ }
+ }
+}
\ No newline at end of file
Modified: struts/sandbox/trunk/overdrive/Nexus/Test/RequestContextTest.cs
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Test/RequestContextTest.cs?view=diff&r1=160492&r2=160493
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Test/RequestContextTest.cs (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Test/RequestContextTest.cs Thu Apr 7
16:17:28 2005
@@ -14,7 +14,6 @@
IRequestContext context;
Exception fault;
IList list;
- string[] KEYS = {"KEY1","KEY2"};
/// <summary>
/// Initialize private fields.
@@ -25,7 +24,6 @@
context = new RequestContext();
Assert.IsTrue (context.IsNominal,"Expected nominal
state for a new IRequestContext.");
Assert.IsFalse(context.HasOutcome,"Expected no Outcome
for a new IRequestContext.");
- Assert.IsFalse(context.ContainsKeys(KEYS),"Expected no
custom keys for a new IRequestContext.");
fault = new ApplicationException("RequestContextTest");
list = new ArrayList();
@@ -74,16 +72,5 @@
Assert.IsTrue (context.HasOutcome);
}
- /// <summary>
- /// If the context contains keys specified in an array,
ContextKeys returns true.
- /// </summary>
- public void ContainsKeys()
- {
- foreach (string key in KEYS)
- {
- context[key] = key;
- }
- Assert.IsTrue (context.ContainsKeys (KEYS),"Expected to
find keys added to context.");
- }
}
}
Added: struts/sandbox/trunk/overdrive/Nexus/Test/Resources/Command/Catalog.xml
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Test/Resources/Command/Catalog.xml?view=auto&rev=160493
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Test/Resources/Command/Catalog.xml
(added)
+++ struts/sandbox/trunk/overdrive/Nexus/Test/Resources/Command/Catalog.xml Thu
Apr 7 16:17:28 2005
@@ -0,0 +1,8 @@
+ÃÂÂ<?xml version="1.0" encoding="utf-8" ?>
+<!DOCTYPE objects PUBLIC "-//SPRING//DTD OBJECT//EN"
+ "http://www.springframework.net/dtd/spring-objects.dtd">
+<objects>
+
+ <object id="list_all" type="Nexus.Core.Commands.ListAll"></object>
+
+</objects>
Modified: struts/sandbox/trunk/overdrive/Nexus/Test/Test.csproj
URL:
http://svn.apache.org/viewcvs/struts/sandbox/trunk/overdrive/Nexus/Test/Test.csproj?view=diff&r1=160492&r2=160493
==============================================================================
--- struts/sandbox/trunk/overdrive/Nexus/Test/Test.csproj (original)
+++ struts/sandbox/trunk/overdrive/Nexus/Test/Test.csproj Thu Apr 7 16:17:28
2005
@@ -95,6 +95,16 @@
AssemblyName = "Agility.Core"
HintPath = "..\..\Agility\Core\bin\Debug\Agility.Core.dll"
/>
+ <Reference
+ Name = "Spring.Core"
+ AssemblyName = "Spring.Core"
+ HintPath = "..\..\SpringNet.bin\Spring.Core.dll"
+ />
+ <Reference
+ Name = "Extras"
+ Project = "{7931CACD-0E73-4DD2-A373-FF6A01CE6186}"
+ Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}"
+ />
</References>
</Build>
<Files>
@@ -123,6 +133,15 @@
RelPath = "RequestContextTest.cs"
SubType = "Code"
BuildAction = "Compile"
+ />
+ <File
+ RelPath = "Commands\ListAll.cs"
+ SubType = "Code"
+ BuildAction = "Compile"
+ />
+ <File
+ RelPath = "Resources\Command\Catalog.xml"
+ BuildAction = "Content"
/>
</Include>
</Files>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]