1 16 package org.pentaho.plugin.jfreereport.helper; 17 18 import java.io.File ; 19 import java.util.Locale ; 20 import java.util.ResourceBundle ; 21 22 import org.jfree.report.ResourceBundleFactory; 23 import org.pentaho.core.session.IPentahoSession; 24 import org.pentaho.core.system.PentahoSystem; 25 import org.pentaho.messages.Messages; 26 import org.pentaho.messages.util.LocaleHelper; 27 import org.pentaho.util.logging.Logger; 28 29 37 public class PentahoResourceBundleFactory implements ResourceBundleFactory 38 { 39 40 private static final long serialVersionUID = -1555502100120929073L; 41 42 private String path; 43 44 private String baseName; 45 46 private ClassLoader loader; 47 48 public PentahoResourceBundleFactory(String path, 49 String baseName, 50 IPentahoSession session) 51 { 52 this.path = path; 53 this.baseName = baseName; 54 loader = PentahoSystem.getSolutionRepository(session).getClassLoader(path); 55 } 56 57 public Locale getLocale() 58 { 59 return LocaleHelper.getLocale(); 60 } 61 62 public ResourceBundle getResourceBundle(String resourceName) 63 { 64 if (resourceName == null) 65 { 66 resourceName = baseName; 67 } 68 69 try 70 { 71 return ResourceBundle.getBundle(resourceName, getLocale(), loader); 72 } 73 catch (Exception e) 74 { 75 Logger.error(getClass().getName(), Messages.getErrorString("JFreeReport.ERROR_0024_COULD_NOT_READ_PROPERTIES", path + File.separator + baseName), e); } 77 return null; 78 } 79 80 } 81 | Popular Tags |