You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hivemind.apache.org by hl...@apache.org on 2006/04/16 06:40:45 UTC

svn commit: r394432 - in /jakarta/hivemind/trunk: framework/ framework/src/documentation/content/ framework/src/documentation/content/xdocs/ framework/src/documentation/content/xdocs/ant/ framework/src/documentation/content/xdocs/hivemind/ framework/sr...

Author: hlship
Date: Sat Apr 15 21:40:42 2006
New Revision: 394432

URL: http://svn.apache.org/viewcvs?rev=394432&view=rev
Log:
Reorganize Forrest documentation for easier batch transformation
Create a XSL stylesheet to convert from Forrest to Maven's xdoc format
Convert some of the core framework documentation to Maven xdoc format

Added:
    jakarta/hivemind/trunk/framework/src/documentation/content/links.ent
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/ApplicationDefaults.xml
      - copied unchanged from r394422, jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/ApplicationDefaults.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/BuilderFactory.xml
      - copied unchanged from r394422, jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/BuilderFactory.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/EagerLoad.xml
      - copied unchanged from r394422, jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/EagerLoad.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/FactoryDefaults.xml
      - copied unchanged from r394422, jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/FactoryDefaults.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/LoggingInterceptor.xml
      - copied unchanged from r394422, jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/LoggingInterceptor.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/ObjectProviders.xml
      - copied unchanged from r394422, jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/ObjectProviders.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/ServiceModels.xml
      - copied unchanged from r394422, jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/ServiceModels.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/ShutdownCoordinator.xml
      - copied unchanged from r394422, jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/ShutdownCoordinator.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/SymbolSources.xml
      - copied unchanged from r394422, jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/SymbolSources.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/ThreadLocalStorage.xml
      - copied unchanged from r394422, jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/ThreadLocalStorage.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/ThreadLocale.xml
      - copied unchanged from r394422, jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/ThreadLocale.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/Translators.xml
      - copied unchanged from r394422, jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/Translators.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/ant/
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/ant/ConstructRegistry.xml
      - copied unchanged from r394422, jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/ant/ConstructRegistry.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/ant/ManifestClassPath.xml
      - copied unchanged from r394422, jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/ant/ManifestClassPath.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/index.xml
      - copied unchanged from r394422, jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/index.xml
    jakarta/hivemind/trunk/framework/src/site/
    jakarta/hivemind/trunk/framework/src/site/site.xml
    jakarta/hivemind/trunk/framework/src/site/xdoc/
    jakarta/hivemind/trunk/framework/src/site/xdoc/ApplicationDefaults.xml
    jakarta/hivemind/trunk/framework/src/site/xdoc/BuilderFactory.xml
    jakarta/hivemind/trunk/framework/src/site/xdoc/EagerLoad.xml
    jakarta/hivemind/trunk/framework/src/site/xdoc/FactoryDefaults.xml
    jakarta/hivemind/trunk/framework/src/site/xdoc/LoggingInterceptor.xml
    jakarta/hivemind/trunk/framework/src/site/xdoc/ObjectProviders.xml
    jakarta/hivemind/trunk/framework/src/site/xdoc/ServiceModels.xml
    jakarta/hivemind/trunk/framework/src/site/xdoc/ShutdownCoordinator.xml
    jakarta/hivemind/trunk/framework/src/site/xdoc/SymbolSources.xml
    jakarta/hivemind/trunk/framework/src/site/xdoc/ThreadLocalStorage.xml
    jakarta/hivemind/trunk/framework/src/site/xdoc/ThreadLocale.xml
    jakarta/hivemind/trunk/framework/src/site/xdoc/Translators.xml
    jakarta/hivemind/trunk/framework/src/site/xdoc/index.xml
    jakarta/hivemind/trunk/support/forrest2maven-xdoc.xsl
Removed:
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/ApplicationDefaults.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/BuilderFactory.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/EagerLoad.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/FactoryDefaults.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/LoggingInterceptor.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/ObjectProviders.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/ServiceModels.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/ShutdownCoordinator.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/SymbolSources.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/ThreadLocalStorage.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/ThreadLocale.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/Translators.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/ant/ConstructRegistry.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/ant/ManifestClassPath.xml
    jakarta/hivemind/trunk/framework/src/documentation/content/xdocs/hivemind/index.xml
Modified:
    jakarta/hivemind/trunk/framework/pom.xml

Modified: jakarta/hivemind/trunk/framework/pom.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/pom.xml?rev=394432&r1=394431&r2=394432&view=diff
==============================================================================
--- jakarta/hivemind/trunk/framework/pom.xml (original)
+++ jakarta/hivemind/trunk/framework/pom.xml Sat Apr 15 21:40:42 2006
@@ -110,5 +110,13 @@
                 </executions>
             </plugin>
         </plugins>
-    </build>
+    </build>
+    <reporting>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-project-info-reports-plugin</artifactId>
+            </plugin>
+        </plugins>
+    </reporting>
 </project>

Added: jakarta/hivemind/trunk/framework/src/documentation/content/links.ent
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/documentation/content/links.ent?rev=394432&view=auto
==============================================================================
--- jakarta/hivemind/trunk/framework/src/documentation/content/links.ent (added)
+++ jakarta/hivemind/trunk/framework/src/documentation/content/links.ent Sat Apr 15 21:40:42 2006
@@ -0,0 +1,166 @@
+<!-- 
+   Copyright 2004 The 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.
+-->
+
+<!ENTITY projectroot ''>
+
+<!ENTITY apiroot '&projectroot;hivemind/apidocs/org/apache/hivemind'>
+<!ENTITY apiroot-lib '&projectroot;hivemind-lib/apidocs/org/apache/hivemind/lib'>
+
+<!ENTITY hivedoc '&projectroot;hivedocs'>
+
+<!ENTITY api.ClassFactory '<link href="&apiroot;/service/ClassFactory.html">ClassFactory</link>'>
+<!ENTITY api.ClassResolver '<link href="&apiroot;/ClassResolver.html">ClassResolver</link>'>
+<!ENTITY api.Element '<link href="&apiroot;/Element.html">Element</link>'>
+<!ENTITY api.ErrorHandler '<link href="&apiroot;/ErrorHandler.html">ErrorHandler</link>'>
+<!ENTITY api.ErrorLog '<link href="&apiroot;/ErrorLog.html">ErrorLog</link>'>
+<!ENTITY api.HiveMindTestCase '<link href="&apiroot;/test/HiveMindTestCase.html">HiveMindTestCase</link>'>
+<!ENTITY api.InterceptorStack '<link href="&apiroot;/InterceptorStack.html">InterceptorStack</link>'>
+<!ENTITY api.Messages '<link href="&apiroot;/Messages.html">Messages</link>'>
+<!ENTITY api.Module '<link href="&apiroot;/Module.html">Module</link>'>
+<!ENTITY api.ModuleDescriptorProvider '<link href="&apiroot;/ModuleDescriptorProvider.html">ModuleDescriptorProvider</link>'>
+<!ENTITY api.Registry '<link href="&apiroot;/Registry.html">Registry</link>'>
+<!ENTITY api.RegistryBuilder '<link href="&apiroot;/impl/RegistryBuilder.html">RegistryBuilder</link>'>
+<!ENTITY api.RegistryShutdownListener '<link href="&apiroot;/events/RegistryShutdownListener.html">RegistryShutdownListener</link>'>
+<!ENTITY api.Resource '<link href="&apiroot;/Resource.html">Resource</link>'>
+<!ENTITY api.ServiceImplementationFactory '<link href="&apiroot;/ServiceImplementationFactory.html">ServiceImplementationFactory</link>'>
+<!ENTITY api.ServiceImplementationFactoryParameters '<link href="&apiroot;/ServiceImplementationFactoryParameters.html">ServiceImplementationFactoryParameters</link>'>
+
+<!ENTITY api.ServiceInterceptorFactory '<link href="&apiroot;/ServiceInterceptorFactory.html">ServiceInterceptorFactory</link>'>
+<!ENTITY api.Translator '<link href="&apiroot;/schema/Translator.html">Translator</link>'>
+
+<!ENTITY api.NameLookup '<link href="&apiroot;/lib/NameLookup.html">NameLookup</link>'>
+<!ENTITY api.RemoteExceptionCoordinator '<link href="&apiroot;/lib/RemoteExceptionCoordinator.html">RemoteExceptionCoordinator</link>'>
+<!ENTITY api.RemoteExceptionListener '<link href="&apiroot;/lib/RemoteExceptionListener.html">RemoteExceptionListener</link>'>
+
+
+<!ENTITY api.BeanFactory '<link href="&apiroot-lib;/BeanFactory.html">BeanFactory</link>'>
+<!ENTITY api.GroovyModuleDescriptorProvider '<link href="&apiroot-lib;/groovy/GroovyModuleDescriptorProvider.html">GroovyModuleDescriptorProvider</link>'>
+
+<!ENTITY Spring '<link href="site:spring">Spring</link>'>
+<!ENTITY Ant '<link href="http://ant.apache.org/">Ant</link>'>
+<!ENTITY Groovy '<link href="http://groovy.codehaus.org/">Groovy</link>'>
+
+<!-- Note, these links CAN NOT currently be converted to site:descriptor#foo because Forrest 0.5.1 doesn't
+     understand the use of the '#' as an anchor. -->
+
+<!ENTITY _module '&lt;module&gt;'>
+<!ENTITY module '<link href="&projectroot;descriptor.html#module">&_module;</link>'>
+
+<!ENTITY _implementation '&lt;implementation&gt;'>
+<!ENTITY implementation '<link href="&projectroot;descriptor.html#implementation">&_implementation;</link>'>
+
+<!ENTITY _configuration-point '&lt;configuration-point&gt;'>
+<!ENTITY configuration-point '<link href="&projectroot;descriptor.html#configuration-point">&_configuration-point;</link>'>
+
+<!ENTITY _conversion '&lt;conversion&gt;'>
+<!ENTITY conversion '<link href="&projectroot;descriptor.html#conversion">&_conversion;</link>'>
+
+<!ENTITY _map '&lt;map&gt;'>
+<!ENTITY map '<link href="&projectroot;descriptor.html#map">&_map;</link>'>
+
+<!ENTITY _create-instance '&lt;create-instance&gt;'>
+<!ENTITY create-instance '<link href="&projectroot;descriptor.html#create-instance">&_create-instance;</link>'>
+
+<!ENTITY _invoke-factory '&lt;invoke-factory&gt;'>
+<!ENTITY invoke-factory '<link href="&projectroot;descriptor.html#invoke-factory">&_invoke-factory;</link>'>
+
+<!ENTITY _interceptor '&lt;interceptor&gt;'>
+<!ENTITY interceptor '<link href="&projectroot;descriptor.html#interceptor">&_interceptor;</link>'>
+
+<!ENTITY _contribution '&lt;contribution&gt;'>
+<!ENTITY contribution '<link href="&projectroot;descriptor.html#contribution">&_contribution;</link>'>
+
+<!ENTITY _service-point '&lt;service-point&gt;'>
+<!ENTITY service-point '<link href="&projectroot;descriptor.html#service-point">&_service-point;</link>'>
+
+<!ENTITY _schema '&lt;schema&gt;'>
+<!ENTITY schema '<link href="&projectroot;descriptor.html#schema">&_schema;</link>'>
+
+<!ENTITY _parameters-schema '&lt;parameters-schema&gt;'>
+<!ENTITY parameters-schema '<link href="&projectroot;descriptor.html#parameters-schema">&_parameters-schema;</link>'>
+
+<!ENTITY _element '&lt;element&gt;'>
+<!ENTITY element '<link href="&projectroot;descriptor.html#element">&_element;</link>'>
+
+<!ENTITY _attribute '&lt;attribute&gt;'>
+<!ENTITY attribute '<link href="&projectroot;descriptor.html#attribute">&_attribute;</link>'>
+
+<!ENTITY _rules '&lt;rules&gt;'>
+<!ENTITY rules '<link href="&projectroot;descriptor.html#rules">&_rules;</link>'>
+
+<!ENTITY _sub-module '&lt;sub-module&gt;'>
+<!ENTITY sub-module '<link href="&projectroot;descriptor.html#sub-module">&_sub-module;</link>'>
+
+<!ENTITY _dependency '&lt;dependency&gt;'>
+<!ENTITY dependency '<link href="&projectroot;descriptor.html#dependency">&_dependency;</link>'>
+
+<!-- XML entities for the XML processing rules (documented seperately from the rest). -->
+
+<!ENTITY _create-object '&lt;create-object&gt;'>
+<!ENTITY create-object '<link href="&projectroot;rules.html#create-object">&_create-object;</link>'>
+
+<!ENTITY _invoke-parent '&lt;invoke-parent&gt;'>
+<!ENTITY invoke-parent '<link href="&projectroot;rules.html#invoke-parent">&_invoke-parent;</link>'>
+
+<!ENTITY _read-attribute '&lt;read-attribute&gt;'>
+<!ENTITY read-attribute '<link href="&projectroot;rules.html#read-attribute">&_read-attribute;</link>'>
+
+<!ENTITY _read-content '&lt;read-content&gt;'>
+<!ENTITY read-content '<link href="&projectroot;rules.html#read-content">&_read-content;</link>'>
+
+
+<!ENTITY _set-module '&lt;set-module&gt;'>
+<!ENTITY set-module '<link href="&projectroot;rules.html#set-module">&_set-module;</link>'>
+
+<!ENTITY _set-parent '&lt;set-parent&gt;'>
+<!ENTITY set-parent '<link href="&projectroot;rules.html#set-parent">&_set-parent;</link>'>
+
+<!ENTITY _set-property '&lt;set-property&gt;'>
+<!ENTITY set-property '<link href="&projectroot;rules.html#set-property">&_set-property;</link>'>
+
+<!ENTITY _custom '&lt;custom&gt;'>
+<!ENTITY custom '<link href="&projectroot;rules.html#custom">&_custom;</link>'>
+
+<!ENTITY _push-attribute '&lt;push-attribute&gt;'>
+<!ENTITY push-attribute '<link href="&projectroot;rules.html#push-attribute">&_push-attribute;</link>'>
+
+<!ENTITY _push-content '&lt;push-content&gt;'>
+<!ENTITY push-content '<link href="&projectroot;rules.html#push-content">&_push-content;</link>'>
+
+<!-- Entities for common services and configurations. -->
+
+<!ENTITY object-reference '<link href="site:hivemind.ObjectProviders">object reference</link>'>
+<!ENTITY instance-initializer '<link href="site:instance-initialization">instance initializer</link>'>
+
+<!ENTITY hivemind.ApplicationDefaults '<link href="site:hivemind.ApplicationDefaults">hivemind.ApplicationDefaults</link>'>
+<!ENTITY hivemind.BuilderFactory '<link href="site:hivemind.BuilderFactory">hivemind.BuilderFactory</link>'>
+<!ENTITY hivemind.EagerLoad '<link href="site:hivemind.EagerLoad">hivemind.EagerLoad</link>'>
+<!ENTITY hivemind.FactoryDefaults '<link href="site:hivemind.FactoryDefaults">hivemind.FactoryDefaults</link>'>
+<!ENTITY hivemind.LoggingInterceptor '<link href="site:hivemind.LoggingInterceptor">hivemind.LoggingInterceptor</link>'>
+<!ENTITY hivemind.ObjectProviders '<link href="site:hivemind.ObjectProviders">hivemind.ObjectProviders</link>'>
+<!ENTITY hivemind.ServiceModels 'hivemind.ServiceModels'>
+<!ENTITY hivemind.SymbolSources '<link href="site:hivemind.SymbolSources">hivemind.SymbolSources</link>'>
+<!ENTITY hivemind.ThreadEventNotifier 'hivemind.ThreadEventNotifier'>
+<!ENTITY hivemind.ThreadLocale '<link href="site:hivemind.ThreadLocale">hivemind.ThreadLocale</link>'>
+<!ENTITY hivemind.ThreadLocalStorage '<link href="site:hivemind.ThreadLocalStorage">hivemind.ThreadLocalStorage</link>'>
+<!ENTITY hivemind.Translators '<link href="site:hivemind.Translators">hivemind.Translators</link>'>
+
+<!ENTITY hivemind.lib.EJBProxyFactory '<link href="site:hivemind.lib.EJBProxyFactory">hivemind.lib.EJBProxyFactory</link>'>
+<!ENTITY hivemind.lib.NameLookup '<link href="site:hivemind.lib.NameLookup">hivemind.lib.NameLookup</link>'>
+<!ENTITY hivemind.lib.RemoteExceptionCoordinator '<link href="site:hivemind.lib.RemoteExceptionCoordinator">hivemind.lib.RemoteExceptionCoordinator</link>'>
+<!ENTITY hivemind.lib.ChainBuilder '<link href="site:hivemind.lib.ChainBuilder">hivemind.lib.ChainBuilder</link>'>
+<!ENTITY hivemind.lib.ChainFactory '<link href="site:hivemind.lib.ChainFactory">hivemind.lib.ChainFactory</link>'>
+<!ENTITY hivemind.lib.MethodInterceptorFactory '<link href="site:hivemind.lib.MethodInterceptorFactory">hivemind.lib.MethodInterceptorFactory</link>'>

Added: jakarta/hivemind/trunk/framework/src/site/site.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/site/site.xml?rev=394432&view=auto
==============================================================================
--- jakarta/hivemind/trunk/framework/src/site/site.xml (added)
+++ jakarta/hivemind/trunk/framework/src/site/site.xml Sat Apr 15 21:40:42 2006
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<project name="Maven">
+    <bannerLeft>
+        <name>Jakarta</name>
+        <href>http://jakarta.apache.org/</href>
+    </bannerLeft>
+    <bannerRight>
+        <name>HiveMind Framework</name>
+        <href>http://jakarta.apache.org/hivemind/hivemind/</href>
+    </bannerRight>
+    <body>
+        <links>
+            <item name="Apache" href="http://www.apache.org/"/>
+        </links>
+        <menu name="HiveMind Framework">
+            <item name="Introduction" href="index.html"/>
+            <item name="BuilderFactory" href="BuilderFactory.html"/>
+            <item name="ApplicationDefaults" href="ApplicationDefaults.html"/>
+        </menu> ${reports} </body>
+</project>

Added: jakarta/hivemind/trunk/framework/src/site/xdoc/ApplicationDefaults.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/site/xdoc/ApplicationDefaults.xml?rev=394432&view=auto
==============================================================================
--- jakarta/hivemind/trunk/framework/src/site/xdoc/ApplicationDefaults.xml (added)
+++ jakarta/hivemind/trunk/framework/src/site/xdoc/ApplicationDefaults.xml Sat Apr 15 21:40:42 2006
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The 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>
+      <title>hivemind.ApplicationDefaults Configuration</title>
+   </properties>
+   <body>
+
+
+
+      <p>
+The <a href="../hivedocs/config/hivemind.ApplicationDefaults.html">ApplicationDefaults</a> configuration
+is used to set default values for substitution symbols.
+Application defaults override contributions to 
+<a href="site:hivemind.FactoryDefaults">hivemind.FactoryDefaults</a>.
+The contribution format is the same FactoryDefaults:
+</p>
+
+
+      <source xml:space="preserve">
+  &lt;default symbol="..." value="..."/&gt;</source>
+
+  
+
+    
+  </body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/framework/src/site/xdoc/BuilderFactory.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/site/xdoc/BuilderFactory.xml?rev=394432&view=auto
==============================================================================
--- jakarta/hivemind/trunk/framework/src/site/xdoc/BuilderFactory.xml (added)
+++ jakarta/hivemind/trunk/framework/src/site/xdoc/BuilderFactory.xml Sat Apr 15 21:40:42 2006
@@ -0,0 +1,476 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The 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>
+      <title>hivemind.BuilderFactory Service</title>
+   </properties>
+   <body>
+		
+      <p>The <a href="../hivedocs/service/hivemind.BuilderFactory.html">
+			BuilderFactory</a> service is a service implementation factory ... a
+			service that is used to construct other services.</p>
+		
+      <p>The builder factory takes a single parameter element (usually with nested elements):</p>
+		
+      <source xml:space="preserve">
+&lt;construct
+    class="..." autowire-services="..." log-property="..." messages-property="..."
+    service-id-property="..." initialize-method="..." error-log-property="..."
+    error-handler-property="..." class-resolver-property="..."&gt;
+    
+    &lt;log/&gt;
+    &lt;messages/&gt;
+    &lt;service-id/&gt;
+    &lt;error-handler/&gt;
+    &lt;error-log/&gt;
+    &lt;class-resolver/&gt;
+    &lt;string&gt;  ... &lt;/string&gt;
+    &lt;boolean&gt; ... &lt;/boolean&gt;
+    &lt;configuration&gt; ... &lt;/configuration&gt;
+    &lt;int&gt; ... &lt;/int&gt;
+    &lt;long&gt; ... &lt;/long&gt;
+    &lt;resource&gt; ... &lt;/resource&gt;
+    &lt;service&gt; ... &lt;/service&gt;
+    &lt;object&gt; ... &lt;/object&gt;
+    &lt;null/&gt;
+    
+    &lt;event-listener service-id="..." event-type-name="..."/&gt;
+    &lt;set property="..." value="..."/&gt;
+    &lt;set-configuration property="..." configuration-id="..."/&gt;
+    &lt;set-resource property="..." path="..."/&gt;
+    &lt;set-service property="..." service-id="..."/&gt;
+    &lt;set-object property="..." value="..."/&gt;
+&lt;/construct&gt; </source>
+		<p>The attributes of the <code>construct</code> element are used to specify
+			the implementation class and set common service properties. Nested
+			elements supply the constructor parameters and configure other specific
+			properties of the implementation (the <code>set-...</code> elements).</p>
+      
+      <p><strong>Note:</strong><br/>
+     BuilderFactory is a complex tool, with support for both constructor dependency injection and
+     property dependency injection. Many of the options are rarely used; the most general purpose
+     and most frequently used are <a href="#set">set</a>, <a href="#set-object">set-object</a>
+     and <a href="#event-listener">event-listener</a> (along with
+     <a href="#Autowiring">autowiring</a>).
+      </p>
+      
+		<section name="construct">
+			
+			<table>
+				<tr>
+					<th>Attribute</th>
+					<th>Required ?</th>
+					<th>Description</th>
+				</tr>
+        <tr>
+          <td>autowire-services</td>
+          <td>no</td>
+          <td>If true (the default), then the BuilderFactory will attempt to
+            automatically wire services and some common properties to constructor parameters 
+            and to properties of the constructed implementation with setter methods (see notes below).
+            </td>
+        </tr>
+				<tr>
+					<td>class</td>
+					<td>yes</td>
+					<td>The fully qualified name of the class to instantiate.</td>
+				</tr>
+        <tr><td>class-resolver-property</td>
+          <td>no</td>
+            <td>The property to receive the module's
+          <a href="../hivemind/apidocs/org/apache/hivemind/ClassResolver.html">ClassResolver</a>.</td></tr>
+        <tr><td>error-handler-property</td>
+          <td>no</td>
+          <td> The name of a property to recieve the module's 
+            <a href="../hivemind/apidocs/org/apache/hivemind/ErrorHandler.html">ErrorHandler</a> instance (which is used to report recoverable 
+            errors). </td>
+          </tr>
+        <tr>
+          <td>error-log-property</td>
+          <td>no</td>
+          <td>The name of a property which will be assigned an <a href="../hivemind/apidocs/org/apache/hivemind/ErrorLog.html">ErrorLog</a> instance for the service. An ErrorLog is 
+            simply a wrapper around a Log and an <a href="../hivemind/apidocs/org/apache/hivemind/ErrorHandler.html">ErrorHandler</a> as is the preferred approach.</td>
+        </tr>          
+				<tr>
+					<td>initialize-method</td>
+					<td>no</td>
+					<td>The name of a method (public, no parameters) to invoke after the
+						service is constructed, to allow it to perform any final
+						initializion before being put into use.</td>
+				</tr>
+				<tr>
+					<td>log-property</td>
+					<td>no</td>
+					<td>The name of a property which will be assigned a <code>
+						org.apache.commons.logging.Log</code> instance for the service. The
+						Log is created from the complete service id (not the name of the
+						class). If ommitted (and autowiring is disabled), no Log will be assigned.</td>
+				</tr>
+				<tr>
+					<td>messages-property</td>
+					<td>no</td>
+					<td>Allows the <a href="../hivemind/apidocs/org/apache/hivemind/Messages.html">Messages</a> for the module to be assigned to a
+						property of the instance.</td>
+				</tr>
+				<tr>
+					<td>service-id-property</td>
+					<td>no</td>
+					<td>Allows the service id of the <em>constructed</em> service to be
+						assigned to a property of the service implementation.</td>
+				</tr>
+			</table>
+			<p>The remaining elements are enclosed by the &lt;construct&gt; element,
+				and are used to supply constructor parameters and configure properties
+				of the constructed service implementation.</p>
+		</section>
+    
+    <section name="Autowiring">
+      
+      
+      <p>
+        With <code>autowire-services</code> set to true the BuilderFactory can automatically both perform
+        constructor based and setter based dependency injection.  It will not only attempt to inject 
+        services but also certain common properties.  By using standard names (and standard types), 
+        the need to specify attributes <code>log-property</code>, <code>error-handler-property</code>, 
+        etc. is avoided.  Simply declaring a constructor parameter with the correct type <em>or</em> a 
+        writable property with the correct name <em>and</em> type is sufficient:
+      </p>
+      
+      <table>
+        <tr>
+          <th>Property name</th>
+          <th>Property / parameter type</th>
+        </tr>
+        <tr>
+          <td>classResolver</td>
+          <td><a href="../hivemind/apidocs/org/apache/hivemind/ClassResolver.html">ClassResolver</a></td>
+        </tr>
+        <tr>
+          <td>errorHandler</td>
+          <td><a href="../hivemind/apidocs/org/apache/hivemind/ErrorHandler.html">ErrorHandler</a></td>
+        </tr>
+        <tr>
+          <td>errorLog</td>
+          <td><a href="../hivemind/apidocs/org/apache/hivemind/ErrorLog.html">ErrorLog</a></td>
+        </tr>
+        <tr>
+          <td>log</td>
+          <td>
+            <code>org.apache.commons.logging.Log</code>
+          </td>
+        </tr>
+        <tr>
+          <td>messages</td>
+          <td><a href="../hivemind/apidocs/org/apache/hivemind/Messages.html">Messages</a></td>
+          <td/>
+        </tr>
+        <tr>
+          <td>serviceId</td>
+          <td>String</td>
+        </tr>
+      </table>
+      
+      <p><strong>Note:</strong><br/>
+        The service id (last entry in above table) will <em>only</em> be automatically injected through a writable property
+        (i.e. <code>setServiceId(String)</code>).  This because a constructor parameter of type String
+        is far too common.
+      </p>
+      
+      <p>
+        As noted the BuilderFactory will also inject services into the constructed service implementation. 
+        Through every constructor parameter and writable property whose type is an interface (with the exception 
+        of the common parameters / properties listed above) and hasn't been set otherwise the BuilderFactory will 
+        attempt to inject a service.  This attempt may fail if there is <em>no</em> visible service or <em>more than 
+        one</em> visible service implementing the given interface.  (Visibility is checked with respect to the module 
+        declaring the constructed service's implementation.)
+      </p>
+      
+      <p>
+        The action taken if the service injection fails (due to one of the reasons given above) depends on the type 
+        of dependency injection.  For constructor based dependency injection the BuilderFactory will try using a 
+        different constructor (see selection details below).  If no "working" constructor is found an error 
+        is logged.  For setter based dependency injection the BuilderFactory will log an error immedeately upon failed injection.
+      </p>
+      
+      <p>
+        Constructor based dependency injection is enabled with the <code>autowire-services</code> attribute but can be 
+        overridden by declaring any constructor parameter elements (see next section).  The constructor being used for
+        the constructor based dependency injection has to meet all of the following criteria:
+      </p>
+
+      <ul>
+        <li>the constructor is declared as <code>public</code></li>
+        <li>all parameter types are interfaces (including the common types listed above)</li>
+        <li>no two parameters are of the same type</li>
+      </ul>
+
+      <p>
+        All constructors of the service implementation class meeting these criteria (the default constructor is 
+        considered as one of these) are ordered by length (given by the number of parameters) and the first of these for which 
+        every parameter type either has a matching common property or there is exactly one corresponding visible service 
+        available will be invoked.  If no such constructor can be found an error is logged.
+      </p>
+
+      <p>
+        Autowiring may be  complicated by the fact that one module may define a service point that will tangentially affect the
+        construction of a service in another module (simply by implementing the same service interface).  In this situation, 
+        service autowiring can be turned off, by setting the <code>autowire-services</code> attribute to false.
+      </p>
+      
+      <p>
+       Once all properties have been set (possibly by autowiring), an initializer method will be invoked.  If the 
+       <code>initialize-method</code> attribute is <em>not</em> specified, and the service implementation includes a 
+       public method <code>initializeService()</code> (no parameters, returns void), then <code>initializeService()</code> 
+       will be invoked as the initializer.
+      </p>
+      
+    </section>
+    
+		<section name="Constructor Parameter Elements">
+			
+			<p>The following table summarizes the elements which can be used to
+				specify constructor parameters for the class to instantiate. These
+				elements can be mixed freely with the properties configuring elements.
+				It is important to know that the number, type, and order of the
+				constructor parameter elements determine the constructor that will be
+				used to instantiate the implementation.</p>
+			<table>
+				<tr>
+					<th>Element</th>
+					<th>Matched Parameter Type</th>
+					<th>Passed Parameter Value</th>
+				</tr>
+        <tr>
+          <td>error-handler</td>
+          <td><a href="../hivemind/apidocs/org/apache/hivemind/ErrorHandler.html">ErrorHandler</a></td>
+          <td>The module's ErrorHandler, user to report recoverable errors.</td>
+        </tr>
+        <tr>
+          <td>error-log</td>
+          <td><a href="../hivemind/apidocs/org/apache/hivemind/ErrorLog.html">ErrorLog</a></td>
+          <td>The service's ErrorLog, used to report recoverable errors (this is preferred 
+			over using a Log and an <a href="../hivemind/apidocs/org/apache/hivemind/ErrorHandler.html">ErrorHandler</a>).</td>
+        </tr>        
+				<tr>
+					<td>log</td>
+					<td>org.apache.commons.logging.Log</td>
+					<td>The Log is created from the complete service id (not the name of
+						the class) of the created service.</td>
+				</tr>
+				<tr>
+					<td>messages</td>
+					<td><a href="../hivemind/apidocs/org/apache/hivemind/Messages.html">Messages</a></td>
+					<td>The <a href="../hivemind/apidocs/org/apache/hivemind/Messages.html">Messages</a> object of the invoking module.</td>
+				</tr>
+        <tr>
+          <td>object</td>
+          <td><em>variable</em></td>
+          <td>As determined by the object translator, this is decidedly free-form. See <a href="site:hivemind.ObjectProviders">hivemind.ObjectProviders</a>.</td>
+        </tr>
+        <tr>
+          <td>null</td>
+          <td><em>any reference type</em></td>
+          <td>Always simply <code>null</code>.</td>
+        </tr>
+				<tr>
+					<td>service-id</td>
+					<td>java.lang.String</td>
+					<td>The service id of the <em>constructed</em> service.</td>
+				</tr>
+				<tr>
+					<td>string</td>
+					<td>java.lang.String</td>
+					<td>This element's content.</td>
+				</tr>
+				<tr>
+					<td>boolean</td>
+					<td>boolean</td>
+					<td>This element's content. Must be either "true" or "false".</td>
+				</tr>
+				<tr>
+					<td>configuration</td>
+					<td>java.util.List <em>or</em> java.util.Map</td>
+					<td>The List / Map of the elements of the configuration specified by this
+						element's content as a configuration id. The id can either by a
+						simple id for a configuration within the same module as the
+						constructed service, or a complete id.</td>
+				</tr>
+				<tr>
+					<td>int</td>
+					<td>int</td>
+					<td>This element's content parsed as an integer value.</td>
+				</tr>
+				<tr>
+					<td>long</td>
+					<td>long</td>
+					<td>This element's content parsed as a long value.</td>
+				</tr>
+				<tr>
+					<td>resource</td>
+					<td><a href="../hivemind/apidocs/org/apache/hivemind/Resource.html">Resource</a></td>
+					<td>This element's content parsed as a path to a <a href="../hivemind/apidocs/org/apache/hivemind/Resource.html">Resource</a>, which
+						is relative to the contributing module's deployment descriptor. If
+						available, a localized version of the Resource will be selected.</td>
+				</tr>
+				<tr>
+					<td>service</td>
+					<td>interface corresponding to specified service</td>
+					<td>The implementation of the service with the id given in this
+						element's content. The id can either be a simple id for a service
+						within the same module as the constructed service, or a complete id.</td>
+				</tr>
+			</table>
+		</section>
+		<section name="Service Property Configuring Elements">
+			
+			<subsection name="event-listener">
+				
+				<table>
+					<tr>
+						<th>Attribute</th>
+						<th>Description</th>
+					</tr>
+					<tr>
+						<td>service-id</td>
+						<td>The service which produces events. The service must provide, in
+							its service interface, the necessary add and remove listener
+							methods.</td>
+					</tr>
+					<tr>
+						<td>name</td>
+						<td>The name of an event set to be registered. If not specified, all
+							applicable event sets are used.</td>
+					</tr>
+				</table>
+				<p>If the name attribute is not specified, then BuilderFactory will
+					register for all applicable event sets. For each event set provided by
+					the specified service, BuilderFactory will check to see if the service
+					instance being constructed implements the corresponding listener
+					interface ... if so, the constructed service instance is added as a
+					listener. When the name attribute is specified, the constructed
+					service instance is registered as a listener of just that single type.</p>
+				<p>Event notifications go directly to the constructed service instance;
+					they don't go through any proxies or interceptors for the service. The
+					service <em>instance</em> must implement the listener interface, the
+					constructed service's service interface <em>does not</em> have to
+					extend the listener interface. In other words, event notifications are
+					"behind the scenes", not part of the public API of the service.</p>
+				<p>It is perfectly acceptible to include multiple &lt;event-listener&gt;
+					elements for a number of different event producing services.</p>
+				<p>It is not enough for the event producer service to have an add
+					listener method (i.e., <code>
+					addPropertyChangeListener(PropertyChangeListener)</code>). To be
+					recognized as an event set, there must also be a corresponding remove
+					listener method (i.e., <code>
+					removePropertyChangeListener(PropertyChangeListener)</code>), even
+					though BuilderFactory does not make use of the remove method. This is
+					an offshoot of how the JavaBeans API defines event sets.</p>
+			</subsection>
+			<subsection name="set">
+				
+				<table>
+					<tr>
+						<th>Attribute</th>
+						<th>Description</th>
+					</tr>
+					<tr>
+						<td>property</td>
+						<td>The name of the property to set.</td>
+					</tr>
+					<tr>
+						<td>value</td>
+						<td>A value to assigned to the property. The value will be converted
+							to an appropriate type for the property.</td>
+					</tr>
+				</table>
+			</subsection>
+			<subsection name="set-configuration">
+				
+				<table>
+					<tr>
+						<th>Attribute</th>
+						<th>Description</th>
+					</tr>
+					<tr>
+						<td>property</td>
+						<td>The name of the property to set.</td>
+					</tr>
+					<tr>
+						<td>configuration-id</td>
+						<td>The id of a configuration, either a simple id for a
+							configuration within the same module as the constructed service,
+							or a complete id. The property will be assigned a <code>List</code>
+							or <code>Map</code> of the elements of the configuration.</td>
+					</tr>
+				</table>
+			</subsection>
+      <subsection name="set-object">
+        
+          <table>
+            <tr><th>Attribute</th> <th>Description</th></tr>
+            <tr>
+              <td>property</td>
+              <td>The name of the property to set.</td>
+            </tr>
+            <tr>
+              <td>value</td>
+              <td>The <em>selector</em> used to find an object value.  The selector consists of a prefix (such as 
+                "service" or "configuration"), a colon, and a <em>locator</em> whose interpretation is defined by 
+                the prefix.  For example, <code>service:MyService</code>.  See <a href="site:hivemind.ObjectProviders">hivemind.ObjectProviders</a>.</td>
+            </tr>
+          </table>
+      </subsection>
+			<subsection name="set-resource">
+				
+				<table>
+					<tr>
+						<th>Attribute</th>
+						<th>Description</th>
+					</tr>
+					<tr>
+						<td>property</td>
+						<td>The name of the property to set.</td>
+					</tr>
+					<tr>
+						<td>path</td>
+						<td>The path to a <a href="../hivemind/apidocs/org/apache/hivemind/Resource.html">Resource</a>, relative to the contributing
+							module's deployment descriptor. If available, a localized version
+							of the Resource will be selected.</td>
+					</tr>
+				</table>
+			</subsection>
+			<subsection name="set-service">
+				
+				<table>
+					<tr>
+						<th>Attribute</th>
+						<th>Description</th>
+					</tr>
+					<tr>
+						<td>property</td>
+						<td>The name of the property to set.</td>
+					</tr>
+					<tr>
+						<td>service-id</td>
+						<td>The id of a service, either a simple id for a service within the
+							same module as the constructed service, or a complete id. The
+							property will be assigned the service.</td>
+					</tr>
+				</table>
+			</subsection>
+		</section>
+	</body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/framework/src/site/xdoc/EagerLoad.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/site/xdoc/EagerLoad.xml?rev=394432&view=auto
==============================================================================
--- jakarta/hivemind/trunk/framework/src/site/xdoc/EagerLoad.xml (added)
+++ jakarta/hivemind/trunk/framework/src/site/xdoc/EagerLoad.xml Sat Apr 15 21:40:42 2006
@@ -0,0 +1,40 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The 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>
+      <title>hivemind.EagerLoad Configuration</title>
+   </properties>
+   <body>
+		
+      <p>The <a href="../hivedocs/config/hivemind.EagerLoad.html">EagerLoad</a>
+			configuration allows services to be constructed when the Registry is first
+			initialized. Normally, HiveMind goes to great lengths to ensure that
+			services are only constructed when they are first needed. Eager loading is
+			appropriate during development (to ensure that services are configured
+			properly), and some services that are event driven may need to be
+			instantiated early, so that they may begin receiving event notifications
+			even before their first service method is invoked.</p>
+		
+      <p>Care should be taken when using services with the pooled or threaded
+			service models to invoke cleanup the thread immediately after creating the
+			Registry.</p>
+		
+      <p>Contributions are as follows:</p>
+		
+      <source xml:space="preserve">
+&lt;load service-id="..."/&gt; </source>
+	</body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/framework/src/site/xdoc/FactoryDefaults.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/site/xdoc/FactoryDefaults.xml?rev=394432&view=auto
==============================================================================
--- jakarta/hivemind/trunk/framework/src/site/xdoc/FactoryDefaults.xml (added)
+++ jakarta/hivemind/trunk/framework/src/site/xdoc/FactoryDefaults.xml Sat Apr 15 21:40:42 2006
@@ -0,0 +1,45 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The 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>
+      <title>hivemind.FactoryDefaults Configuration</title>
+   </properties>
+   <body>
+
+
+
+      <p>
+The <a href="../hivedocs/config/hivemind.FactoryDefaults.html">FactoryDefaults</a> configuration
+is used to set default values for substitution symbols. Contributions look like:
+</p>
+
+
+      <source xml:space="preserve">
+&lt;default symbol="..." value="..."/&gt;
+</source>
+
+
+<p>
+Values defined here can be overriden by making a contribution to
+<a href="site:hivemind.ApplicationDefaults">hivemind.ApplicationDefaults</a>.
+</p>
+
+
+    
+
+    
+  </body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/framework/src/site/xdoc/LoggingInterceptor.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/site/xdoc/LoggingInterceptor.xml?rev=394432&view=auto
==============================================================================
--- jakarta/hivemind/trunk/framework/src/site/xdoc/LoggingInterceptor.xml (added)
+++ jakarta/hivemind/trunk/framework/src/site/xdoc/LoggingInterceptor.xml Sat Apr 15 21:40:42 2006
@@ -0,0 +1,77 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The 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>
+      <title>hivemind.LoggingInterceptor Service</title>
+   </properties>
+   <body>
+  	
+
+
+      <p>
+The
+<a href="../hivedocs/service/hivemind.LoggingInterceptor.html">LoggingInterceptor</a>
+service is used to add logging capability to a service, i.e.:
+</p>
+
+
+      <source xml:space="preserve">
+&lt;interceptor service-id="hivemind.LoggingInterceptor"&gt;
+  &lt;include method="..."/&gt;
+  &lt;exclude method="..."/&gt;    
+&lt;/interceptor&gt;</source>	
+
+
+<p>
+The service make take parameters (which control which methods will be logged).	
+</p>
+
+<p>
+The logging interceptor uses a <code>Log</code>	 derived from the service id (of
+the service to which logging is being added).
+</p>
+
+<p>
+The service logs, at debug level, the following events:
+</p>
+
+<ul>
+<li>Method entry (with parameters)</li>	
+<li>Method exit (with return value, if applicable)</li>
+<li>Thrown exceptions (checked and runtime)</li>
+</ul>	
+
+
+<p>
+By default, the interceptor will log all methods. By supplying parameters to the interceptor,
+you can control exactly
+which methods should be logged.  The <code>include</code> and <code>exclude</code> parameter
+elements specify methods to be included (logged) and excluded (not logged).
+The <code>method</code> attribute is a
+<em>method pattern</em>, a string used to match methods based on name, number of parameters, or type
+of parameters; see  the
+<a href="../hivemind/apidocs/org/apache/hivemind/methodmatch/MethodMatcher.html">MethodMatcher</a> class for more details.
+</p>
+
+<p>
+A method which does not match any supplied pattern <em>will</em> be logged.
+</p>
+
+
+
+    
+  </body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/framework/src/site/xdoc/ObjectProviders.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/site/xdoc/ObjectProviders.xml?rev=394432&view=auto
==============================================================================
--- jakarta/hivemind/trunk/framework/src/site/xdoc/ObjectProviders.xml (added)
+++ jakarta/hivemind/trunk/framework/src/site/xdoc/ObjectProviders.xml Sat Apr 15 21:40:42 2006
@@ -0,0 +1,121 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The 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>
+      <title>hivemind.ObjectProviders Configuration</title>
+   </properties>
+   <body>
+		
+      <p>The <a href="../hivedocs/config/hivemind.ObjectProviders.html">ObjectProviders</a>
+			configuration drives the <code>object</code> translator. Contributions
+      define an object <em>provider</em> in terms of a prefix (such as <code>service</code>)
+      and a service that implements the <code>ObjectProvider</code> interface.
+      </p>
+    
+      <p>
+      Object <em>providers</em> exist to support <em>object references</em>.  Object references
+      are a way to contribute objects that may be references to services, or to other objects, or may even be created
+      on the spot.  This is often used with the <a href="site:hivemind.BuilderFactory">hivemind.BuilderFactory</a>'s &lt;set-object&gt; element.
+    </p>
+    
+    
+      <p>
+      An object reference consists of a <em>prefix</em> and a <em>locator</em> seperated by a colon.  The interpretation of
+      the locator is different for each provider.  The prefix determines which provider will be utilized to interpret the
+      locator. 
+    </p>
+    
+		
+      <p>The contribution format defines the name and class for each service
+			model:</p>
+		
+      <source xml:space="preserve">
+&lt;provider prefix="..." service-id="..."/&gt; </source>
+	<p>Prefixes must be unique.</p>
+  
+  <p>
+    The following default prefixes are available:
+  </p>
+  
+  <table>
+    <tr>
+      <th>Prefix</th>
+      <th>Descripton</th>
+      <th>Example</th>
+    </tr>
+    
+    <tr>
+      <td>bean</td>
+      <td>The locator is a <a href="../hivemind-lib/apidocs/org/apache/hivemind/lib/BeanFactory.html">BeanFactory</a> locator, consisting of the id of a BeanFactory service, a colon, 
+        and an optional initializer for the bean.
+        </td>        
+        <td>
+          bean:ValidatorFactory:string,required
+        </td>
+    </tr>
+    
+    <tr>
+      <td>class</td>
+      <td>The locator is a class name. It may be a partial class name, with the package name
+        provided by the contributing module.</td>
+        <td>class:java.util.List</td>
+    </tr>
+    
+    <tr>
+      <td>configuration</td>
+      <td>The locator is the id of a configuration.</td>
+      <td>
+        configuration:MyConfiguration
+      </td>
+    </tr>
+    
+    <tr>
+      <td>instance</td>
+      <td>The locator is a class name, which must have a public no arguments contructor.
+        You may use <a href="site:instance-initialization">instance initializer</a> syntax.</td>
+      <td>
+        instance:com.example.MyObject
+      </td>
+    </tr>
+    
+    <tr>
+      <td>service</td>
+      <td>The locator is the id of a service.</td>
+      <td>service:MyService</td>
+    </tr>
+    
+    <tr>
+      <td>service-property</td>
+      <td>The locator provides a service id and a property name (provided by that service), seperated with a colon.</td>
+      <td>
+        service-property:MyService:activeRequest
+      </td>
+    </tr>
+    
+    <tr>
+      <td>spring</td>
+      <td>The locator is the name of a bean within a Spring BeanFactory.</td>
+      <td>spring:MyBean</td>
+    </tr>
+    
+  </table>
+  
+ <p><strong>Note:</strong><br/>
+ The bean: and spring: prefixes are provided by the HiveMind library (not the base framework).
+ </p>
+  
+  	</body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/framework/src/site/xdoc/ServiceModels.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/site/xdoc/ServiceModels.xml?rev=394432&view=auto
==============================================================================
--- jakarta/hivemind/trunk/framework/src/site/xdoc/ServiceModels.xml (added)
+++ jakarta/hivemind/trunk/framework/src/site/xdoc/ServiceModels.xml Sat Apr 15 21:40:42 2006
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The 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>
+      <title>hivemind.ServiceModels Configuration</title>
+   </properties>
+   <body>
+		
+      <p>The <a href="../hivedocs/config/hivemind.ServiceModels.html">
+			ServiceModels</a> configuration defines the available service models.
+			Service models control the lifecycle of services: when they are created
+			and when they are destroyed (often tied to the current thread's activity).</p>
+		
+      <p>The contribution format defines the name and class for each service
+			model:</p>
+		
+      <source xml:space="preserve">
+&lt;service-model name="..." class="..."/&gt; </source>
+		<p>An instance of the specified class will be instantiated. The class must
+			implement the <a href="../hivemind/apidocs/org/apache/hivemind/internal/ServiceModelFactory.html">
+			ServiceModelFactory</a> interface (which creates an instance of the
+			actual service model for a particular service extension point).</p>
+		<p>Names of service models must be unique; it is not possible to override
+			the built-in service model factories.</p>
+	</body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/framework/src/site/xdoc/ShutdownCoordinator.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/site/xdoc/ShutdownCoordinator.xml?rev=394432&view=auto
==============================================================================
--- jakarta/hivemind/trunk/framework/src/site/xdoc/ShutdownCoordinator.xml (added)
+++ jakarta/hivemind/trunk/framework/src/site/xdoc/ShutdownCoordinator.xml Sat Apr 15 21:40:42 2006
@@ -0,0 +1,27 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The 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>
+      <title>hivemind.ShutdownCoordinator Service</title>
+   </properties>
+   <body>
+		
+      <p>Service implementations that need to perform any special shutdown logic
+			should implement the <a href="../hivemind/apidocs/org/apache/hivemind/events/RegistryShutdownListener.html">RegistryShutdownListener</a> interface, and let the<a href="site:hivemind.BuilderFactory">hivemind.BuilderFactory</a>
+			register them for notifications.</p>
+	
+   </body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/framework/src/site/xdoc/SymbolSources.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/site/xdoc/SymbolSources.xml?rev=394432&view=auto
==============================================================================
--- jakarta/hivemind/trunk/framework/src/site/xdoc/SymbolSources.xml (added)
+++ jakarta/hivemind/trunk/framework/src/site/xdoc/SymbolSources.xml Sat Apr 15 21:40:42 2006
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The 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>
+      <title>hivemind.SymbolSources Configuration</title>
+   </properties>
+   <body>
+		
+      <p>The <a href="../hivedocs/config/hivemind.SymbolSources.html">
+			SymbolSources</a> configuration is used to define new <a href="../hivemind/apidocs/org/apache/hivemind/SymbolSource.html">SymbolSource</a>s (providers of
+			values for substitution symbols).</p>
+		
+      <p>Contributions are of the form:</p>
+		
+      <source xml:space="preserve">
+&lt;source name="..." before="..." after="..." class="..." service-id="..."/&gt;	</source>
+		<p>Sources are ordering based on the <code>name</code>, <code>before</code> 
+			and <code>after</code> elements. <code>before</code> and <code>after</code>
+			may be comma-seperated lists of other sources, may be the simple value 
+			<code>*</code>, or may be omitted.</p>
+		<p>Only one of <code>class</code> and <code>service-id</code> attributes
+			should be specified. The former is the complete name of a class
+			(implementing the SymbolSource interface). The second is used to
+			contribute a service (which must also implement the interface).</p>
+	</body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/framework/src/site/xdoc/ThreadLocalStorage.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/site/xdoc/ThreadLocalStorage.xml?rev=394432&view=auto
==============================================================================
--- jakarta/hivemind/trunk/framework/src/site/xdoc/ThreadLocalStorage.xml (added)
+++ jakarta/hivemind/trunk/framework/src/site/xdoc/ThreadLocalStorage.xml Sat Apr 15 21:40:42 2006
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The 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>
+      <title>hivemind.ThreadLocalStorage Service</title>
+   </properties>
+   <body>
+    
+      <p>The <a href="../hivedocs/service/hivemind.ThreadLocalStorage.html"> ThreadLocalStorage</a> service implements the <a href="../hivemind/apidocs/org/apache/hivemind/service/ThreadLocalStorage.html">ThreadLocalStorage</a> interface. This service acts as a kind of Map for temporary data. The map is local to the current thread, and is cleared at the end of the transaction.</p>
+    
+      <p>It is your responsibility to ensure that keys are unique, typically by prefixing them with a module id or package name.</p>
+    
+      <p>
+         <strong>Warning:</strong>
+         <br/> ThreadLocalStorage is likely to be removed in a future release of HiveMind. It is advised that you use the threaded service model instead. </p>
+  
+   </body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/framework/src/site/xdoc/ThreadLocale.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/site/xdoc/ThreadLocale.xml?rev=394432&view=auto
==============================================================================
--- jakarta/hivemind/trunk/framework/src/site/xdoc/ThreadLocale.xml (added)
+++ jakarta/hivemind/trunk/framework/src/site/xdoc/ThreadLocale.xml Sat Apr 15 21:40:42 2006
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2005 The 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>
+      <title>hivemind.ThreadLocale Service</title>
+   </properties>
+   <body>
+		
+      <p>The <a href="../hivedocs/service/hivemind.ThreadLocale.html">
+			ThreadLocale</a> service implements the <a href="../hivemind/apidocs/org/apache/hivemind/service/ThreadLocale.html">ThreadLocale</a>
+			interface. This service stores the current thread's locale.  You may use
+      this service to read or update the thread's current locale.
+      </p>
+	
+   </body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/framework/src/site/xdoc/Translators.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/site/xdoc/Translators.xml?rev=394432&view=auto
==============================================================================
--- jakarta/hivemind/trunk/framework/src/site/xdoc/Translators.xml (added)
+++ jakarta/hivemind/trunk/framework/src/site/xdoc/Translators.xml Sat Apr 15 21:40:42 2006
@@ -0,0 +1,39 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The 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>
+      <title>hivemind.Translators Configuration</title>
+   </properties>
+   <body>
+		
+      <p>The <a href="../hivedocs/config/hivemind.Translators.html">Translators</a>
+			configuration defines the translators that may be used with XML conversion
+			rules.</p>
+		
+      <p>Contributions are of the form:</p>
+		
+      <source xml:space="preserve">
+&lt;translator name="..." class="..." service-id="..."/&gt; </source>
+		<p>Only one of <code>class</code> and <code>service-id</code> attributes should be 
+			specified. The former is the complete name of a class (implementing the 
+			<a href="../hivemind/apidocs/org/apache/hivemind/schema/Translator.html">Translator</a> interface). It 
+			should have a no-args and/or single String constructor.	The second is used to 
+			contribute a service (which must also implement the interface).</p>
+		<p>Names of translators must be unique; it is not possible to override the
+			existing service model translators. A single translator, <code>class</code>,
+			is hard-coded into HiveMind, the others appear as ordinary contributions.</p>
+	</body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/framework/src/site/xdoc/index.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/site/xdoc/index.xml?rev=394432&view=auto
==============================================================================
--- jakarta/hivemind/trunk/framework/src/site/xdoc/index.xml (added)
+++ jakarta/hivemind/trunk/framework/src/site/xdoc/index.xml Sat Apr 15 21:40:42 2006
@@ -0,0 +1,32 @@
+<?xml version="1.0" encoding="utf-8"?><!-- 
+   Copyright 2004, 2005 The 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>
+      <title>Module: hivemind</title>
+   </properties>
+   <body>
+
+
+      <p>
+The HiveMind framework, and the 
+<a href="../hivedocs/module/hivemind.html">hivemind</a> module,
+provide the essential, core functionality of HiveMind.
+</p>
+
+    
+  
+   </body>
+</document>
\ No newline at end of file

Added: jakarta/hivemind/trunk/support/forrest2maven-xdoc.xsl
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/support/forrest2maven-xdoc.xsl?rev=394432&view=auto
==============================================================================
--- jakarta/hivemind/trunk/support/forrest2maven-xdoc.xsl (added)
+++ jakarta/hivemind/trunk/support/forrest2maven-xdoc.xsl Sat Apr 15 21:40:42 2006
@@ -0,0 +1,90 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+    <xsl:output indent="yes" method="xml"/>
+    <xsl:template match="//document">
+        <document>
+            <properties>
+                <title>
+                    <xsl:value-of select="header/title"/>
+                </title>
+            </properties>
+            <!-- Ignore the rest of the header and all of the footer. -->
+            <xsl:apply-templates select="body"/>
+        </document>
+    </xsl:template>
+    <xsl:template match="body/section">
+        <section name="{title}">
+            <xsl:apply-templates/>
+        </section>
+    </xsl:template>
+    <xsl:template match="section[ancestor:: section]">
+        <subsection name="{title}">
+            <xsl:apply-templates/>
+        </subsection>
+    </xsl:template>
+    <!-- Just edit these out. -->
+    <xsl:template match="title"/>
+    <!-- Forrest <link> (and <jump> and <fork> is just <a> in Maven/Anakia -->
+    <xsl:template match="link|jump|fork">
+        <xsl:element name="a">
+            <!-- Skip the 'role' attribute, which is in Forrest but not in Anakia or HTML. -->
+            <xsl:apply-templates select="@*[name() != 'role']|node()"/>
+        </xsl:element>
+    </xsl:template>
+    <!-- Anakia doesn't have note, warning or fixme. -->
+    <xsl:template match="note">
+        <p>
+            <strong>Note:</strong>
+            <br/>
+            <xsl:apply-templates/>
+        </p>
+    </xsl:template>
+    <xsl:template match="warning">
+        <p>
+            <strong>Warning:</strong>
+            <br/>
+            <xsl:apply-templates/>
+        </p>
+    </xsl:template>
+    <xsl:template match="fixme">
+        <p>
+            <strong>Fixme:</strong>
+            <br/>
+            <xsl:apply-templates/>
+        </p>
+    </xsl:template>
+    <!-- Forrest has <icon> and <figure>, which we translate to <img>. -->
+    <xsl:template match="icon|figure">
+        <img>
+            <xsl:apply-templates select="@*"/>
+        </img>
+    </xsl:template>
+    <xsl:template match="anchor">
+        <a name="{id}"/>
+    </xsl:template>
+    <!-- Forrest XML defines default values for colspan and rowspan that force them to
+         be output, so we edit those out. -->
+    <xsl:template match="td|th">
+        <xsl:copy>
+            <!-- Probably an easier way to do this, but it works. -->
+            <xsl:if test="@colspan != 1">
+                <xsl:attribute name="colspan">
+                    <xsl:value-of select="@colspan"/>
+                </xsl:attribute>
+            </xsl:if>
+            <xsl:if test="@rowspan != 1">
+                <xsl:attribute name="rowspan">
+                    <xsl:value-of select="@rowspan"/>
+                </xsl:attribute>
+            </xsl:if>
+            <xsl:apply-templates select="@*[name() != 'rowspan'][name() != 'colspan']"/>
+            <xsl:apply-templates/>
+        </xsl:copy>
+    </xsl:template>
+    <!-- General copy element/attribute rule. -->
+    <xsl:template match="node()|@*">
+        <xsl:copy>
+            <xsl:apply-templates select="node()|@*"/>
+        </xsl:copy>
+    </xsl:template>
+</xsl:stylesheet>



---------------------------------------------------------------------
To unsubscribe, e-mail: hivemind-cvs-unsubscribe@jakarta.apache.org
For additional commands, e-mail: hivemind-cvs-help@jakarta.apache.org