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






Reply via email to