Uploaded image for project: 'Velocity'
  1. Velocity
  2. VELOCITY-151

RuntimeInstance.setDefaultProperties() codepage problem

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • 1.3.1-rc2
    • 1.5
    • Engine
    • None
    • Operating System: other
      Platform: Other
    • 17826

    Description

      There is a bug in the RuntimeInstance setDefaultProperties method that prevents
      Velocity 1.3.1 from running on an IBM mainframe.

      The code is currently written:

      InputStream inputStream = classLoader
      .getResourceAsStream( DEFAULT_RUNTIME_PROPERTIES );

      configuration.load( inputStream );

      Which loads the default runtime properties into an ExtendedProperties
      object.
      This fails on an OS/390 which has a default codepage of Cp1047 (ebcdic),
      since:

      1) the properties resource is packaged in the Jar in codepage ISO8859_1.
      2) The ExtendedProperties class attempts to load it using the default
      codepage (Cp1047).
      3) Because of the codepage mismatch, the resulting ExtendedProperties
      object is empty and you get the error:
      "It appears that no class was specified as the ResourceManager. Please
      ensure that all configuration information is correct."

      Note that java.util.Properties.load(InputStream) ALWAYS loads using
      "8859_1", since properties files are assumed to be in ASCII.

      A workaround to this bug is to load the default properties manually, add
      your changes and pass them all to the VelocityEngine.init(Properties)
      method.

      The fix is to change the line to:

      configuration.load( inputStream, "8859_1" );

      Which is consistent with java.util.Properties.load(). Also, any other uses
      of the ExtendedProperties.load() should be changed as well. In fact,
      ExtendedProperties.load() should probably default to "8859_1", IMO.

      Attachments

        Activity

          People

            Unassigned Unassigned
            kirk@wolf-associates.com Kirk Wolf
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: