CLONE -PropertyMessageResources.loadLocale(String localeKey) has a problem!
---------------------------------------------------------------------------
Key: STR-2843
URL: http://issues.apache.org/struts/browse/STR-2843
Project: Struts Action 1
Type: Bug
Components: Action
Versions: Nightly Build
Environment: Operating System: other
Platform: Other
Reporter: qxo
Assigned to: Struts Developer Mailing List
when
struts-config.xml -->message-resources -->parameter:resourceA
if resourceA not existed,it should show some error message,but not!
cause:
PropertyMessageResources.loadLocale(String localeKey) has a problem!
I fixed it;
Code:
protected synchronized void loadLocale(String localeKey) {
// Have we already attempted to load messages for this locale?
if (locales.get(localeKey) != null) {
return;
}
if (log.isTraceEnabled()) {
log.trace("loadLocale(" + localeKey + ")");
}
locales.put(localeKey, localeKey);
// Set up to load the property resource for this locale key, if we can
String name = config.replace('.', '/');
if (localeKey.length() > 0) {
name += "_" + localeKey;
}
name += ".properties";
InputStream is = null;
// Load the specified property resource
if (log.isTraceEnabled()) {
log.trace(" Loading resource '" + name + "'");
}
ClassLoader classLoader =
Thread.currentThread().getContextClassLoader();
if (classLoader == null) {
classLoader = this.getClass().getClassLoader();
}
is = classLoader.getResourceAsStream(name);
if (is != null) {
Properties props = new Properties();
try {
props.load(is);
} catch (IOException e) {
log.error("loadLocale()", e);
} finally {
try {
is.close();
} catch (IOException e) {
log.error("loadLocale()", e);
}
}
// Copy the corresponding values into our cache
if (props.size() < 1) {
return;
}
synchronized (messages) {
Iterator names = props.keySet().iterator();
while (names.hasNext()) {
String key = (String) names.next();
if (log.isTraceEnabled()) {
log.trace(" Saving message key '" +
messageKey(localeKey, key));
}
messages.put(messageKey(localeKey, key),
props.getProperty(key));
}
}
if (log.isTraceEnabled()) {
log.trace(" Loading resource completed");
}
}else{
if (log.isWarnEnabled()) {
log.warn("the resource not found.");
}
}
}
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/struts/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org
|