+1 Works for me, thks Romain Manni-Bucau Twitter: @rmannibucau Blog: http://rmannibucau.wordpress.com/ LinkedIn: http://fr.linkedin.com/in/rmannibucau Github: https://github.com/rmannibucau
2013/11/15 Thomas Hug <[email protected]>: > One question is probably whether it's worth adding something like a > MapperResolver instead of referring to the mapper class directly. > > > On Fri, Nov 15, 2013 at 11:10 AM, Thomas Hug <[email protected]> wrote: > >> Finally found some spare time to get back to this. You can find an API >> proposal at [1] and a sample repository at [2]. >> Suggestions? >> >> [1] >> https://github.com/thomashug/DeltaSpike-Mirror/tree/master/deltaspike/modules/data/api/src/main/java/org/apache/deltaspike/data/api/mapping >> [2] >> https://github.com/thomashug/DeltaSpike-Mirror/blob/master/deltaspike/modules/data/impl/src/test/java/org/apache/deltaspike/data/test/service/SimpleMappedRepository.java >> >> >> >> On Tue, Oct 1, 2013 at 5:44 PM, Thomas Hug <[email protected]> wrote: >> >>> +1 on the feature, just been busy on a project where that would have been >>> handy. >>> >>> And apologies for letting the thread quiet, will I'll try to propose >>> something over the next two weeks based on the initial API suggestion (and >>> get some other JIRA issues finally done...). >>> >>> >>> On Tue, Oct 1, 2013 at 4:31 PM, Jean-Louis MONTEIRO >>> <[email protected]>wrote: >>> >>>> Yep, I still think it's useful. >>>> >>>> JLouis >>>> >>>> >>>> 2013/10/1 Romain Manni-Bucau <[email protected]> >>>> >>>> > Not particularly >>>> > >>>> > the thread ends while the feature is useful IMO so simply asking what >>>> to do >>>> > next ;) >>>> > >>>> > *Romain Manni-Bucau* >>>> > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* >>>> > *Blog: **http://rmannibucau.wordpress.com/*< >>>> > http://rmannibucau.wordpress.com/> >>>> > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* >>>> > *Github: https://github.com/rmannibucau* >>>> > >>>> > >>>> > >>>> > 2013/10/1 Jason Porter <[email protected]> >>>> > >>>> > > Was this my action item? >>>> > > >>>> > > Sent from my iPhone >>>> > > >>>> > > > On Oct 1, 2013, at 7:43, Romain Manni-Bucau <[email protected] >>>> > >>>> > > wrote: >>>> > > > >>>> > > > Hi >>>> > > > >>>> > > > any news on it? >>>> > > > >>>> > > > @ResultMapper was good to me >>>> > > > >>>> > > > *Romain Manni-Bucau* >>>> > > > *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* >>>> > > > *Blog: **http://rmannibucau.wordpress.com/*< >>>> > > http://rmannibucau.wordpress.com/> >>>> > > > *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* >>>> > > > *Github: https://github.com/rmannibucau* >>>> > > > >>>> > > > >>>> > > > >>>> > > > 2013/7/12 Jason Porter <[email protected]> >>>> > > > >>>> > > >> On Fri, Jul 12, 2013 at 12:13 AM, Romain Manni-Bucau >>>> > > >> <[email protected]>wrote: >>>> > > >> >>>> > > >>> Ps: you can make a cdi bean an ejb from cdi extension >>>> > > >>> >>>> > > >> >>>> > > >> No, the bootstrapping for each container do not communicate to my >>>> > > >> knowledge. >>>> > > >> >>>> > > >> >>>> > > >>> Le 12 juil. 2013 08:12, "Romain Manni-Bucau" < >>>> [email protected]> >>>> > a >>>> > > >>> écrit : >>>> > > >>> >>>> > > >>>> Hi >>>> > > >>>> >>>> > > >>>> Depending the case DTO are not an option. >>>> > > >>>> >>>> > > >>>> I agree in rest app i wouldnt it but if not possible (maybe >>>> through >>>> > > >>>> another Bean) it would kill this module for half of the usages >>>> i see >>>> > > >>> since >>>> > > >>>> i'd need to add this layer. >>>> > > >>>> Le 12 juil. 2013 06:55, "hantsy" <[email protected]> a écrit >>>> : >>>> > > >>>> >>>> > > >>>>> No DTO please, data module for data access, why we care about >>>> DTO. >>>> > > >>>>> >>>> > > >>>>> A question about the data, the difference for EJB and none EJB >>>> > > >>>>> environment. >>>> > > >>>>> >>>> > > >>>>> if possible in a EJB envoriment, proxy the Repository and add >>>> > > >> @Stateless >>>> > > >>>>> and transaction declaration to Repository automatically at >>>> runtime. >>>> > > >>>>> >>>> > > >>>>> Regards >>>> > > >>>>> >>>> > > >>>>> Hantsy >>>> > > >>>>>> On 7/10/2013 23:23, Thomas Hug wrote: >>>> > > >>>>>> I wouldn't label the feature with DTO but rather as some >>>> general >>>> > > >>> result >>>> > > >>>>>> transformation - might also be useful for e.g. native queries. >>>> > Going >>>> > > >>>>> back >>>> > > >>>>>> to the API suggestion, from that perspective such an >>>> annotation >>>> > > >> should >>>> > > >>>>>> probably also work on method level, so I'd keep the forEntity >>>> out >>>> > > >>> there. >>>> > > >>>>>> >>>> > > >>>>>> >>>> > > >>>>>> On Wed, Jul 10, 2013 at 4:22 PM, John D. Ament < >>>> > > >>> [email protected] >>>> > > >>>>>> wrote: >>>> > > >>>>>> >>>> > > >>>>>>> Personally, I don't like this idea. >>>> > > >>>>>>> >>>> > > >>>>>>> A DAO should do DAO stuff. >>>> > > >>>>>>> A DTO should do DTO stuff. >>>> > > >>>>>>> >>>> > > >>>>>>> The transformation of your entities into some other POJO >>>> > shouldn't >>>> > > >> be >>>> > > >>>>>>> inside your DAO. >>>> > > >>>>>>> >>>> > > >>>>>>> Right now, I use google guava to do DTO work on entities >>>> going >>>> > back >>>> > > >>> and >>>> > > >>>>>>> forth over a REST API. Works well IMHO. >>>> > > >>>>>>> >>>> > > >>>>>>> John >>>> > > >>>>>>> >>>> > > >>>>>>> >>>> > > >>>>>>> On Wed, Jul 10, 2013 at 9:21 AM, Romain Manni-Bucau >>>> > > >>>>>>> <[email protected]>wrote: >>>> > > >>>>>>> >>>> > > >>>>>>>> globally my answer meant "if forEntity is sometimes >>>> mandatory, >>>> > > >>>>> sometimes >>>> > > >>>>>>>> not this is maybe not the right place" >>>> > > >>>>>>>> >>>> > > >>>>>>>> i thought to add it to mapper config >>>> > > >>>>>>>> >>>> > > >>>>>>>> *Romain Manni-Bucau* >>>> > > >>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* >>>> > > >>>>>>>> *Blog: **http://rmannibucau.wordpress.com/*< >>>> > > >>>>>>>> http://rmannibucau.wordpress.com/> >>>> > > >>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* >>>> > > >>>>>>>> *Github: https://github.com/rmannibucau* >>>> > > >>>>>>>> >>>> > > >>>>>>>> >>>> > > >>>>>>>> >>>> > > >>>>>>>> 2013/7/10 Thomas Hug <[email protected]> >>>> > > >>>>>>>> >>>> > > >>>>>>>>> Making forEntity non-optional would then be redundant for >>>> the >>>> > > >>> regular >>>> > > >>>>>>>> cases >>>> > > >>>>>>>>> using the base interface, so I wouldn't. But I see that it >>>> > should >>>> > > >>> be >>>> > > >>>>>>>>> clearly documented then as things might get confusing... >>>> > > >>>>>>>>> >>>> > > >>>>>>>>> >>>> > > >>>>>>>>> On Wed, Jul 10, 2013 at 3:02 PM, Romain Manni-Bucau >>>> > > >>>>>>>>> <[email protected]>wrote: >>>> > > >>>>>>>>> >>>> > > >>>>>>>>>> do you mean you force forEntity = Person.class? >>>> > > >>>>>>>>>> >>>> > > >>>>>>>>>> looks ok for me since the only constraint is to add the >>>> dto >>>> > > >> types >>>> > > >>>>>>>>> somewhere >>>> > > >>>>>>>>>> :) >>>> > > >>>>>>>>>> >>>> > > >>>>>>>>>> *Romain Manni-Bucau* >>>> > > >>>>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau>* >>>> > > >>>>>>>>>> *Blog: **http://rmannibucau.wordpress.com/*< >>>> > > >>>>>>>>>> http://rmannibucau.wordpress.com/> >>>> > > >>>>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* >>>> > > >>>>>>>>>> *Github: https://github.com/rmannibucau* >>>> > > >>>>>>>>>> >>>> > > >>>>>>>>>> >>>> > > >>>>>>>>>> >>>> > > >>>>>>>>>> 2013/7/10 Thomas Hug <[email protected]> >>>> > > >>>>>>>>>> >>>> > > >>>>>>>>>>> Hmm and I assumed DTOs are dead and buried :-) >>>> > > >>>>>>>>>>> >>>> > > >>>>>>>>>>> Packing this in the base interface feels kind of clunky >>>> to >>>> > me - >>>> > > >>>>>>> also >>>> > > >>>>>>>>>>> considering that there are repositories without the need >>>> to >>>> > > >>> extend >>>> > > >>>>>>>> the >>>> > > >>>>>>>>>> base >>>> > > >>>>>>>>>>> interface. What about something like >>>> > > >>>>>>>>>>> >>>> > > >>>>>>>>>>> @Repository(forEntity = Person.class) >>>> > > >>>>>>>>>>> @ResultMapper(entityMapper = MapperX.class, keyMapper = >>>> > > >>>>>>>> MapperY.class) >>>> > > >>>>>>>>>>> public interface PersonRepository extends >>>> > > >>>>>>> EntityRepository<PersonDto, >>>> > > >>>>>>>>>>> DtoPk> { ... } >>>> > > >>>>>>>>>>> >>>> > > >>>>>>>>>>> Having the Entity on @Repository takes precedence and the >>>> > type >>>> > > >>>>>>>>> parameters >>>> > > >>>>>>>>>>> are in this case just for convenience. >>>> > > >>>>>>>>>>> >>>> > > >>>>>>>>>>> >>>> > > >>>>>>>>>>> >>>> > > >>>>>>>>>>> On Wed, Jul 10, 2013 at 2:35 PM, Romain Manni-Bucau >>>> > > >>>>>>>>>>> <[email protected]>wrote: >>>> > > >>>>>>>>>>> >>>> > > >>>>>>>>>>>> +1 >>>> > > >>>>>>>>>>>> >>>> > > >>>>>>>>>>>> just to complete this thread the main issue is not the >>>> > > >>>>>>>> implementation >>>> > > >>>>>>>>>> but >>>> > > >>>>>>>>>>>> the exposed API: >>>> > > >>>>>>>>>>>> >>>> > > >>>>>>>>>>>> public interface EntityRepository<E, PK extends >>>> > Serializable> >>>> > > >>>>>>>>>>>> >>>> > > >>>>>>>>>>>> would become >>>> > > >>>>>>>>>>>> >>>> > > >>>>>>>>>>>> public interface EntityDtoRepository<E, PK extends >>>> > > >> Serializable, >>>> > > >>>>>>>> Dto, >>>> > > >>>>>>>>>>>> DtoPk> >>>> > > >>>>>>>>>>>> >>>> > > >>>>>>>>>>>> *Romain Manni-Bucau* >>>> > > >>>>>>>>>>>> *Twitter: @rmannibucau <https://twitter.com/rmannibucau >>>> >* >>>> > > >>>>>>>>>>>> *Blog: **http://rmannibucau.wordpress.com/*< >>>> > > >>>>>>>>>>>> http://rmannibucau.wordpress.com/> >>>> > > >>>>>>>>>>>> *LinkedIn: **http://fr.linkedin.com/in/rmannibucau* >>>> > > >>>>>>>>>>>> *Github: https://github.com/rmannibucau* >>>> > > >>>>>>>>>>>> >>>> > > >>>>>>>>>>>> >>>> > > >>>>>>>>>>>> >>>> > > >>>>>>>>>>>> 2013/7/10 Jean-Louis MONTEIRO <[email protected]> >>>> > > >>>>>>>>>>>> >>>> > > >>>>>>>>>>>>> Hello guys, >>>> > > >>>>>>>>>>>>> >>>> > > >>>>>>>>>>>>> Just used DS Data module yesturday, and I was >>>> wondering if >>>> > we >>>> > > >>>>>>>> could >>>> > > >>>>>>>>>>> add a >>>> > > >>>>>>>>>>>>> feature allowing on-the-fly conversion to DTO. >>>> > > >>>>>>>>>>>>> For example, we could use modelmapper (or similar to >>>> > convert >>>> > > >>>>>>> DAO >>>> > > >>>>>>>>>> return >>>> > > >>>>>>>>>>>>> values to DTO objects). >>>> > > >>>>>>>>>>>>> >>>> > > >>>>>>>>>>>>> Adding a mapper interface to delegate to would also >>>> allow >>>> > > >>>>>>> people >>>> > > >>>>>>>> to >>>> > > >>>>>>>>>>> plug >>>> > > >>>>>>>>>>>>> their own implementation in. >>>> > > >>>>>>>>>>>>> >>>> > > >>>>>>>>>>>>> WDYT? >>>> > > >>>>>>>>>>>>> >>>> > > >>>>>>>>>>>>> JLouis >>>> > > >>>>>>>>>>>>> >>>> > > >>>>>>>>>>>>> >>>> > > >>>>>>>>>>>>> 2013/7/1 Thomas Hug <[email protected]> >>>> > > >>>>>>>>>>>>> >>>> > > >>>>>>>>>>>>>> Hi John >>>> > > >>>>>>>>>>>>>> Thnx for the message, missed that one. Looks like >>>> there's >>>> > a >>>> > > >>>>>>>>> default >>>> > > >>>>>>>>>>>>> profile >>>> > > >>>>>>>>>>>>>> needed (test-persistence.xml only part of the specific >>>> > > >> server >>>> > > >>>>>>>>>>>> profiles). >>>> > > >>>>>>>>>>>>>> Will check tonight. >>>> > > >>>>>>>>>>>>>> >>>> > > >>>>>>>>>>>>>> >>>> > > >>>>>>>>>>>>>> On Mon, Jul 1, 2013 at 2:42 AM, John D. Ament < >>>> > > >>>>>>>>>>> [email protected] >>>> > > >>>>>>>>>>>>>>> wrote: >>>> > > >>>>>>>>>>>>>>> Hi >>>> > > >>>>>>>>>>>>>>> >>>> > > >>>>>>>>>>>>>>> Whoever brought in the data module, can you double >>>> check >>>> > > >>>>>>> your >>>> > > >>>>>>>>>> tests >>>> > > >>>>>>>>>>>> and >>>> > > >>>>>>>>>>>>>>> license headers? >>>> > > >>>>>>>>>>>>>>> >>>> > > >>>>>>>>>>>>>>> I think it's just your tests, but it's failing >>>> during a >>>> > rat >>>> > > >>>>>>>>> check >>>> > > >>>>>>>>>>>>>>> >>>> > > >>>>>>>>>>>>>>> >>>> > > >>>>>>> >>>> > > >>>>> >>>> > > >>> >>>> > > >> >>>> > > >>>> > >>>> https://builds.apache.org/job/DeltaSpike%20RAT-Check/org.apache.deltaspike.modules$deltaspike-data-module-impl/558/testReport/org.apache.deltaspike.data.impl/QueryResultTest/org_apache_deltaspike_data_impl_QueryResultTest/ >>>> > > >>>>>>>>>>>>>>> John >>>> > > >>>>>>>>>>>>>>> >>>> > > >>>>>>>>>>>>> >>>> > > >>>>>>>>>>>>> >>>> > > >>>>>>>>>>>>> -- >>>> > > >>>>>>>>>>>>> Jean-Louis >>>> > > >>>>>>>>>>>>> >>>> > > >>>>> >>>> > > >>>>> >>>> > > >>> >>>> > > >> >>>> > > >> >>>> > > >> >>>> > > >> -- >>>> > > >> Jason Porter >>>> > > >> http://en.gravatar.com/lightguardjp >>>> > > >> >>>> > > >>>> > >>>> >>>> >>>> >>>> -- >>>> Jean-Louis >>>> >>> >>> >>
