I don't do much remote proxies work these days and my test case was just -- well a laugh... If somebody else independently says it works and doesn't break anything else, then I'll be sure to commit it.

I've logged this as CSP-96:
http://code.coldspringframework.org/browse/CSP-96

.Peter

Brian Kotek said the following on 4/15/2008 7:36 PM:
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] <mailto:[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





Reply via email to