es Àà
public¡¡static¡¡String¡¡getMessage(¡¡String¡¡key¡¡)
¡¡{
¡¡¡¡ViewerResourceHandle¡¡resourceHandle¡¡=¡¡getResourceHandle(¡¡);
¡¡¡¡if¡¡(¡¡resourceHandle¡¡!=¡¡null¡¡)
¡¡¡¡return¡¡resourceHandle.getMessage(¡¡key¡¡);
¡¡¡¡return¡¡key;
¡¡}
Àà ViewerResourceHandle ¼Ì³Ð×Ô ResourceHandle Àà¡£
Çåµ¥ 2. ViewerResourceHandle Àà
public¡¡class¡¡ViewerResourceHandle¡¡extends¡¡ResourceHandle
ÎÒÃÇÔÙ¿´ ResourceHandle À࣬Õâ¸öÀàÊÇ×éÖ¯×ÊÔ´ÎļþµÄ¹Ø¼üÀࣺ
Çåµ¥ 3. ResourceHandle Àà
public¡¡ResourceHandle(¡¡ULocale¡¡locale¡¡)
¡¡¡¡{
¡¡¡¡String¡¡className¡¡=¡¡this.getClass(¡¡).getName(¡¡);
¡¡¡¡String¡¡bundleName¡¡=¡¡"";¡¡//$NON-NLS-1$
¡¡//¡¡Create¡¡the¡¡base¡¡message¡¡file¡¡name¡¡formatted¡¡like¡¡a¡¡Java¡¡class.
¡¡//¡¡The¡¡Java¡¡class¡¡loader¡¡will¡¡search¡¡for¡¡the¡¡file¡¡using¡¡the¡¡same
¡¡//¡¡algorithm¡¡used¡¡to¡¡find¡¡classes.
¡¡¡¡¡¡int¡¡index¡¡=¡¡className.lastIndexOf(¡¡''.''¡¡);
¡¡¡¡¡¡if¡¡(¡¡index¡¡>¡¡-1¡¡)
¡¡¡¡¡¡{
¡¡//¡¡e.g:¡¡"org.eclipse.birt.report.model.util.Test"¡¡
¡¡bundleName¡¡=¡¡className.substring(¡¡0,¡¡index¡¡)¡¡+¡¡".";
¡¡//$NON-NLS-1$
¡¡¡¡¡¡}
¡¡¡¡¡¡bundleName¡¡=¡¡bundleName¡¡+¡¡BUNDLE_NAME;
¡¡¡¡¡¡if¡¡(¡¡locale¡¡==¡¡null¡¡)
¡¡¡¡¡¡¡¡locale¡¡=¡¡ULocale.getDefault(¡¡);
¡¡¡¡¡¡resources¡¡=¡¡UResourceBundle.getBundleInstance(
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡bundleName,¡¡locale.toString(),¡¡this.getClass().getClassLoader()¡¡);
¡¡assert¡¡resources¡¡!=
¡¡¡¡¡¡¡¡¡¡null¡¡:¡¡"ResourceBundle¡¡:¡¡"¡¡+¡¡BUNDLE_NAME¡¡+¡¡"¡¡for¡¡"¡¡+¡¡locale¡¡+¡¡"¡¡not¡¡found";
¡¡//$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
¡¡}
»ùÓÚEclipseµÄBirt¹ú¼Ê»¯µÄ·ÖÎöÓë¸Ä½ø(5)
ʱ¼ä:2011-07-03 IBM ËÕ´º²¨
´Ó this.getClass().getClassLoader()¿ÉÒÔ¿´³öÀ´ console µÄ¹ú¼Ê»¯ÎļþÊÇ·ÅÔÚÀà·¾¶ÏÂÃæµÄ£¬ÎļþµÄ×éÖ¯ÐÎʽÊÇÎļþÃû³Æ +locale£¬ÔÙÓÐ×ÊÔ´Îļþ·Åµ½ jar °üÀïÃæÀà·¾¶Ï¿ɲ»ÊÇʲôºÃµÄ·½·¨£¬ÄÇôÎÒÃÇÊÇ·ñÄÜÌṩһ¸öÍⲿ±äÁ¿À´ÅäÖÃÕâ¸ö×ÊÔ´ÎļþµÄ·¾¶ÄØ£¿ºóÃæÎÒÃǻὲµ½¡£ÏÈÀ´¿´¿´ÎªÊ²Ã´ÖÐÎÄ×ÊÔ´Îļþ·Åµ½ jar °üÀïÃæµÄÀà·¾¶Ï²»Æð×÷Óã¬Ã÷Ã÷ÊÇÓÐ locale µÄ£¬ÊDz»ÊǸоõÓеãÆæ¹Ö£¿ÎÒÃǽÓÏÂÀ´¼ÌÐø¸ú×Ù£¬½øÈëÀà ReportEngineService Öеķ½·¨ createGetParameterDefinitionTask, ¿´ËüµÄ·½·¨Ì壺
Çåµ¥ 4. Ô createGetParameterDefinitionTask ·½·¨
public¡¡IGetParameterDefinitionTask¡¡createGetParameterDefinitionTask(
¡¡¡¡¡¡¡¡IReportRunnable¡¡runnable,¡¡InputOptions¡¡options¡¡)
¡¡¡¡{
¡¡¡¡¡¡IGetParameterDefinitionTask¡¡task¡¡=¡¡null;
¡¡¡¡¡¡try
¡¡¡¡¡¡{
¡¡HttpServletRequest¡¡request¡¡=
¡¡¡¡¡¡¡¡¡¡¡¡(HttpServletRequest)¡¡options.getOption(¡¡InputOptions.OPT_REQUEST¡¡);
¡¡¡¡¡¡¡¡task¡¡=¡¡¡¡¡¡¡¡engine.createGetParameterDefinitionTask(¡¡runnable¡¡);
¡¡¡¡¡¡¡¡//¡¡set¡¡app¡¡context
¡¡¡¡Map¡¡context¡¡=¡¡BirtUtility.getAppContext(¡¡request,
¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡ReportEngineService.class.getClassLoader(¡¡)¡¡);
¡¡¡¡¡¡¡¡task.setAppContext(¡¡context¡¡);
¡¡¡¡¡¡}
¡¡¡¡¡¡catch¡¡(¡¡Exception¡¡e¡¡)
¡¡¡¡¡¡{
¡¡¡¡¡¡}
¡¡¡¡¡¡return¡¡task;
¡¡¡¡}
ÎÒÃÇ»á×¢Òâµ½·þÎñ²ãµÄÕâ¸öÈë¿Ú·½·¨ÖÐûÓÐÉèÖÃÈκÎÓë locale Ïà¹ØµÄ±äÁ¿£¬Ìí¼ÓÉèÖà locale ±äÁ¿µÄ´úÂ룬Ð޸ĺóµÄ createGetParameterDefinitionTask ÈçÏÂËùʾ£º
Çåµ¥ 5. Ð޸ĺóµÄ creat |