Whoops, my mistake, apparently those changes did get folded in. I
guess I must've missed the commit message.

  - a


Adam Megacz <[EMAIL PROTECTED]> writes:
> Uh, you forgot the corresponding patches to XmlRpcServer.java. This
> class is useless without those changes.
> 
>   - a
> 
> 
> [EMAIL PROTECTED] writes:
> 
> > dlr         2002/08/14 10:19:53
> > 
> >   Added:       src/java/org/apache/xmlrpc SystemHandler.java
> >   Log:
> >   system.multicall handler added by Adam Megacz, with documentation and
> >   minor code spruce ups from me.
> >   
> >   Revision  Changes    Path
> >   1.1                  xml-rpc/src/java/org/apache/xmlrpc/SystemHandler.java
> >   
> >   Index: SystemHandler.java
> >   ===================================================================
> >   package org.apache.xmlrpc;
> >   
> >   /*
> >    * The Apache Software License, Version 1.1
> >    *
> >    *
> >    * Copyright(c) 2001 The Apache Software Foundation.  All rights
> >    * reserved.
> >    *
> >    * Redistribution and use in source and binary forms, with or without
> >    * modification, are permitted provided that the following conditions
> >    * are met:
> >    *
> >    * 1. Redistributions of source code must retain the above copyright
> >    *    notice, this list of conditions and the following disclaimer.
> >    *
> >    * 2. Redistributions in binary form must reproduce the above copyright
> >    *    notice, this list of conditions and the following disclaimer in
> >    *    the documentation and/or other materials provided with the
> >    *    distribution.
> >    *
> >    * 3. The end-user documentation included with the redistribution,
> >    *    if any, must include the following acknowledgment:
> >    *       "This product includes software developed by the
> >    *        Apache Software Foundation(http://www.apache.org/)."
> >    *    Alternately, this acknowledgment may appear in the software itself,
> >    *    if and wherever such third-party acknowledgments normally appear.
> >    *
> >    * 4. The names "XML-RPC" and "Apache Software Foundation" must
> >    *    not be used to endorse or promote products derived from this
> >    *    software without prior written permission. For written
> >    *    permission, please contact [EMAIL PROTECTED]
> >    *
> >    * 5. Products derived from this software may not be called "Apache",
> >    *    nor may "Apache" appear in their name, without prior written
> >    *    permission of the Apache Software Foundation.
> >    *
> >    * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
> >    * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
> >    * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
> >    * DISCLAIMED.  IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
> >    * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
> >    * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES(INCLUDING, BUT NOT
> >    * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
> >    * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
> >    * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
> >    * OR TORT(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
> >    * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
> >    * SUCH DAMAGE.
> >    * ====================================================================
> >    *
> >    * This software consists of voluntary contributions made by many
> >    * individuals on behalf of the Apache Software Foundation.  For more
> >    * information on the Apache Software Foundation, please see
> >    * <http://www.apache.org/>.
> >    */
> >   
> >   import org.apache.xmlrpc.*;
> >   import java.util.*;
> >   
> >   /**
> >    * Implements the XML-RPC standard system.* methods (such as
> >    * <code>system.multicall</code>.
> >    *
> >    * @author <a href="mailto:[EMAIL PROTECTED]";>Adam Megacz</a>
> >    */
> >   public class SystemHandler
> >   {
> >       private XmlRpcServer server = null;
> >   
> >       /**
> >        * Creates a new instance which delegates its multicalls to the
> >        * specified {@link org.apache.xmlrpc.XmlRpcServer}.
> >        *
> >        * @param server The server to delegate RPC calls to.
> >        */
> >       protected SystemHandler(XmlRpcServer server)
> >       {
> >           this.server = server;
> >       }
> >   
> >       /**
> >        * The <code>system.multicall</code> handler performs several RPC
> >        * calls at a time.
> >        *
> >        * @param request The request containing multiple RPC calls.
> >        * @return The RPC response.
> >        */
> >       public Vector multicall(Vector request)
> >       {
> >           Vector response = new Vector();
> >           for (int i = 0; i < request.size(); i++)
> >           {
> >               try
> >               {
> >                   Hashtable call = (Hashtable) request.elementAt(i);
> >                   String methodName = (String) call.get("methodName");
> >                   Vector params = (Vector) call.get("params");
> >                   Object handler = server.getHandler(methodName);
> >                   Vector v = new Vector();
> >                   v.addElement(server.invokeHandler(handler, methodName, params, 
>null, null));
> >                   response.addElement(v);
> >               }
> >               catch (Exception x)
> >               {
> >                   String message = x.toString();
> >                   int code = x instanceof XmlRpcException ? ((XmlRpcException) 
>x).code : 0;
> >                   Hashtable h = new Hashtable();
> >                   h.put("faultString", message);
> >                   h.put("faultCode", new Integer(code));
> >                   response.addElement(h);
> >               }
> >           }
> >           return response;
> >       }
> >   }
> >   
> >   
> >   
> > 
> 
> -- 
> Sick of HTML user interfaces?
> www.xwt.org
> 

-- 
Sick of HTML user interfaces?
www.xwt.org

Reply via email to