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
-~----------~----~----~----~------~----~------~--~---

Reply via email to