/* * To change this template, choose Tools | Templates * and open the template in the editor. */ package com.wcs.newsletter.util; /* * #%L * Webstar Newsletter * %% * Copyright (C) 2013 Webstar Csoport Kft. * %% * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public * License along with this program. If not, see * <http://www.gnu.org/licenses/gpl-3.0.html>. * #L% */ import java.util.Locale; import java.util.ResourceBundle; import javax.faces.context.FacesContext; /** * * @author kumm */ public class AppMessageBundle { public static String getString(String id) { return getString(FacesContext.getCurrentInstance(), id); } public static String getString(FacesContext facesContext, String id) { Locale locale = null; if (facesContext.getViewRoot() != null) { locale = facesContext.getViewRoot().getLocale(); } if (locale == null) { locale = Locale.getDefault(); } return getString(facesContext, locale, id); } public static String getString(FacesContext facesContext, Locale locale, String id) { String bundleName = facesContext.getApplication().getMessageBundle(); if (bundleName==null) { throw new RuntimeException("Nincs default bundle. (faces-config.xml message-bundle)"); } ResourceBundle bundle = ResourceBundle.getBundle(bundleName, locale, getCurrentClassLoader(bundleName)); if (bundle == null) { throw new RuntimeException("Nem található a bundle: "+bundleName+", locale: "+locale.toString()); } return bundle.getString(id); } protected static ClassLoader getCurrentClassLoader(Object clazz) { ClassLoader loader = Thread.currentThread().getContextClassLoader(); if (loader == null) { loader = clazz.getClass().getClassLoader(); } return loader; } }