[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Hacking



On Fri, 18 May 2001, Eric Richardson wrote:
> Hi,
> I finally got a chance to look at the source code. I was particularly
> interested in the ObjectId discussion we were having and the
> ExternalDatabase.createObject( with the sig argument). 
> 
> I followed the code about to see where this originated and found a few
> interesting things. I found DxObject.c which looks like it may have been
> left over from the 1.0.2 days before there was full reflection? 
yes

> I
> couldn't seem to find the createTarget() in the ClassicObjectContainer
the classicStore is not supported. don't woryy about that code.

> implementation but found the invokeTarget(with sig) code for method
> invocation and if sig is null it creates the method with the parameter
> types. 
which is dangerous because the types of the actual params doesn't need to be
exactly the same types as of the formal params.

> I was looking to eliminate the createTarget(with sig) as this
> bubbles up to the developer code which I found a bit strange. What do
> you think about this whole discussion and trying to take this
> sig(nature) code out?
I don't follow, sorry. 

The container has to have the responsibility to create new objects. Thus the
createTarget method, which is called by Transaction.createObject().

It's important for the createTarget() method to know the _exact_ types of the
_formal_ params of the method in order to be able to always find the right
method to invoke.

Why do you want to eliminate the createTarget() method?

> 
> About the ObjectId discussion. Were you think of internalizing the OID
> into the actually OzoneObject or leaving it in the container?
???

> 
> The last thing I'd like to ask is what you want the focus to be for the
> next version. If there are decent test cases, maybe there are some
> refactoring opportunities. It's a pretty big codebase so this might be a
> good chance -- I need to look at it some more before I can really
> comment and hear your thoughts as well.
Yes there are some integration test, which, thanks to the work of David,
should run again. I did not test it.

> 
> What was the purpose of the LGPL licensing over GPL? Do you have people
> embedding it in commercial products?
yes. At least two companies have reported to use ozone in commercial products.


Falko
-- 
______________________________________________________________________
Falko Braeutigam                              mailto:falko@smb-tec.com
SMB GmbH                                        http://www.smb-tec.com