After a little digging in coldspring I found the cause of the first issue:
On line 215 in BeanDefinition.cfc a loop through all functions of a
component is initiated. In case of an extended cfc the function array
(md.functions) does not contain functions of the extended cfc. These are
found in a subkey (md.extends.functions).
A recursive check for functions in extended cfc's would be in place here
I guess...
Regards,
Ruud Hermans
Ruud Hermans schreef:
Hi there,
For a while now, I'm using coldsping & machII in my app, which uses a
standard (= non application specific) AuthenticationService.cfc to do
all its authentication stuff. Works like a charm.
However, today I needed to add some application specific logic, so I
extended AuthenticationService.cfc and referred to the extending cfc
in my services.xml. Now nothing works. :(
There seem to be 2 issues here:
- AuthenticationService.cfc (the original) has an init method that
takes some arguments, which are kindly supplied by coldspring. If I
put in ExtendedAuthenticationService.cfc, which doesn't override the
init method, colspring seems to think there's no more init method and
therefore the arguments aren't provided.
If I override the init method with an init method that contains
nothing but super.init(argumentCollection=arguments), it works again.
Though something tells me I shouldn't have to do this extra step.
- Second issue: every other component that receives
AuthenticationService as an argument from coldspring, doesn't receive
the extended version. I assume there's some type checking going on in
coldspring, before providing an argument. So I guess extended cfc's
are not accounted for here.
Hope someone can help me out here.
Regards,
Ruud Hermans