Please revert this. The changes to Mini-language are a bad idea. Changing the locale in MethodContext changes it for ALL <set> elements (and other elements that need a locale).

Plus, the modifications in general look like hacks.

I understand what you are trying to accomplish, and I have been thinking about a solution. I will share it with you when I feel confident it is the best design. Meanwhile, please don't do this.

Adrian Crum
Sandglass Software
www.sandglass-software.com

On 1/1/2014 4:30 PM, jler...@apache.org wrote:
Author: jleroux
Date: Wed Jan  1 21:30:12 2014
New Revision: 1554681

URL: http://svn.apache.org/r1554681
Log:
This closes "Set field in (at least) widget screen does not take into account a 
locale for (at least) the Float type" 
https://issues.apache.org/jira/browse/OFBIZ-5453
And definitively fixes issues with i18n of geolocation

It introduces a "locale" attribute to the "set" operation in widget (I only 
tested screen, form is quite similar, should be ok) and minilang.

Modified:
     
ofbiz/trunk/applications/party/script/org/ofbiz/party/party/PartySimpleEvents.xml
     
ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/GetGeoLocation.groovy
     ofbiz/trunk/applications/party/webapp/partymgr/party/editGeoLocation.ftl
     ofbiz/trunk/framework/minilang/dtd/simple-methods-v2.xsd
     
ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/MethodContext.java
     
ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/envops/SetOperation.java
     ofbiz/trunk/framework/widget/dtd/widget-form.xsd
     ofbiz/trunk/framework/widget/dtd/widget-screen.xsd
     ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidgetAction.java
     ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
     ofbiz/trunk/specialpurpose/example/widget/example/ExampleScreens.xml

Modified: 
ofbiz/trunk/applications/party/script/org/ofbiz/party/party/PartySimpleEvents.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/script/org/ofbiz/party/party/PartySimpleEvents.xml?rev=1554681&r1=1554680&r2=1554681&view=diff
==============================================================================
--- 
ofbiz/trunk/applications/party/script/org/ofbiz/party/party/PartySimpleEvents.xml
 (original)
+++ 
ofbiz/trunk/applications/party/script/org/ofbiz/party/party/PartySimpleEvents.xml
 Wed Jan  1 21:30:12 2014
@@ -128,8 +128,8 @@ under the License.
      <simple-method method-name="editGeoLocation" short-description="Edit 
GeoLocation">
          <if-empty field="parameters.geoPointId">
              <set field="createGeoPointMap.dataSourceId" value="GEOPT_GOOGLE"/>
-            <set field="createGeoPointMap.latitude" 
from-field="parameters.lat"/>
-            <set field="createGeoPointMap.longitude" 
from-field="parameters.lng"/>
+            <set field="createGeoPointMap.latitude" from-field="parameters.lat" 
locale="en"/>
+            <set field="createGeoPointMap.longitude" from-field="parameters.lng" 
locale="en"/>
              <call-service service-name="createGeoPoint" 
in-map-name="createGeoPointMap">
                  <result-to-field result-name="geoPointId" field="geoPointId"/>
              </call-service>
@@ -143,8 +143,8 @@ under the License.
          <else>
              <set field="updateGeoPointMap.geoPointId" 
from-field="parameters.geoPointId"/>
              <set field="updateGeoPointMap.dataSourceId" value="GEOPT_GOOGLE"/>
-            <set field="updateGeoPointMap.latitude" 
from-field="parameters.lat"/>
-            <set field="updateGeoPointMap.longitude" 
from-field="parameters.lng"/>
+            <set field="updateGeoPointMap.latitude" from-field="parameters.lat" 
locale="en"/>
+            <set field="updateGeoPointMap.longitude" from-field="parameters.lng" 
locale="en"/>
              <call-service service-name="updateGeoPoint" 
in-map-name="updateGeoPointMap"/>
          </else>
          </if-empty>

Modified: 
ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/GetGeoLocation.groovy
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/GetGeoLocation.groovy?rev=1554681&r1=1554680&r2=1554681&view=diff
==============================================================================
--- 
ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/GetGeoLocation.groovy
 (original)
+++ 
ofbiz/trunk/applications/party/webapp/partymgr/WEB-INF/actions/party/GetGeoLocation.groovy
 Wed Jan  1 21:30:12 2014
@@ -23,14 +23,18 @@ import org.ofbiz.base.util.*;
  import org.ofbiz.base.util.string.*;
  import org.ofbiz.party.contact.ContactHelper;
  import org.ofbiz.common.geo.*;
+import java.text.NumberFormat;

  if (partyId) {
      context.partyId = partyId;
      latestGeoPoint = GeoWorker.findLatestGeoPoint(delegator, "PartyAndGeoPoint", 
"partyId", partyId, null, null);
      if (latestGeoPoint) {
          context.geoPointId = latestGeoPoint.geoPointId;
-        context.latitude = latestGeoPoint.latitude;
-        context.longitude = latestGeoPoint.longitude;
+        NumberFormat nf = NumberFormat.getInstance(Locale.ENGLISH);
+        nf.setMinimumFractionDigits(5);
+        nf.setMaximumFractionDigits(10);
+        context.latitude = nf.format(latestGeoPoint.latitude);
+        context.longitude = nf.format(latestGeoPoint.longitude);
      } else {
          context.latitude = 0;
          context.longitude = 0;

Modified: 
ofbiz/trunk/applications/party/webapp/partymgr/party/editGeoLocation.ftl
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/applications/party/webapp/partymgr/party/editGeoLocation.ftl?rev=1554681&r1=1554680&r2=1554681&view=diff
==============================================================================
--- ofbiz/trunk/applications/party/webapp/partymgr/party/editGeoLocation.ftl 
(original)
+++ ofbiz/trunk/applications/party/webapp/partymgr/party/editGeoLocation.ftl 
Wed Jan  1 21:30:12 2014
@@ -121,7 +121,7 @@ under the License.
          <div align="center" id="map" style="border:1px solid #979797; background-color:#e5e3df; 
width:500px; height:450px; margin:2em auto;"><br/></div>
          <form action="#" onsubmit="showAddress(this.address.value); return 
false">
              <input type="text" size="50" name="address"/>
-            <input type="submit" value="Search"/>
+            <input type="submit" value="${uiLabelMap.CommonSearch}"/>
          </form>
          <br/><br/>
          <form id="updateMapForm" method="post" 
action="<@ofbizUrl>editGeoLocation</@ofbizUrl>">

Modified: ofbiz/trunk/framework/minilang/dtd/simple-methods-v2.xsd
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/dtd/simple-methods-v2.xsd?rev=1554681&r1=1554680&r2=1554681&view=diff
==============================================================================
--- ofbiz/trunk/framework/minilang/dtd/simple-methods-v2.xsd (original)
+++ ofbiz/trunk/framework/minilang/dtd/simple-methods-v2.xsd Wed Jan  1 
21:30:12 2014
@@ -1218,6 +1218,16 @@ under the License.
                      </xs:documentation>
                  </xs:annotation>
              </xs:attribute>
+            <xs:attribute type="xs:string" name="locale">
+                <xs:annotation>
+                    <xs:documentation>
+                        A locale value (eg: en). The locale allows to pass 
values whose types are locale dependent (like Float, etc.).
+                        Defaults to the environment locale.
+
+                        Optional. Attribute types: constant, ${expression}.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
              <xs:attribute name="set-if-null" type="booleanConst">
                  <xs:annotation>
                      <xs:documentation>

Modified: 
ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/MethodContext.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/MethodContext.java?rev=1554681&r1=1554680&r2=1554681&view=diff
==============================================================================
--- 
ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/MethodContext.java 
(original)
+++ 
ofbiz/trunk/framework/minilang/src/org/ofbiz/minilang/method/MethodContext.java 
Wed Jan  1 21:30:12 2014
@@ -183,6 +183,10 @@ public final class MethodContext {
          return this.locale;
      }

+    public void setLocale(Locale locale) {
+        this.locale = locale;
+    }
+
      public int getMethodType() {
          return this.methodType;
      }

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=1554681&r1=1554680&r2=1554681&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
 Wed Jan  1 21:30:12 2014
@@ -20,6 +20,7 @@ package org.ofbiz.minilang.method.envops

  import java.util.HashMap;
  import java.util.LinkedList;
+import java.util.Locale;

  import org.ofbiz.base.util.Debug;
  import org.ofbiz.base.util.ObjectType;
@@ -76,6 +77,7 @@ public final class SetOperation extends

      private final FlexibleStringExpander defaultFse;
      private final FlexibleStringExpander formatFse;
+    private final FlexibleStringExpander localeFse;
      private final FlexibleMapAccessor<Object> fieldFma;
      private final FlexibleMapAccessor<Object> fromFma;
      private final Scriptlet scriptlet;
@@ -90,7 +92,7 @@ public final class SetOperation extends
          if (MiniLangValidate.validationOn()) {
              MiniLangValidate.deprecatedAttribute(simpleMethod, element, "from-field", 
"replace with \"from\"");
              MiniLangValidate.deprecatedAttribute(simpleMethod, element, "default-value", 
"replace with \"default\"");
-            MiniLangValidate.attributeNames(simpleMethod, element, "field", "from-field", "from", "value", "default-value", 
"default", "format", "type", "set-if-null", "set-if-empty");
+            MiniLangValidate.attributeNames(simpleMethod, element, "field", "from-field", "from", "value", "default-value", 
"default", "format", "type", "set-if-null", "set-if-empty", "locale");
              MiniLangValidate.requiredAttributes(simpleMethod, element, 
"field");
              MiniLangValidate.requireAnyAttribute(simpleMethod, element, "from-field", 
"from", "value");
              MiniLangValidate.constantPlusExpressionAttributes(simpleMethod, element, 
"value");
@@ -114,6 +116,7 @@ public final class SetOperation extends
          this.valueFse = 
FlexibleStringExpander.getInstance(element.getAttribute("value"));
          this.defaultFse = 
FlexibleStringExpander.getInstance(element.getAttribute("default"));
          this.formatFse = 
FlexibleStringExpander.getInstance(element.getAttribute("format"));
+        this.localeFse = 
FlexibleStringExpander.getInstance(element.getAttribute("locale"));
          this.type = element.getAttribute("type");
          Class<?> targetClass = null;
          if (!this.type.isEmpty() && !"NewList".equals(this.type) && 
!"NewMap".equals(this.type)) {
@@ -141,6 +144,10 @@ public final class SetOperation extends
                  Debug.logWarning(exc, "Error evaluating scriptlet [" + this.scriptlet + 
"]: " + exc, module);
              }
          } else if (!this.fromFma.isEmpty()) {
+            Locale locale = methodContext.getLocale();
+            if (!this.localeFse.isEmpty()) {
+                methodContext.setLocale(new 
Locale(this.localeFse.expandString(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);

Modified: ofbiz/trunk/framework/widget/dtd/widget-form.xsd
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-form.xsd?rev=1554681&r1=1554680&r2=1554681&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/dtd/widget-form.xsd (original)
+++ ofbiz/trunk/framework/widget/dtd/widget-form.xsd Wed Jan  1 21:30:12 2014
@@ -1908,6 +1908,16 @@ under the License.
                      </xs:restriction>
                  </xs:simpleType>
              </xs:attribute>
+            <xs:attribute type="xs:string" name="locale">
+                <xs:annotation>
+                    <xs:documentation>
+                        A locale value (eg: en). The locale allows to pass 
values with types which are locale dependent (like Float, etc.).
+                        Defaults to the environment locale. Works only if a 
type which makes sense is also passed.
+
+                        Optional. Attribute types: constant, ${expression}.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
          </xs:complexType>
      </xs:element>


Modified: ofbiz/trunk/framework/widget/dtd/widget-screen.xsd
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/dtd/widget-screen.xsd?rev=1554681&r1=1554680&r2=1554681&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/dtd/widget-screen.xsd (original)
+++ ofbiz/trunk/framework/widget/dtd/widget-screen.xsd Wed Jan  1 21:30:12 2014
@@ -346,6 +346,16 @@ under the License.
                      </xs:restriction>
                  </xs:simpleType>
              </xs:attribute>
+            <xs:attribute type="xs:string" name="locale">
+                <xs:annotation>
+                    <xs:documentation>
+                        A locale value (eg: en). The locale allows to pass 
values with types which are locale dependent (like Float, etc.).
+                        Defaults to the environment locale. Works only if a 
type which makes sense is also passed.
+
+                        Optional. Attribute types: constant, ${expression}.
+                    </xs:documentation>
+                </xs:annotation>
+            </xs:attribute>
          </xs:complexType>
      </xs:element>
      <xs:element name="property-map" substitutionGroup="AllActions">

Modified: 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidgetAction.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidgetAction.java?rev=1554681&r1=1554680&r2=1554681&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidgetAction.java 
(original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/ModelWidgetAction.java 
Wed Jan  1 21:30:12 2014
@@ -33,7 +33,6 @@ import javax.servlet.http.HttpSession;
  import javolution.util.FastList;
  import javolution.util.FastMap;

-import org.w3c.dom.Element;
  import org.ofbiz.base.util.Debug;
  import org.ofbiz.base.util.GeneralException;
  import org.ofbiz.base.util.ObjectType;
@@ -59,6 +58,7 @@ import org.ofbiz.minilang.method.MethodC
  import org.ofbiz.service.DispatchContext;
  import org.ofbiz.service.GenericServiceException;
  import org.ofbiz.service.ModelService;
+import org.w3c.dom.Element;

  @SuppressWarnings("serial")
  public abstract class ModelWidgetAction implements Serializable {
@@ -121,6 +121,7 @@ public abstract class ModelWidgetAction
          protected FlexibleStringExpander valueExdr;
          protected FlexibleStringExpander defaultExdr;
          protected FlexibleStringExpander globalExdr;
+        protected FlexibleStringExpander localeExdr;
          protected String type;
          protected String toScope;
          protected String fromScope;
@@ -132,6 +133,7 @@ public abstract class ModelWidgetAction
              this.valueExdr = 
FlexibleStringExpander.getInstance(setElement.getAttribute("value"));
              this.defaultExdr = 
FlexibleStringExpander.getInstance(setElement.getAttribute("default-value"));
              this.globalExdr = 
FlexibleStringExpander.getInstance(setElement.getAttribute("global"));
+            this.localeExdr = 
FlexibleStringExpander.getInstance(setElement.getAttribute("locale"));
              this.type = setElement.getAttribute("type");
              this.toScope = setElement.getAttribute("to-scope");
              this.fromScope = setElement.getAttribute("from-scope");
@@ -184,7 +186,11 @@ public abstract class ModelWidgetAction
                      newValue = FastList.newInstance();
                  } else {
                      try {
-                        newValue = ObjectType.simpleTypeConvert(newValue, this.type, null, 
(TimeZone) context.get("timeZone"), (Locale) context.get("locale"), true);
+                        Locale locale = (Locale) context.get("locale");
+                        if (!this.localeExdr.isEmpty()) {
+                            locale = new 
Locale(this.globalExdr.expandString(context));
+                        }
+                        newValue = ObjectType.simpleTypeConvert(newValue, this.type, 
null, (TimeZone) context.get("timeZone"), locale, true);
                      } catch (GeneralException e) {
                          String errMsg = "Could not convert field value for the field: [" + 
this.field.getOriginalName() + "] to the [" + this.type + "] type for the value [" + newValue + 
"]: " + e.toString();
                          Debug.logError(e, errMsg, module);

Modified: 
ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java?rev=1554681&r1=1554680&r2=1554681&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java 
(original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/ModelFormAction.java 
Wed Jan  1 21:30:12 2014
@@ -116,6 +116,7 @@ public abstract class ModelFormAction {
          protected FlexibleStringExpander valueExdr;
          protected FlexibleStringExpander defaultExdr;
          protected FlexibleStringExpander globalExdr;
+        protected FlexibleStringExpander localeExdr;
          protected String type;

          public SetField(ModelForm modelForm, Element setElement) {
@@ -125,6 +126,7 @@ public abstract class ModelFormAction {
              this.valueExdr = 
FlexibleStringExpander.getInstance(setElement.getAttribute("value"));
              this.defaultExdr = 
FlexibleStringExpander.getInstance(setElement.getAttribute("default-value"));
              this.globalExdr = 
FlexibleStringExpander.getInstance(setElement.getAttribute("global"));
+            this.localeExdr = 
FlexibleStringExpander.getInstance(setElement.getAttribute("locale"));
              this.type = setElement.getAttribute("type");
              if (!this.fromField.isEmpty() && !this.valueExdr.isEmpty()) {
                  throw new IllegalArgumentException("Cannot specify a from-field [" + 
setElement.getAttribute("from-field") + "] and a value [" + setElement.getAttribute("value") + 
"] on the set action in a screen widget");
@@ -157,7 +159,11 @@ public abstract class ModelFormAction {
                      newValue = FastList.newInstance();
                  } else {
                      try {
-                        newValue = ObjectType.simpleTypeConvert(newValue, this.type, null, 
(TimeZone) context.get("timeZone"), (Locale) context.get("locale"), true);
+                        Locale locale = (Locale) context.get("locale");
+                        if (!this.localeExdr.isEmpty()) {
+                            locale = new 
Locale(this.globalExdr.expandString(context));
+                        }
+                        newValue = ObjectType.simpleTypeConvert(newValue, this.type, 
null, (TimeZone) context.get("timeZone"), locale, true);
                      } catch (GeneralException e) {
                          String errMsg = "Could not convert field value for the field: [" + 
this.field.getOriginalName() + "] to the [" + this.type + "] type for the value [" + newValue + 
"]: " + e.toString();
                          Debug.logError(e, errMsg, module);

Modified: ofbiz/trunk/specialpurpose/example/widget/example/ExampleScreens.xml
URL: 
http://svn.apache.org/viewvc/ofbiz/trunk/specialpurpose/example/widget/example/ExampleScreens.xml?rev=1554681&r1=1554680&r2=1554681&view=diff
==============================================================================
--- ofbiz/trunk/specialpurpose/example/widget/example/ExampleScreens.xml 
(original)
+++ ofbiz/trunk/specialpurpose/example/widget/example/ExampleScreens.xml Wed 
Jan  1 21:30:12 2014
@@ -165,14 +165,14 @@ under the License.
          <section>
              <actions>
                  <set field="tabButtonItem" 
value="ExampleGeoLocationPointSet1"/>
-                <set field="geoPoints[+0].lat" value="37.4419" type="Float"/>
-                <set field="geoPoints[0].lon" value="-122.1419" type="Float"/>
-                <set field="geoPoints[+1].lat" value="37.4819" type="Float"/>
-                <set field="geoPoints[1].lon" value="-122.1519" type="Float"/>
-                <set field="geoPoints[+2].lat" value="37.4719" type="Float"/>
-                <set field="geoPoints[2].lon" value="-122.1319" type="Float"/>
-                <set field="geoCenter.lat" value="37.4419" type="Float"/>
-                <set field="geoCenter.lon" value="-122.1419" type="Float"/>
+                <set field="geoPoints[+0].lat" value="37.4419" type="Float" 
locale="en"/>
+                <set field="geoPoints[0].lon" value="-122.1419" type="Float" 
locale="en"/>
+                <set field="geoPoints[+1].lat" value="37.4819" type="Float" 
locale="en"/>
+                <set field="geoPoints[1].lon" value="-122.1519" type="Float" 
locale="en"/>
+                <set field="geoPoints[+2].lat" value="37.4719" type="Float" 
locale="en"/>
+                <set field="geoPoints[2].lon" value="-122.1319" type="Float" 
locale="en"/>
+                <set field="geoCenter.lat" value="37.4419" type="Float" 
locale="en"/>
+                <set field="geoCenter.lon" value="-122.1419" type="Float" 
locale="en"/>
                  <set field="geoCenter.zoom" value="13"/>
              </actions>
              <widgets>
@@ -184,14 +184,14 @@ under the License.
          <section>
              <actions>
                  <set field="tabButtonItem" 
value="ExampleGeoLocationPointSet2"/>
-                <set field="geoPoints[+0].lat" value="37.4459" type="Float"/>
-                <set field="geoPoints[0].lon" value="-122.1489" type="Float"/>
-                <set field="geoPoints[+1].lat" value="37.4829" type="Float"/>
-                <set field="geoPoints[1].lon" value="-122.1599" type="Float"/>
-                <set field="geoPoints[+2].lat" value="37.4769" type="Float"/>
-                <set field="geoPoints[2].lon" value="-122.1219" type="Float"/>
-                <set field="geoCenter.lat" value="37.4419" type="Float"/>
-                <set field="geoCenter.lon" value="-122.1419" type="Float"/>
+                <set field="geoPoints[+0].lat" value="37.4459" type="Float" 
locale="en"/>
+                <set field="geoPoints[0].lon" value="-122.1489" type="Float" 
locale="en"/>
+                <set field="geoPoints[+1].lat" value="37.4829" type="Float" 
locale="en"/>
+                <set field="geoPoints[1].lon" value="-122.1599" type="Float" 
locale="en"/>
+                <set field="geoPoints[+2].lat" value="37.4769" type="Float" 
locale="en"/>
+                <set field="geoPoints[2].lon" value="-122.1219" type="Float" 
locale="en"/>
+                <set field="geoCenter.lat" value="37.4419" type="Float" 
locale="en"/>
+                <set field="geoCenter.lon" value="-122.1419" type="Float" 
locale="en"/>
                  <set field="geoCenter.zoom" value="12"/>
              </actions>
              <widgets>
@@ -203,14 +203,14 @@ under the License.
          <section>
              <actions>
                  <set field="tabButtonItem" 
value="ExampleGeoLocationPointSet3"/>
-                <set field="geoPoints[+0].lat" value="37.4379" type="Float"/>
-                <set field="geoPoints[0].lon" value="-122.1119" type="Float"/>
-                <set field="geoPoints[+1].lat" value="37.4819" type="Float"/>
-                <set field="geoPoints[1].lon" value="-122.1519" type="Float"/>
-                <set field="geoPoints[+2].lat" value="37.4229" type="Float"/>
-                <set field="geoPoints[2].lon" value="-122.1369" type="Float"/>
-                <set field="geoCenter.lat" value="37.4419" type="Float"/>
-                <set field="geoCenter.lon" value="-122.1419" type="Float"/>
+                <set field="geoPoints[+0].lat" value="37.4379" type="Float" 
locale="en"/>
+                <set field="geoPoints[0].lon" value="-122.1119" type="Float" 
locale="en"/>
+                <set field="geoPoints[+1].lat" value="37.4819" type="Float" 
locale="en"/>
+                <set field="geoPoints[1].lon" value="-122.1519" type="Float" 
locale="en"/>
+                <set field="geoPoints[+2].lat" value="37.4229" type="Float" 
locale="en"/>
+                <set field="geoPoints[2].lon" value="-122.1369" type="Float" 
locale="en"/>
+                <set field="geoCenter.lat" value="37.4419" type="Float" 
locale="en"/>
+                <set field="geoCenter.lon" value="-122.1419" type="Float" 
locale="en"/>
                  <set field="geoCenter.zoom" value="11"/>
              </actions>
              <widgets>
@@ -239,14 +239,14 @@ under the License.
                              <widgets>
                                  <section>
                                      <actions>
-                                        <set field="geoPoints[+0].lat" value="37.4459" 
type="Float"/>
-                                        <set field="geoPoints[0].lon" value="-122.1489" 
type="Float"/>
-                                        <set field="geoPoints[+1].lat" value="37.4829" 
type="Float"/>
-                                        <set field="geoPoints[1].lon" value="-122.1599" 
type="Float"/>
-                                        <set field="geoPoints[+2].lat" value="37.4769" 
type="Float"/>
-                                        <set field="geoPoints[2].lon" value="-122.1219" 
type="Float"/>
-                                        <set field="geoCenter.lat" value="37.4419" 
type="Float"/>
-                                        <set field="geoCenter.lon" value="-122.1419" 
type="Float"/>
+                                        <set field="geoPoints[+0].lat" value="37.4459" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[0].lon" value="-122.1489" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[+1].lat" value="37.4829" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[1].lon" value="-122.1599" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[+2].lat" value="37.4769" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[2].lon" value="-122.1219" 
type="Float" locale="en"/>
+                                        <set field="geoCenter.lat" value="37.4419" 
type="Float" locale="en"/>
+                                        <set field="geoCenter.lon" value="-122.1419" 
type="Float" locale="en"/>
                                          <set field="geoCenter.zoom" 
value="12"/>
                                          <set field="geoChart.id" 
value="chart1"/>
                                          <set field="geoChart.dataSourceId" 
value="GEOPT_GOOGLE"/>
@@ -263,14 +263,14 @@ under the License.
                                  <section>
                                      <actions>
                                          <set field="geoPoints" value=""/>
-                                        <set field="geoPoints[+0].lat" value="37.4379" 
type="Float"/>
-                                        <set field="geoPoints[0].lon" value="-122.1119" 
type="Float"/>
-                                        <set field="geoPoints[+1].lat" value="37.4819" 
type="Float"/>
-                                        <set field="geoPoints[1].lon" value="-122.1519" 
type="Float"/>
-                                        <set field="geoPoints[+2].lat" value="37.4229" 
type="Float"/>
-                                        <set field="geoPoints[2].lon" value="-122.1369" 
type="Float"/>
-                                        <set field="geoCenter.lat" value="37.4419" 
type="Float"/>
-                                        <set field="geoCenter.lon" value="-122.1419" 
type="Float"/>
+                                        <set field="geoPoints[+0].lat" value="37.4379" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[0].lon" value="-122.1119" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[+1].lat" value="37.4819" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[1].lon" value="-122.1519" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[+2].lat" value="37.4229" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[2].lon" value="-122.1369" 
type="Float" locale="en"/>
+                                        <set field="geoCenter.lat" value="37.4419" 
type="Float" locale="en"/>
+                                        <set field="geoCenter.lon" value="-122.1419" 
type="Float" locale="en"/>
                                          <set field="geoCenter.zoom" 
value="11"/>
                                          <set field="geoChart.id" 
value="chart2"/>
                                          <set field="geoChart.dataSourceId" 
value="GEOPT_GOOGLE"/>
@@ -353,14 +353,14 @@ under the License.
          <section>
              <actions>
                  <set field="tabButtonItem" 
value="ExampleOsmGeoLocationPointSet1"/>
-                <set field="geoPoints[+0].lat" value="37.4419" type="Float"/>
-                <set field="geoPoints[0].lon" value="-122.1419" type="Float"/>
-                <set field="geoPoints[+1].lat" value="37.4819" type="Float"/>
-                <set field="geoPoints[1].lon" value="-122.1519" type="Float"/>
-                <set field="geoPoints[+2].lat" value="37.4719" type="Float"/>
-                <set field="geoPoints[2].lon" value="-122.1319" type="Float"/>
-                <set field="geoCenter.lat" value="37.4419" type="Float"/>
-                <set field="geoCenter.lon" value="-122.1419" type="Float"/>
+                <set field="geoPoints[+0].lat" value="37.4419" type="Float" 
locale="en"/>
+                <set field="geoPoints[0].lon" value="-122.1419" type="Float" 
locale="en"/>
+                <set field="geoPoints[+1].lat" value="37.4819" type="Float" 
locale="en"/>
+                <set field="geoPoints[1].lon" value="-122.1519" type="Float" 
locale="en"/>
+                <set field="geoPoints[+2].lat" value="37.4719" type="Float" 
locale="en"/>
+                <set field="geoPoints[2].lon" value="-122.1319" type="Float" 
locale="en"/>
+                <set field="geoCenter.lat" value="37.4419" type="Float" 
locale="en"/>
+                <set field="geoCenter.lon" value="-122.1419" type="Float" 
locale="en"/>
                  <set field="geoCenter.zoom" value="13"/>
              </actions>
              <widgets>
@@ -372,14 +372,14 @@ under the License.
          <section>
              <actions>
                  <set field="tabButtonItem" 
value="ExampleOsmGeoLocationPointSet2"/>
-                <set field="geoPoints[+0].lat" value="37.4459" type="Float"/>
-                <set field="geoPoints[0].lon" value="-122.1489" type="Float"/>
-                <set field="geoPoints[+1].lat" value="37.4829" type="Float"/>
-                <set field="geoPoints[1].lon" value="-122.1599" type="Float"/>
-                <set field="geoPoints[+2].lat" value="37.4769" type="Float"/>
-                <set field="geoPoints[2].lon" value="-122.1219" type="Float"/>
-                <set field="geoCenter.lat" value="37.4419" type="Float"/>
-                <set field="geoCenter.lon" value="-122.1419" type="Float"/>
+                <set field="geoPoints[+0].lat" value="37.4459" type="Float" 
locale="en"/>
+                <set field="geoPoints[0].lon" value="-122.1489" type="Float" 
locale="en"/>
+                <set field="geoPoints[+1].lat" value="37.4829" type="Float" 
locale="en"/>
+                <set field="geoPoints[1].lon" value="-122.1599" type="Float" 
locale="en"/>
+                <set field="geoPoints[+2].lat" value="37.4769" type="Float" 
locale="en"/>
+                <set field="geoPoints[2].lon" value="-122.1219" type="Float" 
locale="en"/>
+                <set field="geoCenter.lat" value="37.4419" type="Float" 
locale="en"/>
+                <set field="geoCenter.lon" value="-122.1419" type="Float" 
locale="en"/>
                  <set field="geoCenter.zoom" value="12"/>
              </actions>
              <widgets>
@@ -391,14 +391,14 @@ under the License.
          <section>
              <actions>
                  <set field="tabButtonItem" 
value="ExampleOsmGeoLocationPointSet3"/>
-                <set field="geoPoints[+0].lat" value="37.4379" type="Float"/>
-                <set field="geoPoints[0].lon" value="-122.1119" type="Float"/>
-                <set field="geoPoints[+1].lat" value="37.4819" type="Float"/>
-                <set field="geoPoints[1].lon" value="-122.1519" type="Float"/>
-                <set field="geoPoints[+2].lat" value="37.4229" type="Float"/>
-                <set field="geoPoints[2].lon" value="-122.1369" type="Float"/>
-                <set field="geoCenter.lat" value="37.4419" type="Float"/>
-                <set field="geoCenter.lon" value="-122.1419" type="Float"/>
+                <set field="geoPoints[+0].lat" value="37.4379" type="Float" 
locale="en"/>
+                <set field="geoPoints[0].lon" value="-122.1119" type="Float" 
locale="en"/>
+                <set field="geoPoints[+1].lat" value="37.4819" type="Float" 
locale="en"/>
+                <set field="geoPoints[1].lon" value="-122.1519" type="Float" 
locale="en"/>
+                <set field="geoPoints[+2].lat" value="37.4229" type="Float" 
locale="en"/>
+                <set field="geoPoints[2].lon" value="-122.1369" type="Float" 
locale="en"/>
+                <set field="geoCenter.lat" value="37.4419" type="Float" 
locale="en"/>
+                <set field="geoCenter.lon" value="-122.1419" type="Float" 
locale="en"/>
                  <set field="geoCenter.zoom" value="11"/>
              </actions>
              <widgets>
@@ -427,14 +427,14 @@ under the License.
                              <widgets>
                                  <section>
                                      <actions>
-                                        <set field="geoPoints[+0].lat" value="37.4459" 
type="Float"/>
-                                        <set field="geoPoints[0].lon" value="-122.1489" 
type="Float"/>
-                                        <set field="geoPoints[+1].lat" value="37.4829" 
type="Float"/>
-                                        <set field="geoPoints[1].lon" value="-122.1599" 
type="Float"/>
-                                        <set field="geoPoints[+2].lat" value="37.4769" 
type="Float"/>
-                                        <set field="geoPoints[2].lon" value="-122.1219" 
type="Float"/>
-                                        <set field="geoCenter.lat" value="37.4419" 
type="Float"/>
-                                        <set field="geoCenter.lon" value="-122.1419" 
type="Float"/>
+                                        <set field="geoPoints[+0].lat" value="37.4459" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[0].lon" value="-122.1489" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[+1].lat" value="37.4829" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[1].lon" value="-122.1599" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[+2].lat" value="37.4769" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[2].lon" value="-122.1219" 
type="Float" locale="en"/>
+                                        <set field="geoCenter.lat" value="37.4419" 
type="Float" locale="en"/>
+                                        <set field="geoCenter.lon" value="-122.1419" 
type="Float" locale="en"/>
                                          <set field="geoCenter.zoom" 
value="12"/>
                                          <set field="geoChart.id" 
value="chart1"/>
                                          <set field="geoChart.dataSourceId" 
value="GEOPT_OSM"/>
@@ -451,14 +451,14 @@ under the License.
                                  <section>
                                      <actions>
                                          <set field="geoPoints" value=""/>
-                                        <set field="geoPoints[+0].lat" value="37.4379" 
type="Float"/>
-                                        <set field="geoPoints[0].lon" value="-122.1119" 
type="Float"/>
-                                        <set field="geoPoints[+1].lat" value="37.4819" 
type="Float"/>
-                                        <set field="geoPoints[1].lon" value="-122.1519" 
type="Float"/>
-                                        <set field="geoPoints[+2].lat" value="37.4229" 
type="Float"/>
-                                        <set field="geoPoints[2].lon" value="-122.1369" 
type="Float"/>
-                                        <set field="geoCenter.lat" value="37.4419" 
type="Float"/>
-                                        <set field="geoCenter.lon" value="-122.1419" 
type="Float"/>
+                                        <set field="geoPoints[+0].lat" value="37.4379" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[0].lon" value="-122.1119" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[+1].lat" value="37.4819" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[1].lon" value="-122.1519" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[+2].lat" value="37.4229" 
type="Float" locale="en"/>
+                                        <set field="geoPoints[2].lon" value="-122.1369" 
type="Float" locale="en"/>
+                                        <set field="geoCenter.lat" value="37.4419" 
type="Float" locale="en"/>
+                                        <set field="geoCenter.lon" value="-122.1419" 
type="Float" locale="en"/>
                                          <set field="geoCenter.zoom" 
value="11"/>
                                          <set field="geoChart.id" 
value="chart2"/>
                                          <set field="geoChart.dataSourceId" 
value="GEOPT_OSM"/>


Reply via email to