The whole merge into svn is taking too long for a friday night, so I'll do it tomorrow. You get the general idea though, i'm sure.
On Fri, Feb 20, 2009 at 7:03 PM, James Gregory <jagregory....@gmail.com>wrote: > Paul, Andy: I've been working on a rather large rewrite of conventions for > trunk, so I've got that one covered. I currently have all the changes in a > local git branch, but I'll try to get it pushed to a public svn one so you > guys can take a look (if you're interested). > Paul, obviously we don't have visitors in trunk so my approach is a little > different than we would probably have done if it was only for the semantic > model; however, I think most of it can be ported to the new code-base quite > easily. I don't really think visitors are suited to being the public > interface to conventions anyway, they're a little too verbose for simple > usage - however, that doesn't mean they can't be the backing to the public > API (by all means, they should be the backing!). > > Basically my changes are a result of trying to work on the semantic model > stuff, but every 5 minutes there's a new "I can't do this with such-and-such > convention", so my redesign is one that's highly specialised, but can also > be highly generic - so it should tide people over while we focus on the SM. > > The new conventions are represented by a set interfaces of gradually > increasing granularity (IClassConvention, IMappingPartConvention, > IRelationshipConvention, IHasManyConvention etc...). Classes that implement > these convention interfaces are discovered by FNH automagically and applied > after the normal mapping has occurred. This has two side-effects, firstly > there's now no mention of conventions in any of the mapping classes (none of > this conventions.AlterId malarky), and secondly if there isn't a convention > already made for a specific purpose (say ManyToManyJoinTableName) then the > user can simply use the interface with a reduced granularity (say > IClassConvention) to implement the desired behaviour in the same way we > would but in their own code-base. > > Where the visitors fit into this is replacing the discovery code, which is > currently the only thing invoked manually in the code-base. It would be > quite well suited to loading this into a visitor instead. > > Hopefully all this should drop in trunk over the next few days, then I can > focus on merging/converting it to work with the new design. > > That was a bit longer than I expected :) > > On Fri, Feb 20, 2009 at 9:10 AM, Andrew Stewart > <andrewnstew...@gmail.com>wrote: > >> Good Morning Paul. >> I'll perform a check out of the rewrite branch this morning, and start to >> investigate automapping somepoint today. I agree with you on >> the Convention class in the trunk, as soon as I saw it I could see it would >> need refactoring at somepoint. >> >> I'll be in touch when I get something working. >> >> Cheers >> >> Andy >> >> >>> >>> On Fri, Feb 20, 2009 at 6:22 AM, Paul Batum <paul.ba...@gmail.com>wrote: >>> >>>> Gday Andy, >>>> >>>> Progress on the semantic model has slowed these last few weeks as I've >>>> returned to the land of the employed, but basically, I can't see any reason >>>> why you couldn't start work on an automapper that works against the >>>> semantic >>>> model. The model is missing alot of features so there is no way that people >>>> could realistically switch over yet, but there is enough there to get some >>>> basic automapping working. >>>> >>>> If you decide to start, I would suggest that you create a AutoMapping >>>> folder in the FluentNHibernate.FluentInterface project and put your >>>> implementation there. If you take a look in the test project, you'll see >>>> there are some integration tests that map some really small domains (music >>>> and employees I think) - I think a good inital goal would be to get those >>>> domains automapped. >>>> >>>> There will probably be lots of friction as you discover that certain >>>> things are missing or done differently in the rewrite, but we'll just have >>>> to work through that. A good example would be that the Conventions class no >>>> longer exists, and will hopefully stay that way. Conventions should instead >>>> be implemented as visitors of the mapping model - see NamingConvention as >>>> an >>>> example. I have a blog post that sort of covers this in the works - I'm >>>> really going to try to get that finished this weekend. In any case, feel >>>> free to ping me with whatever questions you have. >>>> >>>> Paul Batum >>>> >>>> >>>> On Fri, Feb 20, 2009 at 7:04 AM, Andrew Stewart < >>>> andrewnstew...@gmail.com> wrote: >>>> >>>>> Hi >>>>> I'm getting towards the end of one of my personal projects, so I'm >>>>> going to be in a position to start contributing again. Where am I best >>>>> concentrating my effort at the moment, on the PB rewrite branch of >>>>> supporting the main trunk? >>>>> >>>>> Cheers >>>>> >>>>> Andy >>>>> >>>>> -- >>>>> ================= >>>>> I-nnovate Software - Bespoke Software Development, uk wirral. >>>>> http://www.i-nnovate.net >>>>> >>>>> Easy Project Managment Online >>>>> http://www.task-mate.com >>>>> >>>>> >>>>> >>>>> >>>>> >>>> >>>> >>>> >>> >>> >>> -- >>> ================= >>> I-nnovate Software - Bespoke Software Development, uk wirral. >>> http://www.i-nnovate.net >>> >>> Easy Project Managment Online >>> http://www.task-mate.com >>> >>> >>> >> >> >> -- >> ================= >> I-nnovate Software - Bespoke Software Development, uk wirral. >> http://www.i-nnovate.net >> >> Easy Project Managment Online >> http://www.task-mate.com >> >> >> >> >> >> > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Fluent NHibernate" group. To post to this group, send email to fluent-nhibernate@googlegroups.com To unsubscribe from this group, send email to fluent-nhibernate+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/fluent-nhibernate?hl=en -~----------~----~----~----~------~----~------~--~---