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

Henning Schmiedehausen closed VELOCITY-151.
-------------------------------------------


> RuntimeInstance.setDefaultProperties() codepage problem
> -------------------------------------------------------
>
>                 Key: VELOCITY-151
>                 URL: https://issues.apache.org/jira/browse/VELOCITY-151
>             Project: Velocity
>          Issue Type: Bug
>          Components: Engine
>    Affects Versions: 1.3.1-rc2
>         Environment: Operating System: other
> Platform: Other
>            Reporter: Kirk Wolf
>             Fix For: 1.5
>
>
> 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.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


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

Reply via email to