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 '<module>'>
+<!ENTITY module '<link href="&projectroot;descriptor.html#module">&_module;</link>'>
+
+<!ENTITY _implementation '<implementation>'>
+<!ENTITY implementation '<link href="&projectroot;descriptor.html#implementation">&_implementation;</link>'>
+
+<!ENTITY _configuration-point '<configuration-point>'>
+<!ENTITY configuration-point '<link href="&projectroot;descriptor.html#configuration-point">&_configuration-point;</link>'>
+
+<!ENTITY _conversion '<conversion>'>
+<!ENTITY conversion '<link href="&projectroot;descriptor.html#conversion">&_conversion;</link>'>
+
+<!ENTITY _map '<map>'>
+<!ENTITY map '<link href="&projectroot;descriptor.html#map">&_map;</link>'>
+
+<!ENTITY _create-instance '<create-instance>'>
+<!ENTITY create-instance '<link href="&projectroot;descriptor.html#create-instance">&_create-instance;</link>'>
+
+<!ENTITY _invoke-factory '<invoke-factory>'>
+<!ENTITY invoke-factory '<link href="&projectroot;descriptor.html#invoke-factory">&_invoke-factory;</link>'>
+
+<!ENTITY _interceptor '<interceptor>'>
+<!ENTITY interceptor '<link href="&projectroot;descriptor.html#interceptor">&_interceptor;</link>'>
+
+<!ENTITY _contribution '<contribution>'>
+<!ENTITY contribution '<link href="&projectroot;descriptor.html#contribution">&_contribution;</link>'>
+
+<!ENTITY _service-point '<service-point>'>
+<!ENTITY service-point '<link href="&projectroot;descriptor.html#service-point">&_service-point;</link>'>
+
+<!ENTITY _schema '<schema>'>
+<!ENTITY schema '<link href="&projectroot;descriptor.html#schema">&_schema;</link>'>
+
+<!ENTITY _parameters-schema '<parameters-schema>'>
+<!ENTITY parameters-schema '<link href="&projectroot;descriptor.html#parameters-schema">&_parameters-schema;</link>'>
+
+<!ENTITY _element '<element>'>
+<!ENTITY element '<link href="&projectroot;descriptor.html#element">&_element;</link>'>
+
+<!ENTITY _attribute '<attribute>'>
+<!ENTITY attribute '<link href="&projectroot;descriptor.html#attribute">&_attribute;</link>'>
+
+<!ENTITY _rules '<rules>'>
+<!ENTITY rules '<link href="&projectroot;descriptor.html#rules">&_rules;</link>'>
+
+<!ENTITY _sub-module '<sub-module>'>
+<!ENTITY sub-module '<link href="&projectroot;descriptor.html#sub-module">&_sub-module;</link>'>
+
+<!ENTITY _dependency '<dependency>'>
+<!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 '<create-object>'>
+<!ENTITY create-object '<link href="&projectroot;rules.html#create-object">&_create-object;</link>'>
+
+<!ENTITY _invoke-parent '<invoke-parent>'>
+<!ENTITY invoke-parent '<link href="&projectroot;rules.html#invoke-parent">&_invoke-parent;</link>'>
+
+<!ENTITY _read-attribute '<read-attribute>'>
+<!ENTITY read-attribute '<link href="&projectroot;rules.html#read-attribute">&_read-attribute;</link>'>
+
+<!ENTITY _read-content '<read-content>'>
+<!ENTITY read-content '<link href="&projectroot;rules.html#read-content">&_read-content;</link>'>
+
+
+<!ENTITY _set-module '<set-module>'>
+<!ENTITY set-module '<link href="&projectroot;rules.html#set-module">&_set-module;</link>'>
+
+<!ENTITY _set-parent '<set-parent>'>
+<!ENTITY set-parent '<link href="&projectroot;rules.html#set-parent">&_set-parent;</link>'>
+
+<!ENTITY _set-property '<set-property>'>
+<!ENTITY set-property '<link href="&projectroot;rules.html#set-property">&_set-property;</link>'>
+
+<!ENTITY _custom '<custom>'>
+<!ENTITY custom '<link href="&projectroot;rules.html#custom">&_custom;</link>'>
+
+<!ENTITY _push-attribute '<push-attribute>'>
+<!ENTITY push-attribute '<link href="&projectroot;rules.html#push-attribute">&_push-attribute;</link>'>
+
+<!ENTITY _push-content '<push-content>'>
+<!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">
+ <default symbol="..." value="..."/></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">
+<construct
+ class="..." autowire-services="..." log-property="..." messages-property="..."
+ service-id-property="..." initialize-method="..." error-log-property="..."
+ error-handler-property="..." class-resolver-property="...">
+
+ <log/>
+ <messages/>
+ <service-id/>
+ <error-handler/>
+ <error-log/>
+ <class-resolver/>
+ <string> ... </string>
+ <boolean> ... </boolean>
+ <configuration> ... </configuration>
+ <int> ... </int>
+ <long> ... </long>
+ <resource> ... </resource>
+ <service> ... </service>
+ <object> ... </object>
+ <null/>
+
+ <event-listener service-id="..." event-type-name="..."/>
+ <set property="..." value="..."/>
+ <set-configuration property="..." configuration-id="..."/>
+ <set-resource property="..." path="..."/>
+ <set-service property="..." service-id="..."/>
+ <set-object property="..." value="..."/>
+</construct> </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 <construct> 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 <event-listener>
+ 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">
+<load service-id="..."/> </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">
+<default symbol="..." value="..."/>
+</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">
+<interceptor service-id="hivemind.LoggingInterceptor">
+ <include method="..."/>
+ <exclude method="..."/>
+</interceptor></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 <set-object> 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">
+<provider prefix="..." service-id="..."/> </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">
+<service-model name="..." class="..."/> </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">
+<source name="..." before="..." after="..." class="..." service-id="..."/> </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">
+<translator name="..." class="..." service-id="..."/> </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