Author: hammett Date: Sat Jun 26 08:27:12 2004 New Revision: 22135 Added: avalon/trunk/central/laboratory/avalon-net/Castle/CastleManagementExtensions/Apache.Avalon.Castle.sln avalon/trunk/central/laboratory/avalon-net/Castle/CastleManagementExtensionsTest/Apache.Avalon.Castle.ManagementExtensions.Test.csproj avalon/trunk/central/site/src/xdocs/central/laboratory/castle/dynamicproxy/index.xml (contents, props changed) avalon/trunk/central/site/src/xdocs/central/laboratory/castle/dynamicproxy/navigation.xml (contents, props changed) avalon/trunk/central/site/src/xdocs/central/laboratory/castle/managedextensions/index.xml (contents, props changed) avalon/trunk/central/site/src/xdocs/central/laboratory/castle/managedextensions/navigation.xml (contents, props changed) avalon/trunk/central/site/src/xdocs/central/laboratory/castle/microkernel/index.xml (contents, props changed) avalon/trunk/central/site/src/xdocs/central/laboratory/castle/microkernel/navigation.xml (contents, props changed) avalon/trunk/central/site/src/xdocs/central/laboratory/castle/navigation.xml (contents, props changed) Modified: avalon/trunk/central/laboratory/avalon-net/DynamicProxy/StandardInvocationHandler.cs avalon/trunk/central/site/src/xdocs/central/laboratory/castle/index.xml avalon/trunk/central/site/src/xdocs/central/laboratory/navigation.xml Log: Few corrections + initial site development.
Added: avalon/trunk/central/laboratory/avalon-net/Castle/CastleManagementExtensions/Apache.Avalon.Castle.sln ============================================================================== --- (empty file) +++ avalon/trunk/central/laboratory/avalon-net/Castle/CastleManagementExtensions/Apache.Avalon.Castle.sln Sat Jun 26 08:27:12 2004 @@ -0,0 +1,29 @@ +Microsoft Visual Studio Solution File, Format Version 8.00 +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Avalon.Castle.ManagementExtensions", "Apache.Avalon.Castle.ManagementExtensions.csproj", "{1FBC7823-D95B-481C-9715-14EE2CEDD13A}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Apache.Avalon.Castle.ManagementExtensions.Test", "..\CastleManagementExtensionsTest\Apache.Avalon.Castle.ManagementExtensions.Test.csproj", "{69375E7E-BDC1-488A-BA0C-12D9EED2D159}" + ProjectSection(ProjectDependencies) = postProject + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfiguration) = preSolution + Debug = Debug + Release = Release + EndGlobalSection + GlobalSection(ProjectConfiguration) = postSolution + {1FBC7823-D95B-481C-9715-14EE2CEDD13A}.Debug.ActiveCfg = Debug|.NET + {1FBC7823-D95B-481C-9715-14EE2CEDD13A}.Debug.Build.0 = Debug|.NET + {1FBC7823-D95B-481C-9715-14EE2CEDD13A}.Release.ActiveCfg = Release|.NET + {1FBC7823-D95B-481C-9715-14EE2CEDD13A}.Release.Build.0 = Release|.NET + {69375E7E-BDC1-488A-BA0C-12D9EED2D159}.Debug.ActiveCfg = Debug|.NET + {69375E7E-BDC1-488A-BA0C-12D9EED2D159}.Debug.Build.0 = Debug|.NET + {69375E7E-BDC1-488A-BA0C-12D9EED2D159}.Release.ActiveCfg = Release|.NET + {69375E7E-BDC1-488A-BA0C-12D9EED2D159}.Release.Build.0 = Release|.NET + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + EndGlobalSection + GlobalSection(ExtensibilityAddIns) = postSolution + EndGlobalSection +EndGlobal Added: avalon/trunk/central/laboratory/avalon-net/Castle/CastleManagementExtensionsTest/Apache.Avalon.Castle.ManagementExtensions.Test.csproj ============================================================================== --- (empty file) +++ avalon/trunk/central/laboratory/avalon-net/Castle/CastleManagementExtensionsTest/Apache.Avalon.Castle.ManagementExtensions.Test.csproj Sat Jun 26 08:27:12 2004 @@ -0,0 +1,180 @@ +<VisualStudioProject> + <CSHARP + ProjectType = "Local" + ProductVersion = "7.10.3077" + SchemaVersion = "2.0" + ProjectGuid = "{69375E7E-BDC1-488A-BA0C-12D9EED2D159}" + > + <Build> + <Settings + ApplicationIcon = "" + AssemblyKeyContainerName = "" + AssemblyName = "Apache.Avalon.Castle.ManagementExtensions.Test" + AssemblyOriginatorKeyFile = "" + DefaultClientScript = "JScript" + DefaultHTMLPageLayout = "Grid" + DefaultTargetSchema = "IE50" + DelaySign = "false" + OutputType = "Library" + PreBuildEvent = "" + PostBuildEvent = "" + RootNamespace = "Apache.Avalon.Castle.ManagementExtensions.Test" + 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\" + 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 = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.dll" + /> + <Reference + Name = "System.Data" + AssemblyName = "System.Data" + HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.Data.dll" + /> + <Reference + Name = "System.XML" + AssemblyName = "System.Xml" + HintPath = "C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322\System.XML.dll" + /> + <Reference + Name = "Apache.Avalon.Castle.ManagementExtensions" + Project = "{1FBC7823-D95B-481C-9715-14EE2CEDD13A}" + Package = "{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}" + /> + <Reference + Name = "nunit.framework" + AssemblyName = "nunit.framework" + HintPath = "..\..\..\..\..\..\..\..\..\dotnet\NUnit2\bin\nunit.framework.dll" + /> + </References> + </Build> + <Files> + <Include> + <File + RelPath = "AssemblyInfo.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "CodeGenerationInvokerStrategyTestCase.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "DomainTestCase.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "InterfacedComponentTestCase.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "ManagedInstanceTestCase.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "ManagedObjectNameTestCase.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "MDefaultRegistryTestCase.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "MDefaultServerTestCase.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "MServerFactoryTestCase.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "ReflectionStrategyTestCase.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "RemoteTestCase.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "Components\DummyHttpServer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "Components\DummyLifecycledService.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "Components\DummyService.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "Components\DummySmtpServer.cs" + SubType = "Code" + BuildAction = "Compile" + /> + <File + RelPath = "Components\ISomeService.cs" + SubType = "Code" + BuildAction = "Compile" + /> + </Include> + </Files> + </CSHARP> +</VisualStudioProject> + Modified: avalon/trunk/central/laboratory/avalon-net/DynamicProxy/StandardInvocationHandler.cs ============================================================================== --- avalon/trunk/central/laboratory/avalon-net/DynamicProxy/StandardInvocationHandler.cs (original) +++ avalon/trunk/central/laboratory/avalon-net/DynamicProxy/StandardInvocationHandler.cs Sat Jun 26 08:27:12 2004 @@ -17,7 +17,8 @@ using System; /// <summary> - /// Summary description for StandardInvocationHandler. + /// Provides a standard implementation of <see cref="IInvocationHandler"/>. + /// Methods PreInvoke, PostInvoke can be overrided to customize its behavior. /// </summary> public class StandardInvocationHandler : IInvocationHandler { Added: avalon/trunk/central/site/src/xdocs/central/laboratory/castle/dynamicproxy/index.xml ============================================================================== --- (empty file) +++ avalon/trunk/central/site/src/xdocs/central/laboratory/castle/dynamicproxy/index.xml Sat Jun 26 08:27:12 2004 @@ -0,0 +1,146 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Copyright 2004 Apache Software Foundation + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. + + See the License for the specific language governing permissions and + limitations under the License. +--> + +<document> + <properties> + <author email="[EMAIL PROTECTED]">Avalon Team</author> + <title>Avalon Castle - DynamicProxy</title> + </properties> + + <body> + + <section name="The project"> + <p> + The DynamicProxy project was created to overcome the CLR's proxy (in)capabilities. + There are proxies in the CLR world, but they can be considered a bit + intrusive as it forces one to extend MarshalByRefObject or ContextBoundObject. + </p> + <p> + You can use DynamicProxy to generate proxies on the fly for one or more interfaces + (supporting concrete classes is on the plans as well) + </p> + </section> + + <section name="Source code"> + <p> + The lastest version of source can be obtained from + <a href="https://svn.apache.org/repos/asf/avalon/trunk/central/laboratory/avalon-net/DynamicProxy">Avalon Subversion repository</a>. + </p> + </section> + + <section name="Usage"> + <p> + The DynamicProxy relies on Reflection.Emit to generate new classes that implements + the specified interfaces and delegates to your implementation of IInvocationHandler. + The usage is very simple. You only need to invoke ProxyGenerator.CreateProxy + specifying the interfaces that will be behind the proxy and your implementation of + IInvocationHandler: + </p> +<source> +using Apache.Avalon.DynamicProxy; + +public interface IMyInterface +{ + String Name + { + get; + set; + } + + void DoSomething(int x, int y); +} + +public class YourProxyInvocationHandler : IInvocationHandler +{ + public object Invoke(object proxy, MethodInfo method, params object[] arguments) + { + // do something before + + object returnVal = method.Invoke( realInstance, arguments ); + + // do something after... + + return returnVal; + } +} + +object proxy = ProxyGenerator.CreateProxy( + typeof(IMyInterface), + new YourProxyInvocationHandler( new MyInterfaceImpl() ) ); + +// proxy can be safely casted to IMyInterface + +IMyInterface inter = proxy as IMyInterface; + +</source> + <p> + You can also overrides the implementation of StandardInvocationHandler. + </p> +<source> +public class YourProxyInvocationHandler : StandardInvocationHandler +{ + protected override void PreInvoke(object proxy, + MethodInfo method, params object[] arguments) + { + } + + protected override void PostInvoke(object proxy, + MethodInfo method, ref object returnValue, params object[] arguments) + { + } +} +</source> + + <subsection name="Useful links"> + <p> + If you'd like to learn more about proxies in .Net and other similar solutions + to generate proxies on the fly, please follow these links: + </p> + <ul> + <li> + <a href="http://opensource.atlassian.com/confluence/spring/display/NET/Dynamic+Proxy?showComments=true">Dynamic Proxies in .NET</a>: + Discussions and explanation about the possibilities of proxies. + </li> + <li> + <a href="http://jroller.com/comments/hammett?anchor=java_like_proxies_in_net">Java like proxies in .Net</a>: + Explanation of the problems which leaded to development of Avalon DynamicProxy. + </li> + </ul> + </subsection> + + <subsection name="Thanks to"> + <ul> + <li> + Stefan Zobel - for his suggestion of using ldtoken + </li> + <li> + <a href="http://www.springframework.net/">SpringFramework.Net</a> + guys - for their interest and willingness to help + </li> + <li> + <a href="http://aspectsharp.sourceforge.net/">AspectSharp project</a> + - for sticking with it + </li> + </ul> + </subsection> + + </section> + + </body> +</document> \ No newline at end of file Added: avalon/trunk/central/site/src/xdocs/central/laboratory/castle/dynamicproxy/navigation.xml ============================================================================== --- (empty file) +++ avalon/trunk/central/site/src/xdocs/central/laboratory/castle/dynamicproxy/navigation.xml Sat Jun 26 08:27:12 2004 @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Copyright 2004 Apache Software Foundation + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. + + See the License for the specific language governing permissions and + limitations under the License. +--> + +<project> + + <title>Avalon Castle Container</title> + + <body> + <menu> + </menu> + </body> + +</project> Modified: avalon/trunk/central/site/src/xdocs/central/laboratory/castle/index.xml ============================================================================== --- avalon/trunk/central/site/src/xdocs/central/laboratory/castle/index.xml (original) +++ avalon/trunk/central/site/src/xdocs/central/laboratory/castle/index.xml Sat Jun 26 08:27:12 2004 @@ -1,4 +1,22 @@ <?xml version="1.0" encoding="UTF-8"?> + +<!-- + Copyright 2004 Apache Software Foundation + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. + + See the License for the specific language governing permissions and + limitations under the License. +--> + <document> <properties> <author email="[EMAIL PROTECTED]">Avalon Team</author> @@ -28,9 +46,9 @@ <section name="DynamicProxy"> <p> - To overcome some limitations of CLR we had to develop some other tools used - by Avalon Castle. DynamicProxy is a simple implementation that immitates the - Java proxies through Invocation handlers. + To overcome some limitations of CLR we had to develop common tools used + by Avalon Castle. DynamicProxy is a simple implementation that act as the + Java proxies - through Invocation handlers. </p> </section> Added: avalon/trunk/central/site/src/xdocs/central/laboratory/castle/managedextensions/index.xml ============================================================================== --- (empty file) +++ avalon/trunk/central/site/src/xdocs/central/laboratory/castle/managedextensions/index.xml Sat Jun 26 08:27:12 2004 @@ -0,0 +1,150 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Copyright 2004 Apache Software Foundation + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. + + See the License for the specific language governing permissions and + limitations under the License. +--> + +<document> + <properties> + <author email="[EMAIL PROTECTED]">Avalon Team</author> + <title>Avalon Castle - Managed Extensions</title> + </properties> + + <body> + + <section name="The project"> + <p> + ManagedExtensions is an attempt to give application's management capabilities. + Its relation to Castle Container is yet to be developed. + </p> + <p> + + </p> + </section> + + <section name="Source code"> + <p> + The lastest version of source can be obtained from + <a href="https://svn.apache.org/repos/asf/avalon/trunk/central/laboratory/avalon-net/Castle/CastleManagementExtensions">Avalon Subversion repository</a> + (Test cases can be found <a href="https://svn.apache.org/repos/asf/avalon/trunk/central/laboratory/avalon-net/Castle/CastleManagementExtensionsTest">here</a>). + </p> + </section> + + <section name="Usage"> + <p> + + </p> +<source> +using Apache.Avalon.Castle.ManagementExtensions; + +<b>[ManagedComponent]</b> +public class DummyHttpServer +{ + protected bool started = false; + + public DummyHttpServer() + { + } + + [ManagedAttribute] + public bool Started + { + get + { + return started; + } + set + { + started = value; + } + } + + [ManagedOperation] + public void Start() + { + Started = true; + } + + [ManagedOperation] + public void StartAt(int time) + { + } + + [ManagedOperation] + public void Stop() + { + Started = false; + } +} + + +</source> + <p> + Lifecycle: + </p> +<source> +[ManagedComponent] +public class DummyLifecycledService : MRegistrationListener +{ + public DummyLifecycledService() + { + } + + [ManagedOperation] + public void Start() + { + } + + [ManagedOperation] + public void Stop() + { + } + + public void BeforeRegister(MServer server, ManagedObjectName name) + { + } + + public void AfterDeregister() + { + } + + public void AfterRegister() + { + } + + public void BeforeDeregister() + { + } +} +</source> + + <subsection name="Useful links"> + <p> + If you'd like to learn more about Managed Extensions, please refer to: + </p> + <ul> + <li> + <a href="http://jroller.com/comments/hammett?anchor=management_extensions_for_net"> + Management Extensions for .Net</a>: + Full explanation of what driven the development of Castle Managed Extensions. + </li> + </ul> + </subsection> + + </section> + + </body> +</document> \ No newline at end of file Added: avalon/trunk/central/site/src/xdocs/central/laboratory/castle/managedextensions/navigation.xml ============================================================================== --- (empty file) +++ avalon/trunk/central/site/src/xdocs/central/laboratory/castle/managedextensions/navigation.xml Sat Jun 26 08:27:12 2004 @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Copyright 2004 Apache Software Foundation + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. + + See the License for the specific language governing permissions and + limitations under the License. +--> + +<project> + + <title>Avalon Castle Container</title> + + <body> + <menu> + </menu> + </body> + +</project> Added: avalon/trunk/central/site/src/xdocs/central/laboratory/castle/microkernel/index.xml ============================================================================== --- (empty file) +++ avalon/trunk/central/site/src/xdocs/central/laboratory/castle/microkernel/index.xml Sat Jun 26 08:27:12 2004 @@ -0,0 +1,62 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Copyright 2004 Apache Software Foundation + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. + + See the License for the specific language governing permissions and + limitations under the License. +--> + +<document> + <properties> + <author email="[EMAIL PROTECTED]">Avalon Team</author> + <title>Avalon Castle - DynamicProxy</title> + </properties> + + <body> + + <section name="A container for CLI"> + <p>Avalon Castle is a lightweight + container for the CLI (.Net and Mono) world. Although it can be viewed as + a port of Avalon, it benefits from several features offered by the + CLR.</p> + + <p>Other important difference of Castle container is its simplicity. + Based on Microkernel pattern, the user can easily modify, extend or + adapt it to match his requirements. No hard contracts, no obligations. + Just good and old Inversion of Control and stills Avalon.</p> + </section> + + <section name="More references"> + <p> + There are plenty of documents, articles and blog entries about .Net and proxies, + its benefits, its cons and its differences when compared to java implementation. + </p> + <subsection name="Useful links"> + <ul> + <li> + <a href="../../cop/index.html">Developing With Avalon</a>: + An excellent white paper on the Avalon framework. + Recommended reading! + </li> + <li> + <a href="../../cop/index.html">An Introduction to COP</a>: + An introduction to Component Oriented Programming and the + core Avalon Framework. + </li> + </ul> + </subsection> + </section> + + </body> +</document> \ No newline at end of file Added: avalon/trunk/central/site/src/xdocs/central/laboratory/castle/microkernel/navigation.xml ============================================================================== --- (empty file) +++ avalon/trunk/central/site/src/xdocs/central/laboratory/castle/microkernel/navigation.xml Sat Jun 26 08:27:12 2004 @@ -0,0 +1,29 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Copyright 2004 Apache Software Foundation + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. + + See the License for the specific language governing permissions and + limitations under the License. +--> + +<project> + + <title>Avalon Castle Container</title> + + <body> + <menu> + </menu> + </body> + +</project> Added: avalon/trunk/central/site/src/xdocs/central/laboratory/castle/navigation.xml ============================================================================== --- (empty file) +++ avalon/trunk/central/site/src/xdocs/central/laboratory/castle/navigation.xml Sat Jun 26 08:27:12 2004 @@ -0,0 +1,32 @@ +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Copyright 2004 Apache Software Foundation + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. + + See the License for the specific language governing permissions and + limitations under the License. +--> + +<project> + + <title>Avalon Castle Container</title> + + <body> + <menu> + <item name="Microkernel" href="microkernel/index.html"/> + <item name="Managed Extensions" href="managedextensions/index.html"/> + <item name="DynamicProxy" href="dynamicproxy/index.html"/> + </menu> + </body> + +</project> Modified: avalon/trunk/central/site/src/xdocs/central/laboratory/navigation.xml ============================================================================== --- avalon/trunk/central/site/src/xdocs/central/laboratory/navigation.xml (original) +++ avalon/trunk/central/site/src/xdocs/central/laboratory/navigation.xml Sat Jun 26 08:27:12 2004 @@ -1,31 +1,32 @@ -<?xml version="1.0" encoding="UTF-8"?> - -<!-- - Copyright 2004 Apache Software Foundation - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or - implied. - - See the License for the specific language governing permissions and - limitations under the License. ---> - -<project> - - <title>Apache Avalon Central</title> - - <body> - <menu> - <item name="Studio" href="studio/index.html"/> +<?xml version="1.0" encoding="UTF-8"?> + +<!-- + Copyright 2004 Apache Software Foundation + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied. + + See the License for the specific language governing permissions and + limitations under the License. +--> + +<project> + + <title>Apache Avalon Central</title> + + <body> + <menu> + <item name="Studio" href="studio/index.html"/> + <item name="Castle Container" href="castle/index.html"/> <item name="Discovery" href="discovery/index.html"/> - </menu> - </body> - -</project> + </menu> + </body> + +</project> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]