That appears to be a problem in the template.
Adrian Crum
Sandglass Software
www.sandglass-software.com
On 1/2/2014 6:40 AM, Jacques Le Roux wrote:
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()) {