You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hivemind.apache.org by Norbert Sándor <de...@erinors.com> on 2005/10/24 05:50:10 UTC

configuration q.

Hello,

Probably I'm too tired but I don't see the cause... :(
I have this configuration point:

<configuration-point id="ObjectVisualizers">
<schema>
<element name="visualizer" key-attribute="type">
<attribute name="type" required="true" translator="class"/>
<attribute name="implementation" required="true" translator="object" />
<rules>
<push-attribute attribute="implementation"/>
<invoke-parent method="addElement"/>
</rules>
</element>
</schema>
</configuration-point>

When I try to inject it in Tapestry using

@InjectObject(value="configuration:mymodule.ObjectVisualizers")
public abstract Map getObjectVisualizers();

I get the following error:

org.apache.tapestry.BindingException
An error occured processing annotation @org.apache.tapestry.annotations.InjectObject(value=configuration:mymodule.ObjectVisualizers) of public abstract java.util.Map mypackage.Component.getObjectVisualizers(): The value obtained using locator 'configuration:mymodule.ObjectVisualizers' ([...]) is not compatible with the existing property (of type java.util.Map).

Which means that the configuration cannot be injected as a Map because it is a List.
Why is it a List when I specified key-attribute="type"?

Thanks in advance!
BR,
Norbi