Inline,
On 3/10/2010 9:09 PM, Simone Busoli wrote:
Anyone? Can I go on with the proposed changes?
2010/3/9 Simone Busoli <[email protected]
<mailto:[email protected]>>
So giving a look at the change log I noticed that there was a
breaking change that was not reflected in the docs.
The xml docs for SelectInterceptors say that
"If the selector is not interested in modifying the
interceptors for this model, it
/// should return a null reference and the next selector
in line would be executed (or the default
/// model.Interceptors)
/// If the selector return a non null value, this is the
value that is used, and the model.Interectors are ignored, if this
/// is not the desirable behavior, you need to merge your
interceptors with the ones in model.Interecptors yourself.
"
That's not true since the change modified the behavior so that the
model.Interceptors are always appended after all interceptors
returned by all interceptor selectors, if any, so it's not true
that by returning any interceptors from a selector then the
default ones are discarded. This inconsistency can bring to
duplicate interceptors being applied.
Yeap, that should be fixed, to not allow duplicates
In addition to this I think HasInterceptors is misleading,
therefore I would suggest calling it before calling
SelectInterceptors so that in case the first returns false then
the second is not called. This is to centralize the logic to
decide whether a model has interceptors or not in a single place.
Fine by me.
Finally, I'd suggest to make the SelectInterceptors contract
clearer. Either modify the model.Interceptors collection or return
something from the method, not both because it's hard to figure
out where your interceptors end up WRT order, which is important.
I have no problem with that. The method has very general contract and
generally if you implement this interface you want to have as much
control as possible. I would leave it as is, especially that we're using
this pattern in few other places as well.
Krzysztof
Ideas?
2010/3/8 Krzysztof Koźmic <[email protected]
<mailto:[email protected]>>
yes, as well as the official documentation.
W dniu 8 marca 2010 21:50 użytkownik Simone Busoli
<[email protected] <mailto:[email protected]>>
napisał:
> About the wiki, are there plans to move the contents in
> using.castleproject.org <http://using.castleproject.org> there?
>
> 2010/3/8 Krzysztof Koźmic <[email protected]
<mailto:[email protected]>>
>>
>> If we do one more v2.x build (which I'd like to do) we'd
rather limit
>> breaking changes.
>> For v3.0 we have some major changes in mind already, so
that would not be
>> a big problem as long as the change and migration path are
properly
>> documented (see breakingchanges.txt file in repository)
>>
>> On 3/8/2010 9:16 PM, Simone Busoli wrote:
>>
>> Sure, although that would probably be a breaking change.
>>
>> 2010/3/8 Krzysztof Koźmic <[email protected]
<mailto:[email protected]>>
>>>
>>> We'll be more than happy to discuss your ideas and patches
with
>>> improvements, both for code and documentation.
>>>
>>> cheers,
>>> Krzysztof
>>>
>>> W dniu 8 marca 2010 21:12 użytkownik Simone Busoli
>>> <[email protected] <mailto:[email protected]>>
napisał:
>>> > Thanks, I was just trying to figure out its behavior. I
think
>>> > interceptor
>>> > selectors stuff can be improved, the API is not
intuitive in my
>>> > opinion, in
>>> > that you need to know what you need to return for it to
behave
>>> > correctly,
>>> > although it's documented in the xml docs but you usually
don't see it
>>> > since
>>> > you're not the client of the API.
>>> >
>>> > 2010/3/8 Krzysztof Koźmic <[email protected]
<mailto:[email protected]>>
>>> >>
>>> >> oh, and about docs, we added new wiki, that all docs
will be migrated
>>> >> to.
>>> >> feel free to contribute :)
>>> >>
>>> >> http://stw.castleproject.org/Windsor.MainPage.ashx
>>> >>
>>> >>
>>> >>
>>> >> On 3/8/2010 9:04 PM, Simone Busoli wrote:
>>> >>
>>> >> Is there documentation about what purpose they are used
for or should
>>> >> I
>>> >> look at the source? I'd expect to put in
HasInterceptors the logic to
>>> >> tell
>>> >> whether SelectInterceptors should be called or not,
otherwise I have
>>> >> to
>>> >> duplicate the logic in both methods.
>>> >>
>>> >> 2010/3/8 Krzysztof Koźmic <[email protected]
<mailto:[email protected]>>
>>> >>>
>>> >>> That is correct. Both method are used at different
spots and for
>>> >>> different purpose.
>>> >>>
>>> >>> If selector wants is not interested in particular
component it should
>>> >>> return null from select method
>>> >>>
>>> >>> On 3/8/2010 6:54 PM, SimoneB wrote:
>>> >>>>
>>> >>>> Should IModelInterceptorsSelector have its
SelectInterceptors method
>>> >>>> called if HasInterceptors returns false?
>>> >>>>
>>> >>>> I'd expect not, but I'm experiencing the opposite.
>>> >>>>
>>> >>>>
>>> >>>
>>> >>> --
>>> >>> You received this message because you are subscribed
to the Google
>>> >>> Groups
>>> >>> "Castle Project Users" group.
>>> >>> To post to this group, send email to
>>> >>> [email protected]
<mailto:[email protected]>.
>>> >>> To unsubscribe from this group, send email to
>>> >>> [email protected]
<mailto:castle-project-users%[email protected]>.
>>> >>> For more options, visit this group at
>>> >>> http://groups.google.com/group/castle-project-users?hl=en.
>>> >>>
>>> >>
>>> >> --
>>> >> You received this message because you are subscribed to
the Google
>>> >> Groups
>>> >> "Castle Project Users" group.
>>> >> To post to this group, send email to
>>> >> [email protected]
<mailto:[email protected]>.
>>> >> To unsubscribe from this group, send email to
>>> >> [email protected]
<mailto:castle-project-users%[email protected]>.
>>> >> For more options, visit this group at
>>> >> http://groups.google.com/group/castle-project-users?hl=en.
>>> >>
>>> >> --
>>> >> You received this message because you are subscribed to
the Google
>>> >> Groups
>>> >> "Castle Project Users" group.
>>> >> To post to this group, send email to
>>> >> [email protected]
<mailto:[email protected]>.
>>> >> To unsubscribe from this group, send email to
>>> >> [email protected]
<mailto:castle-project-users%[email protected]>.
>>> >> For more options, visit this group at
>>> >> http://groups.google.com/group/castle-project-users?hl=en.
>>> >
>>> > --
>>> > You received this message because you are subscribed to
the Google
>>> > Groups
>>> > "Castle Project Users" group.
>>> > To post to this group, send email to
>>> > [email protected]
<mailto:[email protected]>.
>>> > To unsubscribe from this group, send email to
>>> > [email protected]
<mailto:castle-project-users%[email protected]>.
>>> > For more options, visit this group at
>>> > http://groups.google.com/group/castle-project-users?hl=en.
>>> >
>>>
>>> --
>>> You received this message because you are subscribed to
the Google Groups
>>> "Castle Project Users" group.
>>> To post to this group, send email to
>>> [email protected]
<mailto:[email protected]>.
>>> To unsubscribe from this group, send email to
>>> [email protected]
<mailto:castle-project-users%[email protected]>.
>>> For more options, visit this group at
>>> http://groups.google.com/group/castle-project-users?hl=en.
>>>
>>
>> --
>> You received this message because you are subscribed to the
Google Groups
>> "Castle Project Users" group.
>> To post to this group, send email to
>> [email protected]
<mailto:[email protected]>.
>> To unsubscribe from this group, send email to
>> [email protected]
<mailto:castle-project-users%[email protected]>.
>> For more options, visit this group at
>> http://groups.google.com/group/castle-project-users?hl=en.
>>
>> --
>> You received this message because you are subscribed to the
Google Groups
>> "Castle Project Users" group.
>> To post to this group, send email to
>> [email protected]
<mailto:[email protected]>.
>> To unsubscribe from this group, send email to
>> [email protected]
<mailto:castle-project-users%[email protected]>.
>> For more options, visit this group at
>> http://groups.google.com/group/castle-project-users?hl=en.
>
> --
> You received this message because you are subscribed to the
Google Groups
> "Castle Project Users" group.
> To post to this group, send email to
[email protected]
<mailto:[email protected]>.
> To unsubscribe from this group, send email to
> [email protected]
<mailto:castle-project-users%[email protected]>.
> For more options, visit this group at
> http://groups.google.com/group/castle-project-users?hl=en.
>
--
You received this message because you are subscribed to the
Google Groups "Castle Project Users" group.
To post to this group, send email to
[email protected]
<mailto:[email protected]>.
To unsubscribe from this group, send email to
[email protected]
<mailto:castle-project-users%[email protected]>.
For more options, visit this group at
http://groups.google.com/group/castle-project-users?hl=en.
--
You received this message because you are subscribed to the Google
Groups "Castle Project Users" group.
To post to this group, send email to
[email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/castle-project-users?hl=en.
--
You received this message because you are subscribed to the Google Groups "Castle
Project Users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/castle-project-users?hl=en.