Mantis Bug Tracker

View Issue DetailsJump to Notes ] Wiki ] Issue History ] Print ]
IDProjectCategoryView StatusDate SubmittedLast Update
0000337jquantlib[All Projects] code reviewpublic2009-08-13 19:442009-10-31 15:44
ReporterUeli Hofstetter 
Assigned ToRichard Gomes 
PriorityhighSeverityminorReproducibilityhave not tried
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version0.1.3 
Summary0000337: Review Handle class
Descriptionthere are one or two a little bit suspicious aspects in the handle related classes..

1: why does Handle implement observable? in ql observers aren't registered at the Handle itself but at the link

2. why does linkTo(setLink) of the link class notify the observers of the observable and not the observers of the link?

3 ...
TagsNo tags attached.
Attached Files

- Relationships
has duplicate 0000333resolvedRichard Gomes Document all methods in the Handle and Link classes... remove unused stuff. 
child of 0000394assignedRichard Gomes Switch to QL 0.9.7 

-  Notes
(0000518)
Richard Gomes (manager)
2009-10-12 09:59

I've changed
   1. getLink(...) to currentLink(...) and
   2. setLink(...) to linkTo(...)

These changes will make classes Handle and Link look closer to QuantLib/C++ but there are still structural differences.

I've tried to removed "implements Observable" from class Handle and move all responsibilities to class Link but it didn't not work. A new tentative is needed after I figure out what would be the responsibilities of Link in this new scenario (I mean: in the original scenario defined by Quantlib/C++).
(0000595)
Richard Gomes (manager)
2009-10-31 15:44

Reminder sent to: Daniel Kong, Dominik Holenstein, Femi Anthony, Gary Kennedy, Jia Jia, John Nichol, Joom Tiang Heng, Jose Coll, Praneet Tiwari, Renjith Nair, Siju Odeyemi, Srinivas Hasti, Ueli Hofstetter, Zahid Hussain

These comments where taken from the new implementation of Handle:
=================================================================

In QL/C++, Handle has operators which return the inner Link class, performing a call to currentLink() behind the scenes. This is pretty handy from the calling code because you can simply dereference a Handle and (like magic!) call methods from the parameterized class.

In Java we are obliged to explicitly call currentLink() in order to do the same thing.

The difficulty arises when we need to register Observers.

In the current implementation, we hide class Link from outside world and we only expose the Handle itself, which implements Observable. Doing this way, the calling Java code does not need to decide which object is really the Observer object because class Handle is responsible for hiding this implementation details from outside world and properly forwarding notifications to external Observers as expected.
(0000596)
Richard Gomes (manager)
2009-10-31 15:44

done

- Issue History
Date Modified Username Field Change
2009-08-13 19:44 Ueli Hofstetter New Issue
2009-08-13 19:44 Ueli Hofstetter Status new => assigned
2009-08-13 19:44 Ueli Hofstetter Assigned To => Richard Gomes
2009-10-12 09:59 Richard Gomes Note Added: 0000518
2009-10-30 17:59 Richard Gomes Relationship added child of 0000394
2009-10-31 15:44 Richard Gomes Issue Monitored: Daniel Kong
2009-10-31 15:44 Richard Gomes Issue Monitored: Dominik Holenstein
2009-10-31 15:44 Richard Gomes Issue Monitored: Femi Anthony
2009-10-31 15:44 Richard Gomes Issue Monitored: Gary Kennedy
2009-10-31 15:44 Richard Gomes Issue Monitored: Jia Jia
2009-10-31 15:44 Richard Gomes Issue Monitored: John Nichol
2009-10-31 15:44 Richard Gomes Issue Monitored: Joom Tiang Heng
2009-10-31 15:44 Richard Gomes Issue Monitored: Jose Coll
2009-10-31 15:44 Richard Gomes Issue Monitored: Praneet Tiwari
2009-10-31 15:44 Richard Gomes Issue Monitored: Renjith Nair
2009-10-31 15:44 Richard Gomes Issue Monitored: Siju Odeyemi
2009-10-31 15:44 Richard Gomes Issue Monitored: Srinivas Hasti
2009-10-31 15:44 Richard Gomes Issue Monitored: Zahid Hussain
2009-10-31 15:44 Richard Gomes Note Added: 0000595
2009-10-31 15:44 Richard Gomes Note Added: 0000596
2009-10-31 15:44 Richard Gomes Status assigned => resolved
2009-10-31 15:44 Richard Gomes Fixed in Version => 0.1.3
2009-10-31 15:44 Richard Gomes Resolution open => fixed
2009-10-31 22:34 Richard Gomes Relationship added has duplicate 0000333


Copyright © 2000 - 2009 MantisBT Group
Powered by Mantis Bugtracker