I'm not quite sure to follow you. For isntance, currently if you change type="Float" locale="en"/> for /> in <screen name="ExampleGeoLocationPointSet1">
You get an error in HtmlWidget.StringHtmlWrapperForFtl(): freemarker.core.NonNumericalException: point.lon is not a number, it is org.ofbiz.widget.screen.HtmlWidget$StringHtmlWrapperForFtl Jacques On Thursday, January 02, 2014 12:23 PM adrian.c...@sandglass-software.com wrote > The String would be converted to a Float. What would be the issue? > > Adrian Crum > Sandglass Software > www.sandglass-software.com > > On 1/2/2014 6:12 AM, Jacques Le Roux wrote: >> Though Adrian, >> >> There is something which makes me wonder. >> >> Suppose we were not in the geolocation context, and we want to set a Float >> value like it's done in >> >> <screen name="ExampleGeoLocationPointSet1"> >> and >> <simple-method method-name="editGeoLocation" short-description="Edit >> GeoLocation"> >> >> And we have a floating-point DB field >> >> Won't we get the same issue? >> >> Jacques >> >> >> On Thursday, January 02, 2014 8:52 AM jacques.le.r...@les7arts.com wrote >>> It's just a temporary hack I hastily commited last night, so as I was >>> unsure I preferred to be safe than sorry. >>> Good to know that MethodContext is thread safe. >>> >>> I have still to check but your new data model proposition sounds to me at >>> 1st glance. >>> >>> Note that the current works well, even for i18n, as long as you only use a >>> direct relation with data. >>> But if you use <set> to save your data in DB then the problem arises.. >>> That's why I got this way... >>> >>> Jacques >>> >>> On Thursday, January 02, 2014 1:39 AM adrian.c...@sandglass-software.com >>> wrote >>>> There is no need to synchronize on the <set> element model - it is >>>> thread-safe. The MethodContext instance is per-thread, so it doesn't >>>> need synchronization either. >>>> >>>> Please take some time to understand the architecture before committing >>>> changes like this. >>>> >>>> Adrian Crum >>>> Sandglass Software >>>> www.sandglass-software.com >>>> >>>> On 1/1/2014 7:15 PM, jler...@apache.org wrote: >>>>> Author: jleroux >>>>> Date: Thu Jan 2 00:15:38 2014 >>>>> New Revision: 1554706 >>>>> >>>>> URL: http://svn.apache.org/r1554706 >>>>> Log: >>>>> This is a temporary hack waiting for a better geolocation data model, >>>>> related with OFBIZ-5453 >>>>> >>>>> Modified: >>>>> >>>>> ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java >>>>> >>>>> Modified: >>>>> ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java >>>>> URL: >>>>> http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java?rev=1554706&r1=1554705&r2=1554706&view=diff >>>>> ============================================================================== >>>>> --- >>>>> ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java >>>>> (original) +++ >>>>> ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java >>>>> Thu Jan 2 00:15:38 2014 @@ -144,10 >>>>> +144,17 @@ public final class SetOperation extends >>>>> Debug.logWarning(exc, "Error evaluating scriptlet [" + >>>>> this.scriptlet + "]: " + exc, module); } >>>>> } else if (!this.fromFma.isEmpty()) { >>>>> + Locale localeTemp = null; // FIXME this is a temporary hack >>>>> waiting for a better geolocation data model, related >>>>> with OFBIZ-5453 if (!this.localeFse.isEmpty() && >>>>> this.type.length() > 0) { >>>>> - methodContext.setLocale(new >>>>> Locale(this.localeFse.expandString(methodContext.getEnvMap()))); >>>>> + localeTemp = methodContext.getLocale(); >>>>> + synchronized (this) { >>>>> + methodContext.setLocale(new >>>>> Locale(this.localeFse.expandString(methodContext.getEnvMap()))); >>>>> + newValue = >>>>> this.fromFma.get(methodContext.getEnvMap()); >>>>> + methodContext.setLocale(localeTemp); >>>>> + } >>>>> + } else { >>>>> + newValue = this.fromFma.get(methodContext.getEnvMap()); >>>>> } >>>>> - newValue = this.fromFma.get(methodContext.getEnvMap()); >>>>> if (Debug.verboseOn()) >>>>> Debug.logVerbose("In screen getting value for field >>>>> from [" + this.fromFma.toString() + "]: " + newValue, >>>>> module); } else if (!this.valueFse.isEmpty()) {