[ 
https://issues.apache.org/jira/browse/WW-3427?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Lukasz Lenart updated WW-3427:
------------------------------

    Fix Version/s: 3.x
    
> If you alias a property that uses a custom TypeConverter and it throws 
> TypeConversionException the error is never caught
> ------------------------------------------------------------------------------------------------------------------------
>
>                 Key: WW-3427
>                 URL: https://issues.apache.org/jira/browse/WW-3427
>             Project: Struts 2
>          Issue Type: Bug
>          Components: Core Interceptors
>    Affects Versions: 2.1.8.1
>         Environment: Windows
>            Reporter: Sloan Seaman
>              Labels: conversion, struts, type
>             Fix For: 3.x
>
>
> If you define an alias to a property like so:
> @Actions({
>               @Action(value="/icc/saveScan",
>                       interceptorRefs=@InterceptorRef("ptiDefault"),
>                       results={
>                               @Result(name="input", location="/error.jsp"), 
>                               @Result(name="success", location="/success.jsp")
>                               },
>                          params={"aliases", 
>                               "#{\"plateId\" : \"plate\", " +
>                                       "\"machineAbbr\" : \"machine\", "+
>                                       "\"imageFiles\" : \"scanData\"}"}
>                */
>                       )
>               })
> and the property (say imageFiles/scanData) has a custom TypeConverter 
> configured like so:
>       @ConversionErrorFieldValidator(type = ValidatorType.FIELD, 
>               key="invalid.fieldvalue.xxx",
>               message = "well not found or imageFiles not in format: 
> file,wellId|file,wellId|...",
>               shortCircuit=true)
>       @TypeConversion(rule = ConversionRule.COLLECTION, 
>               converter = "com.ptilabs.icc.action.ScanData")
>       public void setScanData(List<ScanData> imageFiles) {
>               this.imageFiles = imageFiles;
>       }
> If the TypeConverter throws a TypeConversionException the exception is never 
> caught by the ConversionErrorInterceptor or ConversionErrorFieldValidator.
> If I disable the aliasing and rename the method setImageFiles everything 
> works correctly.
> I'm trying to debug on my own but I can't find the class responsible for 
> catching the TypeConversionException and placing it in the 
> invocationContext.getConversionErrors()
>               

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to