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

Attach filesAttach ScreenshotAdd voteVotersWatch issueWatchersCreate sub-taskLinkCloneUpdate Comment AuthorReplace String in CommentUpdate Comment VisibilityDelete Comments
    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

          This comment will be Viewable by All Users Viewable by All Users
          Cancel

          People

            Unassigned Unassigned
            blee1 Sloan Seaman

            Dates

              Created:
              Updated:

              Slack

                Issue deployment