Author: drobiazko
Date: Thu Aug 14 13:22:52 2008
New Revision: 686020
URL: http://svn.apache.org/viewvc?rev=686020&view=rev
Log:
TAPESTRY-2137: The common idiom of connecting a component's id to a container
property should be easier: an attribute of the @Parameter annotation
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/annotations/Parameter.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/AjaxFormLoop.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanDisplay.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditForm.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditor.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Loop.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Output.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/OutputRaw.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Radio.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/RadioGroup.java
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ParameterWorker.java
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/ParameterWorkerTest.java
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/annotations/Parameter.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/annotations/Parameter.java?rev=686020&r1=686019&r2=686020&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/annotations/Parameter.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/annotations/Parameter.java
Thu Aug 14 13:22:52 2008
@@ -84,4 +84,10 @@
* have more than a single principal parameter.
*/
boolean principal() default false;
+
+ /**
+ * Used to create a binding to be used as a parameter default without to
provide a default binding method.
+ * If true, then the container's property matching the component id is
used to bind the parameter.
+ */
+ boolean autoconnect() default false;
}
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/AjaxFormLoop.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/AjaxFormLoop.java?rev=686020&r1=686019&r2=686020&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/AjaxFormLoop.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/AjaxFormLoop.java
Thu Aug 14 13:22:52 2008
@@ -49,7 +49,7 @@
/**
* The objects to iterate over (passed to the internal Loop component).
*/
- @Parameter(required = true)
+ @Parameter(required = true, autoconnect = true)
private Iterable source;
/**
@@ -123,8 +123,6 @@
@Inject
private ComponentClassCache componentClassCache;
- @Inject
- private ComponentDefaultProvider componentDefaultProvider;
@Inject
private PageRenderQueue pageRenderQueue;
@@ -166,11 +164,6 @@
}
};
- Binding defaultSource()
- {
- return componentDefaultProvider.defaultBinding("source", resources);
- }
-
String defaultElement()
{
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanDisplay.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanDisplay.java?rev=686020&r1=686019&r2=686020&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanDisplay.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanDisplay.java
Thu Aug 14 13:22:52 2008
@@ -14,7 +14,6 @@
package org.apache.tapestry5.corelib.components;
-import org.apache.tapestry5.Binding;
import org.apache.tapestry5.BindingConstants;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.annotations.Parameter;
@@ -25,7 +24,6 @@
import org.apache.tapestry5.internal.beaneditor.BeanModelUtils;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.BeanModelSource;
-import org.apache.tapestry5.services.ComponentDefaultProvider;
/**
* Used to display the properties of a bean, using an underlying [EMAIL
PROTECTED] BeanModel}. The output definition list: a
@@ -49,7 +47,7 @@
* The object to be rendered; if not explicitly bound, a default binding
to a property whose name matches this
* component's id will be used.
*/
- @Parameter(required = true, allowNull = false)
+ @Parameter(required = true, allowNull = false, autoconnect = true)
@Property(write = false)
private Object object;
@@ -107,10 +105,6 @@
@Parameter(defaultPrefix = BindingConstants.LITERAL)
private String add;
-
- @Inject
- private ComponentDefaultProvider defaultProvider;
-
@Inject
private ComponentResources resources;
@@ -120,14 +114,6 @@
@Property
private String propertyName;
- /**
- * Defaults the object parameter to a property of the container matching
the BeanEditForm's id.
- */
- Binding defaultObject()
- {
- return defaultProvider.defaultBinding("object", resources);
- }
-
void setupRender()
{
if (model == null) model = modelSource.create(object.getClass(), false,
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditForm.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditForm.java?rev=686020&r1=686019&r2=686020&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditForm.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditForm.java
Thu Aug 14 13:22:52 2008
@@ -23,7 +23,6 @@
import org.apache.tapestry5.internal.beaneditor.BeanModelUtils;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.services.BeanModelSource;
-import org.apache.tapestry5.services.ComponentDefaultProvider;
/**
* A component that creates an entire form editing the properties of a
particular bean. Inspired by <a
@@ -59,7 +58,7 @@
* value is ready to be read or updated. Often, the BeanEditForm can
create the object as needed (assuming a public,
* no arguments constructor). The object property defaults to a property
with the same name as the component id.
*/
- @Parameter(required = true)
+ @Parameter(required = true, autoconnect = true)
@Property
private Object object;
@@ -121,22 +120,11 @@
private BeanModel model;
@Inject
- private ComponentDefaultProvider defaultProvider;
-
- @Inject
private ComponentResources resources;
@Inject
private BeanModelSource beanModelSource;
- /**
- * Defaults the object parameter to a property of the container matching
the BeanEditForm's id.
- */
- Binding defaultObject()
- {
- return defaultProvider.defaultBinding("object", resources);
- }
-
void onPrepareFromForm()
{
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditor.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditor.java?rev=686020&r1=686019&r2=686020&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditor.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/BeanEditor.java
Thu Aug 14 13:22:52 2008
@@ -25,7 +25,6 @@
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.internal.util.TapestryException;
import org.apache.tapestry5.services.BeanModelSource;
-import org.apache.tapestry5.services.ComponentDefaultProvider;
import org.apache.tapestry5.services.FormSupport;
/**
@@ -56,7 +55,7 @@
* for the component is submitted. Typically, the container will listen
for a "prepare" event, in order to ensure
* that a non-null value is ready to be read or updated.
*/
- @Parameter
+ @Parameter(autoconnect = true)
private Object object;
/**
@@ -111,9 +110,6 @@
private BeanModelSource modelSource;
@Inject
- private ComponentDefaultProvider defaultProvider;
-
- @Inject
private ComponentResources resources;
@Environmental
@@ -124,14 +120,6 @@
@Property
private String propertyName;
- /**
- * Defaults the object parameter to a property of the container matching
the BeanEditForm's id.
- */
- Binding defaultObject()
- {
- return defaultProvider.defaultBinding("object", resources);
- }
-
// Needed for testing as well
public Object getObject()
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Loop.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Loop.java?rev=686020&r1=686019&r2=686020&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Loop.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Loop.java
Thu Aug 14 13:22:52 2008
@@ -18,7 +18,6 @@
import org.apache.tapestry5.annotations.*;
import org.apache.tapestry5.ioc.annotations.Inject;
import static org.apache.tapestry5.ioc.internal.util.CollectionFactory.newList;
-import org.apache.tapestry5.services.ComponentDefaultProvider;
import org.apache.tapestry5.services.FormSupport;
import org.apache.tapestry5.services.Heartbeat;
@@ -201,7 +200,7 @@
* Defines the collection of values for the loop to iterate over. If not
specified, defaults to a property of the
* container whose name matches the Loop cmponent's id.
*/
- @Parameter(required = true, principal = true)
+ @Parameter(required = true, principal = true, autoconnect = true)
private Iterable<?> source;
/**
@@ -250,13 +249,6 @@
@Inject
private ComponentResources resources;
- @Inject
- private ComponentDefaultProvider componentDefaultProvider;
-
- Binding defaultSource()
- {
- return componentDefaultProvider.defaultBinding("source", resources);
- }
String defaultElement()
{
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Output.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Output.java?rev=686020&r1=686019&r2=686020&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Output.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Output.java
Thu Aug 14 13:22:52 2008
@@ -14,14 +14,12 @@
package org.apache.tapestry5.corelib.components;
-import org.apache.tapestry5.Binding;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.MarkupWriter;
import org.apache.tapestry5.annotations.Parameter;
import org.apache.tapestry5.annotations.SupportsInformalParameters;
import org.apache.tapestry5.ioc.annotations.Inject;
import org.apache.tapestry5.ioc.internal.util.InternalUtils;
-import org.apache.tapestry5.services.ComponentDefaultProvider;
import java.text.Format;
@@ -35,7 +33,7 @@
/**
* The value to be output (before formatting). If the formatted value is
blank, no output is produced.
*/
- @Parameter(required = true)
+ @Parameter(required = true, autoconnect = true)
private Object value;
/**
@@ -59,15 +57,8 @@
private String elementName;
@Inject
- private ComponentDefaultProvider defaultProvider;
-
- @Inject
private ComponentResources resources;
- Binding defaultValue()
- {
- return defaultProvider.defaultBinding("value", resources);
- }
boolean beginRender(MarkupWriter writer)
{
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/OutputRaw.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/OutputRaw.java?rev=686020&r1=686019&r2=686020&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/OutputRaw.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/OutputRaw.java
Thu Aug 14 13:22:52 2008
@@ -14,12 +14,10 @@
package org.apache.tapestry5.corelib.components;
-import org.apache.tapestry5.Binding;
import org.apache.tapestry5.ComponentResources;
import org.apache.tapestry5.MarkupWriter;
import org.apache.tapestry5.annotations.Parameter;
import org.apache.tapestry5.ioc.annotations.Inject;
-import org.apache.tapestry5.services.ComponentDefaultProvider;
/**
* Used to output raw markup to the client. Unlike, say, an expansion, the
output from OutputRaw is unfiltered, with any
@@ -34,20 +32,12 @@
* The value to to render. If unbound, and a property of the container
matches the component's id, then that
* property will be the source of the value.
*/
- @Parameter(required = true)
+ @Parameter(required = true, autoconnect = true)
private String value;
@Inject
- private ComponentDefaultProvider defaultProvider;
-
- @Inject
private ComponentResources resources;
- Binding defaultValue()
- {
- return defaultProvider.defaultBinding("value", resources);
- }
-
boolean beginRender(MarkupWriter writer)
{
if (value != null && value.length() > 0) writer.writeRaw(value);
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Radio.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Radio.java?rev=686020&r1=686019&r2=686020&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Radio.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/Radio.java
Thu Aug 14 13:22:52 2008
@@ -48,7 +48,7 @@
* The value associated with this radio button. This is used to determine
which radio button will be selected when
* the page is rendered, and also becomes the value assigned when the form
is submitted.
*/
- @Parameter(required = true, principal = true)
+ @Parameter(required = true, principal = true, autoconnect = true)
private Object value;
@Inject
@@ -88,11 +88,6 @@
return defaultProvider.defaultLabel(resources);
}
- Binding defaultValue()
- {
- return defaultProvider.defaultBinding("value", resources);
- }
-
/**
* Returns the control name provided by the containing [EMAIL PROTECTED]
org.apache.tapestry5.RadioContainer}.
*/
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/RadioGroup.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/RadioGroup.java?rev=686020&r1=686019&r2=686020&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/RadioGroup.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/corelib/components/RadioGroup.java
Thu Aug 14 13:22:52 2008
@@ -29,7 +29,7 @@
/**
* The property read and updated by the group as a whole.
*/
- @Parameter(required = true, principal = true)
+ @Parameter(required = true, principal = true, autoconnect = true)
private Object value;
/**
@@ -74,11 +74,6 @@
private String controlName;
- final Binding defaultValue()
- {
- return defaultProvider.defaultBinding("value", resources);
- }
-
String defaultLabel()
{
return defaultProvider.defaultLabel(resources);
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ParameterWorker.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ParameterWorker.java?rev=686020&r1=686019&r2=686020&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ParameterWorker.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/transform/ParameterWorker.java
Thu Aug 14 13:22:52 2008
@@ -35,10 +35,13 @@
private static final String BIND_METHOD_NAME =
ParameterWorker.class.getName() + ".bind";
private final BindingSource bindingSource;
+
+ private ComponentDefaultProvider defaultProvider;
- public ParameterWorker(BindingSource bindingSource)
+ public ParameterWorker(BindingSource bindingSource,
ComponentDefaultProvider defaultProvider)
{
this.bindingSource = bindingSource;
+ this.defaultProvider = defaultProvider;
}
public void transform(final ClassTransformation transformation,
MutableComponentModel model)
@@ -90,7 +93,7 @@
String invariantFieldName = addParameterSetup(name,
annotation.defaultPrefix(), annotation.value(),
parameterName,
cachedFieldName, cache, type, resourcesFieldName,
- transformation);
+ transformation,
annotation.autoconnect());
addReaderMethod(name, cachedFieldName, invariantFieldName, cache,
parameterName, type, resourcesFieldName,
transformation);
@@ -105,7 +108,7 @@
*/
private String addParameterSetup(String fieldName, String defaultPrefix,
String defaultBinding,
String parameterName, String
cachedFieldName, boolean cache, String fieldType,
- String resourcesFieldName,
ClassTransformation transformation)
+ String resourcesFieldName,
ClassTransformation transformation, boolean autoconnect)
{
String defaultFieldName = transformation.addField(Modifier.PRIVATE,
fieldType, fieldName + "_default");
@@ -114,7 +117,7 @@
BodyBuilder builder = new BodyBuilder().begin();
addDefaultBindingSetup(parameterName, defaultPrefix, defaultBinding,
resourcesFieldName, transformation,
- builder);
+ builder, autoconnect);
builder.addln("%s = %s.isInvariant(\"%s\");", invariantFieldName,
resourcesFieldName, parameterName);
@@ -158,7 +161,7 @@
private void addDefaultBindingSetup(String parameterName, String
defaultPrefix, String defaultBinding,
String resourcesFieldName,
ClassTransformation transformation,
- BodyBuilder builder)
+ BodyBuilder builder, boolean
autoconnect)
{
if (InternalUtils.isNonBlank(defaultBinding))
{
@@ -174,6 +177,18 @@
return;
}
+
+ if(autoconnect)
+ {
+ String defaultProviderFieldName =
transformation.addInjectedField(ComponentDefaultProvider.class,
+ "defaultProvider", defaultProvider);
+
+ builder.addln("if (! %s.isBound(\"%s\"))", resourcesFieldName,
parameterName);
+
+ builder.addln(" %s.bindParameter(\"%s\",
%s.defaultBinding(\"%s\", %s));", resourcesFieldName,
+ parameterName, defaultProviderFieldName,
parameterName, resourcesFieldName);
+ return;
+ }
// If no default binding expression provided in the annotation, then
look for a default
// binding method to provide the binding.
Modified:
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/ParameterWorkerTest.java
URL:
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/ParameterWorkerTest.java?rev=686020&r1=686019&r2=686020&view=diff
==============================================================================
---
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/ParameterWorkerTest.java
(original)
+++
tapestry/tapestry5/trunk/tapestry-core/src/test/java/org/apache/tapestry5/internal/transform/ParameterWorkerTest.java
Thu Aug 14 13:22:52 2008
@@ -35,6 +35,7 @@
import org.apache.tapestry5.model.MutableComponentModel;
import org.apache.tapestry5.runtime.Component;
import org.apache.tapestry5.services.BindingSource;
+import org.apache.tapestry5.services.ComponentDefaultProvider;
import org.slf4j.Logger;
import org.testng.annotations.AfterClass;
import org.testng.annotations.Test;
@@ -461,6 +462,7 @@
final BindingSource source = mockBindingSource();
final InternalComponentResources resources =
mockInternalComponentResources();
final Binding binding = mockBinding();
+ ComponentDefaultProvider defaultProvider =
newMock(ComponentDefaultProvider.class);
String boundValue = "howdy!";
final Logger logger = mockLogger();
@@ -486,7 +488,7 @@
};
Component component = setupForIntegrationTest(resources, logger,
DefaultParameterComponent.class.getName(),
- model, source,
phaseTwoTraining);
+ model, source,
phaseTwoTraining, defaultProvider);
train_isLoaded(resources, true);
train_isBound(resources, "value", true);
@@ -505,6 +507,7 @@
{
BindingSource source = mockBindingSource();
final InternalComponentResources resources =
mockInternalComponentResources();
+ ComponentDefaultProvider defaultProvider =
newMock(ComponentDefaultProvider.class);
_binding = mockBinding();
String boundValue = "yowza!";
final Logger logger = mockLogger();
@@ -531,7 +534,7 @@
Component component = setupForIntegrationTest(resources, logger,
DefaultParameterBindingMethodComponent.class.getName(), model,
- source,
phaseTwoTraining);
+ source,
phaseTwoTraining, defaultProvider);
train_isLoaded(resources, true);
train_isBound(resources, "value", true);
@@ -562,6 +565,7 @@
{
final Logger logger = mockLogger();
MutableComponentModel model = mockMutableComponentModel(logger);
+ ComponentDefaultProvider defaultProvider =
newMock(ComponentDefaultProvider.class);
model.addParameter("invariantObject", false, true,
BindingConstants.PROP);
model.addParameter("invariantPrimitive", false, true,
BindingConstants.PROP);
@@ -583,12 +587,12 @@
stub_isDebugEnabled(logger, false);
return setupForIntegrationTest(resources, logger,
ParameterComponent.class.getName(), model,
- mockBindingSource(), phaseTwoTraining);
+ mockBindingSource(), phaseTwoTraining,
defaultProvider);
}
private Component setupForIntegrationTest(InternalComponentResources
resources, Logger logger,
String componentClassName,
MutableComponentModel model,
- BindingSource source, Runnable
phaseTwoTraining) throws Exception
+ BindingSource source, Runnable
phaseTwoTraining, ComponentDefaultProvider defaultProvider) throws Exception
{
ClassFactoryClassPool pool = new
ClassFactoryClassPool(contextClassLoader);
@@ -605,7 +609,7 @@
InternalClassTransformation transformation = new
InternalClassTransformationImpl(cf, ctClass, null, model,
null);
- new ParameterWorker(source).transform(transformation, model);
+ new ParameterWorker(source, defaultProvider).transform(transformation,
model);
verify();