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]

Reply via email to