WebjetMessageSource.java
package sk.iway.iwcm.system.spring.webjet_component;
import java.util.Locale;
import org.springframework.context.MessageSource;
import org.springframework.context.MessageSourceResolvable;
import org.springframework.context.NoSuchMessageException;
import sk.iway.iwcm.InitServlet;
import sk.iway.iwcm.Logger;
import sk.iway.iwcm.RequestBean;
import sk.iway.iwcm.SetCharacterEncodingFilter;
import sk.iway.iwcm.i18n.Prop;
// trieda pre preklady
public class WebjetMessageSource implements MessageSource {
@Override
public String getMessage(String s, Object[] objects, String s1, Locale locale) {
return getProp(locale).getText(s);
}
@Override
public String getMessage(String s, Object[] objects, Locale locale) throws NoSuchMessageException {
if(!InitServlet.isWebjetConfigured()) {
RequestBean rb = SetCharacterEncodingFilter.getCurrentRequestBean();
return Prop.getInstance(rb.getLng()).getText(s);
}
try {
if (objects != null && objects.length>0) {
String[] objString = new String[objects.length];
for (int i=0; i<objects.length; i++) {
if (objects[i] != null) objString[i] = objects[i].toString();
}
return getProp(locale).getTextWithParams(s, objString);
}
} catch (Exception ex) {
Logger.error(WebjetMessageSource.class, ex);
}
return getProp(locale).getText(s);
}
@Override
public String getMessage(MessageSourceResolvable messageSourceResolvable, Locale locale) throws NoSuchMessageException {
return getProp(locale).getText(messageSourceResolvable.getDefaultMessage());
}
private Prop getProp(Locale locale) {
return Prop.getInstance(locale.getLanguage());
}
}