You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by fr...@apache.org on 2007/02/11 05:47:59 UTC
svn commit: r505834 - in
/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src:
main/java/org/apache/tapestry/ main/java/org/apache/tapestry/annotations/
main/java/org/apache/tapestry/internal/model/
main/java/org/apache/tapestry/inter...
Author: freemant
Date: Sat Feb 10 20:47:58 2007
New Revision: 505834
URL: http://svn.apache.org/viewvc?view=rev&rev=505834
Log:
Removed the concept of formal parameter.
Added:
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/structure/NoOpComponentPageElement.java (with props)
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/runtime/NoOpComponent.java (with props)
Removed:
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/annotations/Parameter.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/model/ParameterModelImpl.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/services/ParameterWorker.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/model/ParameterModel.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/services/DefaultParameterBindingMethodComponent.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/services/DefaultParameterComponent.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/services/ParameterComponent.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/services/ParameterWorkerTest.java
Modified:
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/BlockNotFoundException.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/model/MutableComponentModelImpl.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/services/PageLoaderProcessor.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElement.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElementImpl.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImpl.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/model/ComponentModel.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/model/MutableComponentModel.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/services/TapestryModule.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/test/TapestryTestCase.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/model/MutableComponentModelImplTest.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/services/InternalClassTransformationImplTest.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/services/PageLoaderImplTest.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/structure/ComponentPageElementImplTest.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImplTest.java
tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/model/NoOpComponentModel.java
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/BlockNotFoundException.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/BlockNotFoundException.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/BlockNotFoundException.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/BlockNotFoundException.java Sat Feb 10 20:47:58 2007
@@ -22,6 +22,8 @@
*/
public class BlockNotFoundException extends RuntimeException implements Locatable
{
+ private static final long serialVersionUID = 81221040659940576L;
+
private final Location _location;
public BlockNotFoundException(String message, Location location)
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/model/MutableComponentModelImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/model/MutableComponentModelImpl.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/model/MutableComponentModelImpl.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/model/MutableComponentModelImpl.java Sat Feb 10 20:47:58 2007
@@ -30,7 +30,6 @@
import org.apache.tapestry.model.EmbeddedComponentModel;
import org.apache.tapestry.model.MutableComponentModel;
import org.apache.tapestry.model.MutableEmbeddedComponentModel;
-import org.apache.tapestry.model.ParameterModel;
/**
* Internal implementation of {@link org.apache.tapestry.model.MutableComponentModel}.
@@ -47,8 +46,6 @@
private final Log _log;
- private Map<String, ParameterModel> _parameters;
-
private Map<String, EmbeddedComponentModel> _embeddedComponents;
/** Maps from field name to strategy. */
@@ -100,58 +97,6 @@
public String getComponentClassName()
{
return _componentClassName;
- }
-
- public void addParameter(String name, boolean required, String defaultBindingPrefix)
- {
- notBlank(name, "name");
- notBlank(defaultBindingPrefix, "defaultBindingPrefix");
-
- String caseless = name.toLowerCase();
-
- // TODO: Check for conflict with base model
-
- if (_parameters == null)
- _parameters = newMap();
- else
- {
- if (_parameters.containsKey(caseless))
- throw new IllegalArgumentException(ModelMessages.duplicateParameter(
- name,
- _componentClassName));
- }
-
- _parameters.put(caseless, new ParameterModelImpl(name, required, defaultBindingPrefix));
- }
-
- public ParameterModel getParameterModel(String parameterName)
- {
- ParameterModel result = InternalUtils.get(_parameters, parameterName.toLowerCase());
-
- if (result == null && _parentModel != null)
- result = _parentModel.getParameterModel(parameterName);
-
- return result;
- }
-
- public List<String> getParameterNames()
- {
- List<String> names = newList();
-
- if (_parameters != null)
- names.addAll(_parameters.keySet());
-
- if (_parentModel != null)
- names.addAll(_parentModel.getParameterNames());
-
- Collections.sort(names);
-
- return names;
- }
-
- public List<String> getDeclaredParameterNames()
- {
- return InternalUtils.sortedKeys(_parameters);
}
public MutableEmbeddedComponentModel addEmbeddedComponent(String id, String type,
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/services/PageLoaderProcessor.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/services/PageLoaderProcessor.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/services/PageLoaderProcessor.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/services/PageLoaderProcessor.java Sat Feb 10 20:47:58 2007
@@ -124,12 +124,9 @@
if (resources.isBound(name))
return;
- // Meta default of literal for the template.
+ // Defaults to literal for the template.
- String defaultBindingPrefix = determineDefaultBindingPrefix(
- component,
- name,
- InternalConstants.LITERAL_BINDING_PREFIX);
+ String defaultBindingPrefix = InternalConstants.LITERAL_BINDING_PREFIX;
Binding binding = _bindingSource.newBinding(
"parameter " + name,
@@ -162,52 +159,6 @@
}
}
- private void bindParametersFromModel(EmbeddedComponentModel model,
- ComponentPageElement loadingComponent, ComponentPageElement component)
- {
- for (String name : model.getParameterNames())
- {
- String value = model.getParameterValue(name);
-
- String defaultBindingPrefix = determineDefaultBindingPrefix(
- component,
- name,
- InternalConstants.PROP_BINDING_PREFIX);
-
- // At some point we may add meta data to control what the default prefix is within a
- // component.
-
- Binding binding = _bindingSource.newBinding(
- "parameter " + name,
- loadingComponent.getComponentResources(),
- component.getComponentResources(),
- defaultBindingPrefix,
- value,
- null);
-
- component.bindParameter(name, binding);
- }
- }
-
- /**
- * Determines the default binding prefix for a particular parameter.
- *
- * @param component
- * the component which will have a parameter bound
- * @param parameterName
- * the name of the parameter
- * @param informalParameterBindingPrefix
- * the default to use for informal parameters
- * @return the binding prefix
- */
- private String determineDefaultBindingPrefix(ComponentPageElement component,
- String parameterName, String informalParameterBindingPrefix)
- {
- String defaultBindingPrefix = component.getDefaultBindingPrefix(parameterName);
-
- return defaultBindingPrefix != null ? defaultBindingPrefix : informalParameterBindingPrefix;
- }
-
private void addRenderBodyElement()
{
PageElement element = _pageElementFactory.newRenderBodyElement(_loadingElement);
@@ -548,9 +499,6 @@
token.getLocation());
addMixinsToComponent(newComponent, embeddedModel, token.getMixins());
-
- if (embeddedModel != null)
- bindParametersFromModel(embeddedModel, _loadingElement, newComponent);
addToBody(newComponent);
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElement.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElement.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElement.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElement.java Sat Feb 10 20:47:58 2007
@@ -20,7 +20,6 @@
import org.apache.tapestry.internal.InternalComponentResources;
import org.apache.tapestry.internal.InternalComponentResourcesCommon;
import org.apache.tapestry.internal.services.Instantiator;
-import org.apache.tapestry.model.ParameterModel;
import org.apache.tapestry.runtime.Component;
import org.apache.tapestry.runtime.ComponentEvent;
import org.apache.tapestry.runtime.RenderQueue;
@@ -114,17 +113,6 @@
* @return true if a handler was found
*/
boolean handleEvent(ComponentEvent event);
-
- /**
- * Searches the component (and its mixins) for a formal parameter matching the given name. If
- * found, the {@link ParameterModel#getDefaultBindingPrefix() default binding prefix} is
- * returned. Otherwise the parameter is an informal parameter, and null is returned.
- *
- * @param parameterName
- * the name of the parameter, possibly qualified with the mixin class name
- * @return the default binding prefix, or null
- */
- String getDefaultBindingPrefix(String parameterName);
/**
* Posts a change to a persistent field. If the component is still loading, then this change is
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElementImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElementImpl.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElementImpl.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/structure/ComponentPageElementImpl.java Sat Feb 10 20:47:58 2007
@@ -43,10 +43,8 @@
import org.apache.tapestry.ioc.internal.util.InternalUtils;
import org.apache.tapestry.ioc.internal.util.TapestryException;
import org.apache.tapestry.ioc.services.TypeCoercer;
-import org.apache.tapestry.model.ComponentModel;
import org.apache.tapestry.model.EmbeddedComponentConfigurator;
import org.apache.tapestry.model.EmbeddedComponentModel;
-import org.apache.tapestry.model.ParameterModel;
import org.apache.tapestry.runtime.Component;
import org.apache.tapestry.runtime.ComponentEvent;
import org.apache.tapestry.runtime.Event;
@@ -629,47 +627,11 @@
public void bindParameter(String parameterName, Binding binding)
{
- // Maybe should use colon here? Depends on what works best in the template,
- // don't want to lock this out as just
- int dotx = parameterName.lastIndexOf('.');
-
- if (dotx > 0)
- {
- String mixinName = parameterName.substring(0, dotx);
- InternalComponentResources mixinResources = InternalUtils.get(
- _mixinsByShortName,
- mixinName);
-
- if (mixinResources == null)
- throw new TapestryException(StructureMessages.missingMixinForParameter(
- _completeId,
- mixinName,
- parameterName), binding, null);
-
- String simpleName = parameterName.substring(dotx + 1);
-
- mixinResources.bindParameter(simpleName, binding);
- return;
- }
-
InternalComponentResources informalParameterResources = null;
- // Does it match a formal parameter name of the core component? That takes precedence
-
- if (_coreResources.getComponentModel().getParameterModel(parameterName) != null)
- {
- _coreResources.bindParameter(parameterName, binding);
- return;
- }
-
for (String mixinName : InternalUtils.sortedKeys(_mixinsByShortName))
{
InternalComponentResources resources = _mixinsByShortName.get(mixinName);
- if (resources.getComponentModel().getParameterModel(parameterName) != null)
- {
- resources.bindParameter(parameterName, binding);
- return;
- }
if (informalParameterResources == null
&& resources.getComponentModel().getSupportsInformalParameters())
@@ -702,27 +664,6 @@
_template.add(element);
}
- private void addUnboundParameterNames(String prefix, List<String> unbound,
- InternalComponentResources resource)
- {
- ComponentModel model = resource.getComponentModel();
-
- for (String name : model.getParameterNames())
- {
- if (resource.isBound(name))
- continue;
-
- ParameterModel parameterModel = model.getParameterModel(name);
-
- if (parameterModel.isRequired())
- {
- String fullName = prefix == null ? name : prefix + "." + name;
-
- unbound.add(fullName);
- }
- }
- }
-
public void containingPageDidAttach()
{
invoke(false, CONTAINING_PAGE_DID_ATTACH);
@@ -776,7 +717,6 @@
invoke(false, CONTAINING_PAGE_DID_LOAD);
- verifyRequiredParametersAreBound();
}
/**
@@ -1057,21 +997,6 @@
return result;
}
- private void verifyRequiredParametersAreBound()
- {
- List<String> unbound = newList();
-
- addUnboundParameterNames(null, unbound, _coreResources);
-
- for (String name : InternalUtils.sortedKeys(_mixinsByShortName))
- addUnboundParameterNames(name, unbound, _mixinsByShortName.get(name));
-
- if (unbound.isEmpty())
- return;
-
- throw new TapestryException(StructureMessages.missingParameters(unbound, this), this, null);
- }
-
public Locale getLocale()
{
return _page.getLocale();
@@ -1114,51 +1039,4 @@
_blocks.put(caselessId, block);
}
- public String getDefaultBindingPrefix(String parameterName)
- {
- int dotx = parameterName.lastIndexOf('.');
-
- if (dotx > 0)
- {
- String mixinName = parameterName.substring(0, dotx);
- InternalComponentResources mixinResources = InternalUtils.get(
- _mixinsByShortName,
- mixinName);
-
- if (mixinResources == null)
- throw new TapestryException(StructureMessages.missingMixinForParameter(
- _completeId,
- mixinName,
- parameterName), null, null);
-
- String simpleName = parameterName.substring(dotx + 1);
-
- ParameterModel pm = mixinResources.getComponentModel().getParameterModel(simpleName);
-
- return pm != null ? pm.getDefaultBindingPrefix() : null;
- }
-
- // A formal parameter of the core component?
-
- ParameterModel pm = _coreResources.getComponentModel().getParameterModel(parameterName);
-
- if (pm != null)
- return pm.getDefaultBindingPrefix();
-
- // Search for mixin that it is a formal parameter of
-
- for (String mixinName : InternalUtils.sortedKeys(_mixinsByShortName))
- {
- InternalComponentResources resources = _mixinsByShortName.get(mixinName);
-
- pm = resources.getComponentModel().getParameterModel(parameterName);
-
- if (pm != null)
- return pm.getDefaultBindingPrefix();
- }
-
- // Not a formal parameter of the core component or any mixin.
-
- return null;
- }
}
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImpl.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImpl.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImpl.java Sat Feb 10 20:47:58 2007
@@ -263,9 +263,6 @@
for (String name : _bindings.keySet())
{
- if (_componentModel.getParameterModel(name) != null)
- continue;
-
writer.attributes(name, readParameter(name, String.class));
}
}
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/internal/test/InternalBaseTestCase.java Sat Feb 10 20:47:58 2007
@@ -247,11 +247,6 @@
return newMock(PageElement.class);
}
- protected final void train_getParameterNames(EmbeddedComponentModel model, String... names)
- {
- expect(model.getParameterNames()).andReturn(Arrays.asList(names));
- }
-
protected final void train_newComponentElement(PageElementFactory elementFactory,
ComponentPageElement container, String embeddedId, String embeddedType,
String componentClassName, String elementName, Location location,
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/model/ComponentModel.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/model/ComponentModel.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/model/ComponentModel.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/model/ComponentModel.java Sat Feb 10 20:47:58 2007
@@ -72,27 +72,6 @@
List<String> getMixinClassNames();
/**
- * Return a single parameter model by parameter name, or null if the parameter is not defined.
- *
- * @param parameterName
- * the name of the parameter (case is ignored)
- */
- ParameterModel getParameterModel(String parameterName);
-
- /**
- * Returns an alphabetically sorted list of the names of all formal parameters. This includes
- * parameters defined by a base class.
- */
-
- List<String> getParameterNames();
-
- /**
- * Returns an alphabetically sorted list of the names of all formal parameters defined by this
- * specific class (parameters inherited from base classes are not identified).
- */
- List<String> getDeclaredParameterNames();
-
- /**
* Returns a list of the names of all persistent fields (within this class, or any super-class).
* The names are sorted alphabetically.
*
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/model/MutableComponentModel.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/model/MutableComponentModel.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/model/MutableComponentModel.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/model/MutableComponentModel.java Sat Feb 10 20:47:58 2007
@@ -14,7 +14,6 @@
package org.apache.tapestry.model;
-import org.apache.tapestry.annotations.Parameter;
import org.apache.tapestry.annotations.Persist;
import org.apache.tapestry.internal.InternalComponentResources;
@@ -24,22 +23,6 @@
*/
public interface MutableComponentModel extends ComponentModel
{
- /**
- * Adds a new formal parameter to the model. Each parameter has a unique name (though access to
- * parameters is case insensitive).
- *
- * @param name
- * new, unique name for the parameter
- * @param required
- * if true, the parameter must be bound
- * @param defaultBindingPrefix
- * the default binding prefix for this parameter
- * @throws IllegalArgumentException
- * if a parameter with the given name has already been defined for this model
- * @see Parameter
- */
- void addParameter(String name, boolean required, String defaultBindingPrefix);
-
/**
* Defines a new embedded component.
*
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/services/TapestryModule.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/services/TapestryModule.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/services/TapestryModule.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/services/TapestryModule.java Sat Feb 10 20:47:58 2007
@@ -77,6 +77,7 @@
import org.apache.tapestry.internal.services.ComponentResourcesInjectionProvider;
import org.apache.tapestry.internal.services.ComponentSourceImpl;
import org.apache.tapestry.internal.services.ComponentWorker;
+import org.apache.tapestry.internal.services.CompoundalidatorGenerator;
import org.apache.tapestry.internal.services.ContextImpl;
import org.apache.tapestry.internal.services.ContextPathSource;
import org.apache.tapestry.internal.services.CookieSink;
@@ -114,7 +115,6 @@
import org.apache.tapestry.internal.services.PageRenderDispatcher;
import org.apache.tapestry.internal.services.PageRenderSupportImpl;
import org.apache.tapestry.internal.services.PageResponseRenderer;
-import org.apache.tapestry.internal.services.ParameterWorker;
import org.apache.tapestry.internal.services.PersistWorker;
import org.apache.tapestry.internal.services.PersistentFieldManagerImpl;
import org.apache.tapestry.internal.services.RenderCommandWorker;
@@ -137,7 +137,6 @@
import org.apache.tapestry.internal.services.UnclaimedFieldWorker;
import org.apache.tapestry.internal.services.UpdateListenerHub;
import org.apache.tapestry.internal.services.ValidationMessagesSourceImpl;
-import org.apache.tapestry.internal.services.CompoundalidatorGenerator;
import org.apache.tapestry.ioc.Configuration;
import org.apache.tapestry.ioc.IOCUtilities;
import org.apache.tapestry.ioc.MappedConfiguration;
@@ -642,8 +641,6 @@
* <ul>
* <li>Retain -- allows fields to retain their values between requests</li>
* <li>Persist -- allows fields to store their their value persistently between requests</li>
- * <li>Parameter -- identifies parameters based on the
- * {@link org.apache.tapestry.annotations.Parameter} annotation</li>
* <li>Component -- identifies embedded components based on the
* {@link org.apache.tapestry.annotations.Component} annotation</li>
* <li>Mixin -- adds a mixin as part of a component's implementation</li>
@@ -698,11 +695,6 @@
configuration.add("InjectPage", new InjectPageWorker(requestPageCache));
configuration.add("InjectComponent", new InjectComponentWorker());
configuration.add("RenderCommand", new RenderCommandWorker());
-
- // Default values for parameters are often some form of injection, so make sure
- // that Parameter fields are processed after injections.
-
- configuration.add("Parameter", new ParameterWorker(bindingsource), "after:Inject*");
// Workers for the component rendering state machine methods; this is in typical
// execution order.
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/test/TapestryTestCase.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/test/TapestryTestCase.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/test/TapestryTestCase.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/main/java/org/apache/tapestry/test/TapestryTestCase.java Sat Feb 10 20:47:58 2007
@@ -48,7 +48,6 @@
import org.apache.tapestry.ValidationTracker;
import org.apache.tapestry.Validator;
import org.apache.tapestry.annotations.Inject;
-import org.apache.tapestry.annotations.Parameter;
import org.apache.tapestry.beaneditor.PropertyConduit;
import org.apache.tapestry.beaneditor.PropertyEditModel;
import org.apache.tapestry.ioc.Location;
@@ -58,7 +57,6 @@
import org.apache.tapestry.ioc.test.IOCTestCase;
import org.apache.tapestry.model.ComponentModel;
import org.apache.tapestry.model.MutableComponentModel;
-import org.apache.tapestry.model.ParameterModel;
import org.apache.tapestry.runtime.Component;
import org.apache.tapestry.services.ApplicationStateCreator;
import org.apache.tapestry.services.ApplicationStatePersistenceStrategy;
@@ -224,11 +222,6 @@
}
- protected final void train_name(Parameter parameter, String name)
- {
- expect(parameter.name()).andReturn(name).atLeastOnce();
- }
-
protected final void train_findMethodsWithAnnotation(ClassTransformation tf,
Class<? extends Annotation> annotationType, List<MethodSignature> sigs)
{
@@ -254,30 +247,9 @@
expect(transformation.toClass(type)).andReturn(classForType);
}
- protected final ParameterModel newParameterModel()
- {
- return newMock(ParameterModel.class);
- }
-
protected final void train_getComponentClassName(ComponentModel model, String className)
{
expect(model.getComponentClassName()).andReturn(className).atLeastOnce();
- }
-
- protected final void train_isRequired(ParameterModel model, boolean isRequired)
- {
- expect(model.isRequired()).andReturn(isRequired);
- }
-
- protected final void train_getParameterModel(ComponentModel model, String parameterName,
- ParameterModel parameterModel)
- {
- expect(model.getParameterModel(parameterName)).andReturn(parameterModel);
- }
-
- protected final void train_getParameterNames(ComponentModel model, String... names)
- {
- expect(model.getParameterNames()).andReturn(Arrays.asList(names));
}
protected final void train_isInvariant(Binding binding, boolean isInvariant)
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/model/MutableComponentModelImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/model/MutableComponentModelImplTest.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/model/MutableComponentModelImplTest.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/model/MutableComponentModelImplTest.java Sat Feb 10 20:47:58 2007
@@ -17,13 +17,11 @@
import java.util.Arrays;
import org.apache.commons.logging.Log;
-import org.apache.tapestry.internal.InternalConstants;
import org.apache.tapestry.internal.test.InternalBaseTestCase;
import org.apache.tapestry.ioc.Resource;
import org.apache.tapestry.model.ComponentModel;
import org.apache.tapestry.model.MutableComponentModel;
import org.apache.tapestry.model.MutableEmbeddedComponentModel;
-import org.apache.tapestry.model.ParameterModel;
import org.testng.annotations.Test;
/**
@@ -55,143 +53,6 @@
verify();
}
- @Test
- public void add_new_parameter()
- {
- Resource r = newResource();
- Log log = newLog();
-
- replay();
-
- MutableComponentModel model = new MutableComponentModelImpl(CLASS_NAME, log, r, null);
-
- assertTrue(model.getParameterNames().isEmpty());
-
- String parameterName = "value";
-
- model.addParameter(parameterName, true, InternalConstants.PROP_BINDING_PREFIX);
-
- ParameterModel pm = model.getParameterModel(parameterName);
-
- assertEquals(pm.getName(), parameterName);
- assertEquals(true, pm.isRequired());
- assertEquals(pm.getDefaultBindingPrefix(), InternalConstants.PROP_BINDING_PREFIX);
-
- assertEquals(model.getDeclaredParameterNames(), Arrays.asList(parameterName));
-
- // Verify that the binding prefix is actually stored:
-
- model.addParameter("fred", true, "flint");
-
- // Checks that parameter names are case insensitive
-
- assertEquals(model.getParameterModel("Fred").getDefaultBindingPrefix(), "flint");
-
- verify();
- }
-
- @Test
- public void parameter_names_are_sorted()
- {
- Resource r = newResource();
- Log log = newLog();
-
- replay();
-
- MutableComponentModel model = new MutableComponentModelImpl(CLASS_NAME, log, r, null);
-
- model.addParameter("fred", true, InternalConstants.PROP_BINDING_PREFIX);
- model.addParameter("wilma", true, InternalConstants.PROP_BINDING_PREFIX);
- model.addParameter("barney", true, InternalConstants.PROP_BINDING_PREFIX);
-
- assertEquals(model.getDeclaredParameterNames(), Arrays.asList("barney", "fred", "wilma"));
-
- verify();
- }
-
- @Test
- public void declared_parameter_names_does_not_include_superclass_parameters()
- {
- Resource r = newResource();
- Log log = newLog();
- ComponentModel parent = newComponentModel();
-
- train_getPersistentFieldNames(parent);
- train_getParameterNames(parent, "betty");
-
- replay();
-
- MutableComponentModel model = new MutableComponentModelImpl(CLASS_NAME, log, r, parent);
-
- model.addParameter("fred", true, InternalConstants.PROP_BINDING_PREFIX);
- model.addParameter("wilma", true, InternalConstants.PROP_BINDING_PREFIX);
- model.addParameter("barney", true, InternalConstants.PROP_BINDING_PREFIX);
-
- assertEquals(model.getDeclaredParameterNames(), Arrays.asList("barney", "fred", "wilma"));
- assertEquals(model.getParameterNames(), Arrays.asList("barney", "betty", "fred", "wilma"));
-
- verify();
- }
-
- @Test
- public void add_duplicate_parameter()
- {
- Resource r = newResource();
- Log log = newLog();
-
- replay();
-
- MutableComponentModel model = new MutableComponentModelImpl(CLASS_NAME, log, r, null);
-
- model.addParameter("fred", true, InternalConstants.PROP_BINDING_PREFIX);
-
- try
- {
- // This also helps check that the comparison is caseless!
-
- model.addParameter("Fred", true, InternalConstants.PROP_BINDING_PREFIX);
- unreachable();
- }
- catch (IllegalArgumentException ex)
- {
- assertEquals(
- ex.getMessage(),
- "Parameter 'Fred' of component org.example.components.Foo is already defined.");
- }
-
- verify();
- }
-
- @Test
- public void get_parameter_by_name_with_no_parameters_defined()
- {
- Resource r = newResource();
- Log log = newLog();
-
- replay();
-
- MutableComponentModel model = new MutableComponentModelImpl(CLASS_NAME, log, r, null);
-
- assertNull(model.getParameterModel("foo"));
-
- verify();
- }
-
- @Test
- public void get_unknown_parameter()
- {
- Resource r = newResource();
- Log log = newLog();
-
- replay();
-
- MutableComponentModel model = new MutableComponentModelImpl(CLASS_NAME, log, r, null);
- model.addParameter("fred", true, InternalConstants.PROP_BINDING_PREFIX);
-
- assertNull(model.getParameterModel("barney"));
-
- verify();
- }
@Test
public void add_embedded()
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/services/InternalClassTransformationImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/services/InternalClassTransformationImplTest.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/services/InternalClassTransformationImplTest.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/services/InternalClassTransformationImplTest.java Sat Feb 10 20:47:58 2007
@@ -678,8 +678,6 @@
@Test
public void removed_fields_should_not_show_up_as_unclaimed() throws Exception
{
- InternalComponentResources resources = newInternalComponentResources();
-
Log log = newLog();
replay();
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/services/PageLoaderImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/services/PageLoaderImplTest.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/services/PageLoaderImplTest.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/services/PageLoaderImplTest.java Sat Feb 10 20:47:58 2007
@@ -146,8 +146,6 @@
rootElement.addToTemplate(childElement);
- train_getParameterNames(emodel);
-
// Alas, what comes next is the recursive call to load the child element
train_getComponentResources(childElement, childResources);
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/structure/ComponentPageElementImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/structure/ComponentPageElementImplTest.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/structure/ComponentPageElementImplTest.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/structure/ComponentPageElementImplTest.java Sat Feb 10 20:47:58 2007
@@ -14,19 +14,20 @@
package org.apache.tapestry.internal.structure;
-import org.apache.tapestry.Binding;
import org.apache.tapestry.Block;
import org.apache.tapestry.BlockNotFoundException;
import org.apache.tapestry.ComponentResources;
import org.apache.tapestry.internal.InternalComponentResources;
import org.apache.tapestry.internal.services.Instantiator;
+import org.apache.tapestry.internal.services.NoOpInstantiator;
+import org.apache.tapestry.internal.services.NoOpPage;
import org.apache.tapestry.internal.test.InternalBaseTestCase;
-import org.apache.tapestry.ioc.Location;
import org.apache.tapestry.ioc.internal.util.TapestryException;
import org.apache.tapestry.ioc.services.TypeCoercer;
import org.apache.tapestry.model.ComponentModel;
-import org.apache.tapestry.model.ParameterModel;
+import org.apache.tapestry.model.NoOpComponentModel;
import org.apache.tapestry.runtime.Component;
+import org.apache.tapestry.runtime.NoOpComponent;
import org.easymock.EasyMock;
import org.testng.annotations.Test;
@@ -100,36 +101,6 @@
}
@Test
- public void parameter_is_bound()
- {
- Page page = newPage(PAGE_NAME);
- Component component = newComponent();
- ComponentModel model = newComponentModel();
- Binding binding = newBinding();
- TypeCoercer coercer = newTypeCoercer();
-
- Instantiator ins = newInstantiator(component, model);
-
- train_getParameterModel(model, "barney", null);
-
- train_getSupportsInformalParameters(model, true);
-
- replay();
-
- ComponentPageElement cpe = new ComponentPageElementImpl(page, ins, coercer, null);
-
- ComponentResources resources = cpe.getComponentResources();
- assertFalse(resources.isBound("fred"));
-
- cpe.bindParameter("barney", binding);
-
- assertFalse(resources.isBound("fred"));
- assertTrue(resources.isBound("barney"));
-
- verify();
- }
-
- @Test
public void duplicate_block_id()
{
Page page = newPage(PAGE_NAME);
@@ -163,209 +134,6 @@
}
@Test
- public void verify_required_parameters_all_are_bound()
- {
- Page page = newPage(PAGE_NAME);
- Component component = newComponent();
- ComponentModel model = newComponentModel();
- Binding binding = newBinding();
- TypeCoercer coercer = newTypeCoercer();
- ParameterModel pmodel = newParameterModel();
-
- Instantiator ins = newInstantiator(component, model);
-
- train_getParameterNames(model, "barney");
- train_getParameterModel(model, "barney", pmodel);
-
- component.containingPageDidLoad();
-
- replay();
-
- ComponentPageElementImpl cpe = new ComponentPageElementImpl(page, ins, coercer, null);
-
- cpe.bindParameter("barney", binding);
-
- cpe.containingPageDidLoad();
-
- verify();
- }
-
- @Test
- public void verify_required_parameters_unbound_but_not_required()
- {
- Page page = newPage(PAGE_NAME);
- Component component = newComponent();
- ComponentModel model = newComponentModel();
- ParameterModel pmodel = newParameterModel();
- TypeCoercer coercer = newTypeCoercer();
-
- Instantiator ins = newInstantiator(component, model);
-
- train_getParameterNames(model, "barney");
- train_getParameterModel(model, "barney", pmodel);
- train_isRequired(pmodel, false);
-
- component.containingPageDidLoad();
-
- replay();
-
- ComponentPageElementImpl cpe = new ComponentPageElementImpl(page, ins, coercer, null);
-
- cpe.containingPageDidLoad();
-
- verify();
- }
-
- @Test
- public void verify_required_parameters_unbound_and_required()
- {
- Page page = newPage();
- ComponentPageElement container = newComponentPageElement();
- InternalComponentResources containerResources = newInternalComponentResources();
- Component component = newComponent();
- ComponentModel model = newComponentModel();
- ParameterModel pmodel = newParameterModel();
- Location l = newLocation();
- TypeCoercer coercer = newTypeCoercer();
-
- Instantiator ins = newInstantiator(component, model);
-
- train_getComponentResources(container, containerResources);
-
- train_getNestedId(container, null);
- train_getName(page, "foo.pages.MyPage");
-
- train_getParameterNames(model, "wilma", "barney", "fred");
- train_getParameterModel(model, "wilma", pmodel);
- train_isRequired(pmodel, true);
-
- train_getParameterModel(model, "barney", pmodel);
- train_isRequired(pmodel, false);
-
- train_getParameterModel(model, "fred", pmodel);
- train_isRequired(pmodel, true);
-
- // Now called *before* the check for unbound parametesr
-
- component.containingPageDidLoad();
-
- train_getComponentClassName(model, "foo.components.MyComponent");
-
- replay();
-
- ComponentPageElementImpl cpe = new ComponentPageElementImpl(page, container, "myid", null,
- ins, coercer, null, l);
-
- try
- {
- cpe.containingPageDidLoad();
- }
- catch (TapestryException ex)
- {
- assertEquals(
- ex.getMessage(),
- "Parameter(s) fred, wilma are required for foo.components.MyComponent, but have not been bound.");
- assertSame(ex.getLocation(), l);
- }
-
- verify();
- }
-
- @Test
- public void is_invariant()
- {
- Page page = newPage(PAGE_NAME);
- Component component = newComponent();
- ComponentModel model = newComponentModel();
- Binding binding = newBinding();
- TypeCoercer coercer = newTypeCoercer();
- ParameterModel pmodel = newParameterModel();
-
- Instantiator ins = newInstantiator(component, model);
-
- train_getParameterModel(model, "barney", pmodel);
-
- train_isInvariant(binding, true);
-
- replay();
-
- ComponentPageElement cpe = new ComponentPageElementImpl(page, ins, coercer, null);
-
- assertFalse(cpe.getComponentResources().isInvariant("fred"));
-
- cpe.bindParameter("barney", binding);
-
- assertFalse(cpe.getComponentResources().isInvariant("fred"));
- assertTrue(cpe.getComponentResources().isInvariant("barney"));
-
- verify();
- }
-
- @Test
- public void read_binding()
- {
- Page page = newPage(PAGE_NAME);
- Component component = newComponent();
- ComponentModel model = newComponentModel();
- TypeCoercer coercer = newTypeCoercer();
- Binding binding = newBinding();
-
- train_getSupportsInformalParameters(model, true);
-
- Long boundValue = new Long(23);
-
- Instantiator ins = newInstantiator(component, model);
-
- train_getParameterModel(model, "barney", null);
-
- train_get(binding, boundValue);
-
- train_coerce(coercer, boundValue, Long.class, boundValue);
-
- replay();
-
- ComponentPageElement cpe = new ComponentPageElementImpl(page, ins, coercer, null);
-
- cpe.bindParameter("barney", binding);
-
- assertSame(cpe.getComponentResources().readParameter("barney", Long.class), boundValue);
-
- verify();
- }
-
- @Test
- public void write_binding()
- {
- Page page = newPage(PAGE_NAME);
- Component component = newComponent();
- ComponentModel model = newComponentModel();
- TypeCoercer coercer = newTypeCoercer();
- Binding binding = newBinding();
-
- Instantiator ins = newInstantiator(component, model);
-
- train_getParameterModel(model, "barney", null);
-
- train_getSupportsInformalParameters(model, true);
-
- expect(binding.getBindingType()).andReturn(Integer.class);
-
- train_coerce(coercer, 23, Integer.class, 23);
-
- binding.set(23);
-
- replay();
-
- ComponentPageElement cpe = new ComponentPageElementImpl(page, ins, coercer, null);
-
- cpe.bindParameter("barney", binding);
-
- cpe.getComponentResources().writeParameter("barney", 23);
-
- verify();
- }
-
- @Test
public void get_embedded_does_not_exist()
{
Page page = newPage(PAGE_NAME);
@@ -424,6 +192,62 @@
}
@Test
+ public void get_embedded_component_by_lifecycle_object()
+ {
+ Page page = new NoOpPage(PAGE_NAME, null);
+ final Component childComponent1 = new NoOpComponent();
+ final Component childComponent2 = new NoOpComponent();
+ ComponentPageElement childElement1 = new NoOpComponentPageElement()
+ {
+ @Override
+ public String getId()
+ {
+ return "c1";
+ }
+
+ @Override
+ public Component getComponent()
+ {
+ return childComponent1;
+ }
+
+ };
+ ComponentPageElement childElement2 = new NoOpComponentPageElement()
+ {
+
+ @Override
+ public String getId()
+ {
+ return "c2";
+ }
+
+ @Override
+ public Component getComponent()
+ {
+ return childComponent2;
+ }
+
+ };
+ final ComponentModel model = new NoOpComponentModel();
+ Instantiator instantiator = new NoOpInstantiator()
+ {
+
+ @Override
+ public ComponentModel getModel()
+ {
+ return model;
+ }
+
+ };
+
+ ComponentPageElement cpe = new ComponentPageElementImpl(page, instantiator, null, null);
+ cpe.addEmbeddedElement(childElement1);
+ cpe.addEmbeddedElement(childElement2);
+ assertSame(cpe.getEmbeddedElement(childComponent1), childElement1);
+ assertSame(cpe.getEmbeddedElement(childComponent2), childElement2);
+ }
+
+ @Test
public void component_ids_must_be_unique_within_container()
{
Page page = newPage(PAGE_NAME);
@@ -518,42 +342,6 @@
verify();
- }
-
- @Test
- public void set_explicit_parameter_of_unknown_mixin()
- {
- Page page = newPage(PAGE_NAME);
- Component component = newComponent();
- ComponentModel model = newComponentModel();
- ComponentModel mixinModel = newComponentModel();
- Component mixin = newComponent();
- TypeCoercer coercer = newTypeCoercer();
- Binding binding = newBinding();
-
- Instantiator ins = newInstantiator(component, model);
- Instantiator mixinInstantiator = newInstantiator(mixin, mixinModel);
-
- train_getComponentClassName(mixinModel, "foo.Fred");
-
- replay();
-
- ComponentPageElement cpe = new ComponentPageElementImpl(page, ins, coercer, null);
-
- cpe.addMixin(mixinInstantiator);
-
- try
- {
- cpe.bindParameter("Wilma.barney", binding);
- unreachable();
- }
- catch (TapestryException ex)
- {
- assertTrue(ex.getMessage().contains(
- "does not contain a mixin named 'Wilma' (setting parameter 'Wilma.barney')"));
- }
-
- verify();
}
private Instantiator newInstantiator(Component component, ComponentModel model)
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImplTest.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImplTest.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImplTest.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/structure/InternalComponentResourcesImplTest.java Sat Feb 10 20:47:58 2007
@@ -31,7 +31,6 @@
import org.apache.tapestry.ioc.services.TypeCoercer;
import org.apache.tapestry.model.ComponentModel;
import org.apache.tapestry.model.NoOpComponentModel;
-import org.apache.tapestry.model.ParameterModel;
import org.apache.tapestry.runtime.Component;
import org.testng.annotations.Test;
@@ -62,35 +61,6 @@
@SuppressWarnings("unchecked")
@Test
- public void render_informal_parameters_skips_formal_parameters()
- {
- ComponentPageElement element = newComponentPageElement();
- Component component = newComponent();
- Instantiator ins = newInstantiator(component);
- MarkupWriter writer = newMarkupWriter();
- TypeCoercer coercer = newTypeCoercer();
- ComponentModel model = newComponentModel();
- ParameterModel pmodel = newParameterModel();
- Binding binding = newBinding();
-
- train_getModel(ins, model);
-
- train_getParameterModel(model, "fred", pmodel);
-
- replay();
-
- InternalComponentResources resources = new InternalComponentResourcesImpl(element, null,
- ins, coercer, null);
-
- resources.bindParameter("fred", binding);
-
- resources.renderInformalParameters(writer, Collections.EMPTY_MAP);
-
- verify();
- }
-
- @SuppressWarnings("unchecked")
- @Test
public void render_an_informal_parameter()
{
ComponentPageElement element = newComponentPageElement();
@@ -104,8 +74,6 @@
String convertedValue = "*converted*";
train_getModel(ins, model);
-
- train_getParameterModel(model, "fred", null);
train_get(binding, rawValue);
Added: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/structure/NoOpComponentPageElement.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/structure/NoOpComponentPageElement.java?view=auto&rev=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/structure/NoOpComponentPageElement.java (added)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/structure/NoOpComponentPageElement.java Sat Feb 10 20:47:58 2007
@@ -0,0 +1,213 @@
+package org.apache.tapestry.internal.structure;
+
+import java.util.Locale;
+
+import org.apache.commons.logging.Log;
+import org.apache.tapestry.Binding;
+import org.apache.tapestry.Block;
+import org.apache.tapestry.ComponentEventHandler;
+import org.apache.tapestry.ComponentResources;
+import org.apache.tapestry.Link;
+import org.apache.tapestry.MarkupWriter;
+import org.apache.tapestry.internal.InternalComponentResources;
+import org.apache.tapestry.internal.services.Instantiator;
+import org.apache.tapestry.runtime.Component;
+import org.apache.tapestry.runtime.ComponentEvent;
+import org.apache.tapestry.runtime.RenderQueue;
+
+public class NoOpComponentPageElement implements ComponentPageElement
+{
+
+ public Component getComponent()
+ {
+
+ return null;
+ }
+
+ public InternalComponentResources getComponentResources()
+ {
+
+ return null;
+ }
+
+ public Page getContainingPage()
+ {
+
+ return null;
+ }
+
+ public ComponentPageElement getContainerElement()
+ {
+
+ return null;
+ }
+
+ public void addToTemplate(PageElement element)
+ {
+
+
+ }
+
+ public void addBlock(String blockId, Block block)
+ {
+
+
+ }
+
+ public void addEmbeddedElement(ComponentPageElement child)
+ {
+
+
+ }
+
+ public void addMixin(Instantiator instantiator)
+ {
+
+
+ }
+
+ public ComponentPageElement getEmbeddedElement(String id)
+ {
+
+ return null;
+ }
+
+ public ComponentPageElement getEmbeddedElement(Object embeddedComponent)
+ {
+
+ return null;
+ }
+
+ public void enqueueBeforeRenderBody(RenderQueue queue)
+ {
+
+
+ }
+
+ public boolean handleEvent(ComponentEvent event)
+ {
+
+ return false;
+ }
+
+ public void persistFieldChange(ComponentResources resources, String fieldName, Object newValue)
+ {
+
+
+ }
+
+ public String getId()
+ {
+
+ return null;
+ }
+
+ public String getNestedId()
+ {
+
+ return null;
+ }
+
+ public Link createActionLink(String action, boolean forForm, Object... context)
+ {
+
+ return null;
+ }
+
+ public Link createPageLink(String pageName)
+ {
+
+ return null;
+ }
+
+ public String getCompleteId()
+ {
+
+ return null;
+ }
+
+ public boolean triggerEvent(String eventType, Object[] context, ComponentEventHandler handler)
+ {
+
+ return false;
+ }
+
+ public boolean isRendering()
+ {
+
+ return false;
+ }
+
+ public Log getLog()
+ {
+
+ return null;
+ }
+
+ public Locale getLocale()
+ {
+
+ return null;
+ }
+
+ public String getElementName()
+ {
+
+ return null;
+ }
+
+ public Block getBlock(String blockId)
+ {
+
+ return null;
+ }
+
+ public Object getFieldChange(String fieldName)
+ {
+
+ return null;
+ }
+
+ public boolean hasFieldChange(String fieldName)
+ {
+
+ return false;
+ }
+
+ public boolean isLoaded()
+ {
+
+ return false;
+ }
+
+ public void bindParameter(String parameterName, Binding binding)
+ {
+
+
+ }
+
+ public Component getMixinByClassName(String mixinClassName)
+ {
+
+ return null;
+ }
+
+ public void queueRender(RenderQueue queue)
+ {
+
+
+ }
+
+ public void render(MarkupWriter writer, RenderQueue queue)
+ {
+
+
+ }
+
+ public void addToBody(PageElement element)
+ {
+
+
+ }
+
+}
Propchange: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/internal/structure/NoOpComponentPageElement.java
------------------------------------------------------------------------------
svn:eol-style = native
Modified: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/model/NoOpComponentModel.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/model/NoOpComponentModel.java?view=diff&rev=505834&r1=505833&r2=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/model/NoOpComponentModel.java (original)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/model/NoOpComponentModel.java Sat Feb 10 20:47:58 2007
@@ -57,21 +57,6 @@
return null;
}
- public ParameterModel getParameterModel(String parameterName)
- {
- return null;
- }
-
- public List<String> getParameterNames()
- {
- return null;
- }
-
- public List<String> getDeclaredParameterNames()
- {
- return null;
- }
-
public List<String> getPersistentFieldNames()
{
return null;
Added: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/runtime/NoOpComponent.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/runtime/NoOpComponent.java?view=auto&rev=505834
==============================================================================
--- tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/runtime/NoOpComponent.java (added)
+++ tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/runtime/NoOpComponent.java Sat Feb 10 20:47:58 2007
@@ -0,0 +1,93 @@
+package org.apache.tapestry.runtime;
+
+import org.apache.tapestry.ComponentResources;
+import org.apache.tapestry.MarkupWriter;
+
+public class NoOpComponent implements Component
+{
+
+ public void postRenderCleanup()
+ {
+
+
+ }
+
+ public void setupRender(MarkupWriter writer, Event event)
+ {
+
+
+ }
+
+ public void beginRender(MarkupWriter writer, Event event)
+ {
+
+
+ }
+
+ public void beforeRenderTemplate(MarkupWriter writer, Event event)
+ {
+
+
+ }
+
+ public void afterRenderTemplate(MarkupWriter writer, Event event)
+ {
+
+
+ }
+
+ public void beforeRenderBody(MarkupWriter writer, Event event)
+ {
+
+
+ }
+
+ public void afterRenderBody(MarkupWriter writer, Event event)
+ {
+
+
+ }
+
+ public void afterRender(MarkupWriter writer, Event event)
+ {
+
+
+ }
+
+ public void cleanupRender(MarkupWriter writer, Event event)
+ {
+
+
+ }
+
+ public boolean handleComponentEvent(ComponentEvent event)
+ {
+
+ return false;
+ }
+
+ public ComponentResources getComponentResources()
+ {
+
+ return null;
+ }
+
+ public void containingPageDidLoad()
+ {
+
+
+ }
+
+ public void containingPageDidDetach()
+ {
+
+
+ }
+
+ public void containingPageDidAttach()
+ {
+
+
+ }
+
+}
Propchange: tapestry/tapestry5/tapestry-core/branches/kt-20070205-IDE-support/src/test/java/org/apache/tapestry/runtime/NoOpComponent.java
------------------------------------------------------------------------------
svn:eol-style = native