Hi Kyle,
Thanks a lot , it works great !
The hack that I put up in JIRA was my attempt to validate that what I observed/remarked on was indeed the bug.
So I wrote it to make sure that if we fixed what I found , the problem gets solved.
Indeed this new fix is much more cleaner and better.
Regards, Mridul
Kyle Marvin (JIRA) wrote:
[ http://issues.apache.org/jira/browse/BEEHIVE-508?page=history ]
Kyle Marvin resolved BEEHIVE-508:
---------------------------------
Resolution: Fixed Fix Version: V1
This is resolved by svn revision 161092. Mridul, I ended up taking a slightly different path than the proposed patch, but appreciate the effort you put into identifying and analyzing the problem. In the end, it seemed easier to guarantee maintainability, consistency, and efficiency to manage the composite control ID values in one place (the context) instead of spreading responsibility between the bean and the context. Individual beans are responsible for knowing only their context-relative ID.
Control id related issue ------------------------
Key: BEEHIVE-508
URL: http://issues.apache.org/jira/browse/BEEHIVE-508
Project: Beehive
Type: Bug
Components: Controls
Versions: V1Alpha, V1Beta, V1
Environment: Win2k , x86
Reporter: Mridul Muralidharan
Assignee: Kyle Marvin
Priority: Critical
Fix For: V1
This is my mail to the alias.
I will try to attach a testcase soon - but the idea of the bug is explained below.
--
Hi all,
I am observing some problems with control id's that get returned by the ControlBean.getControlID().
I will try to explain what I am trying :
I have a nested control within another control's impl like this :
@ControlImplementation
public class SomeControlAImpl implements SomeControlA , Serializable{
@Control
SomeControlB controlB;
.... // proper initialization of SomeControlAImplClientInitializer is done.
}
Within SomeControlB , when I invoke "context.getControlHandle().getControlID();" - it gives the proper path based id "instance/controlB".
Now , when this gets serialized and then deserialized , a lookup on for this bean succeeds (using : container.getBean(controlId)) , but the getControlID() on this bean instance which is returned gives me the id as "controlB" not "instance/controlB".
Because of this , event firing using control handle , etc fails.
After some digging , I suspect that is it 'cos of what is mentioned in "ControlBean.setControlID" -> "// TODO: The ID change needs to be propagated down to nested children".
Is this the case ? or am I missing something else here ?
And if it is indeed the case , then is this going to be fixed for beehive 1.0 release ?
Thanks and Regards,
Mridul
