I will code that.  Regards

marc


> -----Original Message-----
> From: [EMAIL PROTECTED]
> [mailto:[EMAIL PROTECTED]]On Behalf Of Juha Lindfors
> Sent: Monday, July 10, 2000 10:02 AM
> To: jBoss Developer
> Subject: RE: [jBoss-Dev] setEJBObject
>
>
>
> Would seem to me that the current implementation just suffers from mixing
> too many responsibilities into one class. We need to separate the
> different
> roles of a persistence manager and that of an O/R mapper behind two
> different interfaces.
>
> Currently the JAWSPersistenceManager does both the callbacks to the
> EntityContainer and deals with the JDBC calls to the database
> (this was how
> it worked before this weekend's changes anyhow). I believe marc is correct
> to point out that this is not a good solution since it leaves the
> responsibility of the callbacks to the O/R mapper plugin authors (that are
> required to have the knowledge of jBoss to be able to provide container
> management part as well). In addition, this leaves a door open for writing
> "bad" plugins that can fuck up the container by not doing the required
> calls or doing them in unexpected ways. I think we should attempt to
> isolate the plugins more in order to prevent this. Otherwise we might end
> up having to review all the possible persistence plugins to make sure they
> do work correctly.
>
> So we should provide an implementation of a PersistenceManager that does
> the callbacks to the container in correct places and that requests the
> services of the O/R mappers when needed. This would require us to
> define an
> interface for the O/R mappers to implement, thus separating the
> "management" part of doing the callbacks from the JDBC stuff of mapping
> objects to relational data. JAWS would be one such mapper and it would get
> its requests of service from jBoss PersistenceManager whenever it requires
> the operations. The same manager could also delegate the O/R services to
> other modules, such as Cocobase, when they too implement this yet to be
> named interface (basically doing a wrapper that implements it, and not
> having to know about the container callbacks).
>
> This would separate the JDBC calls from container calls and still maintain
> container's role as a mediator that receives callbacks from the
> plugins (or
> at least from the managers that make use of the plugins).
>
>
> Flame on.
>
> ----+
>  C  |
>  o  |
>  n  |            +-------+
>  t  |            |       |          +------+
>  a  |   callback |       |   uses   |      |
>  i  |<-----------|  PM   |--------->| O/R  |
>  n  |            |       |          |mapper|
>  e  |            |       |          |      |
>  r  |            +-------+          +______+
> ----+                                  |
>
>                                        |
>
>                                        |
>                               +-----------------------------
>                               | instance of JAWS, Cocobase, \
>
>                               | some other O/R mapper?       |
>                               |                              |
>                               +------------------------------+
>
> -- Juha
>
>
>
> At 10:20 9.7.2000 -0700, you wrote:
> >
> >> -----Original Message-----
> >> From: [EMAIL PROTECTED]
> >> [mailto:[EMAIL PROTECTED]]On Behalf Of Rickard �berg
> >> Sent: Sunday, July 09, 2000 8:59 AM
> >> To: jBoss Developer
> >> Subject: Re: [jBoss-Dev] setEJBObject
> >>
> >>
> >> marc fleury wrote:
> >> > to have JAWS (!) implement the ejbCreate and ejbPostCreate
> >> calls is silly.
> >>
> >> No, that is your opinion. My opinion is that it is the right way to do
> >> it.
> >
> >Rickard,
> >
> >It's not an opinion, it's a trivial fact.
> >
> >Container calls mixed jdbc calls in the same 3 lines is absurd.
> >
> >What are we going to do for the Cocobase integration? give them
> a map of all
> >the calls they need to implement? and the reason why? and a
> crash course on
> >the EJB representation in jboss2.0? so they can call the right
> setEJBObject
> >on the "EnterpriseEntityContext.java" in the wrapper for the
> instance?  when
> >all they should do is generate the JDBC stuff?
> >
> >You really can't be serious, Rickard.
> >
> >> > If you want to do it in CMPPersistenceManager or
> >> BMPPersistenceManager, that
> >> > is fine and then we propagate the MetaData knowledge, but
> NOT JAWS!!!!!!
> >>
> >> Huh. Now you really confused me. JAWS *IS* a CMP persistence manager.
> >> You're saying that
> >> 1. It is ok to do it in a CMP persistence manager
> >> 2. It is not ok to do it in JAWS
> >>
> >> But since JAWS *IS* a persistence manager that doesn't make any sense.
> >
> >You are wasting my time, and everybodies time kid.
> >
> >I am saying
> >
> >1- JAWS the O/R Mapper right now is a spaghetti code of 2000
> lines, with no
> >architecture whatsoever that on top of it does CONTAINER CALLS!!!!!!!
> >
> >2- JAWS does EJB container calls!!!!!!!!! *AND* JAWS does JDBC calls!!!!
> >
> >3- YOU MIX JDBC Generation and DEEP EJB CONTAINER CALLS!!!!!!
> >
> >4- Clear?
> >
> >Zha'ts all!  what part don't you understand?
> >
> >Conclusion.
> >
> >To put container calls mixed with jdbc calls as it was in
> >JAWSPersistenceManager is not code, it's not an opinion, it's
> not "elegant
> >architecture", it's a mistake, pure and simple... and a trivial
> one at that
> >rickard! why are we EVEN discussing this sucky stuff?  I'll tell you why?
> >
> >Where do we go from here.
> >
> >You coded about 30k lines of code.  The basic architecture is great and I
> >think it will pay off in the long run.
> >
> >I have taken a big bet on you and your ideas rickard when I
> decided to scrap
> >a year of work to go straight to jboss2.0.  I have worked hard to build a
> >group I think can make it happen.  We decided to force the move for the
> >whole group to work on your codebase.  BUT IF EACH TIME we fix something
> >silly in your codebase you spend 3 days arguing "trivial" points
> then we are
> >going NOWHERE.  See you don't really intimidate me however a
> newcomer that
> >fixes that and then spends 3 days fighting with you is going to leave,
> >intimated and thinking "wow, this is not open source".  It has been
> >happening already, you know it!
> >
> >There is ALOT of stuff that needs fixing, re-thinking, re-factoring,
> >de-bugging, re-architecting and sometimes plain implementing.  When Aaron
> >fixed some of the metadata stuff you got all worried and started
> crying "put
> >it back!".  I see a pattern here and I am trying to correct it.
> When people
> >change your code, since THIS IS OPEN SOURCE, it is normal, it is not a
> >personal insult, even if they are picking up poopoo and saying
> so.  So relax
> >because it is going to happen a lot to you, let it go.
> >
> >
> >Marc
> >
> >>
> >> /Rickard
> >>
> >> --
> >> Rickard �berg
> >>
> >> @home: +46 13 177937
> >> Email: [EMAIL PROTECTED]
> >> http://www.telkel.com
> >> http://www.jboss.org
> >> http://www.dreambean.com
> >>
> >>
> >
> >
> >
>
>
>


Reply via email to