hivemind-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hls...@apache.org
Subject svn commit: r394305 - in /jakarta/hivemind/trunk: ./ examples/src/java/org/apache/examples/ framework/src/java/org/apache/hivemind/ framework/src/java/org/apache/hivemind/impl/ framework/src/test/org/apache/hivemind/impl/ library/src/java/org/apache/hi...
Date Sat, 15 Apr 2006 15:27:25 GMT
Author: hlship
Date: Sat Apr 15 08:27:24 2006
New Revision: 394305

URL: http://svn.apache.org/viewcvs?rev=394305&view=rev
Log:
Extend the Messages interface to support querying to see if a particular key has a defined message

Modified:
    jakarta/hivemind/trunk/examples/src/java/org/apache/examples/ExampleUtils.java
    jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/Messages.java
    jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/impl/AbstractMessages.java
    jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/impl/MessageFormatter.java
    jakarta/hivemind/trunk/framework/src/test/org/apache/hivemind/impl/TestMessageFormatter.java
    jakarta/hivemind/trunk/library/src/java/org/apache/hivemind/lib/impl/ImplMessages.java
    jakarta/hivemind/trunk/status.xml

Modified: jakarta/hivemind/trunk/examples/src/java/org/apache/examples/ExampleUtils.java
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/examples/src/java/org/apache/examples/ExampleUtils.java?rev=394305&r1=394304&r2=394305&view=diff
==============================================================================
--- jakarta/hivemind/trunk/examples/src/java/org/apache/examples/ExampleUtils.java (original)
+++ jakarta/hivemind/trunk/examples/src/java/org/apache/examples/ExampleUtils.java Sat Apr 15 08:27:24 2006
@@ -26,7 +26,6 @@
 import org.apache.hivemind.impl.DefaultClassResolver;
 import org.apache.hivemind.impl.RegistryBuilder;
 import org.apache.hivemind.impl.XmlModuleDescriptorProvider;
-import org.apache.hivemind.util.FileResource;
 import org.apache.hivemind.util.URLResource;
 
 /**

Modified: jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/Messages.java
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/Messages.java?rev=394305&r1=394304&r2=394305&view=diff
==============================================================================
--- jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/Messages.java (original)
+++ jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/Messages.java Sat Apr 15 08:27:24 2006
@@ -24,11 +24,18 @@
 public interface Messages
 {
     /**
+     * Returns true if the given key is associated with a message, false otherwise.
+     * 
+     * @since 1.2
+     */
+    boolean containsMessage(String key);
+
+    /**
      * Searches for a localized string with the given key. If not found, a modified version of the
      * key is returned (all upper-case and surrounded by square brackets).
      */
 
-    public String getMessage(String key);
+    String getMessage(String key);
 
     /**
      * Formats a string, using
@@ -40,21 +47,21 @@
      *            passed to the formatter
      */
 
-    public String format(String key, Object[] arguments);
+    String format(String key, Object[] arguments);
 
     /**
      * Convienience method for invoking {@link #format(String, Object[])}.
      */
-    public String format(String key, Object argument);
+    String format(String key, Object argument);
 
     /**
      * Convienience method for invoking {@link #format(String, Object[])}.
      */
 
-    public String format(String key, Object argument1, Object argument2);
+    String format(String key, Object argument1, Object argument2);
 
     /**
      * Convienience method for invoking {@link #format(String, Object[])}.
      */
-    public String format(String key, Object argument1, Object argument2, Object argument3);
+    String format(String key, Object argument1, Object argument2, Object argument3);
 }

Modified: jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/impl/AbstractMessages.java
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/impl/AbstractMessages.java?rev=394305&r1=394304&r2=394305&view=diff
==============================================================================
--- jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/impl/AbstractMessages.java (original)
+++ jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/impl/AbstractMessages.java Sat Apr 15 08:27:24 2006
@@ -1,4 +1,4 @@
-// Copyright 2005 The Apache Software Foundation
+// Copyright 2005-2006 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.
@@ -30,7 +30,7 @@
  */
 public abstract class AbstractMessages implements Messages
 {
-    public String format(String key, Object[] args)
+    public final String format(String key, Object[] args)
     {
         String pattern = getMessage(key);
 
@@ -55,32 +55,38 @@
         return messageFormat.format(args);
     }
 
-    private String extractMessage(Throwable t)
+    private final String extractMessage(Throwable t)
     {
         String message = t.getMessage();
 
         return HiveMind.isNonBlank(message) ? message : t.getClass().getName();
     }
 
-    public String format(String key, Object arg0)
+    public final String format(String key, Object arg0)
     {
         return format(key, new Object[]
         { arg0 });
     }
 
-    public String format(String key, Object arg0, Object arg1)
+    public final String format(String key, Object arg0, Object arg1)
     {
         return format(key, new Object[]
         { arg0, arg1 });
     }
 
-    public String format(String key, Object arg0, Object arg1, Object arg2)
+    public final String format(String key, Object arg0, Object arg1, Object arg2)
     {
         return format(key, new Object[]
         { arg0, arg1, arg2 });
     }
 
-    public String getMessage(String key)
+    /** @since 1.2 */
+    public final boolean containsMessage(String key)
+    {
+        return findMessage(key) != null;
+    }
+
+    public final String getMessage(String key)
     {
         Defense.notNull(key, "key");
 
@@ -100,6 +106,10 @@
 
     /**
      * Concrete implementations must implement this method.
+     * <p>
+     * Note: starting with release 1.2, it is no longer considered an error if the key does not
+     * match a known message (i.e., due to {@link #containsMessage(String)}). Prior to 1.2, some
+     * implementations would log an error in that situation.
      * 
      * @param key
      * @return the localized message for the key, or null if no such message exists.

Modified: jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/impl/MessageFormatter.java
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/impl/MessageFormatter.java?rev=394305&r1=394304&r2=394305&view=diff
==============================================================================
--- jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/impl/MessageFormatter.java (original)
+++ jakarta/hivemind/trunk/framework/src/java/org/apache/hivemind/impl/MessageFormatter.java Sat Apr 15 08:27:24 2006
@@ -1,4 +1,4 @@
-// Copyright 2004, 2005 The Apache Software Foundation
+// Copyright 2004-2006 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.
@@ -19,7 +19,7 @@
 import java.util.ResourceBundle;
 
 import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
+import org.apache.hivemind.util.Defense;
 
 /**
  * A wrapper around {@link java.util.ResourceBundle} that makes it easier to access and format
@@ -29,14 +29,21 @@
  */
 public class MessageFormatter extends AbstractMessages
 {
-    private Log _log;
+    private final ResourceBundle _bundle;
 
-    private ResourceBundle _bundle;
+    public MessageFormatter(ResourceBundle bundle)
+    {
+        Defense.notNull(bundle, "bundle");
+        _bundle = bundle;
+    }
 
+    /**
+     * @deprecated in 1.2, to be removed in a later release. Use
+     *             {@link #MessageFormatter(ResourceBundle)} instead.
+     */
     public MessageFormatter(Log log, ResourceBundle bundle)
     {
-        _log = log;
-        _bundle = bundle;
+        this(bundle);
     }
 
     /**
@@ -52,17 +59,30 @@
 
     public MessageFormatter(Class referenceClass, String name)
     {
-        this(LogFactory.getLog(referenceClass), referenceClass, name);
+        this(getResourceBundleName(referenceClass, name));
     }
 
+    /**
+     * @deprecated in 1.2, to be removed in a later release. Use
+     *             {@link #MessageFormatter(Class, String)} instead.
+     */
     public MessageFormatter(Log log, Class referenceClass, String name)
     {
-        this(log, getResourceBundleName(referenceClass, name));
+        this(referenceClass, name);
+    }
+
+    public MessageFormatter(String bundleName)
+    {
+        this(ResourceBundle.getBundle(bundleName));
     }
 
+    /**
+     * @deprecated in 1.2, to be removed in a later release. Use {@link #MessageFormatter(String)}
+     *             instead.
+     */
     public MessageFormatter(Log log, String bundleName)
     {
-        this(log, ResourceBundle.getBundle(bundleName));
+        this(bundleName);
     }
 
     protected String findMessage(String key)
@@ -73,7 +93,6 @@
         }
         catch (MissingResourceException ex)
         {
-            _log.error("Missing resource key: " + key + ".");
             return null;
         }
     }

Modified: jakarta/hivemind/trunk/framework/src/test/org/apache/hivemind/impl/TestMessageFormatter.java
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/framework/src/test/org/apache/hivemind/impl/TestMessageFormatter.java?rev=394305&r1=394304&r2=394305&view=diff
==============================================================================
--- jakarta/hivemind/trunk/framework/src/test/org/apache/hivemind/impl/TestMessageFormatter.java (original)
+++ jakarta/hivemind/trunk/framework/src/test/org/apache/hivemind/impl/TestMessageFormatter.java Sat Apr 15 08:27:24 2006
@@ -1,4 +1,4 @@
-// Copyright 2005 The Apache Software Foundation
+// Copyright 2005-2006 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.

Modified: jakarta/hivemind/trunk/library/src/java/org/apache/hivemind/lib/impl/ImplMessages.java
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/library/src/java/org/apache/hivemind/lib/impl/ImplMessages.java?rev=394305&r1=394304&r2=394305&view=diff
==============================================================================
--- jakarta/hivemind/trunk/library/src/java/org/apache/hivemind/lib/impl/ImplMessages.java (original)
+++ jakarta/hivemind/trunk/library/src/java/org/apache/hivemind/lib/impl/ImplMessages.java Sat Apr 15 08:27:24 2006
@@ -1,4 +1,4 @@
-// Copyright 2004, 2005 The Apache Software Foundation
+// Copyright 2004-2006 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.
@@ -16,103 +16,89 @@
 
 import javax.naming.Context;
 
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
 import org.apache.hivemind.impl.MessageFormatter;
 import org.apache.hivemind.service.ClassFabUtils;
 
 /**
  * Messages for the lib.impl package.
- *
+ * 
  * @author Howard Lewis Ship
  */
 final class ImplMessages
 {
-    private static final Log LOG = LogFactory.getLog(ImplMessages.class);
-
-    private static final MessageFormatter _formatter =
-        new MessageFormatter(LOG, ImplMessages.class, "ImplStrings");
+    private static final MessageFormatter FORMATTER = new MessageFormatter(ImplMessages.class);
 
     static String unableToCreateDefaultImplementation(Class interfaceType, Throwable cause)
     {
-        return _formatter.format(
-            "unable-to-create-default-implementation",
-            interfaceType.getName(),
-            cause.getMessage());
+        return FORMATTER.format(
+                "unable-to-create-default-implementation",
+                interfaceType.getName(),
+                cause.getMessage());
     }
 
     static String notAnInterface(Class interfaceType)
     {
-        return _formatter.format("not-an-interface", interfaceType.getName());
+        return FORMATTER.format("not-an-interface", interfaceType.getName());
     }
 
     static String defaultImplementationDescription(Class interfaceType)
     {
-        return _formatter.format("default-implementation-description", interfaceType.getName());
+        return FORMATTER.format("default-implementation-description", interfaceType.getName());
     }
 
     static String ejbProxyDescription(String serviceId, Class serviceInterface, String jndiName)
     {
-        return _formatter.format(
-            "ejb-proxy-description",
-            serviceId,
-            serviceInterface.getName(),
-            jndiName);
+        return FORMATTER.format(
+                "ejb-proxy-description",
+                serviceId,
+                serviceInterface.getName(),
+                jndiName);
     }
 
     static String unableToLookup(String name, Context context)
     {
-        return _formatter.format("unable-to-lookup", name, context);
+        return FORMATTER.format("unable-to-lookup", name, context);
     }
 
     static String noObject(String name, Class expectedType)
     {
-        return _formatter.format("no-object", name, expectedType);
+        return FORMATTER.format("no-object", name, expectedType);
     }
 
     static String wrongType(String name, Object object, Class expectedType)
     {
-        return _formatter.format("wrong-type", name, object, expectedType);
+        return FORMATTER.format("wrong-type", name, object, expectedType);
     }
 
     static String coordinatorLocked(String methodName)
     {
-        return _formatter.format("coordinator-locked", methodName);
+        return FORMATTER.format("coordinator-locked", methodName);
     }
 
     static String servicePropertyNotReadable(String propertyName, Object service)
     {
-        return _formatter.format("service-property-not-readable", propertyName, service);
+        return FORMATTER.format("service-property-not-readable", propertyName, service);
     }
 
-    static String servicePropertyWrongType(
-        String propertyName,
-        Object service,
-        Class actualType,
-        Class expectedType)
-    {
-        return _formatter.format(
-            "service-property-wrong-type",
-            new Object[] {
-                propertyName,
-                service,
-                ClassFabUtils.getJavaClassName(actualType),
-                expectedType.getName()});
+    static String servicePropertyWrongType(String propertyName, Object service, Class actualType,
+            Class expectedType)
+    {
+        return FORMATTER.format(
+                "service-property-wrong-type",
+                new Object[]
+                { propertyName, service, ClassFabUtils.getJavaClassName(actualType),
+                        expectedType.getName() });
     }
 
     static String servicePropertyWasNull(String propertyName, Object service)
     {
-        return _formatter.format("service-property-was-null", propertyName, service);
+        return FORMATTER.format("service-property-was-null", propertyName, service);
     }
 
-    static String servicePropertyToString(
-        String serviceId,
-        Class serviceInterface,
-        String propertyName,
-        Object service)
-    {
-        return _formatter.format(
-            "service-property-to-string",
-            new Object[] { serviceId, serviceInterface.getName(), propertyName, service });
+    static String servicePropertyToString(String serviceId, Class serviceInterface,
+            String propertyName, Object service)
+    {
+        return FORMATTER.format("service-property-to-string", new Object[]
+        { serviceId, serviceInterface.getName(), propertyName, service });
     }
 }

Modified: jakarta/hivemind/trunk/status.xml
URL: http://svn.apache.org/viewcvs/jakarta/hivemind/trunk/status.xml?rev=394305&r1=394304&r2=394305&view=diff
==============================================================================
--- jakarta/hivemind/trunk/status.xml (original)
+++ jakarta/hivemind/trunk/status.xml Sat Apr 15 08:27:24 2006
@@ -14,12 +14,11 @@
    See the License for the specific language governing permissions and
    limitations under the License.
 -->
-
 <status>
   <developers>
-    <person name="Howard M. Lewis Ship" email="hlship@comcast.net" id="HLS" />
-    <person name="Knut Wannheden" email="knut.wannheden@gmail.com" id="KW" />
-    <person name="James Carman" email="james@carmanconsulting.com" id="JC" />
+    <person name="Howard M. Lewis Ship" email="hlship@comcast.net" id="HLS"/>
+    <person name="Knut Wannheden" email="knut.wannheden@gmail.com" id="KW"/>
+    <person name="James Carman" email="james@carmanconsulting.com" id="JC"/>
   </developers>
   <todo>
     <actions priority="Release 1.2">
@@ -29,197 +28,350 @@
   </todo>
   <changes>
     <release version="1.2-alpha-1" date="unreleased">
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-162">Performance bottleneck with threaded services</action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-162">Performance bottleneck with threaded
+        services</action>
+      <action type="update" dev="HLS" fixes-bug="HIVEMIND-175">Extend the Messages interface to
+        support querying to see if a particular key has a defined message</action>
     </release>
     <release version="1.1.1" date="Jan 28 2006">
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-162">Performance bottleneck with threaded services</action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-161">ThreadLocal object is never removed in ThreadEventNotifierImpl and holds the classloader</action>
-    </release>    
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-162">Performance bottleneck with threaded
+        services</action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-161">ThreadLocal object is never removed in
+        ThreadEventNotifierImpl and holds the classloader</action>
+    </release>
     <release version="1.1" date="Oct 26 2005">
       <action type="update" dev="HLS">Change project web site navigation</action>
-      <action type="update" dev="HLS">Split up the dist-build target so that just documentation can be built</action>
+      <action type="update" dev="HLS">Split up the dist-build target so that just documentation can
+        be built</action>
     </release>
     <release version="1.1-rc-1" date="Sep 23 2005">
-      <action type="add" dev="HLS">Add several more convienience methods, related to mock objects, to HiveMindTestCase</action>
-      <action type="update" dev="HLS">Change the build scripts to allow for test case classes ending in "Test", and to output source with the JavaDoc</action>      
+      <action type="add" dev="HLS">Add several more convienience methods, related to mock objects,
+        to HiveMindTestCase</action>
+      <action type="update" dev="HLS">Change the build scripts to allow for test case classes ending
+        in "Test", and to output source with the JavaDoc</action>
     </release>
     <release version="1.1-beta-3" date="Aug 22 2005">
       <action type="update" dev="HLS">Change dist targets to use SSH passphrase for authentication.</action>
       <action type="fix" dev="KW">Allow for null values in &lt;invoke-parent&gt; rule.</action>
-      <action type="fix" dev="JC" fixes-bug="HIVEMIND-148" due-to="Ben Fortuna">Registry.getServiceIds() doesn't support concrete class service points.</action>
-      <action type="fix" dev="JC" fixes-bug="HIVEMIND-135" due-to="Richard Hensley">Upgrade Build to use a hivebuild.properties from the users home directory.</action>
-      <action type="update" dev="HLS">Reorganize the examples so that they can be tracked by Clover. Fix the format of times in the JUnit Test Report.</action>
-      <action type="add" dev="HLS">Add getControl() method to HiveMindTestCase, to locate a managed MockControl from a mock object instance.</action>
+      <action type="fix" dev="JC" fixes-bug="HIVEMIND-148" due-to="Ben Fortuna"
+        >Registry.getServiceIds() doesn't support concrete class service points.</action>
+      <action type="fix" dev="JC" fixes-bug="HIVEMIND-135" due-to="Richard Hensley">Upgrade Build to
+        use a hivebuild.properties from the users home directory.</action>
+      <action type="update" dev="HLS">Reorganize the examples so that they can be tracked by Clover.
+        Fix the format of times in the JUnit Test Report.</action>
+      <action type="add" dev="HLS">Add getControl() method to HiveMindTestCase, to locate a managed
+        MockControl from a mock object instance.</action>
     </release>
     <release version="1.1-beta-2" date="Jun 28 2005">
-      <action type="fix" dev="JC" fixes-bug="HIVEMIND-122" due-to="Michael Frericks">IBM JDK 1.4.1 and java.net.URL.openStream causes NPE"</action>
+      <action type="fix" dev="JC" fixes-bug="HIVEMIND-122" due-to="Michael Frericks">IBM JDK 1.4.1
+        and java.net.URL.openStream causes NPE"</action>
       <action type="add" dev="JC" due-to="Achim Hügen" fixes-bug="HIVEMIND-107">JMX Enhancements </action>
-      <action type="fix" dev="JC" fixes-bug="HIVEMIND-73" >BuilderFactory attempts to autowire java.util.List.</action>
-      <action type="fix" dev="JC" fixes-bug="HIVEMIND-78" due-to="Paul Russell">Certain classloaders (AntClassLoader for example) cause NullPointerException in impl.MessageFormatter.</action>
-      <action type="add" dev="JC" fixes-bug="HIVEMIND-91" >Add getModuleMessages() to Registry.</action>
-      <action type="fix" dev="JC" fixes-bug="HIVEMIND-105" due-to="Marcus Brito">ServiceImplementationFactoryParameters.getFirstParameter should cope better with zero parameters.</action>
-      <action type="fix" dev="JC" fixes-bug="HIVEMIND-101" due-to="Brian K. Wallace">OrdererMessages.exception uses wrong message key.</action>
-      <action type="add" dev="JC" fixes-bug="HIVEMIND-112" >Add getServiceIds() Method to Registry Interface.</action>
-      <action type="fix" dev="JC" fixes-bug="HIVEMIND-115" >Bean services cannot implement RegistryShutdownListener.</action>
+      <action type="fix" dev="JC" fixes-bug="HIVEMIND-73">BuilderFactory attempts to autowire
+        java.util.List.</action>
+      <action type="fix" dev="JC" fixes-bug="HIVEMIND-78" due-to="Paul Russell">Certain classloaders
+        (AntClassLoader for example) cause NullPointerException in impl.MessageFormatter.</action>
+      <action type="add" dev="JC" fixes-bug="HIVEMIND-91">Add getModuleMessages() to Registry.</action>
+      <action type="fix" dev="JC" fixes-bug="HIVEMIND-105" due-to="Marcus Brito"
+        >ServiceImplementationFactoryParameters.getFirstParameter should cope better with zero
+        parameters.</action>
+      <action type="fix" dev="JC" fixes-bug="HIVEMIND-101" due-to="Brian K. Wallace"
+        >OrdererMessages.exception uses wrong message key.</action>
+      <action type="add" dev="JC" fixes-bug="HIVEMIND-112">Add getServiceIds() Method to Registry
+        Interface.</action>
+      <action type="fix" dev="JC" fixes-bug="HIVEMIND-115">Bean services cannot implement
+        RegistryShutdownListener.</action>
       <action type="update" dev="HLS" due-to="Vjeran Marcinko"> Much improved CSS for HiveDoc. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-119"> Distribution .zip doesn't contain project directory </action>
-      <action type="add" dev="HLS"> Show counts of configuration points, service points and schemas in HiveDoc. </action>
-      <action type="add" dev="KW" fixes-bug="HIVEMIND-126" due-to="Richard Hensley"> New &lt;push-content&gt; rule added. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-119"> Distribution .zip doesn't contain
+        project directory </action>
+      <action type="add" dev="HLS"> Show counts of configuration points, service points and schemas
+        in HiveDoc. </action>
+      <action type="add" dev="KW" fixes-bug="HIVEMIND-126" due-to="Richard Hensley"> New
+        &lt;push-content&gt; rule added. </action>
       <action type="add" dev="HLS" fixes-bug="HIVEMIND-123"> Add JUnit tests report. </action>
-      <action type="fix" dev="HLS">Get HiveDoc to generate into the right folder, and fix overly compressed HiveDoc output.</action>
+      <action type="fix" dev="HLS">Get HiveDoc to generate into the right folder, and fix overly
+        compressed HiveDoc output.</action>
     </release>
     <release version="1.1-beta-1" date="Apr 29 2005">
-      <action type="fix" dev="JC" fixes-bug="HIVEMIND-108" >Bean services could not be autowired into other services.</action>
-      <action type="fix" dev="JC" fixes-bug="HIVEMIND-102" >Multiple interceptors with different names for the same interceptor factory id were treated as duplicates.</action>
-      <action type="fix" dev="JC" fixes-bug="HIVEMIND-103" >Core service implementations which implement RegistryShutdownListener are not notified for primitive and singleton service models.</action>
-      <action type="update" dev="HLS"> Rename AdapterRegistry to StrategyRegistry, and AdapterRegistryFactory to StrategyFactory, to better reflect the relationship to the Gang-of-Four Strategy pattern.</action>
-      <action type="update" dev="HLS"> Make the interface attribute of &lt;service-point&gt; optional, and default to the service point's id. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-104">Removed a potential deadlock related to the pooled service model.</action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-83"> Allow for running with multiple Registries. </action>
-      <action type="add" dev="HLS"> Added an AbstractArgumentMatcher that allows ArgumentMatcher to be used as ArgumentsMatcher (that is, comparing all arguments). </action>
+      <action type="fix" dev="JC" fixes-bug="HIVEMIND-108">Bean services could not be autowired into
+        other services.</action>
+      <action type="fix" dev="JC" fixes-bug="HIVEMIND-102">Multiple interceptors with different
+        names for the same interceptor factory id were treated as duplicates.</action>
+      <action type="fix" dev="JC" fixes-bug="HIVEMIND-103">Core service implementations which
+        implement RegistryShutdownListener are not notified for primitive and singleton service
+        models.</action>
+      <action type="update" dev="HLS"> Rename AdapterRegistry to StrategyRegistry, and
+        AdapterRegistryFactory to StrategyFactory, to better reflect the relationship to the
+        Gang-of-Four Strategy pattern.</action>
+      <action type="update" dev="HLS"> Make the interface attribute of &lt;service-point&gt;
+        optional, and default to the service point's id. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-104">Removed a potential deadlock related to
+        the pooled service model.</action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-83"> Allow for running with multiple
+        Registries. </action>
+      <action type="add" dev="HLS"> Added an AbstractArgumentMatcher that allows ArgumentMatcher to
+        be used as ArgumentsMatcher (that is, comparing all arguments). </action>
       <action type="add" dev="HLS"> Added newLocation() method to HiveMindTestCase. </action>
-      <action type="add" dev="HLS" due-to="Achim Hügen" fixes-bug="HIVEMIND-97"> Apply Achim Hügen's JMX patch. </action>
+      <action type="add" dev="HLS" due-to="Achim Hügen" fixes-bug="HIVEMIND-97"> Apply Achim Hügen's
+        JMX patch. </action>
       <action type="update" dev="HLS"> Update to Javassist 3.0. </action>
-      <action type="fix" dev="KW" due-to="Michael Frericks" fixes-bug="HIVEMIND-100"> Translate unique attribute values before checking uniqueness. </action>
-      <action type="fix" dev="KW" fixes-bug="HIVEMIND-99"> Cache translated values in BuilderPropertyFacet. </action>
+      <action type="fix" dev="KW" due-to="Michael Frericks" fixes-bug="HIVEMIND-100"> Translate
+        unique attribute values before checking uniqueness. </action>
+      <action type="fix" dev="KW" fixes-bug="HIVEMIND-99"> Cache translated values in
+        BuilderPropertyFacet. </action>
     </release>
     <release version="1.1-alpha-3" date="Mar 22 2005">
-      <action type="fix" dev="JC" fixes-bug="HIVEMIND-96" >Interceptors can now be ordered by name rather than interceptor factory id.</action>
-      <action type="fix" dev="JC" fixes-bug="HIVEMIND-45" >Created a ServiceInterceptorFactory supporting AOP Alliance MethodInterceptors.</action>
+      <action type="fix" dev="JC" fixes-bug="HIVEMIND-96">Interceptors can now be ordered by name
+        rather than interceptor factory id.</action>
+      <action type="fix" dev="JC" fixes-bug="HIVEMIND-45">Created a ServiceInterceptorFactory
+        supporting AOP Alliance MethodInterceptors.</action>
       <action type="update" dev="HLS"> Upgrade Groovy to 1.0-beta-10. </action>
-      <action type="update" dev="HLS"> Make BuilderFactory rethrow construction exceptions, rather than swallow them and return null. </action>
+      <action type="update" dev="HLS"> Make BuilderFactory rethrow construction exceptions, rather
+        than swallow them and return null. </action>
     </release>
     <release version="1.1-alpha-2" date="Feb 23 2005">
       <action type="update" dev="HLS"> Better, prettier HiveDoc. </action>
-      <action type="fix" dev="KW" fixes-bug="HIVEMIND-88" due-to="Brian K. Wallace"> Error running examples using Ant targets. </action>
-      <action type="update" dev="HLS"> Add package attribute to &lt;module&gt; and automatically qualify Java class and interface names into that package. </action>
+      <action type="fix" dev="KW" fixes-bug="HIVEMIND-88" due-to="Brian K. Wallace"> Error running
+        examples using Ant targets. </action>
+      <action type="update" dev="HLS"> Add package attribute to &lt;module&gt; and
+        automatically qualify Java class and interface names into that package. </action>
       <action type="update" dev="HLS"> Allow the locale to be changed. </action>
       <action type="update" dev="HLS"> Add class: object provider (for resolving classes). </action>
-      <action type="update" dev="HLS" fixes-bug="HIVEMIND-92" due-to="Brian K. Wallace"> ManifestClassPath accessing deprecated variable </action>
-      <action type="update" dev="HLS"> Allow service interfaces to be ordinary non-interface classes. </action>
-      <action type="update" dev="HLS"> Extend instance translator to configure properties of the instantiated instance. </action>
-      <action type="fix" dev="KW" fixes-bug="HIVEMIND-60" due-to="Trent McClenahan"> service: object provider throws NPE with empty locator </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-93"> Allow initialization in create-instance, rules, etc. </action>
-      <action type="fix" dev="KW" fixes-bug="HIVEMIND-81"> NPE when module resource does not exist </action>
+      <action type="update" dev="HLS" fixes-bug="HIVEMIND-92" due-to="Brian K. Wallace">
+        ManifestClassPath accessing deprecated variable </action>
+      <action type="update" dev="HLS"> Allow service interfaces to be ordinary non-interface
+        classes. </action>
+      <action type="update" dev="HLS"> Extend instance translator to configure properties of the
+        instantiated instance. </action>
+      <action type="fix" dev="KW" fixes-bug="HIVEMIND-60" due-to="Trent McClenahan"> service: object
+        provider throws NPE with empty locator </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-93"> Allow initialization in create-instance,
+        rules, etc. </action>
+      <action type="fix" dev="KW" fixes-bug="HIVEMIND-81"> NPE when module resource does not exist
+      </action>
     </release>
     <release version="1.1-alpha-1" date="Jan 19 2005">
-      <action type="add" dev="KW"> Added &lt;dependency&gt; construct providing support for dependencies between modules. Refactoring of RegistryBuilder: Now constructs Registry using a ModuleProvider. </action>
-      <action type="add" dev="HLS" fixes-bug="HIVEMIND-58"> Add visibility (public or private) to configuration points, service points and schemas. </action>
-      <action type="add" dev="KW" fixes-bug="HIVEMIND-63"> Add &lt;null&gt; constructor parameter element to BuilderFactory service. </action>
-      <action type="fix" dev="KW" fixes-bug="HIVEMIND-64"> Report error if module descriptors define conflicting service or configuration points. </action>
-      <action type="update" dev="KW"> HiveDoc is now being generated from the parsed module descriptors instead of directly from the XML files. This will allow HiveDoc generation for module descriptors in other formats. </action>
+      <action type="add" dev="KW"> Added &lt;dependency&gt; construct providing support for
+        dependencies between modules. Refactoring of RegistryBuilder: Now constructs Registry using
+        a ModuleProvider. </action>
+      <action type="add" dev="HLS" fixes-bug="HIVEMIND-58"> Add visibility (public or private) to
+        configuration points, service points and schemas. </action>
+      <action type="add" dev="KW" fixes-bug="HIVEMIND-63"> Add &lt;null&gt; constructor
+        parameter element to BuilderFactory service. </action>
+      <action type="fix" dev="KW" fixes-bug="HIVEMIND-64"> Report error if module descriptors define
+        conflicting service or configuration points. </action>
+      <action type="update" dev="KW"> HiveDoc is now being generated from the parsed module
+        descriptors instead of directly from the XML files. This will allow HiveDoc generation for
+        module descriptors in other formats. </action>
       <action type="update" dev="HLS"> Upgrade to Forrest 0.6 (still in progress). </action>
-      <action type="update" dev="HLS"> Re-work the HiveDoc report to work naturally at the module (not project) level. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-56" due-to="Bruce Synder"> CVS connection string on website is incorrect </action>
-      <action type="update" dev="HLS"> Synchronize all access to java.beans.Introspector through a common mutex. </action>
-      <action type="update" dev="HLS"> Clear the PropertyUtils and Introspector caches when the Registry is shutdown. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-68"> Properly report the actual method name when invoking a service initializer method. </action>
-      <action type="add" dev="HLS" fixes-bug="HIVEMIND-66"> Move some logic related to primitive Java types and arrays from Tapestry directly into DefaultClassResolver. </action>
-      <action type="update" dev="HLS"> ApplicationRuntimeException will now display the location (if known) as part of its toString() method, making it much easier to track down problems in stack traces (especially deeply nested ones). </action>
-      <action type="add" dev="HLS"> Add support for the ErrorLog (a simple wrapper around an ErrorHandler and a Log). Add support for setting the service's ErrorLog to BuilderFactory. </action>
+      <action type="update" dev="HLS"> Re-work the HiveDoc report to work naturally at the module
+        (not project) level. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-56" due-to="Bruce Synder"> CVS connection
+        string on website is incorrect </action>
+      <action type="update" dev="HLS"> Synchronize all access to java.beans.Introspector through a
+        common mutex. </action>
+      <action type="update" dev="HLS"> Clear the PropertyUtils and Introspector caches when the
+        Registry is shutdown. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-68"> Properly report the actual method name
+        when invoking a service initializer method. </action>
+      <action type="add" dev="HLS" fixes-bug="HIVEMIND-66"> Move some logic related to primitive
+        Java types and arrays from Tapestry directly into DefaultClassResolver. </action>
+      <action type="update" dev="HLS"> ApplicationRuntimeException will now display the location (if
+        known) as part of its toString() method, making it much easier to track down problems in
+        stack traces (especially deeply nested ones). </action>
+      <action type="add" dev="HLS"> Add support for the ErrorLog (a simple wrapper around an
+        ErrorHandler and a Log). Add support for setting the service's ErrorLog to BuilderFactory. </action>
       <action type="update" dev="HLS"> Switch Javassist to version 3.0-rc-1. </action>
       <action type="add" dev="HLS"> Add toString() support to ClassFab and MethodFab. </action>
-      <action type="add" dev="HLS"> Add the hivemind.lib.StrategyFactory service implementation factory. </action>
-      <action type="update" dev="HLS"> Removed the module parameter from ClassFactory.newClass() and from DefaultImplementationBuilder.buildDefaultImplementation(). </action>
-      <action type="update" dev="KW"> BuilderFactory now supports autowiring through constructor based dependency injection. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-75"> Add ability to set default value for non-matches in MethodMatcher. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-76"> Improve MethodSignature and MethodIterator to filter out duplicate methods that differ only in terms of thrown exceptions. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-77"> Change BuilderFactoryLogic to report the actual exception, not the InvocationTargetException, when an exception is thrown by a constructor or by a initializer method invocation. </action>
-      <action type="add" dev="KW"> Added Groovy support. Module descriptors can now be defined using Groovy scripts. Although it requires some additional work in building the Registry. </action>
-      <action type="add" dev="HLS"> Support the EasyMock Class Extension, if present on the classpath, to allow classes (not just interfaces) to be mocked. </action>
-      <action type="update" dev="HLS"> Refactored SpringLookupFactory to identify a Spring BeanFactory directly, rather than via a SpringBeanFactorySource. </action>
-      <action type="add" dev="KW"> Added support for mapped configurations. A configuration schema can now specify an attribute which should be used as the key in a Map of all contributions. The BuilderFactory can inject such configurations as List or Maps. </action>
+      <action type="add" dev="HLS"> Add the hivemind.lib.StrategyFactory service implementation
+        factory. </action>
+      <action type="update" dev="HLS"> Removed the module parameter from ClassFactory.newClass() and
+        from DefaultImplementationBuilder.buildDefaultImplementation(). </action>
+      <action type="update" dev="KW"> BuilderFactory now supports autowiring through constructor
+        based dependency injection. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-75"> Add ability to set default value for
+        non-matches in MethodMatcher. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-76"> Improve MethodSignature and
+        MethodIterator to filter out duplicate methods that differ only in terms of thrown
+        exceptions. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-77"> Change BuilderFactoryLogic to report the
+        actual exception, not the InvocationTargetException, when an exception is thrown by a
+        constructor or by a initializer method invocation. </action>
+      <action type="add" dev="KW"> Added Groovy support. Module descriptors can now be defined using
+        Groovy scripts. Although it requires some additional work in building the Registry. </action>
+      <action type="add" dev="HLS"> Support the EasyMock Class Extension, if present on the
+        classpath, to allow classes (not just interfaces) to be mocked. </action>
+      <action type="update" dev="HLS"> Refactored SpringLookupFactory to identify a Spring
+        BeanFactory directly, rather than via a SpringBeanFactorySource. </action>
+      <action type="add" dev="KW"> Added support for mapped configurations. A configuration schema
+        can now specify an attribute which should be used as the key in a Map of all contributions.
+        The BuilderFactory can inject such configurations as List or Maps. </action>
       <action type="update" dev="HLS"> Move ContextResource from Tapestry to HiveMind. </action>
       <action type="update" dev="HLS"> Change HiveMindFilter load WEB-INF/hivemodule.xml if present. </action>
       <action type="add" dev="HLS"> Add support for conditional contributions. </action>
-      <action type="add" dev="HLS"> Allow services to be serialized (that is, service proxies can be serialized and deserialized). </action>
-      <action type="fix" dev="KW" fixes-bug="HIVEMIND-15" due-to="James Carman"> Smart translator properly returns attribute values as Strings when used with a &lt;push-attribute&gt; rule. </action>
-      <action type="fix" dev="KW" fixes-bug="HIVEMIND-57"> Attribute values are symbol-expanded by a &lt;push-attribute&gt; rule before being translated and pushed on the stack. </action>
-      <action type="add" dev="HLS"> Add hivemind.lib.ChainBuilder service, an implementation of Gang Of Four Chain of Command. </action>
+      <action type="add" dev="HLS"> Allow services to be serialized (that is, service proxies can be
+        serialized and deserialized). </action>
+      <action type="fix" dev="KW" fixes-bug="HIVEMIND-15" due-to="James Carman"> Smart translator
+        properly returns attribute values as Strings when used with a &lt;push-attribute&gt;
+        rule. </action>
+      <action type="fix" dev="KW" fixes-bug="HIVEMIND-57"> Attribute values are symbol-expanded by a
+        &lt;push-attribute&gt; rule before being translated and pushed on the stack. </action>
+      <action type="add" dev="HLS"> Add hivemind.lib.ChainBuilder service, an implementation of Gang
+        Of Four Chain of Command. </action>
       <action type="add" dev="HLS"> Add hivemind.lib.ChainFactory service. </action>
     </release>
     <release version="1.0" date="Sep 22 2004">
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-55"> Ensure that the logging interceptor will work properly when wrapping around JDK dynamic proxies. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-55"> Ensure that the logging interceptor will
+        work properly when wrapping around JDK dynamic proxies. </action>
     </release>
     <release version="1.0-rc-2" date="Sep 11 2004">
       <action type="add" dev="HLS"> Add method getSymbolValue() to RegistryInfrastructure and Module </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-48"> Fix class loader issues concerning fabricated classes in different modules. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-47"> Allow symbols to be escaped rather than expanded. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-44" due-to="James Carman"> The previous fix was incomplete; this should close the remaining sychronization gaps. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-48"> Fix class loader issues concerning
+        fabricated classes in different modules. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-47"> Allow symbols to be escaped rather than
+        expanded. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-44" due-to="James Carman"> The previous fix
+        was incomplete; this should close the remaining sychronization gaps. </action>
       <action type="fix" dev="HLS" fixes-bug="HIVEMIND-49"> Class loading issue inside Tomcat. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-10" due-to="James Carman"> Tweak HiveMind to work properly in a JavaWebStart application. </action>
-      <action type="add" dev="HLS"> Add <code>clearCache()</code> method to <code>PropertyUtils</code>. </action>
-      <action type="update" dev="HLS"> Change the API for <code>ClassFactory</code> to take a <code>ClassLoader</code>, not a <code>Module</code>. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-52"> Handle duplicated methods in service interfaces, avoiding "attempt to redefine method" errors. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-10" due-to="James Carman"> Tweak HiveMind to
+        work properly in a JavaWebStart application. </action>
+      <action type="add" dev="HLS"> Add <code>clearCache()</code> method to
+        <code>PropertyUtils</code>. </action>
+      <action type="update" dev="HLS"> Change the API for <code>ClassFactory</code> to take a
+          <code>ClassLoader</code>, not a <code>Module</code>. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-52"> Handle duplicated methods in service
+        interfaces, avoiding "attempt to redefine method" errors. </action>
       <action type="fix" dev="HLS" fixes-bug="HIVEMIND-49"> Class loading issue inside Tomcat. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-10" due-to="James Carman"> Tweak HiveMind to work properly in a JavaWebStart application. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-10" due-to="James Carman"> Tweak HiveMind to
+        work properly in a JavaWebStart application. </action>
       <action type="add" dev="HLS"> Add clearCache() method to PropertyUtils. </action>
-      <action type="update" dev="HLS"> Change the API for ClassFactory to take a ClassLoader, not a Module. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-52"> Handle duplicated methods in service interfaces, avoiding "attempt to redefine method" errors. </action>
+      <action type="update" dev="HLS"> Change the API for ClassFactory to take a ClassLoader, not a
+        Module. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-52"> Handle duplicated methods in service
+        interfaces, avoiding "attempt to redefine method" errors. </action>
     </release>
     <release version="1.0-rc-1" date="Aug 25 2004">
-      <action type="update" dev="HLS"> Remove support for Simple Data Language ... it's all XML again. </action>
-      <action type="update" dev="HLS"> Re-work part of PipelineFactory to take advantage of object references. </action>
-      <action type="update" dev="HLS"> Make the service-id of &lt;invoke-factory&gt; optional and default to hivemind.BuilderFactory. </action>
-      <action type="update" dev="HLS"> Change the hivemind.Startup configuration to take an object reference, not a service id. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-29" due-to="Michael Frericks"> SmartTranslator should differentiate between blank strings and null input </action>
-      <action type="update" dev="HLS"> Improvements to HiveBuild to properly handle changing versions or useages of artifacts. </action>
-      <action type="add" dev="HLS" fixes-bug="HIVEMIND-43" due-to="Johan Lindquist"> Add ability to mark attributes of an element as unique, such that duplicate values in contributions result in errors. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-41"> Add checks to SchemaProcessorImpl for empty stack conditions </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-33"> Add parameters-occurs attribute to &lt;service-point&gt; element. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-23"> Specify location in all module deployment descriptor parse exceptions. </action>
-      <action type="add" dev="HLS" due-to="Stefan Liebig" fixes-bug="HIVEMIND-42"> Add Quick Reference Sheet. </action>
-      <action type="fix" dev="HLS" due-to="Luke Blanshard" fixes-bug="HIVEMIND-16"> Add getCause() method to ApplicationRuntimeException </action>
-      <action type="add" dev="HLS" due-to="Naresh Sikha" fixes-bug="HIVEMIND-37"> Add polling methods to Registry. </action>
-      <action type="add" dev="HLS" due-to="Naresh Sikha" fixes-bug="HIVEMIND-36"> Add polling methods to BeanFactory. </action>
-      <action type="fix" dev="HLS" due-to="James Carman" fixes-bug="HIVEMIND-44"> Fix broken synchronization in ThreadedServiceModel and PooledServiceModel that could make them randomly fail when creating a service by invoking a factory. </action>
-      <action type="fix" dev="HLS" due-to="Johan Lindquist" fixes-bug="HIVEMIND-34"> Check for &lt;sub-module&gt; references that do not exist. </action>
+      <action type="update" dev="HLS"> Remove support for Simple Data Language ... it's all XML
+        again. </action>
+      <action type="update" dev="HLS"> Re-work part of PipelineFactory to take advantage of object
+        references. </action>
+      <action type="update" dev="HLS"> Make the service-id of &lt;invoke-factory&gt;
+        optional and default to hivemind.BuilderFactory. </action>
+      <action type="update" dev="HLS"> Change the hivemind.Startup configuration to take an object
+        reference, not a service id. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-29" due-to="Michael Frericks">
+        SmartTranslator should differentiate between blank strings and null input </action>
+      <action type="update" dev="HLS"> Improvements to HiveBuild to properly handle changing
+        versions or useages of artifacts. </action>
+      <action type="add" dev="HLS" fixes-bug="HIVEMIND-43" due-to="Johan Lindquist"> Add ability to
+        mark attributes of an element as unique, such that duplicate values in contributions result
+        in errors. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-41"> Add checks to SchemaProcessorImpl for
+        empty stack conditions </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-33"> Add parameters-occurs attribute to
+        &lt;service-point&gt; element. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-23"> Specify location in all module
+        deployment descriptor parse exceptions. </action>
+      <action type="add" dev="HLS" due-to="Stefan Liebig" fixes-bug="HIVEMIND-42"> Add Quick
+        Reference Sheet. </action>
+      <action type="fix" dev="HLS" due-to="Luke Blanshard" fixes-bug="HIVEMIND-16"> Add getCause()
+        method to ApplicationRuntimeException </action>
+      <action type="add" dev="HLS" due-to="Naresh Sikha" fixes-bug="HIVEMIND-37"> Add polling
+        methods to Registry. </action>
+      <action type="add" dev="HLS" due-to="Naresh Sikha" fixes-bug="HIVEMIND-36"> Add polling
+        methods to BeanFactory. </action>
+      <action type="fix" dev="HLS" due-to="James Carman" fixes-bug="HIVEMIND-44"> Fix broken
+        synchronization in ThreadedServiceModel and PooledServiceModel that could make them randomly
+        fail when creating a service by invoking a factory. </action>
+      <action type="fix" dev="HLS" due-to="Johan Lindquist" fixes-bug="HIVEMIND-34"> Check for
+        &lt;sub-module&gt; references that do not exist. </action>
     </release>
     <release version="1.0-beta-2" date="Aug 1 2004">
       <action type="fix" dev="KW" fixes-bug="HIVEMIND-6"> Removed dependency on Werkz. </action>
       <action type="update" dev="HLS"> Added link to the Jakarta mailing lists page. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-21" due-to="Achim Hügen"> Modifed the build scripts to properly include variable info when compiling. </action>
-      <action type="update" dev="HLS"> Moved the Ant build scripts to a new directory, hivebuild, in preparation for making hivebuild reusable on new projects. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-21" due-to="Achim Hügen"> Modifed the build
+        scripts to properly include variable info when compiling. </action>
+      <action type="update" dev="HLS"> Moved the Ant build scripts to a new directory, hivebuild, in
+        preparation for making hivebuild reusable on new projects. </action>
       <action type="update" dev="HLS"> Added protected method constructRegistry() to HiveMindFilter. </action>
-      <action type="update" dev="HLS"> Renamed existing 'object' translator to 'instance', and created a new 'object' translator with great flexibility. Extend BuilderFactory to add a set-object element that leverages the object translator. </action>
+      <action type="update" dev="HLS"> Renamed existing 'object' translator to 'instance', and
+        created a new 'object' translator with great flexibility. Extend BuilderFactory to add a
+        set-object element that leverages the object translator. </action>
       <action type="update" dev="HLS"> Created service-property object translator. </action>
-      <action type="update" dev="HLS" fixes-bug="HIVEMIND-20" due-to="Marcus Brito"> Added a version of Registry.getService() that omits the service id (but requires that exactly one service point implements the service interface). </action>
-      <action type="update" dev="HLS" fixes-bug="HIVEMIND-22"> Extended the BuilderFactory to autowire services. </action>
+      <action type="update" dev="HLS" fixes-bug="HIVEMIND-20" due-to="Marcus Brito"> Added a version
+        of Registry.getService() that omits the service id (but requires that exactly one service
+        point implements the service interface). </action>
+      <action type="update" dev="HLS" fixes-bug="HIVEMIND-22"> Extended the BuilderFactory to
+        autowire services. </action>
       <action type="add" dev="HLS"> Added a new module that contains HiveMind example code. </action>
-      <action type="update" dev="HLS"> Fixed some latent bugs related to submodules inside the constructRegistry task. Made some more improvements to the hivebuild scripts. </action>
+      <action type="update" dev="HLS"> Fixed some latent bugs related to submodules inside the
+        constructRegistry task. Made some more improvements to the hivebuild scripts. </action>
       <action type="update" dev="HLS"> Updated the download location for the Forrest distribution. </action>
       <action type="update" dev="HLS"> Added more examples and examples documentation. </action>
-      <action type="add" dev="HLS"> Added StrictErrorHandler, an implementation of ErrorHandler that always throws an ApplicationRuntimeException. </action>
-      <action type="update" dev="HLS"> Moved the code for the Grabber Ant task into the tree and improve the build scripts to dynamically compile and use it. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-31" due-to="Johan Lindquist"> Typo in jar-module.xml causes broken build if junit library is missing </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-35"> Made a number of changes to ensure HiveMind compatibility with JDK 1.3. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-26"> Changed some unit tests to adapt to platform line endings. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-46" due-to="Johan Lindquist"> Fix the HiveDoc XSL to use XML (not SDL) output. </action>
+      <action type="add" dev="HLS"> Added StrictErrorHandler, an implementation of ErrorHandler that
+        always throws an ApplicationRuntimeException. </action>
+      <action type="update" dev="HLS"> Moved the code for the Grabber Ant task into the tree and
+        improve the build scripts to dynamically compile and use it. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-31" due-to="Johan Lindquist"> Typo in
+        jar-module.xml causes broken build if junit library is missing </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-35"> Made a number of changes to ensure
+        HiveMind compatibility with JDK 1.3. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-26"> Changed some unit tests to adapt to
+        platform line endings. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-46" due-to="Johan Lindquist"> Fix the HiveDoc
+        XSL to use XML (not SDL) output. </action>
     </release>
     <release version="1.0-beta-1" date="Jun 26 2004">
       <action type="update" dev="HLS">Added change log. </action>
-      <action type="update" dev="HLS">Refactored ClassFab and related classes for easier reuse outside of HiveMind. Added a new suite of tests related to ClassFab.</action>
-      <action type="add" dev="HLS">Created two new services in hivemind-lib for creating default implementations of arbitrary interfaces (<link href="site:hivemind.lib.DefaultImplementationBuilder">DefaultImplementationBuilder</link>) and for using that to create placeholder services (<link href="site:hivemind.lib.PlaceholderFactory">PlaceholderFactory</link>).</action>
-      <action type="add" dev="HLS">Created MessageFormatter class as a wrapper around ResourceBundle and an easy way for individual packages to gain access to runtime messages. </action>
-      <action type="update" dev="HLS">Modified the read-attribute rule to allow a translator to be specified (overriding the translator for the attribute).</action>
+      <action type="update" dev="HLS">Refactored ClassFab and related classes for easier reuse
+        outside of HiveMind. Added a new suite of tests related to ClassFab.</action>
+      <action type="add" dev="HLS">Created two new services in hivemind-lib for creating default
+        implementations of arbitrary interfaces (<link
+          href="site:hivemind.lib.DefaultImplementationBuilder">DefaultImplementationBuilder</link>)
+        and for using that to create placeholder services (<link
+          href="site:hivemind.lib.PlaceholderFactory">PlaceholderFactory</link>).</action>
+      <action type="add" dev="HLS">Created MessageFormatter class as a wrapper around ResourceBundle
+        and an easy way for individual packages to gain access to runtime messages. </action>
+      <action type="update" dev="HLS">Modified the read-attribute rule to allow a translator to be
+        specified (overriding the translator for the attribute).</action>
       <action type="add" dev="HLS">Added the qualified-id and id-list translators.</action>
-      <action type="add" dev="HLS">Added the <link href="site:hivemind.lib.PipelineFactory">hivemind.lib.PipelineFactory</link> and related code, schemas, tests and documentation. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-4"> Enhance logging of exceptions when setting a service property to a contribution </action>
-      <action type="add" dev="HLS"> Added service <link href="site:hivemind.lib.BeanFactoryBuilder">hivemind.lib.BeanFactoryBuilder</link>. </action>
-      <action type="update" dev="HLS"> Removed the &lt;description&gt; element from the module descriptor format; descriptions are now provided as enclosed text for element that support descriptions. </action>
-      <action type="update" dev="HLS"> Changed the MethodMatcher classes to use a MethodSignature rather than a Method. </action>
-      <action type="update" dev="HLS"> Changed MessageFormatter to automatically convert Throwables into their message or class name. </action>
+      <action type="add" dev="HLS">Added the <link href="site:hivemind.lib.PipelineFactory"
+          >hivemind.lib.PipelineFactory</link> and related code, schemas, tests and documentation. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-4"> Enhance logging of exceptions when
+        setting a service property to a contribution </action>
+      <action type="add" dev="HLS"> Added service <link href="site:hivemind.lib.BeanFactoryBuilder"
+          >hivemind.lib.BeanFactoryBuilder</link>. </action>
+      <action type="update" dev="HLS"> Removed the &lt;description&gt; element from the
+        module descriptor format; descriptions are now provided as enclosed text for element that
+        support descriptions. </action>
+      <action type="update" dev="HLS"> Changed the MethodMatcher classes to use a MethodSignature
+        rather than a Method. </action>
+      <action type="update" dev="HLS"> Changed MessageFormatter to automatically convert Throwables
+        into their message or class name. </action>
       <action type="add" dev="HLS"> Added FileResource. </action>
-      <action type="update" dev="HLS"> Extended <link href="site:hivemind.BuilderFactory">hivemind.BuilderFactory</link> to be able to set the ClassResolver; for a service implementation, and to autowire common properties (log, messages, serviceId, errorHandler, classResolver) if the properties are writeable and of the correct type. </action>
-      <action type="update" dev="HLS"> Added methods newControl(), newMock(), addControl(), replayControls() and verifyControls() to HiveMindTestCase to simplify test cases that use multiple <link href="http://www.easymock.org">EasyMock</link> mock objects. </action>
-      <action type="update" dev="HLS"> Changed HiveMindFilter to log a message after it stores the registry into the servlet context. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-11"> Restore the getConfiguration() and expandSymbols() methods to the Registry interface. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-9" due-to="Dieter Bogdoll"> SimpleDataLanguageParser calls the ContentHandler with a null namespace argument instead of "". That leads to some problems if you want to use transformers. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-7" due-to="Achim Hügen"> Fix how certain translator messages are generated to avoid unit test failures. </action>
-      <action type="update" dev="HLS" fixes-bug="HIVEMIND-12"> Modify the build files to enable debugging by default. </action>
-      <action type="update" dev="HLS"> Added validation of id attributes in module deployment descriptors (using ORO regular expressions). </action>
-      <action type="fix" dev="HLS"> Fix some typos in definition of the <link href="site:hivemind.lib.NameLookup">hivemind.lib.NameLookup</link> service. </action>
-      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-25" due-to="Naresh Sikha"> Fix a mistake in the BuilderFactory's set-object element, and add integration tests. </action>
+      <action type="update" dev="HLS"> Extended <link href="site:hivemind.BuilderFactory"
+          >hivemind.BuilderFactory</link> to be able to set the ClassResolver; for a service
+        implementation, and to autowire common properties (log, messages, serviceId, errorHandler,
+        classResolver) if the properties are writeable and of the correct type. </action>
+      <action type="update" dev="HLS"> Added methods newControl(), newMock(), addControl(),
+        replayControls() and verifyControls() to HiveMindTestCase to simplify test cases that use
+        multiple <link href="http://www.easymock.org">EasyMock</link> mock objects. </action>
+      <action type="update" dev="HLS"> Changed HiveMindFilter to log a message after it stores the
+        registry into the servlet context. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-11"> Restore the getConfiguration() and
+        expandSymbols() methods to the Registry interface. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-9" due-to="Dieter Bogdoll">
+        SimpleDataLanguageParser calls the ContentHandler with a null namespace argument instead of
+        "". That leads to some problems if you want to use transformers. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-7" due-to="Achim Hügen"> Fix how certain
+        translator messages are generated to avoid unit test failures. </action>
+      <action type="update" dev="HLS" fixes-bug="HIVEMIND-12"> Modify the build files to enable
+        debugging by default. </action>
+      <action type="update" dev="HLS"> Added validation of id attributes in module deployment
+        descriptors (using ORO regular expressions). </action>
+      <action type="fix" dev="HLS"> Fix some typos in definition of the <link
+          href="site:hivemind.lib.NameLookup">hivemind.lib.NameLookup</link> service. </action>
+      <action type="fix" dev="HLS" fixes-bug="HIVEMIND-25" due-to="Naresh Sikha"> Fix a mistake in
+        the BuilderFactory's set-object element, and add integration tests. </action>
     </release>
   </changes>
-</status>
\ No newline at end of file
+</status>



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


Mime
View raw message