Peter, if you're pretty sure this works correctly, I'd say just commit it
since this issue comes up fairly regularly. What do you think?
On Tue, Apr 15, 2008 at 7:27 PM, Peter J. Farrell <[EMAIL PROTECTED]>
wrote:
> Christopher Bradford said the following on 4/15/2008 5:15 PM:
>
> > We are trying to work through an issue with ColdSpring generating
> > duplicate method names on RemoteProxyBeans when the target inherits methods.
> > Is the code in CVS in HEAD/coldspring the latest and greatest (I also see a
> > coldspring-ber module)?
> >
> > Christopher,
>
> See if this patch fixes the problem for you. Apply on the
> /aop/framework/RemoteFactoryBean.cfc on rev 1.7. This is the last revision
> in the CS BER.
>
> .Peter
>
> Patch below dotted line:
> ---------------------------------------
> ### Eclipse Workspace Patch 1.0
> #P org-coldspring
> Index: aop/framework/RemoteFactoryBean.cfc
> ===================================================================
> RCS file: /coldspring/coldspring/aop/framework/RemoteFactoryBean.cfc,v
> retrieving revision 1.7
> diff -u -r1.7 RemoteFactoryBean.cfc
> --- aop/framework/RemoteFactoryBean.cfc 17 Mar 2008 23:53:33 -0000
> 1.7
> +++ aop/framework/RemoteFactoryBean.cfc 15 Apr 2008 23:26:19 -0000
> @@ -149,10 +149,12 @@
> <cfset var functionIx = 0 />
> <cfset var functionName = '' />
> <cfset var functionString = '' />
> + <cfset var usedFunctions = StructNew() />
> <cfset var advisorIx = 0 />
> <cfset var advice = 0 />
> <cfset var bfUtils =
> createObject("component","coldspring.beans.util.BeanFactoryUtils").init()/>
> <cfset var bfScope = "application"/>
> + <!--- ok, very first thing, make sure this factory is going
> to be accessable to the generated proxies --->
> <cfif len(variables.beanFactoryScope)>
> <cfset bfScope = variables.beanFactoryScope/>
> @@ -190,7 +192,9 @@
> <!--- now we'll loop through the target's methods and write
> remote methods for any matched ones --->
> <cfloop from="1" to="#arraylen(md.functions)#"
> index="functionIx">
> <cfset functionName = md.functions[functionIx].name />
> - <cfif not ListFindNoCase('init', functionName)>
> + <cfif not ListFindNoCase('init', functionName) and
> not StructKeyExists(usedFunctions, functionName)>
> + + <cfset
> usedFunctions[functionName] = "" />
> <cfif methodPointcutAdvisor.matches(functionName)>
> <!--- this type of proxy
> will be limited to remote methods, so
>
>
>
>