You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by ha...@apache.org on 2002/03/08 14:12:13 UTC

cvs commit: jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/classretrievers DynamicGeneratorClassRetriever.java

hammant     02/03/08 05:12:13

  Modified:    altrmi/src/java/org/apache/commons/altrmi/server/impl/classretrievers
                        DynamicGeneratorClassRetriever.java
  Added:       altrmi/src/java/org/apache/commons/altrmi/server
                        ProxyGenerationEnvironmentException.java
  Log:
  Handles absense of tools.jar better.
  
  Revision  Changes    Path
  1.1                  jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/ProxyGenerationEnvironmentException.java
  
  Index: ProxyGenerationEnvironmentException.java
  ===================================================================
  /*
   * Copyright (C) The Apache Software Foundation. All rights reserved.
   *
   * This software is published under the terms of the Apache Software License
   * version 1.1, a copy of which has been included with this distribution in
   * the LICENSE.txt file.
   */
  package org.apache.commons.altrmi.server;
  
  
  
  /**
   * Class ProxyGenerationEnvironmentException
   *
   *
   * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
   * @version $Revision: 1.1 $
   */
  public class ProxyGenerationEnvironmentException extends PublicationException {
  
      /**
       * Constructor ProxyGenerationEnvironmentException
       *
       *
       * @param s
       *
       */
      public ProxyGenerationEnvironmentException(String s) {
          super(s);
      }
  }
  
  
  
  1.5       +12 -1     jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/classretrievers/DynamicGeneratorClassRetriever.java
  
  Index: DynamicGeneratorClassRetriever.java
  ===================================================================
  RCS file: /home/cvs/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/classretrievers/DynamicGeneratorClassRetriever.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- DynamicGeneratorClassRetriever.java	24 Feb 2002 11:04:33 -0000	1.4
  +++ DynamicGeneratorClassRetriever.java	8 Mar 2002 13:12:13 -0000	1.5
  @@ -29,7 +29,7 @@
    *
    *
    * @author Paul Hammant <a href="mailto:Paul_Hammant@yahoo.com">Paul_Hammant@yahoo.com</a>
  - * @version $Revision: 1.4 $
  + * @version $Revision: 1.5 $
    */
   public class DynamicGeneratorClassRetriever implements AltrmiProxyGenerator, ClassRetriever {
   
  @@ -270,6 +270,17 @@
               try {
                   proxyGenerator.generateClass(classLoader);
               } catch (Throwable t) {
  +                if (t instanceof NoClassDefFoundError && t.getMessage().equals("sun/tools/javac/Main")) {
  +                    System.out.println("***************************************");
  +                    System.out.println("*                                     *");
  +                    System.out.println("* AltRMI problem......                *");
  +                    System.out.println("* Please copy JAVA_HOME/lib/tools.jar *");
  +                    System.out.println("* to your applications classpath so   *");
  +                    System.out.println("* that proxys can be compiled.        *");
  +                    System.out.println("*                                     *");
  +                    System.out.println("***************************************");
  +                    throw new ProxyGenerationEnvironmentException("tools.jar not found in classpath.");
  +                }
                   System.out.println("******");
                   System.out.println("** Exception while making String : ");
                   System.out.flush();
  
  
  

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [ALTRMI]-PATCH tests.xml

Posted by Paul Hammant <Pa...@yahoo.com>.
Vinay,

Applied.  Cheers dude.

- Paul

>a typo 
>
>
>cvs -q diff tests.xml (in directory
>C:\jcommons\cvs\jakarta-commons-sandbox\altrmi)
>Index: tests.xml
>===================================================================
>RCS file:
>/home/cvspublic/jakarta-commons-sandbox/altrmi/tests.xml,v
>retrieving revision 1.7
>diff -r1.7 tests.xml
>263c263
><     <java
>classname="org.apache.commons.altrmi.test.DirectTestC"
>fork="true">
>---
>
>>    <java
>>
>classname="org.apache.commons.altrmi.test.DirectTest"
>fork="true">
>265c265
><       <arg value="S"/>
>---
>
>>      <arg value="C"/>
>>
>
>
>
>__________________________________________________
>Do You Yahoo!?
>Try FREE Yahoo! Mail - the world's greatest free email!
>http://mail.yahoo.com/
>
>--
>To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
>For additional commands, e-mail: <ma...@jakarta.apache.org>
>
>
>




--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [ALTRMI]-PATCH DefaultMethodInvocationHandler,TestInterface*,SocketServerTest

Posted by vinaysahil chandran <sa...@yahoo.com>.
Paul,
You are absolutely right ..
I was trying to merely test the grounds with another
3rd interface ..
Neverthelesss it wud had definitely confused a newbiew
for sure .

Kewl,
V i n a y
--- Paul Hammant <Pa...@yahoo.com> wrote:
> Vinay,
> 
> >Paul,
> >The referenceID that is generated from within
> >DefaultMethodInvocationHandler must be class level
> >variable.
> >
> Done.  
> 
> >The modified Testcases (I have done this excercise 
> >with only  SocketServerTest , if you say I can do
> the 
> >same with  other publish methods too)
> >for the same also attached along with the new
> facade 
> >TestInterface3 (+impl) ....
> >
> 
> I have applied these but not committed them.  My
> feeling is that 
> TestInterface2 is exactly the same as TestInterface3
> and offers nothing 
> new by way of tests.  It will complicate a person's
> view of AltRMI if 
> they are trying to understand it via its tests.  If
> we add tests, they 
> should be for difficult usecases, not clones of
> existing tests..  What 
> do you think?
> 
> - Paul
> 
> >
> >
> >
> >
> >
> >*****************PATCH**************
> >
> >
> >Index: DefaultMethodInvocationHandler.java
>
>===================================================================
> >RCS file:
>
>/home/cvspublic/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/DefaultMethodInvocationHandler.java,v
> >retrieving revision 1.3
> >diff -r1.3 DefaultMethodInvocationHandler.java
> >48c48
> ><     private int mNextReference = 1;
> >---
> >
> >>    private static int mNextReference = 1;
> >>
> >130d129
> >< 
> >150a150
> >
> >>	
> >>
> >
> >*****************PATCH**************
> >
> >
> >Index: TestInterfaceImpl.java
>
>===================================================================
> >RCS file:
>
>/home/cvspublic/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/TestInterfaceImpl.java,v
> >retrieving revision 1.4
> >diff -r1.4 TestInterfaceImpl.java
> >29a30
> >
> >>    Vector ti3Holder = new Vector();
> >>
> >137a139,156
> >
> >>	
> >>	 /**
> >>     * Method makeTestInterface3
> >>     *
> >>     *
> >>     * @param thingName
> >>     *
> >>     * @return
> >>     *
> >>     */
> >>    public TestInterface3
> makeTestInterface3(String
> >>
> >thingName) {
> >
> >>        TestInterface3 ti3 = new
> >>
> >TestInterface3Impl(thingName);
> >
> >>        ti3Holder.add(ti3);
> >>
> >>        return ti3;
> >>    }
> >>
> >195a215,234
> >
> >>        }
> >>
> >>        return retVal;
> >>    }
> >>
> >>    /**
> >>     * Method getTestInterface3s
> >>     *
> >>     *
> >>     * @return
> >>     *
> >>     */
> >>    public TestInterface3[] getTestInterface3s() {
> >>
> >>        TestInterface3[] retVal = new
> >>
> >TestInterface3[ti3Holder.size()];
> >
> >>        for (int i = 0; i < ti3Holder.size(); i++)
> {
> >>            TestInterface3 interface3 =
> >>
> >(TestInterface3) ti3Holder.elementAt(i);
> >
> >>            retVal[i] = interface3;
> >>
> >
> >
>
>*****************************************************
> >
> >
> >
> >
> >
> >
> >Index: TestInterface.java
>
>===================================================================
> >RCS file:
>
>/home/cvspublic/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/TestInterface.java,v
> >retrieving revision 1.4
> >diff -r1.4 TestInterface.java
> >100a101,111
> >
> >>     * Method makeTestInterface3
> >>     *
> >>     *
> >>     * @param thingName
> >>     *
> >>     * @return
> >>     *
> >>     */
> >>    TestInterface3 makeTestInterface3(String
> >>
> >thingName);
> >
> >>    /**
> >>
> >127a139,147
> >
> >>    /**
> >>     * Method getTestInterface3s
> >>     *
> >>     *
> >>     * @return
> >>     *
> >>     */
> >>    TestInterface3[] getTestInterface3s();
> >>
> >
> >***************************************************
> >
> >cvs -q diff TestClient.java (in directory
>
>C:jcommonscvsjakarta-commons-sandboxaltrmisrcjavaorgapachecommonsaltrmi
est)
> >Index: TestClient.java
>
>===================================================================
> >RCS file:
>
>/home/cvspublic/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/TestClient.java,v
> >retrieving revision 1.5
> >diff -r1.5 TestClient.java
> >92a93,107
> >
> >>		System.out.println("CLT: Test Another Facade");
> >>		TestInterface3 ti3One =
> >>
> >ti.makeTestInterface3("One3");
> >
> >>		TestInterface3 ti3Two =
> >>
> >ti.makeTestInterface3("Two3");
> >
> >>		System.out.println("CLT: One name = '" +
> >>
> >ti3One.getName3() + "'");
> >
> >>		System.out.println("CLT: Two name = '" +
> >>
> >ti3Two.getName3() + "'");
> >
> >>		
> >>		TestInterface3[] ti3s = ti.getTestInterface3s();
> >>
> 
=== message truncated ===


__________________________________________________
Do You Yahoo!?
Try FREE Yahoo! Mail - the world's greatest free email!
http://mail.yahoo.com/

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [ALTRMI]-PATCH JNDI interface for Altrmi clients

Posted by Paul Hammant <Pa...@yahoo.com>.
Vinay,

>Paul,
>Did some prelim' JNDI bridge work for client-side
>lookup's and listing.
>
><skip/>
>
>
>Comments ??
>
I am over the moon.... I will put it in now!

- Paul


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [ALTRMI]-PATCH JNDI interface for Altrmi clients

Posted by Paul Hammant <Pa...@yahoo.com>.
Vinay,

>Yaa , maybe we can have the sockete-client option,
>in to express JNDI presence within the altrmi story.
>
OK, I have booked in a test that uses the new JNDI client interface.  It 
works fine :-)

- Paul


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [ALTRMI]-PATCH JNDI interface for Altrmi clients

Posted by Paul Hammant <Pa...@yahoo.com>.
Vinay,

>>2) The URL naming scheme for JNDI is very different
>>to the colon 
>>delimited design that I have started in
>>InterfaceLookupFactory.  Should 
>>we change that to look more like JNDI ?
>>
>
>Hey Paul, I left some println' hanging in there 
>amongst the jndi code .
>Can you get rid of those.
>I am sorry for that .
>
No probs.

>>3) Tests.  I think some of the tests should be
>>changed to use JNDI for 
>>the lookup.  Not all, as we should show people that
>>they have options...
>>
>Yaa , maybe we can have the sockete-client option,
>in to express JNDI presence within the altrmi story.
>
OK, I'll code one.

- Paul


--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [ALTRMI]-PATCH JNDI interface for Altrmi clients

Posted by vinaysahil chandran <sa...@yahoo.com>.
> 3) your name has replaced mine as auther of the
> smaller class, as i did 
> nothing really.
>
:-)) haha ....

> 
> 1) I hate the env.put() business of JNDI.  Should we
> also provide a 
> helper factory (optional use) that will make an
> InitialContext for comon 
> types of transport? It would be a non-standard way
> of making an initial 
> context but many people do this anyway in their
> code.
>
Sure , sounds good . 
> 2) The URL naming scheme for JNDI is very different
> to the colon 
> delimited design that I have started in
> InterfaceLookupFactory.  Should 
> we change that to look more like JNDI ?
> 

Hey Paul, I left some println' hanging in there 
amongst the jndi code .
Can you get rid of those.
I am sorry for that .

> 3) Tests.  I think some of the tests should be
> changed to use JNDI for 
> the lookup.  Not all, as we should show people that
> they have options...
> 
Yaa , maybe we can have the sockete-client option,
in to express JNDI presence within the altrmi story.
:-)

V i n a y.

__________________________________________________
Do You Yahoo!?
Try FREE Yahoo! Mail - the world's greatest free email!
http://mail.yahoo.com/

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


Re: [ALTRMI]-PATCH JNDI interface for Altrmi clients

Posted by Paul Hammant <Pa...@yahoo.com>.
Vinay,

>Did some prelim' JNDI bridge work for client-side
>lookup's and listing.
>
Yes it is good stuff.  I have committed it.  Some small changes :

1) names of clases have be prefixed with Default.  Why? EOB is likely to 
re-implement to allow internal VM lookup when the client thinks it is 
doing an external socket lookup (the holy grail).

2) 'supportedstreams' is static so has gone uppercase and final

3) your name has replaced mine as auther of the smaller class, as i did 
nothing really.

Thoughts......

1) I hate the env.put() business of JNDI.  Should we also provide a 
helper factory (optional use) that will make an InitialContext for comon 
types of transport? It would be a non-standard way of making an initial 
context but many people do this anyway in their code.

2) The URL naming scheme for JNDI is very different to the colon 
delimited design that I have started in InterfaceLookupFactory.  Should 
we change that to look more like JNDI ?

3) Tests.  I think some of the tests should be changed to use JNDI for 
the lookup.  Not all, as we should show people that they have options...

Your thoughts?

- Paul




--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


[ALTRMI]-PATCH JNDI interface for Altrmi clients

Posted by vinaysahil chandran <sa...@yahoo.com>.
Paul,
Did some prelim' JNDI bridge work for client-side
lookup's and listing.

The Client code now would do something like :

		Hashtable env = new Hashtable(); 
	
env.put(Context.INITIAL_CONTEXT_FACTORY,"org.apache.commons.altrmi.client.impl.naming.AltrmiInitialContextFactory");
	
env.put(Context.PROVIDER_URL,"altrmi://localhost:1235/SocketCustomStream");
		env.put("proxy.type","C");
		env.put("bean.type","NBO");
	    Context ctx = new InitialContext(env);
	    //list
        System.out.println("Listing Published Objects
At Server...");

        NamingEnumeration
listOfPublishedObjectsOnServer = ctx.list("all");
		int i=0;
       
while(listOfPublishedObjectsOnServer.hasMore())
        {
            System.out.println("..[" + i + "]:" +
listOfPublishedObjectsOnServer.next());
            ++i;
        }

        TestInterface ti = (TestInterface)
ctx.lookup("Hello");

        new TestClient(ti);
        ctx.close();



Comments ??



Regards,
V i n a y

++++++++++++++++++++++++++++++++++++++++++++
Patches follows 
DefaultInterfaceLookupFactory: added supported stream
types are an array for check's done with
InitialContextFactory

++++++++++++++++++++++++++++++++++++++++++++


cvs -q diff DefaultInterfaceLookupFactory.java (in
directory
C:\jcommons\cvs\jakarta-commons-sandbox\altrmi\src\java\org\apache\commons\altrmi\client\impl)
Index: DefaultInterfaceLookupFactory.java
===================================================================
RCS file:
/home/cvspublic/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/client/impl/DefaultInterfaceLookupFactory.java,v
retrieving revision 1.2
diff -r1.2 DefaultInterfaceLookupFactory.java
26a27,31
> 	public static String[] supportedStreams=new
String[]
> 												{"SocketObjectStream",
> 												 "SocketCustomStream",
> 												  "RMI"
> 												};




__________________________________________________
Do You Yahoo!?
Try FREE Yahoo! Mail - the world's greatest free email!
http://mail.yahoo.com/

Re: [ALTRMI]-PATCH DefaultMethodInvocationHandler,TestInterface*,SocketServerTest

Posted by Paul Hammant <Pa...@yahoo.com>.
Vinay,

>Paul,
>The referenceID that is generated from within
>DefaultMethodInvocationHandler must be class level
>variable.
>
Done.  

>The modified Testcases (I have done this excercise 
>with only  SocketServerTest , if you say I can do the 
>same with  other publish methods too)
>for the same also attached along with the new facade 
>TestInterface3 (+impl) ....
>

I have applied these but not committed them.  My feeling is that 
TestInterface2 is exactly the same as TestInterface3 and offers nothing 
new by way of tests.  It will complicate a person's view of AltRMI if 
they are trying to understand it via its tests.  If we add tests, they 
should be for difficult usecases, not clones of existing tests..  What 
do you think?

- Paul

>
>
>
>
>
>*****************PATCH**************
>
>
>Index: DefaultMethodInvocationHandler.java
>===================================================================
>RCS file:
>/home/cvspublic/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/DefaultMethodInvocationHandler.java,v
>retrieving revision 1.3
>diff -r1.3 DefaultMethodInvocationHandler.java
>48c48
><     private int mNextReference = 1;
>---
>
>>    private static int mNextReference = 1;
>>
>130d129
>< 
>150a150
>
>>	
>>
>
>*****************PATCH**************
>
>
>Index: TestInterfaceImpl.java
>===================================================================
>RCS file:
>/home/cvspublic/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/TestInterfaceImpl.java,v
>retrieving revision 1.4
>diff -r1.4 TestInterfaceImpl.java
>29a30
>
>>    Vector ti3Holder = new Vector();
>>
>137a139,156
>
>>	
>>	 /**
>>     * Method makeTestInterface3
>>     *
>>     *
>>     * @param thingName
>>     *
>>     * @return
>>     *
>>     */
>>    public TestInterface3 makeTestInterface3(String
>>
>thingName) {
>
>>        TestInterface3 ti3 = new
>>
>TestInterface3Impl(thingName);
>
>>        ti3Holder.add(ti3);
>>
>>        return ti3;
>>    }
>>
>195a215,234
>
>>        }
>>
>>        return retVal;
>>    }
>>
>>    /**
>>     * Method getTestInterface3s
>>     *
>>     *
>>     * @return
>>     *
>>     */
>>    public TestInterface3[] getTestInterface3s() {
>>
>>        TestInterface3[] retVal = new
>>
>TestInterface3[ti3Holder.size()];
>
>>        for (int i = 0; i < ti3Holder.size(); i++) {
>>            TestInterface3 interface3 =
>>
>(TestInterface3) ti3Holder.elementAt(i);
>
>>            retVal[i] = interface3;
>>
>
>
>*****************************************************
>
>
>
>
>
>
>Index: TestInterface.java
>===================================================================
>RCS file:
>/home/cvspublic/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/TestInterface.java,v
>retrieving revision 1.4
>diff -r1.4 TestInterface.java
>100a101,111
>
>>     * Method makeTestInterface3
>>     *
>>     *
>>     * @param thingName
>>     *
>>     * @return
>>     *
>>     */
>>    TestInterface3 makeTestInterface3(String
>>
>thingName);
>
>>    /**
>>
>127a139,147
>
>>    /**
>>     * Method getTestInterface3s
>>     *
>>     *
>>     * @return
>>     *
>>     */
>>    TestInterface3[] getTestInterface3s();
>>
>
>***************************************************
>
>cvs -q diff TestClient.java (in directory
>C:\jcommons\cvs\jakarta-commons-sandbox\altrmi\src\java\org\apache\commons\altrmi\test)
>Index: TestClient.java
>===================================================================
>RCS file:
>/home/cvspublic/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/TestClient.java,v
>retrieving revision 1.5
>diff -r1.5 TestClient.java
>92a93,107
>
>>		System.out.println("CLT: Test Another Facade");
>>		TestInterface3 ti3One =
>>
>ti.makeTestInterface3("One3");
>
>>		TestInterface3 ti3Two =
>>
>ti.makeTestInterface3("Two3");
>
>>		System.out.println("CLT: One name = '" +
>>
>ti3One.getName3() + "'");
>
>>		System.out.println("CLT: Two name = '" +
>>
>ti3Two.getName3() + "'");
>
>>		
>>		TestInterface3[] ti3s = ti.getTestInterface3s();
>>
>>		for (int i = 0; i < ti3s.length; i++) {
>>		    TestInterface3 ti3 = ti3s[i];
>>		    System.out.println("CLT: .. name["+i+"] = '" +
>>
>ti3s[i].getName3() + "'");
>
>>		}
>>		
>>		
>>		
>>
>
>*******************************************************
>
>cvs -q diff SocketServerTest.java (in directory
>C:\jcommons\cvs\jakarta-commons-sandbox\altrmi\src\java\org\apache\commons\altrmi\test)
>Index: SocketServerTest.java
>===================================================================
>RCS file:
>/home/cvspublic/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/SocketServerTest.java,v
>retrieving revision 1.8
>diff -r1.8 SocketServerTest.java
>66c66
><         as.publish(ti, "Hello", new
>PublicationDescription(TestInterface.class,
>TestInterface2.class));
>---
>
>>        as.publish(ti, "Hello", new
>>
>PublicationDescription(TestInterface.class,new
>Class[]{TestInterface2.class,TestInterface3.class}));
>
>
>***************************************************
>cvs -q diff tests.xml (in directory
>C:\jcommons\cvs\jakarta-commons-sandbox\altrmi\)
>Index: tests.xml
>===================================================================
>RCS file:
>/home/cvspublic/jakarta-commons-sandbox/altrmi/tests.xml,v
>retrieving revision 1.7
>diff -r1.7 tests.xml
>100c100
><        
>additionalfacades="org.apache.commons.altrmi.test.TestInterface2">
>---
>
>>       
>>
>additionalfacades="org.apache.commons.altrmi.test.TestInterface2,org.apache.commons.altrmi.test.TestInterface3">
>
>*******************************************************
>
>
>
>
>__________________________________________________
>Do You Yahoo!?
>Try FREE Yahoo! Mail - the world's greatest free email!
>http://mail.yahoo.com/
>
>
>------------------------------------------------------------------------
>
>--
>To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
>For additional commands, e-mail: <ma...@jakarta.apache.org>
>




--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>


[ALTRMI]-PATCH DefaultMethodInvocationHandler,TestInterface*,SocketServerTest

Posted by vinaysahil chandran <sa...@yahoo.com>.
Paul,
The referenceID that is generated from within
DefaultMethodInvocationHandler must be class level
variable.

The modified Testcases (I have done this excercise 
with only  SocketServerTest , if you say I can do the 
same with  other publish methods too)
for the same also attached along with the new facade 
TestInterface3 (+impl) ....




*****************PATCH**************


Index: DefaultMethodInvocationHandler.java
===================================================================
RCS file:
/home/cvspublic/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/server/impl/DefaultMethodInvocationHandler.java,v
retrieving revision 1.3
diff -r1.3 DefaultMethodInvocationHandler.java
48c48
<     private int mNextReference = 1;
---
>     private static int mNextReference = 1;
130d129
< 
150a150
> 	

*****************PATCH**************


Index: TestInterfaceImpl.java
===================================================================
RCS file:
/home/cvspublic/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/TestInterfaceImpl.java,v
retrieving revision 1.4
diff -r1.4 TestInterfaceImpl.java
29a30
>     Vector ti3Holder = new Vector();
137a139,156
> 	
> 	 /**
>      * Method makeTestInterface3
>      *
>      *
>      * @param thingName
>      *
>      * @return
>      *
>      */
>     public TestInterface3 makeTestInterface3(String
thingName) {
> 
>         TestInterface3 ti3 = new
TestInterface3Impl(thingName);
> 
>         ti3Holder.add(ti3);
> 
>         return ti3;
>     }
195a215,234
>         }
> 
>         return retVal;
>     }
> 
>     /**
>      * Method getTestInterface3s
>      *
>      *
>      * @return
>      *
>      */
>     public TestInterface3[] getTestInterface3s() {
> 
>         TestInterface3[] retVal = new
TestInterface3[ti3Holder.size()];
> 
>         for (int i = 0; i < ti3Holder.size(); i++) {
>             TestInterface3 interface3 =
(TestInterface3) ti3Holder.elementAt(i);
> 
>             retVal[i] = interface3;


*****************************************************






Index: TestInterface.java
===================================================================
RCS file:
/home/cvspublic/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/TestInterface.java,v
retrieving revision 1.4
diff -r1.4 TestInterface.java
100a101,111
>      * Method makeTestInterface3
>      *
>      *
>      * @param thingName
>      *
>      * @return
>      *
>      */
>     TestInterface3 makeTestInterface3(String
thingName);
> 
>     /**
127a139,147
> 
>     /**
>      * Method getTestInterface3s
>      *
>      *
>      * @return
>      *
>      */
>     TestInterface3[] getTestInterface3s();

***************************************************

cvs -q diff TestClient.java (in directory
C:\jcommons\cvs\jakarta-commons-sandbox\altrmi\src\java\org\apache\commons\altrmi\test)
Index: TestClient.java
===================================================================
RCS file:
/home/cvspublic/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/TestClient.java,v
retrieving revision 1.5
diff -r1.5 TestClient.java
92a93,107
> 		System.out.println("CLT: Test Another Facade");
> 		TestInterface3 ti3One =
ti.makeTestInterface3("One3");
> 		TestInterface3 ti3Two =
ti.makeTestInterface3("Two3");
> 		System.out.println("CLT: One name = '" +
ti3One.getName3() + "'");
> 		System.out.println("CLT: Two name = '" +
ti3Two.getName3() + "'");
> 		
> 		TestInterface3[] ti3s = ti.getTestInterface3s();
> 
> 		for (int i = 0; i < ti3s.length; i++) {
> 		    TestInterface3 ti3 = ti3s[i];
> 		    System.out.println("CLT: .. name["+i+"] = '" +
ti3s[i].getName3() + "'");
> 		}
> 		
> 		
> 		

*******************************************************

cvs -q diff SocketServerTest.java (in directory
C:\jcommons\cvs\jakarta-commons-sandbox\altrmi\src\java\org\apache\commons\altrmi\test)
Index: SocketServerTest.java
===================================================================
RCS file:
/home/cvspublic/jakarta-commons-sandbox/altrmi/src/java/org/apache/commons/altrmi/test/SocketServerTest.java,v
retrieving revision 1.8
diff -r1.8 SocketServerTest.java
66c66
<         as.publish(ti, "Hello", new
PublicationDescription(TestInterface.class,
TestInterface2.class));
---
>         as.publish(ti, "Hello", new
PublicationDescription(TestInterface.class,new
Class[]{TestInterface2.class,TestInterface3.class}));


***************************************************
cvs -q diff tests.xml (in directory
C:\jcommons\cvs\jakarta-commons-sandbox\altrmi\)
Index: tests.xml
===================================================================
RCS file:
/home/cvspublic/jakarta-commons-sandbox/altrmi/tests.xml,v
retrieving revision 1.7
diff -r1.7 tests.xml
100c100
<        
additionalfacades="org.apache.commons.altrmi.test.TestInterface2">
---
>        
additionalfacades="org.apache.commons.altrmi.test.TestInterface2,org.apache.commons.altrmi.test.TestInterface3">

*******************************************************




__________________________________________________
Do You Yahoo!?
Try FREE Yahoo! Mail - the world's greatest free email!
http://mail.yahoo.com/

[ALTRMI]-PATCH tests.xml

Posted by vinaysahil chandran <sa...@yahoo.com>.
a typo 


cvs -q diff tests.xml (in directory
C:\jcommons\cvs\jakarta-commons-sandbox\altrmi)
Index: tests.xml
===================================================================
RCS file:
/home/cvspublic/jakarta-commons-sandbox/altrmi/tests.xml,v
retrieving revision 1.7
diff -r1.7 tests.xml
263c263
<     <java
classname="org.apache.commons.altrmi.test.DirectTestC"
fork="true">
---
>     <java
classname="org.apache.commons.altrmi.test.DirectTest"
fork="true">
265c265
<       <arg value="S"/>
---
>       <arg value="C"/>



__________________________________________________
Do You Yahoo!?
Try FREE Yahoo! Mail - the world's greatest free email!
http://mail.yahoo.com/

--
To unsubscribe, e-mail:   <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>