You are viewing a plain text version of this content. The canonical link for it is here.
Posted to xmlrpc-dev@ws.apache.org by jo...@apache.org on 2006/07/19 23:19:56 UTC

svn commit: r423613 - in /webservices/xmlrpc/trunk: client/src/main/java/org/apache/xmlrpc/client/ src/changes/ tests/src/test/java/org/apache/xmlrpc/test/ tests/src/test/resources/org/apache/xmlrpc/test/

Author: jochen
Date: Wed Jul 19 14:19:55 2006
New Revision: 423613

URL: http://svn.apache.org/viewvc?rev=423613&view=rev
Log:
A null parameter list is now treated as an empty object array.
PR: XMLRPC-96
Submitted-by: Jimisola Laursen, lists@jimisola.com

Modified:
    webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcClientRequestImpl.java
    webservices/xmlrpc/trunk/src/changes/changes.xml
    webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/JiraTest.java
    webservices/xmlrpc/trunk/tests/src/test/resources/org/apache/xmlrpc/test/JiraTest.properties

Modified: webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcClientRequestImpl.java
URL: http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcClientRequestImpl.java?rev=423613&r1=423612&r2=423613&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcClientRequestImpl.java (original)
+++ webservices/xmlrpc/trunk/client/src/main/java/org/apache/xmlrpc/client/XmlRpcClientRequestImpl.java Wed Jul 19 14:19:55 2006
@@ -25,7 +25,8 @@
  * {@link org.apache.xmlrpc.XmlRpcRequest}.
  */
 public class XmlRpcClientRequestImpl implements XmlRpcRequest {
-	private final XmlRpcRequestConfig config;
+    private static final Object[] ZERO_PARAMS = new Object[0];
+    private final XmlRpcRequestConfig config;
 	private final String methodName;
 	private final Object[] params;
 
@@ -45,10 +46,7 @@
 		if (methodName == null) {
 			throw new NullPointerException("The method name must not be null.");
 		}
-		params = pParams;
-		if (params == null) {
-			throw new NullPointerException("The parameter list must not be null.");
-		}
+		params = pParams == null ? ZERO_PARAMS : pParams;
 	}
 
 	/** Creates a new instance.

Modified: webservices/xmlrpc/trunk/src/changes/changes.xml
URL: http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/src/changes/changes.xml?rev=423613&r1=423612&r2=423613&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/src/changes/changes.xml (original)
+++ webservices/xmlrpc/trunk/src/changes/changes.xml Wed Jul 19 14:19:55 2006
@@ -9,15 +9,19 @@
         Added a missing "synchronized" to the TimingOutCallback.
       </action>
       <action dev="jochen" type="fix" due-to="Chris Conrad"
-          due-to-email="rhavyn@gmail.com">
+          due-to-email="rhavyn@gmail.com" issue="XMLRPC-93">
         Fixed an invalid index, that caused the ReflectiveXmlRpcHandler to fail
         detecting a method.
       </action>
-      <action dev="jochen" type="enhancement">
+      <action dev="jochen" type="enhancement" issue="XMLRPC-93">
         Added documentation for accessing an SSL server.
       </action>
+      <action dev="jochen" type="enhancement" due-to="Jimisola Laursen"
+          due-to-email="lists@jimisola.com" issue="XMLRPC-96">
+	    A null parameter list is now treated as an empty object array.
+      </action>
       <action dev="jochen" type="fix" due-to="Jimisola Laursen"
-          due-to-email="lists@jimisola.com">
+          due-to-email="lists@jimisola.com" issue="XMLRPC-97">
 	    The type long was missing in types.apt.      
       </action>
     </release>

Modified: webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/JiraTest.java
URL: http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/JiraTest.java?rev=423613&r1=423612&r2=423613&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/JiraTest.java (original)
+++ webservices/xmlrpc/trunk/tests/src/test/java/org/apache/xmlrpc/test/JiraTest.java Wed Jul 19 14:19:55 2006
@@ -52,6 +52,7 @@
          */
         Properties doubledPropertyValues(Properties pMap);
     }
+
     /**
      * Handler for {@link JiraTest#testXMLRPC89()}
      */ 
@@ -188,5 +189,34 @@
         XMLRPC89Handler handler = (XMLRPC89Handler) factory.newInstance(XMLRPC89Handler.class);
         Properties result = handler.doubledPropertyValues(values);
         verifyXMLRPC89Properties(result);
+    }
+
+    /** Handler for XMLRPC-96
+     */
+    public static class XMLRPC96Handler {
+        /** Returns the "Hello, world!" string.
+         */
+        public String getHelloWorld() {
+            return "Hello, world!";
+        }
+    }
+
+    /**
+     * Test case for <a href="http://issues.apache.org/jira/browse/XMLRPC-96">
+     * XMLRPC-96</a>
+     */
+    public void testXMLRPC96() throws Exception {
+        for (int i = 0;  i < providers.length;  i++) {
+            testXMLRPC96(providers[i]);
+        }
+    }
+
+    private void testXMLRPC96(ClientProvider pProvider) throws Exception {
+        XmlRpcClient client = pProvider.getClient();
+        client.setConfig(getConfig(pProvider));
+        String s = (String) client.execute(XMLRPC96Handler.class.getName() + ".getHelloWorld", new Object[0]);
+        assertEquals("Hello, world!", s);
+        s = (String) client.execute(XMLRPC96Handler.class.getName() + ".getHelloWorld", (Object[]) null);
+        assertEquals("Hello, world!", s);
     }
 }

Modified: webservices/xmlrpc/trunk/tests/src/test/resources/org/apache/xmlrpc/test/JiraTest.properties
URL: http://svn.apache.org/viewvc/webservices/xmlrpc/trunk/tests/src/test/resources/org/apache/xmlrpc/test/JiraTest.properties?rev=423613&r1=423612&r2=423613&view=diff
==============================================================================
--- webservices/xmlrpc/trunk/tests/src/test/resources/org/apache/xmlrpc/test/JiraTest.properties (original)
+++ webservices/xmlrpc/trunk/tests/src/test/resources/org/apache/xmlrpc/test/JiraTest.properties Wed Jul 19 14:19:55 2006
@@ -1 +1,2 @@
 org.apache.xmlrpc.test.JiraTest$XMLRPC89Handler=org.apache.xmlrpc.test.JiraTest$XMLRPC89HandlerImpl
+org.apache.xmlrpc.test.JiraTest$XMLRPC96Handler=org.apache.xmlrpc.test.JiraTest$XMLRPC96Handler



---------------------------------------------------------------------
To unsubscribe, e-mail: xmlrpc-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: xmlrpc-dev-help@ws.apache.org