XmlRpcServlet.init(...) should support init params using reflection and not 
only hardcoded support for the init param "enabledForExtensions"
--------------------------------------------------------------------------------------------------------------------------------------------

                 Key: XMLRPC-116
                 URL: http://issues.apache.org/jira/browse/XMLRPC-116
             Project: XML-RPC
          Issue Type: Improvement
    Affects Versions: 3.0
            Reporter: Jimisola Laursen
            Priority: Minor


XmlRpcServlet currently doesn't support any other init param other than 
"enabledForExtension" which means that people will have to subclass 
XmlRpcServlet if they want to set e.g. contentLengthOptional.

After a discussion in xmlrpc-dev the following solution was decided upon:

1. iterate over ServletConfig.getInitParameterNames
2. foreach init param name check if there is a corresponding setter method 
(setter can only have one argument)
3. convert init param value to the data type that the setters argument has


Q: In step 3) what data types should be supported? byte, short, int, long, 
float, double and String?
A: Should simply reuse code from the ReflectionUtils. (Don't remember the class 
name right now, but there is existing functionality, which is used by the 
AbstractReflectiveXmlRpcHandlerMapping.

Q: What exception should be thrown (ServletException?) if no matching method 
can be found in step 2) or data type conversion fails in step 3)? 
A: A ServletException mapping the actual exception (for example
IllegalArgumentException).




-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: 
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to