Uploaded image for project: 'Struts 2'
  1. Struts 2
  2. WW-3427

If you alias a property that uses a custom TypeConverter and it throws TypeConversionException the error is never caught

    XMLWordPrintableJSON

Details

    • Important

    Description

      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()

      Attachments

        Activity

          People

            Unassigned Unassigned
            blee1 Sloan Seaman
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated: