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<S> to List<T>.
+ * Functional map (i.e., transform operation) from a Collection<S> to List<T>.
*/
- 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");