You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2010/05/14 19:35:28 UTC

svn commit: r944352 - in /tapestry/tapestry5/trunk: tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/ tapestry-core/src/main/java/org/apache/tapestry5/internal/renderers/ tapestry-core/src/main/java/org/apache/tapestry5/internal/ser...

Author: hlship
Date: Fri May 14 17:35:27 2010
New Revision: 944352

URL: http://svn.apache.org/viewvc?rev=944352&view=rev
Log:
TAP5-1035: In places where an invalid key is used to accessed a named value, Tapestry should report the possible names better (using HTML lists, rather than a long comma-separated string)

Removed:
    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ObjectComponentEventResultProcessorTest.java
Modified:
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/BeanModelImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/renderers/AvailableValuesRenderer.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClasspathAssetAliasManagerImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentClassResolverImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/NullFieldStrategySourceImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ObjectComponentEventResultProcessor.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PersistentFieldManagerImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/TranslatorSourceImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/JavascriptStackSourceImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/BindParameterWorker.java
    tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/internal/services/ServicesStrings.properties
    tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentClassResolverImplTest.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/TypeCoercerImpl.java
    tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/Func.java

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/BeanModelImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/BeanModelImpl.java?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/BeanModelImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/beaneditor/BeanModelImpl.java Fri May 14 17:35:27 2010
@@ -148,7 +148,7 @@ public class BeanModelImpl<T> implements
         if (propertyModel == null)
             throw new UnknownValueException(String.format(
                     "Bean editor model for %s does not contain a property named '%s'.", beanType.getName(),
-                    propertyName), new AvailableValues("properties", propertyNames));
+                    propertyName), new AvailableValues("Defined properties", propertyNames));
 
         return propertyModel;
     }
@@ -173,7 +173,7 @@ public class BeanModelImpl<T> implements
 
         throw new UnknownValueException(String.format(
                 "Bean editor model for %s does not contain a property with id '%s'.", beanType.getName(), propertyId),
-                new AvailableValues("property ids", ids));
+                new AvailableValues("Defined property ids", ids));
     }
 
     public List<String> getPropertyNames()

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/renderers/AvailableValuesRenderer.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/renderers/AvailableValuesRenderer.java?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/renderers/AvailableValuesRenderer.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/renderers/AvailableValuesRenderer.java Fri May 14 17:35:27 2010
@@ -31,7 +31,7 @@ public class AvailableValuesRenderer imp
 
         writer.element("p");
 
-        writer.writef("Available %s:", values.getValueType());
+        writer.writef("%s:", values.getValueType());
 
         writer.end();
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClasspathAssetAliasManagerImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClasspathAssetAliasManagerImpl.java?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClasspathAssetAliasManagerImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ClasspathAssetAliasManagerImpl.java Fri May 14 17:35:27 2010
@@ -113,7 +113,7 @@ public class ClasspathAssetAliasManagerI
                 String
                         .format(
                                 "Unable to create a client URL for classpath resource %s: The resource path was not within an aliased path.",
-                                resourcePath), new AvailableValues("aliased paths", aliasToPathPrefix.values()));
+                                resourcePath), new AvailableValues("Aliased paths", aliasToPathPrefix.values()));
     }
 
     public String toResourcePath(String clientURL)

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentClassResolverImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentClassResolverImpl.java?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentClassResolverImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ComponentClassResolverImpl.java Fri May 14 17:35:27 2010
@@ -430,7 +430,7 @@ public class ComponentClassResolverImpl 
 
                 if (result == null)
                     throw new UnknownValueException(String.format("Unable to resolve '%s' to a page class name.",
-                            pageName), new AvailableValues("page names", presentableNames(pageToClassName)));
+                            pageName), new AvailableValues("Page names", presentableNames(pageToClassName)));
 
                 return result;
             }
@@ -475,7 +475,7 @@ public class ComponentClassResolverImpl 
 
                 if (result == null)
                     throw new UnknownValueException(String.format("Unable to resolve '%s' to a component class name.",
-                            componentType), new AvailableValues("component types",
+                            componentType), new AvailableValues("Component types",
                             presentableNames(componentToClassName)));
 
                 return result;
@@ -512,7 +512,7 @@ public class ComponentClassResolverImpl 
 
                 if (result == null)
                     throw new UnknownValueException(String.format("Unable to resolve '%s' to a mixin class name.",
-                            mixinType), new AvailableValues("mixin types", presentableNames(mixinToClassName)));
+                            mixinType), new AvailableValues("Mixin types", presentableNames(mixinToClassName)));
 
                 return result;
             }
@@ -572,7 +572,7 @@ public class ComponentClassResolverImpl 
 
                 if (result == null)
                     throw new UnknownValueException(String.format("Unable to resolve '%s' to a known page name.",
-                            pageName), new AvailableValues("page names", presentableNames(pageNameToCanonicalPageName)));
+                            pageName), new AvailableValues("Page names", presentableNames(pageNameToCanonicalPageName)));
 
                 return result;
             }

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/NullFieldStrategySourceImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/NullFieldStrategySourceImpl.java?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/NullFieldStrategySourceImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/NullFieldStrategySourceImpl.java Fri May 14 17:35:27 2010
@@ -37,7 +37,7 @@ public class NullFieldStrategySourceImpl
         if (result != null) return result;
         
         throw new UnknownValueException(String.format("Unrecognized name '%s' locating a null field strategy.", name),
-                new AvailableValues("null field strategies", configuration));
+                new AvailableValues("Configured null field strategies", configuration));
 
     }
 }

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ObjectComponentEventResultProcessor.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ObjectComponentEventResultProcessor.java?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ObjectComponentEventResultProcessor.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/ObjectComponentEventResultProcessor.java Fri May 14 17:35:27 2010
@@ -1,10 +1,10 @@
-// Copyright 2007, 2008 The Apache Software Foundation
+// Copyright 2007, 2008, 2010 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
+// 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,
@@ -14,14 +14,21 @@
 
 package org.apache.tapestry5.internal.services;
 
-import org.apache.tapestry5.services.ComponentEventResultProcessor;
-
 import java.io.IOException;
 import java.util.Collection;
+import java.util.List;
+
+import org.apache.tapestry5.ioc.internal.util.Func;
+import org.apache.tapestry5.ioc.services.ClassFabUtils;
+import org.apache.tapestry5.ioc.services.Coercion;
+import org.apache.tapestry5.ioc.util.AvailableValues;
+import org.apache.tapestry5.ioc.util.UnknownValueException;
+import org.apache.tapestry5.services.ComponentEventResultProcessor;
 
 /**
  * A catch-all for type Object that reports the return value as an error.
  */
+@SuppressWarnings("unchecked")
 public class ObjectComponentEventResultProcessor implements ComponentEventResultProcessor<Object>
 {
     private final Collection<Class> configuredClasses;
@@ -33,10 +40,18 @@ public class ObjectComponentEventResultP
 
     public void processResultValue(Object value) throws IOException
     {
-        String message = ServicesMessages.invalidComponentEventResult(value,
-                                                                      configuredClasses);
+        List<String> names = Func.map(new Coercion<Class, String>()
+        {
+            public String coerce(Class input)
+            {
+                return ClassFabUtils.toJavaClassName(input);
+            }
+        }, configuredClasses);
+
+        String message = String.format(
+                "A component event handler method returned the value %s. Return type %s can not be handled.", value,
+                ClassFabUtils.toJavaClassName(value.getClass()));
 
-        throw new RuntimeException(message);
+        throw new UnknownValueException(message, new AvailableValues("Configured return types", names));
     }
-
 }

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PersistentFieldManagerImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PersistentFieldManagerImpl.java?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PersistentFieldManagerImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PersistentFieldManagerImpl.java Fri May 14 17:35:27 2010
@@ -48,7 +48,7 @@ public class PersistentFieldManagerImpl 
 
         if (result == null)
             throw new UnknownValueException(String.format("'%s' is not a defined persistent strategy.", strategyName),
-                    new AvailableValues("persistent field strategies", strategies));
+                    new AvailableValues("Configured persistent field strategies", strategies));
 
         return result;
     }

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImpl.java?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/PropertyConduitSourceImpl.java Fri May 14 17:35:27 2010
@@ -1036,7 +1036,7 @@ public class PropertyConduitSourceImpl i
 
                 throw new UnknownValueException(String.format(
                         "Class %s does not contain a property (or public field) named '%s'.", activeType.getName(),
-                        propertyName), new AvailableValues("properties (and public fields)", names));
+                        propertyName), new AvailableValues("Properties (and public fields)", names));
             }
 
             return createExpressionTermInfoForProperty(adapter);

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/TranslatorSourceImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/TranslatorSourceImpl.java?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/TranslatorSourceImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/TranslatorSourceImpl.java Fri May 14 17:35:27 2010
@@ -87,7 +87,7 @@ public class TranslatorSourceImpl implem
 
         if (result == null)
             throw new UnknownValueException(String.format("Unknown translator type '%s'.", name), new AvailableValues(
-                    "translators", nameToTranslator));
+                    "Configured translators", nameToTranslator));
 
         return result;
     }

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/JavascriptStackSourceImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/JavascriptStackSourceImpl.java?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/JavascriptStackSourceImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/javascript/JavascriptStackSourceImpl.java Fri May 14 17:35:27 2010
@@ -36,7 +36,7 @@ public class JavascriptStackSourceImpl i
 
         if (stack == null)
             throw new UnknownValueException(String.format("No JavascriptStack with name '%s'.", name),
-                    new AvailableValues("JavaScript stacks", configuration));
+                    new AvailableValues("Configured JavaScript stacks", configuration));
 
         return stack;
     }

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/structure/ComponentPageElementImpl.java Fri May 14 17:35:27 2010
@@ -873,7 +873,7 @@ public class ComponentPageElementImpl ex
             Set<String> ids = InternalUtils.keys(children);
 
             throw new UnknownValueException(String.format("Component %s does not contain embedded component '%s'.",
-                    getCompleteId(), embeddedId), new AvailableValues("embedded components", ids));
+                    getCompleteId(), embeddedId), new AvailableValues("Embedded components", ids));
         }
 
         return embeddedElement;
@@ -901,14 +901,15 @@ public class ComponentPageElementImpl ex
 
     private Component mixinForClassName(String mixinClassName)
     {
-
         if (mixinIdToComponentResources == null)
             return null;
+
         for (InternalComponentResources resources : mixinIdToComponentResources.values())
         {
             if (resources.getComponentModel().getComponentClassName().equals(mixinClassName)) { return resources
                     .getComponent(); }
         }
+
         return null;
     }
 

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/BindParameterWorker.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/BindParameterWorker.java?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/BindParameterWorker.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/BindParameterWorker.java Fri May 14 17:35:27 2010
@@ -190,7 +190,7 @@ public class BindParameterWorker impleme
 
         InternalUtils.joinSorted(guesses));
 
-        throw new UnknownValueException(message, new AvailableValues("formal parameters", model
+        throw new UnknownValueException(message, new AvailableValues("Formal parameters", model
                 .getDeclaredParameterNames()));
     }
 }

Modified: tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/internal/services/ServicesStrings.properties
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/internal/services/ServicesStrings.properties?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/internal/services/ServicesStrings.properties (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/main/resources/org/apache/tapestry5/internal/services/ServicesStrings.properties Fri May 14 17:35:27 2010
@@ -42,7 +42,6 @@ wrong-asset-digest=The asset digest in t
 unknown-validator-type=Unknown validator type '%s'.  Configured validators are %s.
 validator-specification-parse-error=Unexpected character '%s' at position %d of input string: %s
 missing-from-environment=No object of type %s is available from the Environment.  Available types are %s.
-invalid-component-event-result=A component event handler method returned the value %s. Return type %s can not be handled.  Configured return types are %s.
 undefined-tapestry-attribute=Element <%s> does not support an attribute named '%s'. The only allowed attribute name is '%s'.
 attribute-not-allowed=Element <%s> does not support any attributes.
 parameter-element-name-required=The name attribute of the <parameter> element must be specified.

Modified: tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentClassResolverImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentClassResolverImplTest.java?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentClassResolverImplTest.java (original)
+++ tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/services/ComponentClassResolverImplTest.java Fri May 14 17:35:27 2010
@@ -301,7 +301,7 @@ public class ComponentClassResolverImplT
         catch (UnknownValueException ex)
         {
             assertEquals(ex.getMessage(), "Unable to resolve \'Unknown\' to a page class name.");
-            assertEquals(ex.getAvailableValues().toString(), "AvailableValues[page names: Barney, Betty, Fred, Wilma]");
+            assertEquals(ex.getAvailableValues().toString(), "AvailableValues[Page names: Barney, Betty, Fred, Wilma]");
         }
 
         verify();

Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/RegistryImpl.java Fri May 14 17:35:27 2010
@@ -410,7 +410,7 @@ public class RegistryImpl implements Reg
 
         if (module == null)
             throw new UnknownValueException(String.format("Service id '%s' is not defined by any module.", serviceId),
-                    new AvailableValues("service ids", serviceIdToModule));
+                    new AvailableValues("Defined service ids", serviceIdToModule));
 
         return module;
     }

Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/TypeCoercerImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/TypeCoercerImpl.java?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/TypeCoercerImpl.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/services/TypeCoercerImpl.java Fri May 14 17:35:27 2010
@@ -301,7 +301,7 @@ public class TypeCoercerImpl implements 
             masterList.addAll(list);
         }
 
-        return new AvailableValues("coercions", masterList);
+        return new AvailableValues("Configured coercions", masterList);
     }
 
     /**

Modified: tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/Func.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/Func.java?rev=944352&r1=944351&r2=944352&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/Func.java (original)
+++ tapestry/tapestry5/trunk/tapestry-ioc/src/main/java/org/apache/tapestry5/ioc/internal/util/Func.java Fri May 14 17:35:27 2010
@@ -33,9 +33,9 @@ public class Func
 {
 
     /**
-     * Functional map (i.e., transform operation) from a List&lt;S&gt; to List&lt;T&gt;.
+     * Functional map (i.e., transform operation) from a Collection&lt;S&gt; to List&lt;T&gt;.
      */
-    public static <S, T> List<T> map(Coercion<S, T> coercion, List<S> source)
+    public static <S, T> List<T> map(Coercion<S, T> coercion, Collection<S> source)
     {
         Defense.notNull(source, "source");
         Defense.notNull(coercion, "coercion");