0,0 → 1,48 |
package ak.hostadmiral.struts; |
|
import java.util.HashMap; |
import org.apache.struts.util.PropertyMessageResources; |
|
/** |
* Extention of PropertyMessageResources to work with multiple |
* resource files, specified as semicolomn separated list. |
* Just a hack. |
*/ |
public class MultiPropertyMessageResources |
extends PropertyMessageResources |
{ |
private HashMap[] multiLocales; |
private String[] multiConfig; |
|
public MultiPropertyMessageResources(MultiPropertyMessageResourcesFactory factory, |
String config) |
{ |
super(factory, config); |
initMultiConfig(config); |
} |
|
public MultiPropertyMessageResources(MultiPropertyMessageResourcesFactory factory, |
String config, boolean returnNull) |
{ |
super(factory, config, returnNull); |
initMultiConfig(config); |
} |
|
protected synchronized void loadLocale(String localeKey) |
{ |
for(int i = 0; i < multiConfig.length; i++) { |
config = multiConfig[i]; |
locales = multiLocales[i]; |
super.loadLocale(localeKey); |
} |
} |
|
protected void initMultiConfig(String cfg) |
{ |
this.multiConfig = cfg.split("\\s*;\\s*"); |
|
this.multiLocales = new HashMap[this.multiConfig.length]; |
for(int i = 0; i < this.multiLocales.length; i++) |
this.multiLocales[i] = new HashMap(); |
} |
} |