Paul, I dont get this ;-? Am I looking at the right place,Paul? (http://cvs.apache.org/viewcvs.cgi/jakarta-avalon-excalibur/altrmi/ )
The cvs @excalibur doesNOT reflect my recent callback patches and thus the barfs. Regards, V i n a y --- Paul Hammant <[EMAIL PROTECTED]> wrote: > Vinay, > > I have reapplied all the patches and the test barfs > as follows : > > [java] Registering CallBackTestListenerImpls > with the CallBackTest > [java] java.io.NotSerializableException: > org.apache.excalibur.altrmi.test.callback.CallBackTestListenerImpl > [java] at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1054) > [java] at > java.io.ObjectOutputStream.writeArray(ObjectOutputStream.java:1224) > [java] at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1050) > [java] at > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278) > [java] at > org.apache.excalibur.altrmi.common.MethodRequest.writeExternal(MethodRequest.java:147) > [java] at > java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1265) > [java] at > java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1243) > [java] at > java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1052) > [java] at > java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:278) > [java] at > org.apache.excalibur.altrmi.common.SerializationHelper.getBytesFromInstance(SerializationHelper.java:49) > [java] at > org.apache.excalibur.altrmi.client.impl.stream.ClientCustomStreamReadWriter.writeRequest(ClientCustomStreamReadWriter.java:74) > [java] at > org.apache.excalibur.altrmi.client.impl.stream.ClientCustomStreamReadWriter.postRequest(ClientCustomStreamReadWriter.java:64) > [java] at > org.apache.excalibur.altrmi.client.impl.stream.StreamInvocationHandler.handleInvocation(StreamInvocationHandler.java:140) > [java] at > org.apache.excalibur.altrmi.client.impl.BaseServedObject.processObjectRequest(BaseServedObject.java:227) > [java] at > AltrmiGeneratedCallbackTest_Main.addCallBackListener(AltrmiGeneratedCallbackTest_Main.java:29) > [java] at > org.apache.excalibur.altrmi.test.callback.CallBackTestClient.main(CallBackTestClient.java:75) > > Have a check of it your end dude... > > Regards, > > - Paul > > >Paul, > >I did kind of do that (exposeObject(..) on purpose > , > >something I tried to model along the lines of our > RMI > >dame. > >[UnicastRemoteObject.exportObject(..) ..] > >But I guess the way you have illustrated through > test > >cases checked in test/callback/ files > >is also feasible ; & definitely more kewler. > >gr8 suggestion dude and it does make sense. > >And attached here is the patch to get rid of > >the exposeObject(..) kind of call . > >[There was another method within > >CallbackInvocationHandler which had to be > public'zed > >] > >I guess now the test cases that you kindly checked > >in for me , should work too . > >(after the proper imports of callback > >factories/servers) > > > >The BaseServedObject marshallerer now checks the > >typs of arguments and accordingly publishes > >the obj with the internal altrmiServer. > >BTW, > >the callback.xml must create the stub for the > >CallBackTestListener too or we should generate it > >through code .( I shall start the brain-surgery > >on stubs using BCEL after we are through with > settling > > > >the dust over callbacks) > > > > > >Regards, > >V i n a y > > > > > > > >__________________________________________________ > >Do You Yahoo!? > >Yahoo! Tax Center - online filing with TurboTax > >http://taxes.yahoo.com/ > > > > > >------------------------------------------------------------------------ > > > >cvs diff BaseServedObject.java (in directory > C:\vinay\jc\jakarta-avalon-excalibur\altrmi\src\java\org\apache\excalibur\altrmi\client\impl) > >Index: BaseServedObject.java > >=================================================================== > >RCS file: > /home/cvspublic/jakarta-avalon-excalibur/altrmi/src/java/org/apache/excalibur/altrmi/client/impl/BaseServedObject.java,v > >retrieving revision 1.1 > >diff -r1.1 BaseServedObject.java > >29a30,34 > > > >>//callback > >>import > org.apache.excalibur.altrmi.common.ExposedObjectProxy; > >>import > org.apache.excalibur.altrmi.client.impl.socket.CallbackEnabledCustomSocketStreamInvocationHandler; > >>import java.util.StringTokenizer; > >>import > org.apache.excalibur.altrmi.common.AltrmiCallbackException; > >> > >47c52,55 > >< > >--- > > > >> //<callback related> > >> private boolean mbIsCallbackAware=false; > >> private > CallbackEnabledCustomSocketStreamInvocationHandler > mCallbackEnabledCustomSocketStreamInvocationHandler=null; > >> //</callback related> > >> > >70a79,87 > > > >> //<callback related> > >> if(mInvocationHandler instanceof > CallbackEnabledCustomSocketStreamInvocationHandler) > >> { > >> > >> > mCallbackEnabledCustomSocketStreamInvocationHandler > = > >> > (CallbackEnabledCustomSocketStreamInvocationHandler)mInvocationHandler; > >> mbIsCallbackAware=true; > >> } > >> //</callback related> > >> > >206c223 > >< marshallCorrection(args); > >--- > > > >> marshallCorrection(methodSignature,args); > >> > >312c329,332 > >< private void marshallCorrection(Object[] > args) { > >--- > > > >> private void marshallCorrection(String > methodSignature , Object[] args) { > >> > >> String _methodArgumentClasses = > methodSignature.substring(methodSignature.indexOf("(")+1,methodSignature.lastIndexOf(")")); > >> StringTokenizer _methodArgumentClassTokens = new > StringTokenizer(_methodArgumentClasses,","); > >> > >314a335,346 > > > >> > >> String > _sArgClass=_methodArgumentClassTokens.nextToken(); > >> Class _cArgClass=null; > >> try > >> { > >> > >> _cArgClass=Class.forName(_sArgClass); > >> } > >> catch(ClassNotFoundException cnfe) > >> { > >> System.err.println("Class "+_sArgClass +" Not > Found"); > >> } > >> > >326a359,388 > > > >> else if(mbIsCallbackAware) > >> { > >> String publishedName = > mCallbackEnabledCustomSocketStreamInvocationHandler.getPublishedName(args[i]); > >> if(publishedName!=null) //already published > >> { > >> ExposedObjectProxy exposedObjectProxy = new > ExposedObjectProxy(publishedName); > >> args[i]=exposedObjectProxy; > >> } > >> else //check whether its Publish'able > >> { > >> if(!_cArgClass.isInterface()) //Hey do we > handle only interfaces? > >> continue; > >> > if(_cArgClass.isAssignableFrom(args[i].getClass())) > >> { > >> try > >> { > === message truncated === __________________________________________________ Do You Yahoo!? Yahoo! Tax Center - online filing with TurboTax http://taxes.yahoo.com/ -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
