Subversion Repositories general

Compare Revisions

Ignore whitespace Rev 1048 → Rev 1049

/hostadmiral/trunk/src/ak/hostadmiral/struts/MultiPropertyMessageResourcesFactory.java
0,0 → 1,13
package ak.hostadmiral.struts;
 
import org.apache.struts.util.MessageResources;
import org.apache.struts.util.PropertyMessageResourcesFactory;
 
public class MultiPropertyMessageResourcesFactory
extends PropertyMessageResourcesFactory
{
public MessageResources createResources(String config)
{
return new MultiPropertyMessageResources(this, config, this.returnNull);
}
}
/hostadmiral/trunk/src/ak/hostadmiral/struts/MultiPropertyMessageResources.java
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();
}
}