Hi, I have created a minimal working implementation: - RpcHandler which has a method "String handleRequest(String request)" and does basically the same as the old servlet's doPost method minus all the servlet stuff - IRpcLogger (interface) for log abstraction - IRpcServiceFactory (interface) that a) finds a service implementation by name and b) finds all possible method candidates for a service name, method name and args - IJavaJsonConverter (interface) that converts between java ans json. Arguments passed for later extensions: the object to convert, the Class of this object defined by the method (return type or param type), the generic Type of the object if pressent and a list of annotations of the method or parameter. - IRpcLogger: NullRpcLogger (logs nothing) and ConsoleRpcLogger (to StdErr or any Printwriter) - IRpcServiceFactory: AbstractRpcServiceFactory with an abstract getServiceImplementation(String serviceName) that exports all the methods of the service class - IRpcServiceFactory: AbstractJwsRpcServiceFactory with an abstract getServiceImplementation(String serviceName) that honors javax.jws.WebService and javax.jws.WebMethod annotations (early test implementation) - IJavaJsonConverter: DefaultJavaJsonConverter with similar behaviour as the old implementation had (most code from there). It has 2 modes for converting objects to json: normal (converted proprties are read from the object) and strict (converted properties are read from the class that the function defines - Example: MyService.getUser() returns an interface IUser with methods getId() and getName(). The returned implementations is an object User with an additional getPassword() method. With useStrinctInterfaceReturnTypes=true, only id and name are returned by the service. With useStrinctInterfaceReturnTypes=false also the password attribute is returned. - A spring handler as frontend (similar to servlet but much more easy to configure).
I'd need an svn access to commit ;-) Regards, Michael. ------------------------------------------------------------------------------ Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are powering Web 2.0 with engaging, cross-platform capabilities. Quickly and easily build your RIAs with Flex Builder, the Eclipse(TM)based development software that enables intelligent coding and step-through debugging. Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com _______________________________________________ qooxdoo-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/qooxdoo-devel
