Andrew,
Rather than patching TrinidadComponentHandler, the better idea is to
either modify CoreChart (to implement getChartDrillDownListeners()) or
create a separate handler for the chart, where createMetaRuleset() would
be overridden. Once you file a jira issue, we will try to provide a fix
as soon as possible.
Max
On 7/26/2011 4:14 AM, Kokavecz András wrote:
Hi Max,
Thanks for your quick reply!
I found this "protected MetaRuleset createMetaRuleset(Class type)"
method in the trinidad-impl.jar TrinidadComponentHandler class.
This class should be patched?
What is your standard way for doing this?
I file this issue in JIRA and wait.
When and in which release this supposed to appear?
Thanks,
Andrew Kokavecz
Budapest, Hungary
Nextent Informatics
2011/7/25 Max Starets <max.star...@oracle.com
<mailto:max.star...@oracle.com>>
Hey Andrew,
The problem is that the Facelets engine does not know it is
dealing with a MethodExpression.
One way to fix it would be to override createMetaRuleset() in the
newly created chart tag along these lines:
protected MetaRuleset createMetaRuleset(Class type)
{
MetaRuleset m = super.createMetaRuleset(type);
m.addRule(new MethodRule("chartDrillDownListener", null, new
Class[]|{ChartDrillDownEvent|.class}));
return m;
}
Another way would be to implement getChartDrillDownListeners() on
CoreChart, so that TrinidadListenersTagRule can add a rule
automatically.
Both ways involve making changes to Trinidad code. Could you file
a JIRA issue for this?
Thanks,
Max
On 7/25/2011 7:22 AM, Kokavecz András wrote:
Hi,
I'm trying to user Trinidad charts and I have problems with th
chartDrillDown listener and also with the binding of the chart component to
an UIComponent.
1.)
If I use a JSPX page with jsp:root and f:view tags, so withOUT Facelets it
all works fine...the chartDrillDown fires up.
2.)
If inside ui:composition tags, so WITH facelets the problem is, that the API
tries to look up the chartDrillDownListener as a property not as a
MethodExpression.
This is also the case with bindig the tr:chart element to an UIComponent.
I debugged the class UIXChart, as the event travels throught its
"broadcast(FacesEvent event)" method.
// Deliver to the default ChartDrillDownEvent
if (event instanceof ChartDrillDownEvent) {
broadcastToMethodExpression(event, getChartDrillDownListener());
}
super.broadcast(event);
In case of FACELETS the getChartDrillDownListener() method tries to call
getProperty() for UIXComponentBase and exits with a
PropertyNotFoundException.
Any suggestions?
Thanks in advance...
Andrew Kokavecz
--
Kokavecz András
Nextent Informatika Zrt.
1134 Budapest Váci út 45.
Mobil: +36 30 584-0419