Conventions svn branch<http://code.google.com/p/fluent-nhibernate/source/browse/#svn/branches/conventions>, most stuff is in src/FluentNHibernate/Conventions
On Fri, Feb 20, 2009 at 7:29 PM, James Gregory <jagregory....@gmail.com>wrote: > 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 -~----------~----~----~----~------~----~------~--~---