You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tapestry.apache.org by hl...@apache.org on 2005/11/14 13:55:37 UTC
svn commit: r344110 - in /jakarta/tapestry/trunk: ./
framework/src/descriptor/META-INF/
framework/src/documentation/content/xdocs/tapestry/ComponentReference/
framework/src/java/org/apache/tapestry/
framework/src/java/org/apache/tapestry/binding/ frame...
Author: hlship
Date: Mon Nov 14 04:55:12 2005
New Revision: 344110
URL: http://svn.apache.org/viewcvs?rev=344110&view=rev
Log:
Make default binding prefix configurable
Added:
jakarta/tapestry/trunk/framework/src/documentation/content/xdocs/tapestry/ComponentReference/index.xml
jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/pageload/PageLoaderTest.java
- copied, changed from r332813, jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/pageload/TestPageLoader.java
Removed:
jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/pageload/TestPageLoader.java
Modified:
jakarta/tapestry/trunk/framework/src/descriptor/META-INF/tapestry.page.xml
jakarta/tapestry/trunk/framework/src/descriptor/META-INF/tapestry.props.xml
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/TapestryConstants.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/AbstractBindingFactory.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/AssetBindingFactory.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/BeanBindingFactory.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/BindingFactory.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/ComponentBindingFactory.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/HiveMindBindingFactory.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/ListenerBindingFactory.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/ListenerMethodBinding.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/LiteralBindingFactory.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/MessageBindingFactory.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/OGNLBindingFactory.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/StateBinding.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/StateBindingFactory.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/form/translator/TranslatorBindingFactory.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/form/validator/ValidatorsBindingFactory.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/pageload/PageLoader.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/services/impl/ComponentPropertySourceImpl.java
jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/valid/ValidatorBindingFactory.java
jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/BaseComponentTestCase.java
jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/binding/TestListenerMethodBinding.java
jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/pageload/TestNamespaceClassSearchComponentClassProvider.java
jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/bindings/UserAttributeBinding.java
jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/bindings/UserAttributeBindingFactory.java
jakarta/tapestry/trunk/src/documentation/content/xdocs/QuickStart/index.xml
jakarta/tapestry/trunk/src/documentation/content/xdocs/UsersGuide/bindings.xml
jakarta/tapestry/trunk/src/documentation/content/xdocs/UsersGuide/configuration.xml
jakarta/tapestry/trunk/status.xml
Modified: jakarta/tapestry/trunk/framework/src/descriptor/META-INF/tapestry.page.xml
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/descriptor/META-INF/tapestry.page.xml?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/descriptor/META-INF/tapestry.page.xml (original)
+++ jakarta/tapestry/trunk/framework/src/descriptor/META-INF/tapestry.page.xml Mon Nov 14 04:55:12 2005
@@ -45,6 +45,7 @@
<set-service property="assetSource" service-id="tapestry.asset.AssetSource"/>
<set-service property="pageClassProvider" service-id="PageClassProvider"/>
<set-service property="componentClassProvider" service-id="ComponentClassProvider"/>
+ <set-object property="componentPropertySource" value="infrastructure:componentPropertySource"/>
<set-service property="threadLocale" service-id="hivemind.ThreadLocale"/>
</construct>
</invoke-factory>
Modified: jakarta/tapestry/trunk/framework/src/descriptor/META-INF/tapestry.props.xml
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/descriptor/META-INF/tapestry.props.xml?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/descriptor/META-INF/tapestry.props.xml (original)
+++ jakarta/tapestry/trunk/framework/src/descriptor/META-INF/tapestry.props.xml Mon Nov 14 04:55:12 2005
@@ -188,7 +188,8 @@
<default symbol="org.apache.tapestry.enhance.disable-abstract-method-validation" value="false"/>
<default symbol="org.apache.tapestry.default-page-class" value="org.apache.tapestry.html.BasePage"/>
<default symbol="org.apache.tapestry.template-extension" value="html"/>
- <default symbol="org.apache.tapestry.jwcid-attribute-name" value="jwcid"/>
+ <default symbol="org.apache.tapestry.jwcid-attribute-name" value="jwcid"/>
+ <default symbol="org.apache.tapestry.default-binding-prefix" value="ognl"/>
</contribution>
<!-- This may need to be converted into an IPropertySource and injected into the ApplicationPropertySources
Added: jakarta/tapestry/trunk/framework/src/documentation/content/xdocs/tapestry/ComponentReference/index.xml
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/documentation/content/xdocs/tapestry/ComponentReference/index.xml?rev=344110&view=auto
==============================================================================
--- jakarta/tapestry/trunk/framework/src/documentation/content/xdocs/tapestry/ComponentReference/index.xml (added)
+++ jakarta/tapestry/trunk/framework/src/documentation/content/xdocs/tapestry/ComponentReference/index.xml Mon Nov 14 04:55:12 2005
@@ -0,0 +1,35 @@
+<?xml version="1.0"?>
+<!--
+ Copyright 2005 The Apache Software Foundation
+
+ Licensed under the Apache License, Version 2.0 (the "License");
+ you may not use this file except in compliance with the License.
+ You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+-->
+
+<!DOCTYPE document PUBLIC "-//APACHE//DTD Documentation V1.2//EN" "./dtd/document-v12.dtd"
+[
+ <!ENTITY projectroot '../../'>
+ <!ENTITY % links.ent SYSTEM "../../links.ent">
+ %links.ent;
+ ]>
+<document>
+ <header>
+ <title>Framework Component Reference</title>
+ </header>
+ <body>
+ <p> The menu to the left lists all the components provided with the Tapestry framework. </p>
+ <p> Such components may always be referenced without any library prefix; in cases where an application or
+ library provides a component with the same name, the special prefix "framework:" may be used. That is,
+ "DirectLink" and "framework:DirectLink" are equivalent, unless your application (or library) includes a
+ component <em>also</em> named "DirectLink". </p>
+ </body>
+</document>
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/TapestryConstants.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/TapestryConstants.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/TapestryConstants.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/TapestryConstants.java Mon Nov 14 04:55:12 2005
@@ -32,6 +32,13 @@
public static final String PAGE_CLASS_NAME = "org.apache.tapestry.default-page-class";
+ /**
+ * Name of meta-data property used to determine the default binding prefix. The meta default for
+ * this is "ognl".
+ */
+
+ public static final String DEFAULT_BINDING_PREFIX_NAME = "org.apache.tapestry.default-binding-prefix";
+
private TapestryConstants()
{
}
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/AbstractBindingFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/AbstractBindingFactory.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/AbstractBindingFactory.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/AbstractBindingFactory.java Mon Nov 14 04:55:12 2005
@@ -17,11 +17,15 @@
import org.apache.tapestry.coerce.ValueConverter;
/**
+ * Base class for {@link org.apache.tapestry.binding.BindingFactory}s. Manages a
+ * {@link #getValueConverter() valueConverter property}, as all binding instances will need such a
+ * value injected.
+ *
* @author Howard M. Lewis Ship
+ * @since 4.0
*/
public abstract class AbstractBindingFactory implements BindingFactory
{
-
private ValueConverter _valueConverter;
public ValueConverter getValueConverter()
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/AssetBindingFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/AssetBindingFactory.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/AssetBindingFactory.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/AssetBindingFactory.java Mon Nov 14 04:55:12 2005
@@ -26,10 +26,9 @@
*/
public class AssetBindingFactory extends AbstractBindingFactory
{
- public IBinding createBinding(IComponent root, String description, String path,
+ public IBinding createBinding(IComponent root, String description, String expression,
Location location)
{
-
- return new AssetBinding(description, getValueConverter(), location, root, path);
+ return new AssetBinding(description, getValueConverter(), location, root, expression);
}
}
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/BeanBindingFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/BeanBindingFactory.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/BeanBindingFactory.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/BeanBindingFactory.java Mon Nov 14 04:55:12 2005
@@ -25,9 +25,9 @@
public class BeanBindingFactory extends AbstractBindingFactory
{
- public IBinding createBinding(IComponent root, String description, String path,
+ public IBinding createBinding(IComponent root, String description, String expression,
Location location)
{
- return new BeanBinding(description, getValueConverter(), location, root, path);
+ return new BeanBinding(description, getValueConverter(), location, root, expression);
}
}
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/BindingFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/BindingFactory.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/BindingFactory.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/BindingFactory.java Mon Nov 14 04:55:12 2005
@@ -34,15 +34,16 @@
* path is "evaluated", the root component provides a context.
* @param description
* The {@link IBinding#getDescription() description}of the binding.
- * @param path
- * The path used to get (or update) a value for the path. This may be an OGNL
- * expression, a message key, a literal value, or otherwise defined by the type of
- * binding. It is the value of the binding reference with the prefix (used to
- * identify the factory) stripped off.
+ * @param expression
+ * The expression used to get (or update) a value. The interpretation of this
+ * expression is determined by the type of {@link IBinding} created by this factory.
+ * In some cases, it is simple the name of an object contained by the root component.
+ * For the common "ognl:" binding prefix, it is an OGNL expression to be evaluated on
+ * the root object.
* @param location
* The location of the binding, used to report any errors related to the binding, or
* to the component parameter the binding is bound to.
*/
- public IBinding createBinding(IComponent root, String bindingDescription, String path,
+ public IBinding createBinding(IComponent root, String bindingDescription, String expression,
Location location);
}
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/ComponentBindingFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/ComponentBindingFactory.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/ComponentBindingFactory.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/ComponentBindingFactory.java Mon Nov 14 04:55:12 2005
@@ -27,9 +27,9 @@
*/
public class ComponentBindingFactory extends AbstractBindingFactory
{
- public IBinding createBinding(IComponent root, String description, String path,
+ public IBinding createBinding(IComponent root, String description, String expression,
Location location)
{
- return new ComponentBinding(description, getValueConverter(), location, root, path);
+ return new ComponentBinding(description, getValueConverter(), location, root, expression);
}
}
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/HiveMindBindingFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/HiveMindBindingFactory.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/HiveMindBindingFactory.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/HiveMindBindingFactory.java Mon Nov 14 04:55:12 2005
@@ -29,10 +29,10 @@
{
private InjectedValueProvider _injectedValueProvider;
- public IBinding createBinding(IComponent root, String bindingDescription, String path,
+ public IBinding createBinding(IComponent root, String bindingDescription, String expression,
Location location)
{
- return new HiveMindBinding(bindingDescription, getValueConverter(), location, path,
+ return new HiveMindBinding(bindingDescription, getValueConverter(), location, expression,
_injectedValueProvider);
}
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/ListenerBindingFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/ListenerBindingFactory.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/ListenerBindingFactory.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/ListenerBindingFactory.java Mon Nov 14 04:55:12 2005
@@ -28,10 +28,11 @@
public class ListenerBindingFactory extends AbstractBindingFactory
{
- public IBinding createBinding(IComponent root, String description, String path,
+ public IBinding createBinding(IComponent root, String description, String expression,
Location location)
{
- return new ListenerMethodBinding(root, path, description, getValueConverter(), location);
+ return new ListenerMethodBinding(description, getValueConverter(), location, root,
+ expression);
}
}
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/ListenerMethodBinding.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/ListenerMethodBinding.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/ListenerMethodBinding.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/ListenerMethodBinding.java Mon Nov 14 04:55:12 2005
@@ -41,8 +41,8 @@
private IActionListener _listener;
- public ListenerMethodBinding(IComponent component, String methodName, String description,
- ValueConverter valueConverter, Location location)
+ public ListenerMethodBinding(String description, ValueConverter valueConverter, Location location,
+ IComponent component, String methodName)
{
super(description, valueConverter, location);
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/LiteralBindingFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/LiteralBindingFactory.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/LiteralBindingFactory.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/LiteralBindingFactory.java Mon Nov 14 04:55:12 2005
@@ -28,10 +28,10 @@
public class LiteralBindingFactory extends AbstractBindingFactory
{
- public IBinding createBinding(IComponent root, String description, String path,
+ public IBinding createBinding(IComponent root, String description, String expression,
Location location)
{
- return new LiteralBinding(description, getValueConverter(), location, path);
+ return new LiteralBinding(description, getValueConverter(), location, expression);
}
}
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/MessageBindingFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/MessageBindingFactory.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/MessageBindingFactory.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/MessageBindingFactory.java Mon Nov 14 04:55:12 2005
@@ -26,9 +26,9 @@
*/
public class MessageBindingFactory extends AbstractBindingFactory
{
- public IBinding createBinding(IComponent root, String description, String path,
+ public IBinding createBinding(IComponent root, String description, String expression,
Location location)
{
- return new MessageBinding(description, getValueConverter(), location, root, path);
+ return new MessageBinding(description, getValueConverter(), location, root, expression);
}
}
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/OGNLBindingFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/OGNLBindingFactory.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/OGNLBindingFactory.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/OGNLBindingFactory.java Mon Nov 14 04:55:12 2005
@@ -33,10 +33,10 @@
private ExpressionCache _expressionCache;
- public IBinding createBinding(IComponent root, String description, String path,
+ public IBinding createBinding(IComponent root, String description, String expression,
Location location)
{
- return new ExpressionBinding(description, location, getValueConverter(), root, path,
+ return new ExpressionBinding(description, location, getValueConverter(), root, expression,
_expressionEvaluator, _expressionCache);
}
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/StateBinding.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/StateBinding.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/StateBinding.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/StateBinding.java Mon Nov 14 04:55:12 2005
@@ -29,9 +29,9 @@
*/
public class StateBinding extends AbstractBinding
{
- private ApplicationStateManager _applicationStateManager;
+ private final ApplicationStateManager _applicationStateManager;
- private String _objectName;
+ private final String _objectName;
public StateBinding(String description, ValueConverter valueConverter, Location location,
ApplicationStateManager applicationStateManager, String objectName)
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/StateBindingFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/StateBindingFactory.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/StateBindingFactory.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/binding/StateBindingFactory.java Mon Nov 14 04:55:12 2005
@@ -32,11 +32,11 @@
_applicationStateManager = applicationStateManager;
}
- public IBinding createBinding(IComponent root, String bindingDescription, String path,
+ public IBinding createBinding(IComponent root, String bindingDescription, String expression,
Location location)
{
return new StateBinding(bindingDescription, getValueConverter(), location,
- _applicationStateManager, path);
+ _applicationStateManager, expression);
}
}
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/form/translator/TranslatorBindingFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/form/translator/TranslatorBindingFactory.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/form/translator/TranslatorBindingFactory.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/form/translator/TranslatorBindingFactory.java Mon Nov 14 04:55:12 2005
@@ -28,17 +28,19 @@
*
* @author Howard Lewis Ship
* @since 4.0
+ * @deprecated Support for the translator: will be removed in release 4.1, along with
+ * {@link org.apache.tapestry.valid.ValidField}.
*/
public class TranslatorBindingFactory extends AbstractBindingFactory
{
private BeanFactory _translatorBeanFactory;
- public IBinding createBinding(IComponent root, String bindingDescription, String path,
+ public IBinding createBinding(IComponent root, String bindingDescription, String expression,
Location location)
{
try
{
- Translator translator = (Translator) _translatorBeanFactory.get(path);
+ Translator translator = (Translator) _translatorBeanFactory.get(expression);
return new TranslatorBinding(bindingDescription, getValueConverter(), location,
translator);
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/form/validator/ValidatorsBindingFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/form/validator/ValidatorsBindingFactory.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/form/validator/ValidatorsBindingFactory.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/form/validator/ValidatorsBindingFactory.java Mon Nov 14 04:55:12 2005
@@ -31,12 +31,12 @@
_validatorFactory = validatorFactory;
}
- public IBinding createBinding(IComponent root, String bindingDescription, String path,
+ public IBinding createBinding(IComponent root, String bindingDescription, String expression,
Location location)
{
try
{
- List validators = _validatorFactory.constructValidatorList(root, path);
+ List validators = _validatorFactory.constructValidatorList(root, expression);
return new ValidatorsBinding(bindingDescription, getValueConverter(), location,
validators);
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/pageload/PageLoader.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/pageload/PageLoader.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/pageload/PageLoader.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/pageload/PageLoader.java Mon Nov 14 04:55:12 2005
@@ -37,6 +37,7 @@
import org.apache.tapestry.IPage;
import org.apache.tapestry.IRequestCycle;
import org.apache.tapestry.ITemplateComponent;
+import org.apache.tapestry.TapestryConstants;
import org.apache.tapestry.asset.AssetSource;
import org.apache.tapestry.binding.BindingConstants;
import org.apache.tapestry.binding.BindingSource;
@@ -47,6 +48,7 @@
import org.apache.tapestry.resolver.ComponentSpecificationResolver;
import org.apache.tapestry.services.ComponentConstructor;
import org.apache.tapestry.services.ComponentConstructorFactory;
+import org.apache.tapestry.services.ComponentPropertySource;
import org.apache.tapestry.services.ComponentTemplateLoader;
import org.apache.tapestry.spec.BindingType;
import org.apache.tapestry.spec.ContainedComponent;
@@ -58,7 +60,8 @@
import org.apache.tapestry.web.WebContextResource;
/**
- * Runs the process of building the component hierarchy for an entire page.
+ * Implementation of tapestry.page.PageLoader. Runs the process of building the component hierarchy
+ * for an entire page.
* <p>
* This implementation is not threadsafe, therefore the pooled service model must be used.
*
@@ -120,6 +123,14 @@
private ComponentClassProvider _componentClassProvider;
/**
+ * Used to resolve meta-data properties related to a component.
+ *
+ * @since 4.0
+ */
+
+ private ComponentPropertySource _componentPropertySource;
+
+ /**
* Tracks the current locale into which pages are loaded.
*
* @since 4.0
@@ -187,7 +198,8 @@
* {@link IComponentSpecification}).
*/
- void bind(IComponent container, IComponent component, IContainedComponent contained)
+ void bind(IComponent container, IComponent component, IContainedComponent contained,
+ String defaultBindingPrefix)
{
IComponentSpecification spec = component.getSpecification();
boolean formalOnly = !spec.getAllowInformalParameters();
@@ -281,7 +293,7 @@
String description = PageloadMessages.parameterName(name);
- IBinding binding = convert(container, description, BindingConstants.OGNL_PREFIX, bspec);
+ IBinding binding = convert(container, description, defaultBindingPrefix, bspec);
addBindingToComponent(component, parameterName, binding);
}
@@ -358,6 +370,10 @@
if (_depth > _maxDepth)
_maxDepth = _depth;
+ String defaultBindingPrefix = _componentPropertySource.getComponentProperty(
+ container,
+ TapestryConstants.DEFAULT_BINDING_PREFIX_NAME);
+
List ids = new ArrayList(containerSpec.getComponentIds());
int count = ids.size();
@@ -398,7 +414,7 @@
// Set up any bindings in the IContainedComponent specification
- bind(container, component, contained);
+ bind(container, component, contained, defaultBindingPrefix);
// Now construct the component recusively; it gets its chance
// to create its subcomponents and set their bindings.
@@ -764,5 +780,11 @@
public void setThreadLocale(ThreadLocale threadLocale)
{
_threadLocale = threadLocale;
+ }
+
+ /** @since 4.0 */
+ public void setComponentPropertySource(ComponentPropertySource componentPropertySource)
+ {
+ _componentPropertySource = componentPropertySource;
}
}
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/services/impl/ComponentPropertySourceImpl.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/services/impl/ComponentPropertySourceImpl.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/services/impl/ComponentPropertySourceImpl.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/services/impl/ComponentPropertySourceImpl.java Mon Nov 14 04:55:12 2005
@@ -31,6 +31,8 @@
import org.apache.tapestry.util.PropertyHolderPropertySource;
/**
+ * Implementation of tapestry.props.ComponentPropertySource.
+ * <p>
* TODO: Figure out a testing strategy for this beast!
*
* @author Howard M. Lewis Ship
Modified: jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/valid/ValidatorBindingFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/valid/ValidatorBindingFactory.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/valid/ValidatorBindingFactory.java (original)
+++ jakarta/tapestry/trunk/framework/src/java/org/apache/tapestry/valid/ValidatorBindingFactory.java Mon Nov 14 04:55:12 2005
@@ -19,8 +19,7 @@
import org.apache.hivemind.lib.BeanFactory;
import org.apache.tapestry.IBinding;
import org.apache.tapestry.IComponent;
-import org.apache.tapestry.binding.BindingFactory;
-import org.apache.tapestry.coerce.ValueConverter;
+import org.apache.tapestry.binding.AbstractBindingFactory;
/**
* Uses the tapestry.valid.ValidatorBeanFactory service to obtain configuration IValidator
@@ -30,41 +29,34 @@
* @since 4.0
* @see org.apache.tapestry.valid.ValidatorBinding
*/
-public class ValidatorBindingFactory implements BindingFactory
+public class ValidatorBindingFactory extends AbstractBindingFactory
{
private BeanFactory _validatorBeanFactory;
- private ValueConverter _valueConverter;
-
public void setValidatorBeanFactory(BeanFactory validatorBeanFactory)
{
_validatorBeanFactory = validatorBeanFactory;
}
- public void setValueConverter(ValueConverter valueConverter)
- {
- _valueConverter = valueConverter;
- }
-
/**
* Creates and returns a {@link ValidatorBinding}. Interprets the path as a bean initializer,
* used to locate a particular type of validator and a particular configuration of its
* properties.
*/
- public IBinding createBinding(IComponent root, String bindingDescription, String path,
+ public IBinding createBinding(IComponent root, String bindingDescription, String expression,
Location location)
{
try
{
- IValidator validator = (IValidator) _validatorBeanFactory.get(path);
+ IValidator validator = (IValidator) _validatorBeanFactory.get(expression);
- return new ValidatorBinding(bindingDescription, _valueConverter, location, validator);
+ return new ValidatorBinding(bindingDescription, getValueConverter(), location,
+ validator);
}
catch (Exception ex)
{
throw new ApplicationRuntimeException(ex.getMessage(), location, ex);
}
}
-
}
Modified: jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/BaseComponentTestCase.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/BaseComponentTestCase.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/BaseComponentTestCase.java (original)
+++ jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/BaseComponentTestCase.java Mon Nov 14 04:55:12 2005
@@ -17,6 +17,7 @@
import java.io.CharArrayWriter;
import java.io.PrintWriter;
+import org.apache.commons.logging.Log;
import org.apache.hivemind.ClassResolver;
import org.apache.hivemind.Locatable;
import org.apache.hivemind.Location;
@@ -24,7 +25,6 @@
import org.apache.hivemind.test.AggregateArgumentsMatcher;
import org.apache.hivemind.test.ArgumentMatcher;
import org.apache.hivemind.test.HiveMindTestCase;
-import org.apache.hivemind.test.TypeMatcher;
import org.apache.tapestry.components.ILinkComponent;
import org.apache.tapestry.engine.IEngineService;
import org.apache.tapestry.engine.ILink;
@@ -164,11 +164,9 @@
protected IBinding newBinding(Location location)
{
- MockControl control = newControl(IBinding.class);
- IBinding binding = (IBinding) control.getMock();
+ IBinding binding = newBinding();
- binding.getLocation();
- control.setReturnValue(location);
+ trainGetLocation(binding, location);
return binding;
}
@@ -475,5 +473,22 @@
link.getParameterNames();
setReturnValue(link, names);
+ }
+
+ protected void trainGetSpecification(IComponent component, IComponentSpecification spec)
+ {
+ component.getSpecification();
+ setReturnValue(component, spec);
+ }
+
+ protected void trainGetBinding(IComponent component, String name, IBinding binding)
+ {
+ component.getBinding(name);
+ setReturnValue(component, binding);
+ }
+
+ protected Log newLog()
+ {
+ return (Log) newMock(Log.class);
}
}
Modified: jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/binding/TestListenerMethodBinding.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/binding/TestListenerMethodBinding.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/binding/TestListenerMethodBinding.java (original)
+++ jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/binding/TestListenerMethodBinding.java Mon Nov 14 04:55:12 2005
@@ -48,7 +48,7 @@
replayControls();
- ListenerMethodBinding b = new ListenerMethodBinding(component, "foo", "param", vc, l);
+ ListenerMethodBinding b = new ListenerMethodBinding("param", vc, l, component, "foo");
assertSame(b, b.getObject());
assertSame(component, b.getComponent());
@@ -68,7 +68,7 @@
replayControls();
- ListenerMethodBinding b = new ListenerMethodBinding(component, "foo", "param", vc, l);
+ ListenerMethodBinding b = new ListenerMethodBinding("param", vc, l, component, "foo");
String toString = b.toString();
String description = toString.substring(toString.indexOf('[') + 1, toString.length() - 1);
@@ -99,7 +99,7 @@
replayControls();
- ListenerMethodBinding b = new ListenerMethodBinding(component, "foo", "param", vc, l);
+ ListenerMethodBinding b = new ListenerMethodBinding("param", vc, l, component, "foo");
try
{
@@ -133,7 +133,7 @@
replayControls();
- ListenerMethodBinding b = new ListenerMethodBinding(component, "foo", "param", vc, l);
+ ListenerMethodBinding b = new ListenerMethodBinding("param", vc, l, component, "foo");
try
{
@@ -169,7 +169,7 @@
replayControls();
- ListenerMethodBinding b = new ListenerMethodBinding(component, "foo", "param", vc, l);
+ ListenerMethodBinding b = new ListenerMethodBinding("param", vc, l, component, "foo");
try
{
Copied: jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/pageload/PageLoaderTest.java (from r332813, jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/pageload/TestPageLoader.java)
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/pageload/PageLoaderTest.java?p2=jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/pageload/PageLoaderTest.java&p1=jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/pageload/TestPageLoader.java&r1=332813&r2=344110&rev=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/pageload/TestPageLoader.java (original)
+++ jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/pageload/PageLoaderTest.java Mon Nov 14 04:55:12 2005
@@ -17,17 +17,17 @@
import org.apache.commons.logging.Log;
import org.apache.hivemind.ApplicationRuntimeException;
import org.apache.hivemind.Location;
-import org.apache.hivemind.test.HiveMindTestCase;
+import org.apache.tapestry.BaseComponentTestCase;
import org.apache.tapestry.IBinding;
import org.apache.tapestry.IComponent;
import org.apache.tapestry.binding.BindingSource;
+import org.apache.tapestry.services.ComponentPropertySource;
import org.apache.tapestry.spec.BindingSpecification;
import org.apache.tapestry.spec.BindingType;
import org.apache.tapestry.spec.ComponentSpecification;
import org.apache.tapestry.spec.ContainedComponent;
import org.apache.tapestry.spec.IComponentSpecification;
import org.apache.tapestry.spec.ParameterSpecification;
-import org.easymock.MockControl;
/**
* Additional tests for {@link org.apache.tapestry.pageload.PageLoader}. Ultimately, testing this
@@ -36,48 +36,18 @@
* @author Howard M. Lewis Ship
* @since 4.0
*/
-public class TestPageLoader extends HiveMindTestCase
+public class PageLoaderTest extends BaseComponentTestCase
{
- public IComponent newComponent(IComponentSpecification spec)
- {
- MockControl control = newControl(IComponent.class);
- IComponent component = (IComponent) control.getMock();
-
- component.getSpecification();
- control.setReturnValue(spec);
-
- return component;
- }
-
- private IBinding newBinding()
- {
- return (IBinding) newMock(IBinding.class);
- }
-
- private IBinding newBinding(Location l)
- {
- MockControl control = newControl(IBinding.class);
- IBinding binding = (IBinding) control.getMock();
-
- binding.getLocation();
- control.setReturnValue(l);
-
- return binding;
- }
public void testAddDuplicateBindingFails()
{
- MockControl componentc = newControl(IComponent.class);
- IComponent component = (IComponent) componentc.getMock();
-
+ IComponent component = newComponent();
Location l1 = newLocation();
Location l2 = newLocation();
-
IBinding oldBinding = newBinding(l1);
IBinding newBinding = newBinding(l2);
- component.getBinding("dupe");
- componentc.setReturnValue(oldBinding);
+ trainGetBinding(component, "dupe", oldBinding);
replayControls();
@@ -89,7 +59,7 @@
catch (ApplicationRuntimeException ex)
{
assertEquals(
- "A binding for parameter dupe conflicts with a previous binding (at classpath:/org/apache/tapestry/pageload/TestPageLoader, line 1).",
+ "A binding for parameter dupe conflicts with a previous binding (at classpath:/org/apache/tapestry/pageload/PageLoaderTest, line 1).",
ex.getMessage());
assertSame(component, ex.getComponent());
assertSame(l2, ex.getLocation());
@@ -98,11 +68,11 @@
public void testBindAlias()
{
- MockControl containerc = newControl(IComponent.class);
- IComponent container = (IComponent) containerc.getMock();
-
- MockControl componentc = newControl(IComponent.class);
- IComponent component = (IComponent) componentc.getMock();
+ IComponent container = newComponent();
+ IComponent component = newComponent();
+ Log log = newLog();
+ IBinding binding = newBinding();
+ BindingSource source = newBindingSource();
ParameterSpecification pspec = new ParameterSpecification();
pspec.setParameterName("fred");
@@ -122,23 +92,21 @@
IComponentSpecification spec = new ComponentSpecification();
spec.addParameter(pspec);
- component.getSpecification();
- componentc.setReturnValue(spec);
-
- Log log = (Log) newMock(Log.class);
+ trainGetSpecification(component, spec);
log
- .warn("Parameter barney (for component FredComponent, at classpath:/org/apache/tapestry/pageload/TestPageLoader, line 1) was bound; this parameter has been deprecated, bind parameter fred instead.");
+ .warn("Parameter barney (for component FredComponent, at classpath:/org/apache/tapestry/pageload/PageLoaderTest, line 1) was bound; this parameter has been deprecated, bind parameter fred instead.");
- IBinding binding = newBinding();
- MockControl sourcec = newControl(BindingSource.class);
- BindingSource source = (BindingSource) sourcec.getMock();
-
- source.createBinding(container, "parameter barney", "an-expression", "ognl", l);
- sourcec.setReturnValue(binding);
+ trainCreateBinding(
+ source,
+ container,
+ "parameter barney",
+ "an-expression",
+ "ognl",
+ l,
+ binding);
- component.getBinding("fred");
- componentc.setReturnValue(null);
+ trainGetBinding(component, "fred", null);
component.setBinding("fred", binding);
@@ -148,18 +116,30 @@
loader.setLog(log);
loader.setBindingSource(source);
- loader.bind(container, component, contained);
+ loader.bind(container, component, contained, "ognl");
verifyControls();
}
- public void testBindDeprecated()
+ private void trainCreateBinding(BindingSource source, IComponent container, String description,
+ String expression, String defaultBindingPrefix, Location l, IBinding binding)
+ {
+ source.createBinding(container, description, expression, defaultBindingPrefix, l);
+ setReturnValue(source, binding);
+ }
+
+ protected BindingSource newBindingSource()
{
- MockControl containerc = newControl(IComponent.class);
- IComponent container = (IComponent) containerc.getMock();
+ return (BindingSource) newMock(BindingSource.class);
+ }
- MockControl componentc = newControl(IComponent.class);
- IComponent component = (IComponent) componentc.getMock();
+ public void testBindDeprecated()
+ {
+ IComponent container = newComponent();
+ IComponent component = newComponent();
+ IBinding binding = newBinding();
+ BindingSource source = newBindingSource();
+ Log log = newLog();
ParameterSpecification pspec = new ParameterSpecification();
pspec.setParameterName("fred");
@@ -179,25 +159,16 @@
IComponentSpecification spec = new ComponentSpecification();
spec.addParameter(pspec);
- component.getSpecification();
- componentc.setReturnValue(spec);
-
- Log log = (Log) newMock(Log.class);
+ trainGetSpecification(component, spec);
log
- .warn("Parameter fred (at classpath:/org/apache/tapestry/pageload/TestPageLoader, line 1) has been deprecated, "
+ .warn("Parameter fred (at classpath:/org/apache/tapestry/pageload/PageLoaderTest, line 1) has been deprecated, "
+ "and may be removed in a future release. Consult the documentation for component FredComponent to "
+ "determine an appropriate replacement.");
- IBinding binding = newBinding();
- MockControl sourcec = newControl(BindingSource.class);
- BindingSource source = (BindingSource) sourcec.getMock();
-
- source.createBinding(container, "parameter fred", "an-expression", "ognl", l);
- sourcec.setReturnValue(binding);
+ trainCreateBinding(source, container, "parameter fred", "an-expression", "ognl", l, binding);
- component.getBinding("fred");
- componentc.setReturnValue(null);
+ trainGetBinding(component, "fred", null);
component.setBinding("fred", binding);
@@ -207,8 +178,13 @@
loader.setLog(log);
loader.setBindingSource(source);
- loader.bind(container, component, contained);
+ loader.bind(container, component, contained, "ognl");
verifyControls();
+ }
+
+ protected ComponentPropertySource newPropertySource()
+ {
+ return (ComponentPropertySource) newMock(ComponentPropertySource.class);
}
}
Modified: jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/pageload/TestNamespaceClassSearchComponentClassProvider.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/pageload/TestNamespaceClassSearchComponentClassProvider.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/pageload/TestNamespaceClassSearchComponentClassProvider.java (original)
+++ jakarta/tapestry/trunk/framework/src/test/org/apache/tapestry/pageload/TestNamespaceClassSearchComponentClassProvider.java Mon Nov 14 04:55:12 2005
@@ -61,7 +61,7 @@
ClassFinder finder = newClassFinder(
"org.apache.tapestry.pageload",
"bar.Baz",
- TestPageLoader.class);
+ PageLoaderTest.class);
IComponentSpecification spec = newSpec();
@@ -74,7 +74,7 @@
provider.setClassFinder(finder);
provider.setPackagesName("zip");
- assertEquals(TestPageLoader.class.getName(), provider.provideComponentClassName(context));
+ assertEquals(PageLoaderTest.class.getName(), provider.provideComponentClassName(context));
verifyControls();
}
Modified: jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/bindings/UserAttributeBinding.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/bindings/UserAttributeBinding.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/bindings/UserAttributeBinding.java (original)
+++ jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/bindings/UserAttributeBinding.java Mon Nov 14 04:55:12 2005
@@ -32,9 +32,9 @@
*/
public class UserAttributeBinding extends AbstractBinding
{
- private PortletRequest _request;
+ private final PortletRequest _request;
- private String _attributeName;
+ private final String _attributeName;
public UserAttributeBinding(String description, ValueConverter valueConverter,
Location location, PortletRequest request, String attributeName)
Modified: jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/bindings/UserAttributeBindingFactory.java
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/bindings/UserAttributeBindingFactory.java?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/bindings/UserAttributeBindingFactory.java (original)
+++ jakarta/tapestry/trunk/portlet/src/java/org/apache/tapestry/portlet/bindings/UserAttributeBindingFactory.java Mon Nov 14 04:55:12 2005
@@ -19,8 +19,10 @@
import org.apache.hivemind.Location;
import org.apache.tapestry.IBinding;
import org.apache.tapestry.IComponent;
+import org.apache.tapestry.binding.AbstractBindingFactory;
import org.apache.tapestry.binding.BindingFactory;
import org.apache.tapestry.coerce.ValueConverter;
+import org.apache.tapestry.form.validator.AbstractValidatorWrapper;
/**
* Factory used to create {@link org.apache.tapestry.portlet.bindings.UserAttributeBinding}s.
@@ -28,30 +30,23 @@
* @author Howard M. Lewis Ship
* @since 4.0
*/
-public class UserAttributeBindingFactory implements BindingFactory
+public class UserAttributeBindingFactory extends AbstractBindingFactory
{
private PortletRequest _request;
- private ValueConverter _valueConverter;
-
/**
* Interprets the path as the Portlet user attribute name.
*/
- public IBinding createBinding(IComponent root, String bindingDescription, String path,
+ public IBinding createBinding(IComponent root, String bindingDescription, String expression,
Location location)
{
- return new UserAttributeBinding(bindingDescription, _valueConverter, location, _request,
- path);
+ return new UserAttributeBinding(bindingDescription, getValueConverter(), location,
+ _request, expression);
}
public void setRequest(PortletRequest request)
{
_request = request;
- }
-
- public void setValueConverter(ValueConverter valueConverter)
- {
- _valueConverter = valueConverter;
}
}
Modified: jakarta/tapestry/trunk/src/documentation/content/xdocs/QuickStart/index.xml
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/src/documentation/content/xdocs/QuickStart/index.xml?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/src/documentation/content/xdocs/QuickStart/index.xml (original)
+++ jakarta/tapestry/trunk/src/documentation/content/xdocs/QuickStart/index.xml Mon Nov 14 04:55:12 2005
@@ -32,7 +32,7 @@
<p>
This is the Tapestry Quick Start; basic documentation to get your started using Tapestry.
-The <link href="../UsersGuide/">Users Guide</link> is conceptual; it provides the gritty details.
+The <link href="../UsersGuide/index.html">Users Guide</link> is conceptual; it provides the gritty details.
This Quick Start is about getting you running with Tapestry.
</p>
Modified: jakarta/tapestry/trunk/src/documentation/content/xdocs/UsersGuide/bindings.xml
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/src/documentation/content/xdocs/UsersGuide/bindings.xml?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/src/documentation/content/xdocs/UsersGuide/bindings.xml (original)
+++ jakarta/tapestry/trunk/src/documentation/content/xdocs/UsersGuide/bindings.xml Mon Nov 14 04:55:12 2005
@@ -39,7 +39,7 @@
When binding a component parameter, the value to be bound may be just a literal string, or
it could be an &OGNL; expression, or subject to any of a number of other interpretations. Tapestry
uses a <em>prefix</em> value, such as "ognl:", or "message:", to identify how the rest of the
-value is to be interprted. The prefix identifies the <em>binding type</em>:
+value is to be interpreted. The prefix identifies the <em>binding type</em>:
</p>
@@ -148,7 +148,8 @@
<p>
What happens when you omit a binding prefix? In a page or component <em>template</em>, the value it is assumed to be a literal string, as with the "literal:" prefix.
-In a page or component specification, or inside a Java annotation, the value is assumed to be an &OGNL; expression, as with the "ognl:" prefix. You will occasionally have
+In a page or component specification, or inside a Java annotation, the value is assumed to be an &OGNL; expression, as with the "ognl:" prefix
+(but even this can be configured). You will occasionally have
to use an explicit "literal:" prefix inside such files.
</p>
Modified: jakarta/tapestry/trunk/src/documentation/content/xdocs/UsersGuide/configuration.xml
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/src/documentation/content/xdocs/UsersGuide/configuration.xml?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/src/documentation/content/xdocs/UsersGuide/configuration.xml (original)
+++ jakarta/tapestry/trunk/src/documentation/content/xdocs/UsersGuide/configuration.xml Mon Nov 14 04:55:12 2005
@@ -354,6 +354,16 @@
</tr>
<tr>
+ <td>org.apache.tapestry.default-binding-prefix</td>
+ <td>
+ The default binding to use when no explicit binding prefix is provided. This is typically set inside a page or
+ component specification, or within an application specification or library specification (to provide the default
+ for all pages and components). If not otherwise specified,
+ the default binding prefix is "ognl".
+ </td>
+ </tr>
+
+ <tr>
<td>org.apache.tapestry.default-cookie-max-age</td>
<td>
The default max age (in seconds) for cookies written by Tapestry, including the cookie used
Modified: jakarta/tapestry/trunk/status.xml
URL: http://svn.apache.org/viewcvs/jakarta/tapestry/trunk/status.xml?rev=344110&r1=344109&r2=344110&view=diff
==============================================================================
--- jakarta/tapestry/trunk/status.xml (original)
+++ jakarta/tapestry/trunk/status.xml Mon Nov 14 04:55:12 2005
@@ -37,6 +37,10 @@
<action context="code" dev="open">Handle change of locale correctly, by reloading new instance of page in proper locale</action>
<action context="code" dev="open">Intersertials</action>
<action context="code" dev="open">POJO page and component classes</action>
+ <action context="documentation" dev="open">Extend the QuickStart tutorial</action>
+ <action context="code" dev="open">Proper management of page/component specification and template caches with
+ automatic invalidation</action>
+ <action context="code" dev="open">Integration testing framework</action>
</actions>
<!-- Add todo items. @context is an arbitrary string. Eg:
<actions priority="high">
@@ -51,7 +55,7 @@
</todo>
<changes>
<release version="4.0-beta-14" date="unreleased">
-
+ <action type="update" dev="HLS">Make default binding prefix configurable</action>
</release>
<release version="4.0-beta-13" date="Nov 12 2005">
<action type="update" dev="HLS">Switch to HiveMind 1.1 (final)</action>
---------------------------------------------------------------------
To unsubscribe, e-mail: tapestry-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tapestry-dev-help@jakarta.apache.org