No, but here's the two templates that are most relevent. This is probably against Cayenne 1.2 (2.0 with different package names).
If they're helpful, great! If not, sorry, it's as-is at the moment -- it's really not that difficult to come up with your own. I might have more up-to-date versions, but that's what's in front of me at the moment. On Wed, Jul 22, 2009 at 2:58 PM, Emanuele Maiarelli<[email protected]> wrote: > Did u made em public accessible? (sourceforge or kinda) > > > > > ________________________________ > Da: Mike Kienenberger <[email protected]> > A: [email protected] > Inviato: Mercoledì 22 luglio 2009, 20:52:25 > Oggetto: Re: Modification and deletion of data objects > > I wrote templates to generate interfaces as well as concrete classes > for entities. > It's been awhile since I looked at them, so I don't know if they're > suitable for public consumption. > > On Wed, Jul 22, 2009 at 2:36 PM, Emanuele Maiarelli<[email protected]> wrote: >> Hi agree with Mike, unless you have previous designed objects, i'd take >> DataObjects >> as business objects. >> >> If u get previous designed objects u could work on the package 'entities' >> implementing >> methods do adapt DataObjects to your needs. IDEs (at least NetBeans) got >> refactoring services >> that can help u extracting interfaces from your classes, quickly. >> >> >> >> >> >> >> ________________________________ >> Da: Mike Kienenberger <[email protected]> >> A: [email protected] >> Inviato: Mercoledì 22 luglio 2009, 20:21:32 >> Oggetto: Re: Modification and deletion of data objects >> >> I'm not aware of anyone else using separate objects for the business >> level. I use the DataObjects as the business level objects. Yes, if >> you decide to manually recreate data objects from business objects, >> there will be some overhead. If I had to go that route, I'd create a >> central management class and have it cache what objects I already know >> exist in the data context the first time I reference them rather than >> searching through the data context lists each time. >> >> One possiblity you could consider is to generate interfaces for your >> DataObjects and then pass the interface rather than the DataObject >> concrete class. This is what I tend to do in my projects. That way, >> you can hide all of the Cayenne-specific methods from your other code >> if you want. Other than some dependencies on Cayenne classes and a >> couple of other methods, there's not a lot of difference between a >> Cayenne data object and a "cayenne-free" business representation of >> the same data. >> >> On Wed, Jul 22, 2009 at 2:15 PM, sridhar >> devatha<[email protected]> wrote: >>> andrus, it is not clear(thank for reply though), i have to try over weekend. >>> moreover, i can not use context, getEntityName in business object. I wrote >>> business object to data object conversion in data object class it self. so I >>> can use cayenne java api. I have to do it in the data object class which is >>> sub class _data object, as it will have reference of business object. But, >>> any way I am just surprised to see that there is no modification example >>> code. Nobody uses cayenne data object from view layer to business/service >>> layer to data access layer in web or enterprise applications(because it is >>> cayenne data object with several other sensitive methods available. even if >>> the methods are not there. I don't want to couple all the layers. ). I don't >>> want to expose that sensitive object. more concrete examples will make it >>> easier for new developers like me. >>> I think what Mike Kienenberger(thanks mike , that is what I am also thinking >>> at least. by the way what do you say about andrus reply) is telling may be >>> correct. then i have to go thru all the new and modified registered objects >>> in the data context to see if there is any thing existing. clearly this kind >>> of searching will make it difficult for every data object updation and >>> deletion. what do you say. >>> >>> On Wed, Jul 22, 2009 at 3:45 PM, Andrus Adamchik >>> <[email protected]>wrote: >>> >>>> In your business object you will need to know 3 things to map it to a >>>> Cayenne object: entity name, id, state (new or already persistent). Then >>>> you >>>> can do something like this (pseudo code of course): >>>> >>>> X businessObject = ...; >>>> DataObject cayenneObject; >>>> Class cayenneObjectClass = context.getEntityResolver(). >>>> getClassDescriptor(businessObject.getEntityName()).getObjectClass(); >>>> if(bObject.isNew()) { >>>> cayenneObject = context.newObject(cayenneObjectClass); >>>> } >>>> else { >>>> cayenneObject = DataObjectUtils.objectForPK(cayenneObjectClass, >>>> businessObject.getId()); >>>> } >>>> >>>> // merge fields... >>>> >>>> Hope I answered the right question. >>>> >>>> Andrus >>>> >>>> >>>> On Jul 22, 2009, at 7:47 AM, sridhar devatha wrote: >>>> >>>> Hi, >>>>> >>>>> I have view layer, business layer and data access layer. Each have >>>>> separate >>>>> class for carrying data. But, in data access layer, the object / class >>>>> used >>>>> for carrying data is respective data objects. I don't send these objects >>>>> beyond my data access layer. Rather I create business objects populated >>>>> with >>>>> data object data. When the business functions call data access layer for >>>>> any >>>>> of the CRUD operations, they pass these business objects. I convert these >>>>> business objects to data objects(So, I will create data object every time >>>>> I >>>>> need to convert business object to data object. So, what happens when the >>>>> two data objects(one dataobject is created while retrieving data. We send >>>>> the data as business object to business layer. one data object is created >>>>> when the user returns the modified data in the form of business object) >>>>> of >>>>> the same class exist with the same data? How can I modify and delete the >>>>> respective rows of these data objects? Please answer any body. I did not >>>>> find any example that does the modification. >>>>> >>>>> >>>>> Yours Sincerely, >>>>> Devatha Sridhar >>>>> >>>> >>>> >>> >>> >>> -- >>> >>> Yours Sincerely, >>> Devatha Sridhar >>> >> >> >> >> > > > >
templates.tar.gz
Description: GNU Zip compressed data
