Re: [morph-developer] Changing Morph so it does NOT pick up on Locale
Brought to you by:
orangeherbert,
sgarlatm
From: Matt B. <gud...@ya...> - 2009-10-16 18:12:12
|
I see what you're saying. You want to default to the Locale where the app is _running_, rather than the user's Locale. I agree that that makes sense. Thanks, Matt B --- On Fri, 10/16/09, Matt Sgarlata <mat...@sp...> wrote: > From: Matt Sgarlata <mat...@sp...> > Subject: [morph-developer] Changing Morph so it does NOT pick up on Locale > To: "For developers of Morph itself. NOT for questions." <mor...@li...> > Date: Friday, October 16, 2009, 11:57 AM > Hey Matt B, > > It sure has been a while! I hope you are doing well. > > Today I had a French user of our application unable to use > the > application because Morph was unable to convert the String > "3.33" to a Double. The reason was that Morph > was trying to perform the conversion using French as the > locale instead of English. This happens because currently > Transfers extending from BaseTransformer are too smart when > it comes to determining the Locale to use for performing > conversions. For calls when the Locale is not specified > when calling convert or copy, instead of simply using > Locale.getDefault(), Morph's trying to find the Locale > from Spring. This leads to unexpected behavior because > methods like Integer.parseInt work when Morph doesn't. > > > > This has actually come up several times for us at Spider, > so I am going to change BaseTransformer.getLocale() as > follows. Here is the old version > > protected Locale getLocale() { > Locale locale = null; > > > if > (ClassUtils.isClassPresent(SPRING_LOCALE_CONTEXT_HOLDER_CLASS)) > { > try { > Class contextHolderClass = > Class.forName(SPRING_LOCALE_CONTEXT_HOLDER_CLASS); > Method getLocaleMethod = > > > > contextHolderClass.getMethod("getLocale", > (Class[]) null); > locale = (Locale) > getLocaleMethod.invoke(null, (Object[]) null); > } > catch (Exception e) { > > > log.warn("Unable to > retrieve locale from Spring", e); > } > } > > if (locale == null) { > locale = Locale.getDefault(); > } > > return locale; > > > } > > New version: > > protected Locale getLocale() { > > return Locale.getDefault(); > > } > > > Sound good? Thanks! > > Matt > -- > This message is intended only for the named recipient. If > you are not the intended recipient, you are notified that > disclosing, copying, distributing, or taking any action in > reliance on the contents of this information is strictly > prohibited. > > > > > -----Inline Attachment Follows----- > > ------------------------------------------------------------------------------ > Come build with us! The BlackBerry(R) Developer Conference > in SF, CA > is the only developer event you need to attend this year. > Jumpstart your > developing skills, take BlackBerry mobile applications to > market and stay > ahead of the curve. Join us from November 9 - 12, 2009. > Register now! > http://p.sf.net/sfu/devconference > -----Inline Attachment Follows----- > > _______________________________________________ > morph-developer mailing list > mor...@li... > https://lists.sourceforge.net/lists/listinfo/morph-developer > |