What about one that's more generic.  The WebConfiguration object
is being used as a type translator for a simple value get.

The technique here would be reflect into and convert type

public void init(ServletConfig config) {
   try {
       MapUtil config = new MapUtil(config, "initParameter");
       param = config.getInt("param");
   } catch (NumberFormatException e) {}
}



Paul Libbrecht wrote:

That has ssome good taste... I would add an "applet-parameter"-based one as well...

paul


On 1-Mar-04, at 19:02 Uhr, Emmanuel Bourg wrote:


Hi, I'd like to suggest a new configuration implementation that bridges between parameters commonly used in web applications (servlet, filter, application and request parameters) and our Configuration interface.

Because I'm tired of writting always the same parsing code like:

public void init(ServletConfig config) {
    try {
        param = Integer.parseInt(config.getInitParameter("param"));
    }
    catch (NumberFormatException e) { }
}

I tought it would be much easier to write instead:

public void init(ServletConfig config) {
    Configuration conf = new WebConfiguration(config);
    param = conf.getInt("param");
}

The WebConfiguration works with 4 types of objets specified in its constructor: a ServletConfig, a ServletContext, a FilterConfig or a ServletRequest.

I wrote a test case using mock objects covering the different cases except for the FilterConfig, the mock lacks a setInitParameter() method. Also the mock for the ServletRequest sends an exception for unknown parameters instead of returning null, most of its tests break.

Emmanuel Bourg



--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]




---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to