Hi Krik.  Would you mind entering this problem into our issue tracking
system <http://issues.apache.org/bugzilla/> with a milestone of 1.4?

"Kirk Wolf" <[EMAIL PROTECTED]> writes:

> Hello,
> I've found that 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.

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

Reply via email to