[OpenLayers-Commits] r11944 - in sandbox/august/trunk: . build examples lib/OpenLayers lib/OpenLayers/Handler lib/OpenLayers/Layer lib/OpenLayers/Renderer playground playground/mobac playground/mobac/osmdroid.zip playground/mobac/osmdroid.zip/rancho.cucamonga playground/mobac/osmdroid.zip/rancho.cucamonga/11 playground/mobac/osmdroid.zip/rancho.cucamonga/11/354 playground/mobac/osmdroid.zip/rancho.cucamonga/11/355 playground/wfst tests/Format/OWSContext tests/Handler tests/Layer tests/Renderer

commits-20090109 at openlayers.org commits-20090109 at openlayers.org
Tue May 3 12:24:22 EDT 2011


Author: augusttown
Date: 2011-05-03 09:24:21 -0700 (Tue, 03 May 2011)
New Revision: 11944

Added:
   sandbox/august/trunk/build/build.full.jsmin.bat
   sandbox/august/trunk/playground/mobac/
   sandbox/august/trunk/playground/mobac/mobac.osmdroid.zip.html
   sandbox/august/trunk/playground/mobac/mobac.osmdroid.zip.js
   sandbox/august/trunk/playground/mobac/osmdroid.zip/
   sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/
   sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/
   sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/354/
   sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/354/816.png
   sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/354/817.png
   sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/354/818.png
   sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/355/
   sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/355/816.png
   sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/355/817.png
   sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/355/818.png
   sandbox/august/trunk/playground/wfst/wfst-with-lock-no-map.html
   sandbox/august/trunk/playground/wfst/wfst-with-lock-no-map.js
Removed:
   sandbox/august/trunk/examples/GMLParser.html
   sandbox/august/trunk/examples/WMSPost.html
   sandbox/august/trunk/examples/baseLayers.html
   sandbox/august/trunk/examples/browser-name.html
   sandbox/august/trunk/examples/custom-control-point.html
   sandbox/august/trunk/examples/getfeatureinfo.html
Modified:
   sandbox/august/trunk/
   sandbox/august/trunk/examples/mobile-jq.html
   sandbox/august/trunk/examples/wfs-snap-split.html
   sandbox/august/trunk/lib/OpenLayers/Handler/Box.js
   sandbox/august/trunk/lib/OpenLayers/Handler/Feature.js
   sandbox/august/trunk/lib/OpenLayers/Handler/Point.js
   sandbox/august/trunk/lib/OpenLayers/Layer/Process.js
   sandbox/august/trunk/lib/OpenLayers/Renderer/Canvas.js
   sandbox/august/trunk/lib/OpenLayers/Util.js
   sandbox/august/trunk/playground/index.html
   sandbox/august/trunk/tests/Format/OWSContext/v0_3_1.html
   sandbox/august/trunk/tests/Handler/Box.html
   sandbox/august/trunk/tests/Handler/Feature.html
   sandbox/august/trunk/tests/Layer/WrapDateLine.html
   sandbox/august/trunk/tests/Renderer/Canvas.html
Log:
Add a few samples: mobac.osmdroid.zip.html, wfst-with-lock-no-map.html;
Merge with trunk at revision 11943.


Property changes on: sandbox/august/trunk
___________________________________________________________________
Modified: svn:mergeinfo
   - /trunk/openlayers:10329-10354,10357-10502,10504-11896
   + /trunk/openlayers:10329-10354,10357-10502,10504-11943

Added: sandbox/august/trunk/build/build.full.jsmin.bat
===================================================================
--- sandbox/august/trunk/build/build.full.jsmin.bat	                        (rev 0)
+++ sandbox/august/trunk/build/build.full.jsmin.bat	2011-05-03 16:24:21 UTC (rev 11944)
@@ -0,0 +1 @@
+C:\yingqi\sazabi\programs\python\x64\2.7.1\python.exe build.py -c jsmin full OpenLayers.js
\ No newline at end of file

Deleted: sandbox/august/trunk/examples/GMLParser.html
===================================================================
--- sandbox/august/trunk/examples/GMLParser.html	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/examples/GMLParser.html	2011-05-03 16:24:21 UTC (rev 11944)
@@ -1,47 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-  <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <title>OpenLayers GML Parser</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
-    <script src="../lib/OpenLayers.js"></script>
-    <script type="text/javascript">
-        function parseData(req) {
-          g =  new OpenLayers.Format.GML();
-          html = ""
-          features = g.read(req.responseText);
-          for(var feat in features) {
-            html += "Feature: Geometry: "+ features[feat].geometry+",";
-                html += "<ul>";
-            for (var j in features[feat].attributes) {
-                html += "<li>"+j+":"+features[feat].attributes[j]+"</li>";
-            }
-                html += "</ul>"
-          }
-          document.getElementById('output').innerHTML = html;
-        }
-        function load() {
-            OpenLayers.loadURL("gml/owls.xml", "", null, parseData);
-        }
-    </script>
-  </head>
-  <body onload="load()">
-      <h1 id="title">GML Parser Example</h1>
-
-      <div id="tags">
-        GML, parse, parsing
-      </div>
-
-      <p id="shortdesc">
-          Demonstrate the operation of the GML parser.
-      </p>
-
-      <div id="output"></div>
-
-      <div id="docs">
-          This script reads data from a GML file and parses out the coordinates, appending them to a HTML string with markup tags.
-          This markup is dumped to an element in the page.
-    </div>
-  </body>
-</html>

Deleted: sandbox/august/trunk/examples/WMSPost.html
===================================================================
--- sandbox/august/trunk/examples/WMSPost.html	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/examples/WMSPost.html	2011-05-03 16:24:21 UTC (rev 11944)
@@ -1,181 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-  <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <title>OpenLayers Basic WMS Example via HTTP-POST protocol</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
-    <script src="../lib/OpenLayers.js"></script>
-    <script type="text/javascript">
-        var map;
-
-        function init(){
-            var sld = '<StyledLayerDescriptor version="1.0.0">';
-                sld+= '<NamedLayer>';
-                sld+= '<Name>topp:tasmania_roads</Name>';
-                sld+= '<UserStyle>';
-                sld+= '<IsDefault>1</IsDefault>';
-                sld+= '<FeatureTypeStyle>';
-                sld+= '<Rule>';
-                sld+= '<LineSymbolizer>';
-                sld+= '<Stroke>';
-                sld+= '<CssParameter name="stroke">';
-                sld+= '<Literal>#787878</Literal>';
-                sld+= '</CssParameter>';
-                sld+= '<CssParameter name="stroke-width">';
-                sld+= '<Literal>2</Literal>';
-                sld+= '</CssParameter>';
-                sld+= '</Stroke>';
-                sld+= '</LineSymbolizer>';
-                sld+= '</Rule>';
-                sld+= '</FeatureTypeStyle>';
-                sld+= '</UserStyle>';
-                sld+= '</NamedLayer>';
-
-                sld+= '<NamedLayer>';
-                sld+= '<Name>topp:tasmania_water_bodies</Name>';
-                sld+= '<UserStyle>';
-                sld+= '<IsDefault>1</IsDefault>';
-                sld+= '<FeatureTypeStyle>';
-                sld+= '<Rule>';
-                sld+= '<LineSymbolizer>';
-                sld+= '<Stroke>';
-                sld+= '<CssParameter name="stroke">';
-                sld+= '<Literal>#4F94CD</Literal>';
-                sld+= '</CssParameter>';
-                sld+= '<CssParameter name="stroke-width">';
-                sld+= '<Literal>3</Literal>';
-                sld+= '</CssParameter>';
-                sld+= '</Stroke>';
-                sld+= '</LineSymbolizer>';
-                sld+= '<PolygonSymbolizer>';
-                sld+= '<Fill>';
-                sld+= '<CssParameter name="fill">';
-                sld+= '<Literal>#63B8FF</Literal>';
-                sld+= '</CssParameter>';
-                sld+= '</Fill>';
-                sld+= '</PolygonSymbolizer>';
-                sld+= '</Rule>';
-                sld+= '</FeatureTypeStyle>';
-                sld+= '</UserStyle>';
-                sld+= '</NamedLayer>';
-
-                sld+= '<NamedLayer>';
-                sld+= '<Name>topp:tasmania_cities</Name>';
-                sld+= '<UserStyle>';
-                sld+= '<IsDefault>1</IsDefault>';
-                sld+= '<FeatureTypeStyle>';
-                sld+= '<Rule>';
-                sld+= '<PointSymbolizer>';
-                sld+= '<Graphic>';
-                sld+= '<Mark>';
-                sld+= '<WellKnownName>cross</WellKnownName>';
-                sld+= '<Fill>';
-                sld+= '<CssParameter name="fill">';
-                sld+= '<Literal>#00FF00</Literal>';
-                sld+= '</CssParameter>';
-                sld+= '</Fill>';
-                sld+= '</Mark>';
-                sld+= '<Size>15</Size>';
-                sld+= '</Graphic>';
-                sld+= '</PointSymbolizer>';
-                sld+= '<TextSymbolizer>';
-                sld+= '<Label><PropertyName>CITY_NAME</PropertyName></Label>';
-                sld+= '<Font>';
-                sld+= '<SvgParameter name="font-size">15</SvgParameter>';
-                sld+= '</Font>';
-                sld+= '</TextSymbolizer>';
-                sld+= '</Rule>';
-                sld+= '</FeatureTypeStyle>';
-                sld+= '</UserStyle>';
-                sld+= '</NamedLayer>';
-
-                sld+= '<NamedLayer>';
-                sld+= '<Name>topp:tasmania_state_boundaries</Name>';
-                sld+= '<UserStyle>';
-                sld+= '<IsDefault>1</IsDefault>';
-                sld+= '<FeatureTypeStyle>';
-                sld+= '<Rule>';
-                sld+= '<PolygonSymbolizer>';
-                sld+= '<Fill>';
-                sld+= '<CssParameter name="fill">';
-                sld+= '<Literal>#8B8989</Literal>';
-                sld+= '</CssParameter>';
-                sld+= '<CssParameter name="fill-opacity">';
-                sld+= '<Literal>0.2</Literal>';
-                sld+= '</CssParameter>';
-                sld+= '</Fill>';
-                sld+= '<Stroke>';
-                sld+= '<CssParameter name="stroke">';
-                sld+= '<Literal>#FF4040</Literal>';
-                sld+= '</CssParameter>';
-                sld+= '<CssParameter name="stroke-width">';
-                sld+= '<Literal>2</Literal>';
-                sld+= '</CssParameter>';
-                sld+= '</Stroke>';
-                sld+= '</PolygonSymbolizer>';
-                sld+= '</Rule>';
-                sld+= '</FeatureTypeStyle>';
-                sld+= '</UserStyle>';
-                sld+= '</NamedLayer>';
-
-                sld+= '</StyledLayerDescriptor>';
-
-            map = new OpenLayers.Map('map');
-            map.addControl(new OpenLayers.Control.LayerSwitcher());
-
-            var layer = new OpenLayers.Layer.WMS(
-                "OpenLayers WMS",
-                "http://vmap0.tiles.osgeo.org/wms/vmap0",
-                {
-                    layers: 'basic'
-                }
-            );
-
-            var rcbw = new OpenLayers.Layer.WMS.Post("Roads, Cities, Boundaries, Water",
-                "http://demo.opengeo.org/geoserver/wms", 
-                {
-                    'layers': 'topp:tasmania_roads,topp:tasmania_water_bodies,topp:tasmania_state_boundaries,topp:tasmania_cities',
-                    transparent: true,
-                    format: 'image/jpeg',
-                    sld_body: sld
-                },
-                {
-                    isBaseLayer: false,
-                    unsupportedBrowsers: []
-                }
-            );
-            map.addLayers([layer, rcbw]);
-            map.setCenter(new OpenLayers.LonLat(146.65748632815,-42.230763671875), 7);
-        }
-    </script>
-  </head>
-  <body onload="init()">
-    <h1 id="title">Basic WMS Example via HTTP-POST protocol with a large SLD
-    included</h1>
-
-    <div id="tags">
-        sld, advanced
-    </div>
-
-    <div id="shortdesc">Creating a WMS layer with a large SLD in the sld_body</div>
-
-    <div id="map" style="width: 512; height: 256; border: 1px solid red;"></div>
-
-    <div id="docs">
-        <p><b>Deprecated.</b> See <a href="wms-long-url.html">wms-long-url.html</a>
-            for the recommended way to avoid long URLs.</p><p>
-        This example uses a large SLD created on the client side to style a WMS
-        layer.  This example uses a WMS.Post layer which transfers data via the
-        HTTP-POST protocol. <br>
-        NOTE: Opera is not able to display transparent tiles with this layer,
-        and in some Firefox browsers can appear ugly viewport-shaking effects
-        while dragging arround. Use the 'unsupportedBrowsers' property to
-        control which browsers should use plain image tiles (like Layer.WMS)
-        instead. The default setting (["mozilla", "firefox", "opera"])
-        excludes problematic browsers without removing the ability to use long
-        request parameters, because all these browsers support long urls via
-        GET.</p>
-    </div>
-  </body>
-</html>

Deleted: sandbox/august/trunk/examples/baseLayers.html
===================================================================
--- sandbox/august/trunk/examples/baseLayers.html	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/examples/baseLayers.html	2011-05-03 16:24:21 UTC (rev 11944)
@@ -1,100 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-    <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-        <title>OpenLayers Base Layers Example</title>
-        
-        <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-        <link rel="stylesheet" href="style.css" type="text/css" />
-        <style type="text/css">
-            #controls
-            {
-                width: 512px;
-            }
-        </style>
-
-        <!-- this gmaps key generated for http://openlayers.org/dev/ -->
-        <script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAA9XNhd8q0UdwNC7YSO4YZghSPUCi5aRYVveCcVYxzezM4iaj_gxQ9t-UajFL70jfcpquH5l1IJ-Zyyw'></script>
-        <!-- Localhost key -->
-        <!-- <script src='http://maps.google.com/maps?file=api&amp;v=2&amp;key=ABQIAAAAjpkAC9ePGem0lIq5XcMiuhT2yXp_ZAY8_ufC3CFXhHIE1NvwkxTS6gjckBmeABOGXIUiOiZObZESPg'></script>-->
-        <!-- CLEANUP: the URL below doesn't work anymore -->
-        <script type="text/javascript" src="http://clients.multimap.com/API/maps/1.1/metacarta_04"></script>
-        <script src='http://dev.virtualearth.net/mapcontrol/mapcontrol.ashx?v=6.1'></script>
-        <script src="http://api.maps.yahoo.com/ajaxymap?v=3.0&appid=euzuro-openlayers"></script>
-        <script src="../lib/OpenLayers.js"></script>
-        <script type="text/javascript">
-            var lon = 5;
-            var lat = 40;
-            var zoom = 5;
-            var map, markers;
-            var barcelona = new OpenLayers.LonLat(2.13134765625,
-                                                  41.37062534198901);
-            var madrid = new OpenLayers.LonLat(-3.6968994140625,
-                                              40.428314208984375);
-
-            function init(){
-                map = new OpenLayers.Map( 'map' );
-
-                var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
-                          "http://vmap0.tiles.osgeo.org/wms/vmap0",
-                          {layers: 'basic'} );
-                var google = new OpenLayers.Layer.Google( "Google Hybrid" , {type: G_HYBRID_MAP });
-                var ve = new OpenLayers.Layer.VirtualEarth( "VE");
-                var yahoo = new OpenLayers.Layer.Yahoo( "Yahoo");
-                var mm = new OpenLayers.Layer.MultiMap( "MultiMap");
-
-
-                map.addLayers([wms, google, ve, yahoo, mm]);
-
-                markers = new OpenLayers.Layer.Markers("markers");
-                map.addLayer(markers);
-
-                map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
-                map.addControl( new OpenLayers.Control.LayerSwitcher() );
-                map.addControl( new OpenLayers.Control.MousePosition() );
-
-            }
-
-            function add() {
-                var url = 'http://www.openlayers.org/dev/img/marker.png';
-                var sz = new OpenLayers.Size(21, 25);
-                var calculateOffset = function(size) {
-                                    return new OpenLayers.Pixel(-(size.w/2), -size.h);
-                                 };
-                var icon = new OpenLayers.Icon(url, sz, null, calculateOffset);
-                marker = new OpenLayers.Marker(barcelona, icon);
-                markers.addMarker(marker);
-
-                marker = new OpenLayers.Marker(madrid, icon.clone());
-                markers.addMarker(marker);
-
-            }
-
-            function remove() {
-                markers.removeMarker(marker);
-            }
-
-        </script>
-    </head>
-    <body onload="init()">
-        <h1 id="title">Base Layers Example</h1>
-
-        <div id="tags">
-            Google, Yahoo, Virtual Earth, Bing, MultiMap, cleanup
-        </div>
-
-        <p id="shortdesc">
-           This example shows the use base layers from multiple commercial map image providers.
-        </p>
-
-        <div id="controls">
-            <div id="map" class="smallmap"></div>
-
-            <div style="background-color:green" onclick="add()"> click to add a marker to the map</div>
-            <div style="background-color:red" onclick="remove()"> click to remove the marker from the map</div>
-        </div>
-        
-        <div id="docs">
-       </div>
-    </body>
-</html>

Deleted: sandbox/august/trunk/examples/browser-name.html
===================================================================
--- sandbox/august/trunk/examples/browser-name.html	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/examples/browser-name.html	2011-05-03 16:24:21 UTC (rev 11944)
@@ -1,93 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-  <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <title>OpenLayers Example</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
-    <script src="../lib/OpenLayers.js"></script>
-    <script type="text/javascript">
-        // making this a global variable so that it is accessible for
-        // debugging/inspecting in Firebug
-        var map = null;
-
-        function init(){
-
-            //set title name to include Browser Detection
-            // this is the only way to test the functionality
-            // of the getBrowserName() function
-            //
-            var header = OpenLayers.Util.getElement("browserHeader");
-            header.innerHTML = "(browser: ";
-            var browserCode = OpenLayers.Util.getBrowserName();
-            switch (browserCode) {
-                case "opera":
-                    browserName = "Opera";
-                    break;
-                case "msie":
-                    browserName = "Internet Explorer";
-                    break;
-                case "safari":
-                    browserName = "Safari";
-                    break;
-                case "firefox":
-                    browserName = "FireFox";
-                    break;
-                case "mozilla":
-                    browserName = "Mozilla";
-                    break;
-                default:
-                    browserName = "detection error"
-                    break;
-            }
-            header.innerHTML += browserName + ")";
-
-            map = new OpenLayers.Map('map');
-
-            var options = {
-                            resolutions: [1.40625,0.703125,0.3515625,0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.00137329101]
-            };
-
-            var ol_wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
-                "http://vmap0.tiles.osgeo.org/wms/vmap0?", {layers: 'basic'},
-                options);
-
-            var options2 = {
-                            resolutions: [0.17578125,0.087890625,0.0439453125,0.02197265625,0.010986328125,0.0054931640625,0.00274658203125,0.00137329101]
-            };
-            var jpl_wms = new OpenLayers.Layer.WMS( "NASA Global Mosaic",
-                "http://t1.hypercube.telascience.org/cgi-bin/landsat7", 
-                {layers: "landsat7"}, options2);
-
-            var dm_wms = new OpenLayers.Layer.WMS( "DM Solutions Demo",
-                "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap",
-                {layers: "bathymetry,land_fn,park,drain_fn,drainage," +
-                         "prov_bound,fedlimit,rail,road,popplace",
-                 transparent: "true", format: "image/png"},
-                 {minResolution: 0.17578125,
-                  maxResolution: 0.703125});
-
-            map.addLayers([ol_wms, jpl_wms, dm_wms]);
-            map.addControl(new OpenLayers.Control.LayerSwitcher());
-            // map.setCenter(new OpenLayers.LonLat(0, 0), 0);
-            map.zoomToMaxExtent();
-        }
-    </script>
-  </head>
-  <body onload="init()">
-    <h1 id="title" style="display:inline;">Example Showing Browser Name</h1>
-    <h3 id="browserHeader" style="display:inline;"></h3>
-    
-    <div id="tags">
-        browser, vendor  
-    </div>
-
-    <p id="shortdesc">
-        Demonstrate a simple map that shows the browser name.
-    </p>
-
-    <div id="map" class="smallmap"></div>
-
-    <div id="docs"></div>
-  </body>
-</html>

Deleted: sandbox/august/trunk/examples/custom-control-point.html
===================================================================
--- sandbox/august/trunk/examples/custom-control-point.html	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/examples/custom-control-point.html	2011-05-03 16:24:21 UTC (rev 11944)
@@ -1,59 +0,0 @@
-<html xmlns="http://www.w3.org/1999/xhtml">
-  <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <title>OpenLayers Custom Control Point Examle</title>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
-    <script src="../lib/OpenLayers.js"></script>
-    <script type="text/javascript">
-        var lon = 5;
-        var lat = 40;
-        var zoom = 5;
-        var map, layer;
-
-        function init(){
-            map = new OpenLayers.Map( $('map') );
-
-            layer = new OpenLayers.Layer.WMS( "OpenLayers WMS",
-                    "http://vmap0.tiles.osgeo.org/wms/vmap0", {layers: 'basic'} );
-
-            var control = new OpenLayers.Control();
-            OpenLayers.Util.extend(control, {
-                draw: function () {
-                    // this Handler.Point will intercept the shift-mousedown
-                    // before Control.MouseDefault gets to see it
-                    this.point = new OpenLayers.Handler.Point( control,
-                        {"done": this.notice},
-                        {keyMask: OpenLayers.Handler.MOD_SHIFT});
-                    this.point.activate();
-                },
-
-                notice: function (bounds) {
-                    document.getElementById('bounds').innerHTML = bounds;
-                }
-            });
-
-            map.addLayer(layer);
-            map.addControl(control);
-            map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
-        }
-    </script>
-  </head>
-  <body onload="init()">
-      <h1 id="title">Custom Control Point Example</h1>
-
-      <div id="tags">
-        control, point, cleanup
-      </div>
-
-      <p id="shortdesc">
-          Demonstrate the addition of a point reporting control to the OpenLayers window.
-      </p>
-
-    <div id="map" class="smallmap"></div>
-    <div id="bounds"></div>
-
-    <div id="docs"></div>
-  </body>
-</html>

Deleted: sandbox/august/trunk/examples/getfeatureinfo.html
===================================================================
--- sandbox/august/trunk/examples/getfeatureinfo.html	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/examples/getfeatureinfo.html	2011-05-03 16:24:21 UTC (rev 11944)
@@ -1,67 +0,0 @@
-<html>
-  <head>
-    <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;" />
-    <meta name="apple-mobile-web-app-capable" content="yes" />
-    <title>OpenLayers Feature Info Example</title>
-    <script src="../lib/OpenLayers.js"></script>
-    <link rel="stylesheet" href="../theme/default/style.css" type="text/css" />
-    <link rel="stylesheet" href="style.css" type="text/css" />
-    <style type="text/css">
-        ul, li { padding-left: 0px; margin-left: 0px; }
-    </style>
-  </head>
-  <body>
-      <h1 id="title">Feature Info Example</h1>
-
-      <div id="tags">
-        WMS, GetFeatureInfo, cleanup
-      </div>
-
-      <p id="shortdesc">
-        Demonstrates sending a GetFeatureInfo query to an OWS. Returns information about a map feature in the side DIV.
-      </p>
-
-    <a id="permalink" href="">Permalink</a><br />
-
-    <div style="float:right;width:28%">
-        <h1 style="font-size:1.3em;">CIA Factbook</h1>
-        <p style="font-size:.8em;">Click a country to see statistics about the country below.</p>
-        <div id="nodeList">
-        </div>
-    </div>
-      <div id="map" class="smallmap"></div>
-
-  <script defer="defer" type="text/javascript">
-    OpenLayers.ProxyHost = "/dev/examples/proxy.cgi?url=";
-    var map = new OpenLayers.Map('map', {'maxResolution':'auto'});
-
-// cleanup: this WMS is broken
-    var wms = new OpenLayers.Layer.WMS( "OpenLayers WMS",
-        "http://world.freemap.in/cgi-bin/mapserv?map=/www/freemap.in/world/map/factbook.map", {'layers': 'factbook'} );
-    map.addLayer(wms);
-    map.addControl(new OpenLayers.Control.Permalink('permalink'));
-    map.zoomToMaxExtent();
-    map.events.register('click', map, function (e) {
-            OpenLayers.Util.getElement('nodeList').innerHTML = "Loading... please wait...";
-            var url =  wms.getFullRequestString({
-                            REQUEST: "GetFeatureInfo",
-                            EXCEPTIONS: "application/vnd.ogc.se_xml",
-                            BBOX: wms.map.getExtent().toBBOX(),
-                            X: e.xy.x,
-                            Y: e.xy.y,
-                            INFO_FORMAT: 'text/html',
-                            QUERY_LAYERS: wms.params.LAYERS,
-                            WIDTH: wms.map.size.w,
-                            HEIGHT: wms.map.size.h});
-            OpenLayers.loadURL(url, '', this, setHTML);
-            OpenLayers.Event.stop(e);
-      });
-    function setHTML(response) {
-        OpenLayers.Util.getElement('nodeList').innerHTML = response.responseText;
-    }
-  </script>
-
-    <div id="docs">
-    </div>
-  </body>
-</html>

Modified: sandbox/august/trunk/examples/mobile-jq.html
===================================================================
--- sandbox/august/trunk/examples/mobile-jq.html	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/examples/mobile-jq.html	2011-05-03 16:24:21 UTC (rev 11944)
@@ -58,7 +58,8 @@
             <h1>Layers</h1>
           </div>
           <div data-role="content">
-            <ul data-role="listview" data-inset="true" data-theme="d" data-dividertheme="c" id="layerslist"> 
+            <ul data-role="listview" data-inset="true" data-theme="d" data-dividertheme="c" id="layerslist">
+            </ul>
           </div>
         </div>
 

Modified: sandbox/august/trunk/examples/wfs-snap-split.html
===================================================================
--- sandbox/august/trunk/examples/wfs-snap-split.html	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/examples/wfs-snap-split.html	2011-05-03 16:24:21 UTC (rev 11944)
@@ -96,29 +96,22 @@
         });
 
         function init() {
-            OpenLayers.ProxyHost= "proxy.cgi?url=";
-            map = new OpenLayers.Map('map', {
-                maxResolution: 156543.03390625,
+            OpenLayers.ProxyHost = "proxy.cgi?url=";
+            map = new OpenLayers.Map({
+                div: "map",
+                maxResolution: 156543.0339,
+                maxExtent: new OpenLayers.Bounds(-20037508, -20037508, 20037508, 20037508),
                 restrictedExtent: new OpenLayers.Bounds(
-                    -11560239, 5541115, -11560239, 5542338
+                    -11563906, 5540550, -11559015, 5542996
                 ),
-                maxExtent: new OpenLayers.Bounds(
-                    -2.003750834E7,-2.003750834E7,
-                    2.003750834E7,2.003750834E7
-                ),
                 projection: new OpenLayers.Projection("EPSG:900913"),
+                units: "m",
                 controls: [
                     new OpenLayers.Control.PanZoom()
                 ]
             });
 
-            var wms = new OpenLayers.Layer.WMS(
-                "Base Layer", "http://demo.opengeo.org/geoserver_openstreetmap/gwc/service/wms",
-                {
-                    layers: 'openstreetmap',
-                    format: 'image/png'
-                }
-            );
+            var osm = new OpenLayers.Layer.OSM();
             var styles = new OpenLayers.StyleMap({
                 "default": new OpenLayers.Style(null, {
                     rules: [
@@ -186,7 +179,7 @@
                 })
             }); 
            
-            map.addLayers([wms, wfs]);
+            map.addLayers([osm, wfs]);
 
             // configure the snapping agent
             var snap = new OpenLayers.Control.Snapping({layer: wfs});
@@ -246,7 +239,7 @@
             
             panel.defaultControl = panel.controls[0];
             map.addControl(panel);
-            map.zoomTo(15);
+            map.setCenter(new OpenLayers.LonLat(-11561460.5, 5541773), 15);
         }
 
         function flashFeatures(features, index) {

Modified: sandbox/august/trunk/lib/OpenLayers/Handler/Box.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Handler/Box.js	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/lib/OpenLayers/Handler/Box.js	2011-05-03 16:24:21 UTC (rev 11944)
@@ -99,11 +99,6 @@
         
         this.map.eventsDiv.appendChild(this.zoomBox);
         
-        var offset = this.getBoxOffsets();
-        var pos = this.dragHandler.start;
-        this.zoomBox.style.left = (pos.x - offset.left) + "px";
-        this.zoomBox.style.top = (pos.y - offset.top) + "px";
-
         OpenLayers.Element.addClass(
             this.map.eventsDiv, "olDrawBox"
         );

Modified: sandbox/august/trunk/lib/OpenLayers/Handler/Feature.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Handler/Feature.js	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/lib/OpenLayers/Handler/Feature.js	2011-05-03 16:24:21 UTC (rev 11944)
@@ -271,7 +271,7 @@
         var type = evt.type;
         var handled = false;
         var previouslyIn = !!(this.feature); // previously in a feature
-        var click = (type == "click" || type == "dblclick");
+        var click = (type == "click" || type == "dblclick" || type == "touchstart");
         this.feature = this.layer.getFeatureFromEvent(evt);
         if(this.feature && !this.feature.layer) {
             // feature has been destroyed
@@ -282,7 +282,7 @@
             this.lastFeature = null;
         }
         if(this.feature) {
-            if(evt.type === "touchstart") {
+            if(type === "touchstart") {
                 // stop the event to prevent Android Webkit from
                 // "flashing" the map div
                 OpenLayers.Event.stop(evt);

Modified: sandbox/august/trunk/lib/OpenLayers/Handler/Point.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Handler/Point.js	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/lib/OpenLayers/Handler/Point.js	2011-05-03 16:24:21 UTC (rev 11944)
@@ -246,14 +246,6 @@
     },
 
     /**
-     * Method: finishTouchGeometry
-     * Finish the geometry and send it back to the control.
-     */
-    finishTouchGeometry: function() {
-        this.finalize();
-    },
-    
-    /**
      * Method: finalize
      * Finish the geometry and call the "done" callback.
      *

Modified: sandbox/august/trunk/lib/OpenLayers/Layer/Process.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Layer/Process.js	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/lib/OpenLayers/Layer/Process.js	2011-05-03 16:24:21 UTC (rev 11944)
@@ -31,6 +31,22 @@
      * APIProperty: visibility   
      */
     visibility: false,
+    
+    /**
+     * 
+     */
+    describeProcessUrl: "",
+    
+    /**
+     * 
+     */
+    executeUrl: "",
+    
+    /**
+     * APIProperty: visibility
+     * 
+     */
+    processIdentifier: null,
         
     /**
      * Constructor: OpenLayers.Layer.Process 

Modified: sandbox/august/trunk/lib/OpenLayers/Renderer/Canvas.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Renderer/Canvas.js	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/lib/OpenLayers/Renderer/Canvas.js	2011-05-03 16:24:21 UTC (rev 11944)
@@ -202,7 +202,7 @@
      * style    - {Object}
      * featureId - {String}
      */ 
-    drawExternalGraphic: function(pt, style, featureId) {
+    drawExternalGraphic: function(geometry, style, featureId) {
         var img = new Image();
 
         if (style.graphicTitle) {
@@ -218,28 +218,34 @@
         var yOffset = (style.graphicYOffset != undefined) ?
            style.graphicYOffset : -(0.5 * height);
 
-        var x = pt[0] + xOffset;
-        var y = pt[1] + yOffset;
-
         var opacity = style.graphicOpacity || style.fillOpacity;
         
         var onLoad = function() {
-            // TODO: check that we haven't moved
-            var canvas = this.canvas;
-            canvas.globalAlpha = opacity;
-            var factor = OpenLayers.Renderer.Canvas.drawImageScaleFactor ||
-                (OpenLayers.Renderer.Canvas.drawImageScaleFactor =
-                    /android 2.1/.test(navigator.userAgent.toLowerCase()) ?
-                        // 320 is the screen width of the G1 phone, for which
-                        // drawImage works out of the box.
-                        320 / window.screen.width : 1
+            if(!this.features[featureId]) {
+                return;
+            }
+            var pt = this.getLocalXY(geometry);
+            var p0 = pt[0];
+            var p1 = pt[1];
+            if(!isNaN(p0) && !isNaN(p1)) {
+                var x = p0 + xOffset;
+                var y = p1 + yOffset;
+                var canvas = this.canvas;
+                canvas.globalAlpha = opacity;
+                var factor = OpenLayers.Renderer.Canvas.drawImageScaleFactor ||
+                    (OpenLayers.Renderer.Canvas.drawImageScaleFactor =
+                        /android 2.1/.test(navigator.userAgent.toLowerCase()) ?
+                            // 320 is the screen width of the G1 phone, for
+                            // which drawImage works out of the box.
+                            320 / window.screen.width : 1
+                    );
+                canvas.drawImage(
+                    img, x*factor, y*factor, width*factor, height*factor
                 );
-            canvas.drawImage(
-                img, x*factor, y*factor, width*factor, height*factor
-            );
-            if (this.hitDetection) {
-                this.setHitContextStyle("fill", featureId);
-                this.hitContext.fillRect(x, y, width, height);
+                if (this.hitDetection) {
+                    this.setHitContextStyle("fill", featureId);
+                    this.hitContext.fillRect(x, y, width, height);
+                }
             }
         };
 
@@ -327,13 +333,13 @@
      */ 
     drawPoint: function(geometry, style, featureId) {
         if(style.graphic !== false) {
-            var pt = this.getLocalXY(geometry);
-            var p0 = pt[0];
-            var p1 = pt[1];
-            if (!isNaN(p0) && !isNaN(p1)) {
-                if (style.externalGraphic) {
-                    this.drawExternalGraphic(pt, style, featureId);
-                } else {
+            if(style.externalGraphic) {
+                this.drawExternalGraphic(geometry, style, featureId);
+            } else {
+                var pt = this.getLocalXY(geometry);
+                var p0 = pt[0];
+                var p1 = pt[1];
+                if(!isNaN(p0) && !isNaN(p1)) {
                     var twoPi = Math.PI*2;
                     var radius = style.pointRadius;
                     if(style.fill !== false) {

Modified: sandbox/august/trunk/lib/OpenLayers/Util.js
===================================================================
--- sandbox/august/trunk/lib/OpenLayers/Util.js	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/lib/OpenLayers/Util.js	2011-05-03 16:24:21 UTC (rev 11944)
@@ -1301,7 +1301,7 @@
 };
 
 /**
- * Function: pagePositon
+ * Function: pagePosition
  * Calculates the position of an element on the page (see
  * http://code.google.com/p/doctype/wiki/ArticlePageOffset)
  *

Modified: sandbox/august/trunk/playground/index.html
===================================================================
--- sandbox/august/trunk/playground/index.html	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/playground/index.html	2011-05-03 16:24:21 UTC (rev 11944)
@@ -11,6 +11,7 @@
 			<tr><td><a href="gwc/gwc-client.html"><b>gwc/gwc-client</b></a></td></tr>
 			<tr><td><a href="mapquest/mapquest-osm.html"><b>mapquest/mapquest-osm</b></a></td></tr>
 			<tr><td><a href="mapquest/mapquest-openaerial.html"><b>mapquest/mapquest-openaerial</b></a></td></tr>
+			<tr><td><a href="mobac/mobac.osmdroid.zip.html"><b>mobac/mobac.osmdroid.zip.html</b></a></td></tr>
 			<tr><td><a href="outofbox/csw.html"><b>outofbox/csw</b></a></td></tr>
 			<tr><td><a href="others/export-svg.html"><b>others/export-svg.html</b></a></td></tr>
 			<tr><td><a href="outofbox/graticule.html"><b>outofbox/graticule</b></a></td></tr>
@@ -20,6 +21,7 @@
 			<tr><td><a href="outofbox/sos.html"><b>outofbox/sos</b></a></td></tr>
 			<tr><td><a href="outofbox/transform-feature.html"><b>outofbox/transform-feature</b></a></td></tr>
 			<tr><td><a href="wfst/wfst-with-lock.html"><b>wfst/wfst-with-lock.html</b></a></td></tr>
+			<tr><td><a href="wfst/wfst-with-lock-no-map.html"><b>wfst/wfst-with-lock-no-map.html</b></a></td></tr>
 			<tr><td><a href="wfst/wfst-test.html"><b>wfst/wfst-test.html</b></a></td></tr>
 			<tr><td><a href="outofbox/wms-v13.html"><b>outofbox/wms-v13</b></a></td></tr>
 			<tr><td><a href="wmts/wmts.html"><b>wmts/wmts.html</b></a></td></tr>

Added: sandbox/august/trunk/playground/mobac/mobac.osmdroid.zip.html
===================================================================
--- sandbox/august/trunk/playground/mobac/mobac.osmdroid.zip.html	                        (rev 0)
+++ sandbox/august/trunk/playground/mobac/mobac.osmdroid.zip.html	2011-05-03 16:24:21 UTC (rev 11944)
@@ -0,0 +1,16 @@
+<!DOCTYPE html>
+<html>
+    <head>
+        <title>MOBAC Tiles: OSMDroid.ZIP</title>
+        <link rel="stylesheet" href="../../theme/default/style.css" type="text/css">
+        <link rel="stylesheet" href="../../theme/default/google.css" type="text/css">
+        <link rel="stylesheet" href="../style.css" type="text/css">
+        <script src="http://maps.google.com/maps/api/js?sensor=false"></script>
+        <script src="../../lib/OpenLayers.js"></script>
+        <script src="mobac.osmdroid.zip.js"></script>
+    </head>
+    <body onload="init()">
+        <h1 id="title">MapQuest OSM Tiles</h1>        
+        <div id="map" class="mediummap"></div>        
+    </body>
+</html>

Added: sandbox/august/trunk/playground/mobac/mobac.osmdroid.zip.js
===================================================================
--- sandbox/august/trunk/playground/mobac/mobac.osmdroid.zip.js	                        (rev 0)
+++ sandbox/august/trunk/playground/mobac/mobac.osmdroid.zip.js	2011-05-03 16:24:21 UTC (rev 11944)
@@ -0,0 +1,48 @@
+var map;
+
+function init() {
+    map = new OpenLayers.Map({
+        div: "map",
+        controls: [       			           		           	
+            new OpenLayers.Control.MousePosition(),
+            new OpenLayers.Control.PanZoomBar(),
+       		new OpenLayers.Control.Navigation()
+	    ],
+        projection: new OpenLayers.Projection("EPSG:900913"),
+        units: "m",
+        maxResolution: 156543.0339,
+        maxExtent: new OpenLayers.Bounds(
+            -20037508, -20037508, 20037508, 20037508.34
+        )
+    });
+    
+    OpenLayers.Layer.MOBAC_OSMDROID_ZIP = OpenLayers.Class(OpenLayers.Layer.XYZ, {
+        name: "MOBAC_OSMDROID_ZIP",
+        //attribution: "Data CC-By-SA by <a href='http://openstreetmap.org/'>OpenStreetMap</a>",
+        sphericalMercator: true,
+        url: 'osmdroid.zip/rancho.cucamonga/${z}/${x}/${y}.png',
+        clone: function(obj) {
+            if (obj == null) {
+                obj = new OpenLayers.Layer.OSM(
+                    this.name, this.url, this.getOptions());
+            }
+            obj = OpenLayers.Layer.XYZ.prototype.clone.apply(this, [obj]);
+            return obj;
+        },
+        CLASS_NAME: "OpenLayers.Layer.MOBAC_OSMDROID_ZIP"
+   });
+    
+    
+    var mapquestosm = new OpenLayers.Layer.MOBAC_OSMDROID_ZIP();            
+    var gmap = new OpenLayers.Layer.Google("Google Streets");
+    
+    map.addLayers([mapquestosm, gmap]);
+    map.addControl(new OpenLayers.Control.LayerSwitcher());
+    map.setCenter(
+        new OpenLayers.LonLat(-117.59311, 34.1064).transform(
+            new OpenLayers.Projection("EPSG:4326"),
+            map.getProjectionObject()
+        ), 
+        11
+    );
+}

Added: sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/354/816.png
===================================================================
(Binary files differ)


Property changes on: sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/354/816.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/354/817.png
===================================================================
(Binary files differ)


Property changes on: sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/354/817.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/354/818.png
===================================================================
(Binary files differ)


Property changes on: sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/354/818.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/355/816.png
===================================================================
(Binary files differ)


Property changes on: sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/355/816.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/355/817.png
===================================================================
(Binary files differ)


Property changes on: sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/355/817.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/355/818.png
===================================================================
(Binary files differ)


Property changes on: sandbox/august/trunk/playground/mobac/osmdroid.zip/rancho.cucamonga/11/355/818.png
___________________________________________________________________
Added: svn:mime-type
   + application/octet-stream

Added: sandbox/august/trunk/playground/wfst/wfst-with-lock-no-map.html
===================================================================
--- sandbox/august/trunk/playground/wfst/wfst-with-lock-no-map.html	                        (rev 0)
+++ sandbox/august/trunk/playground/wfst/wfst-with-lock-no-map.html	2011-05-03 16:24:21 UTC (rev 11944)
@@ -0,0 +1,17 @@
+<html xmlns="http://www.w3.org/1999/xhtml">
+    <head>
+        <title>openlayers vector behavior - wfs</title>          
+        
+        <link rel="stylesheet" type="text/css" href="http://serverapi.arcgisonline.com/jsapi/arcgis/2.0/js/dojo/dijit/themes/tundra/tundra.css">
+    	<script type="text/javascript" src="http://serverapi.arcgisonline.com/jsapi/arcgis/?v=2.0"></script>
+                
+        <link rel="stylesheet" href="../../theme/default/style.css" type="text/css"/>               
+        <script src="../../lib/Firebug/firebug.js"></script>
+        <script src="../../OpenLayers.js"></script>
+        <script src="wfst-with-lock-no-map.js"></script>                
+    </head>
+    <body onload="init();">        
+        <div id="map" style="width: 1024px; height: 512px; margin-top: 5px; margin-left: 5px; background-color: #ffffff"></div>    		    		
+    	<input id="load_btn" type="button" value="load" onclick="load();"/>
+    </body>
+</html>

Added: sandbox/august/trunk/playground/wfst/wfst-with-lock-no-map.js
===================================================================
--- sandbox/august/trunk/playground/wfst/wfst-with-lock-no-map.js	                        (rev 0)
+++ sandbox/august/trunk/playground/wfst/wfst-with-lock-no-map.js	2011-05-03 16:24:21 UTC (rev 11944)
@@ -0,0 +1,99 @@
+var map;
+var wfst_protocol;
+var jsapi_adapter;
+
+function init() {    
+	// set OpenLayers proxy
+	//OpenLayers.ProxyHost= "/openlayers-trunk/ApacheProxyServlet?url=";	
+	OpenLayers.ProxyHost= function(url) {
+		return "/openlayers-trunk/ApacheProxyServlet?url=" + url;
+    };
+	var options = 	{
+		//panMethod: null, // set 'panMethod' to null to disable animated panning
+		controls: [       		
+		    new OpenLayers.Control.LayerSwitcher(),
+       		new OpenLayers.Control.Navigation(),       		
+       		new OpenLayers.Control.MousePosition()
+       	],
+        projection: "EPSG:4326",		        		        	
+   		maxResolution: 0.3515625,		        	        
+        maxExtent: new OpenLayers.Bounds(-180, -90, 180, 90)        
+   	};
+    map = new OpenLayers.Map('map', options);	
+    
+    var base_layer = new OpenLayers.Layer.AgsTiled( 
+		"esri_street_map", 
+		"http://server.arcgisonline.com/ArcGIS/rest/services/ESRI_StreetMap_World_2D/MapServer/tile/", 
+		{					
+			tileSize: new OpenLayers.Size(512, 512),
+			tileFormat:'jpg',
+			tileOrigin: new OpenLayers.LonLat(-180, 90),
+			tileFullExtent: new OpenLayers.Bounds(-180, -90, 180, 90), 	
+			isBaseLayer: true,
+			buffer: 0,
+			singleTile: false					 					
+		}
+	); 
+    map.addLayer(base_layer);    
+    
+    // consume a WFS 1.1.0 service from ArcGIS Server
+    var lon = -122.391667;
+	var lat = 37.760628;
+    var zoom = 10;
+    
+    map.setCenter(new OpenLayers.LonLat(lon, lat), zoom);
+    
+    wfst_protocol = new OpenLayers.Protocol.WFSTWithLock({
+		url: "http://rikatown0:8399/arcgis/services/playground/sanfrancisco/MapServer/WFSServer?",    				
+		format: new OpenLayers.Format.WFSTWithLock({
+			//version: "1.1.0",
+			srsName: "urn:x-ogc:def:crs:EPSG:6.9:4326",
+			schema: "http://rikatown0:8399/arcgis/services/playground/sanfrancisco/MapServer/WFSServer?service=WFS&request=DescribeFeatureType&version=1.1.0&typename=esri:pizzastores",
+			featureType: "pizzastores",
+			//schema: "http://10.49.52.177:8399/arcgis/services/sanfrancisco_wfst/GeoDataServer/WFSServer?service=WFS&request=DescribeFeatureType&version=1.1.0&typename=esri:highways",
+			//featureType: "highways",
+			//schema: "http://10.49.52.177:8399/arcgis/services/sanfrancisco_wfst/GeoDataServer/WFSServer?service=WFS&request=DescribeFeatureType&version=1.1.0&typename=esri:blockgroups",
+			//featureType: "blockgroups",
+			geometryName: "Shape",																		
+			featureNS: "http://www.esri.com",
+			featurePrefix: "esri",    					
+			extractAttributes: true
+			//xy: false,
+			//lockExpiry: "1",
+			//releaseAction: "ALL"
+			// propertyNames: "", array of string to list properties to be returned
+		})
+		//maxFeatures: 49,		
+	}); 
+    
+    jsapi_adapter = new OpenLayers.Format.AgsJsAdapter();
+}
+
+function load() {
+	wfst_protocol.read({
+    	// BBOX filter to load features from WFS 
+    	filter: new OpenLayers.Filter.Spatial({
+            type: OpenLayers.Filter.Spatial.BBOX,
+            value: new OpenLayers.Bounds(-122.50117199982729, 37.715108999759451, -122.39166699928218, 37.801936999698071),
+            projection: "EPSG:4326"
+        }),
+        callback: onWFSTLoad,
+        scope: this	
+    });
+}
+
+function onWFSTLoad(response) {
+	var olFeatures = response.features;
+    if(olFeatures && olFeatures.length>0) {
+    	for(var i=0; i<olFeatures.length; i++) {
+    		OpenLayers.Console.info("OpenLayers Feature ID: " + olFeatures[i].fid);
+    	}
+    }
+    // TODO: transform to JSAPI features and so on    
+    var agsFeatures = jsapi_adapter.encodeAgsGraphics(olFeatures, "EPSG:4326");
+    if(agsFeatures && agsFeatures.length>0) {
+    	for(var i=0; i<agsFeatures.length; i++) {
+    		OpenLayers.Console.info("JSAPI Feature OBJECTID: " + agsFeatures[i].attributes['OBJECTID']);
+    	}
+    }
+}

Modified: sandbox/august/trunk/tests/Format/OWSContext/v0_3_1.html
===================================================================
--- sandbox/august/trunk/tests/Format/OWSContext/v0_3_1.html	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/tests/Format/OWSContext/v0_3_1.html	2011-05-03 16:24:21 UTC (rev 11944)
@@ -34,7 +34,7 @@
             '			<Layer name="topp:gnis_pop" hidden="0">' +
             '				<ows:Title>GNIS Population</ows:Title>' +
             '				<Server service="urn:ogc:serviceType:WFS" version="1.0.0">' +
-            '					<OnlineResource xlink:href="http://sigma.openplans.org:8080/geoserver/wfs?"/>' +
+            '					<OnlineResource xlink:href="geoserver/wfs?"/>' +
             '				</Server>' +
             '			</Layer>' +
             '		</Layer>' +
@@ -54,7 +54,7 @@
         t.ok(context.layers[0].queryable, "WMS layer is queryable");
         t.eq(context.layers[0].name, "Tiger 2005fe major roads/railways", "Title correctly set");
         t.ok(context.layers[1].protocol instanceof OpenLayers.Protocol.WFS.v1_0_0, "Vector layer configured with a WFS Protocol");
-        t.eq(context.layers[1].protocol.url, "http://sigma.openplans.org:8080/geoserver/wfs?", "WFS url set correctly");
+        t.eq(context.layers[1].protocol.url, "geoserver/wfs?", "WFS url set correctly");
         t.ok(context.layers[1].strategies[0] instanceof OpenLayers.Strategy.BBOX, "BBOX strategy configured correctly");
         t.eq(context.layers[1].name, "GNIS Population", "Title of second layer correctly set");
         t.eq(context.layers[1].getVisibility(), true, "Second layer is visible");
@@ -79,7 +79,7 @@
         var wfs = new OpenLayers.Layer.Vector("myroads", {
             strategies: [new OpenLayers.Strategy.BBOX()],
             protocol: new OpenLayers.Protocol.WFS({
-                url:  "http://foo/wfs",
+                url:  "foo/wfs?",
                 featureType: "roads",
                 featureNS: "http://foo/myns"
             })
@@ -89,7 +89,7 @@
 
         var owc = new OpenLayers.Format.OWSContext();
         var output = owc.write(map, {id: 'foo'});
-        var expected = '<OWSContext xmlns="http://www.opengis.net/ows-context" version="0.3.1" id="foo" xsi:schemaLocation="http://www.opengis.net/ows-context http://www.ogcnetwork.net/schemas/owc/0.3.1/owsContext.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><General><ows:BoundingBox xmlns:ows="http://www.opengis.net/ows" crs="EPSG:4326"><ows:LowerCorner>-5.986328125 29.013671875</ows:LowerCorner><ows:UpperCorner>15.986328125 50.986328125</ows:UpperCorner></ows:BoundingBox><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers OWSContext</ows:Title></General><ResourceList><Layer name="basic" queryable="0" hidden="0"><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers WMS</ows:Title><ows:OutputFormat xmlns:ows="http://www.opengis.net/ows">image/jpeg</ows:OutputFormat><Server version="1.1.1" service="urn:ogc:serviceType:WMS"><OnlineResource xlink:href="http://labs.metacarta.com/wms/vmap0" xmlns:xlink="http://www.w3.org/1999/xlink"/></Server></Layer
 ><Layer name="feature:roads" hidden="0"><ows:Title xmlns:ows="http://www.opengis.net/ows">myroads</ows:Title><Server version="1.0.0" service="urn:ogc:serviceType:WFS"><OnlineResource xlink:href="http://foo/wfs" xmlns:xlink="http://www.w3.org/1999/xlink"/></Server></Layer></ResourceList></OWSContext>';
+        var expected = '<OWSContext xmlns="http://www.opengis.net/ows-context" version="0.3.1" id="foo" xsi:schemaLocation="http://www.opengis.net/ows-context http://www.ogcnetwork.net/schemas/owc/0.3.1/owsContext.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><General><ows:BoundingBox xmlns:ows="http://www.opengis.net/ows" crs="EPSG:4326"><ows:LowerCorner>-5.986328125 29.013671875</ows:LowerCorner><ows:UpperCorner>15.986328125 50.986328125</ows:UpperCorner></ows:BoundingBox><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers OWSContext</ows:Title></General><ResourceList><Layer name="basic" queryable="0" hidden="0"><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers WMS</ows:Title><ows:OutputFormat xmlns:ows="http://www.opengis.net/ows">image/jpeg</ows:OutputFormat><Server version="1.1.1" service="urn:ogc:serviceType:WMS"><OnlineResource xlink:href="http://labs.metacarta.com/wms/vmap0" xmlns:xlink="http://www.w3.org/1999/xlink"/></Server></Layer
 ><Layer name="feature:roads" hidden="0"><ows:Title xmlns:ows="http://www.opengis.net/ows">myroads</ows:Title><Server version="1.0.0" service="urn:ogc:serviceType:WFS"><OnlineResource xlink:href="foo/wfs?" xmlns:xlink="http://www.w3.org/1999/xlink"/></Server></Layer></ResourceList></OWSContext>';
         t.xml_eq(output, expected, "OWSContext with a WMS and a WFS layer generated correctly");
     }
 
@@ -139,11 +139,11 @@
 
     function test_read_gml(t) {
         t.plan(5);
-        var text = '<?xml version="1.0" encoding="UTF-8"?><OWSContext version="0.3.0" id="ows-context-ex-1-v3" xmlns="http://www.opengis.net/ows-context" xmlns:gml="http://www.opengis.net/gml" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:sld="http://www.opengis.net/sld" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ows-context http://www.ogcnetwork.net/schemas/owc/0.3.0/owsContext.xsd"><General><ows:BoundingBox crs="urn:ogc:def:crs:EPSG:6.6:4326"><ows:LowerCorner>-117.44667178362664 32.57086210449395</ows:LowerCorner><ows:UpperCorner>-116.74066794885977 32.921986352104064</ows:UpperCorner></ows:BoundingBox><ows:Title>OWS Context version 0.3.0 examples</ows:Title></General><ResourceList><Layer name="basic" queryable="0" hidden="0" opacity="1"><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers 
 WMS</ows:Title><ows:OutputFormat xmlns:ows="http://www.opengis.net/ows">image/jpeg</ows:OutputFormat><Server version="1.1.1" service="urn:ogc:serviceType:WMS"><OnlineResource xlink:href="http://labs.metacarta.com/wms/vmap0" xmlns:xlink="http://www.w3.org/1999/xlink"/></Server></Layer><!-- Referenced GML Example --><Layer name="Landuse"><ows:Title>Boston Landuse Polygons</ows:Title><Server service="urn:ogc:serviceType:GML" version="2.1.2" title="Cadcorp GeognoSIS.NET Web Feature Service"><OnlineResource xlink:href="http://www.cadcorpdev.co.uk/gml/MassGIS/LandUse.gml"/></Server><sld:MinScaleDenominator>5000</sld:MinScaleDenominator><sld:MaxScaleDenominator>50000</sld:MaxScaleDenominator><MaxFeatures>99</MaxFeatures></Layer></ResourceList></OWSContext>';
+        var text = '<?xml version="1.0" encoding="UTF-8"?><OWSContext version="0.3.0" id="ows-context-ex-1-v3" xmlns="http://www.opengis.net/ows-context" xmlns:gml="http://www.opengis.net/gml" xmlns:kml="http://www.opengis.net/kml/2.2" xmlns:ogc="http://www.opengis.net/ogc" xmlns:ows="http://www.opengis.net/ows" xmlns:sld="http://www.opengis.net/sld" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.opengis.net/ows-context http://www.ogcnetwork.net/schemas/owc/0.3.0/owsContext.xsd"><General><ows:BoundingBox crs="urn:ogc:def:crs:EPSG:6.6:4326"><ows:LowerCorner>-117.44667178362664 32.57086210449395</ows:LowerCorner><ows:UpperCorner>-116.74066794885977 32.921986352104064</ows:UpperCorner></ows:BoundingBox><ows:Title>OWS Context version 0.3.0 examples</ows:Title></General><ResourceList><Layer name="basic" queryable="0" hidden="0" opacity="1"><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers 
 WMS</ows:Title><ows:OutputFormat xmlns:ows="http://www.opengis.net/ows">image/jpeg</ows:OutputFormat><Server version="1.1.1" service="urn:ogc:serviceType:WMS"><OnlineResource xlink:href="http://labs.metacarta.com/wms/vmap0" xmlns:xlink="http://www.w3.org/1999/xlink"/></Server></Layer><!-- Referenced GML Example --><Layer name="Landuse"><ows:Title>Boston Landuse Polygons</ows:Title><Server service="urn:ogc:serviceType:GML" version="2.1.2" title="Cadcorp GeognoSIS.NET Web Feature Service"><OnlineResource xlink:href="gml/MassGIS/LandUse.gml"/></Server><sld:MinScaleDenominator>5000</sld:MinScaleDenominator><sld:MaxScaleDenominator>50000</sld:MaxScaleDenominator><MaxFeatures>99</MaxFeatures></Layer></ResourceList></OWSContext>';
         var parser = new OpenLayers.Format.OWSContext();
         var context = parser.read(text, {map: 'map'});
         t.ok(context.layers[1].protocol instanceof OpenLayers.Protocol.HTTP, "serviceType GML is translated into an HTTP Protocol");
-        t.eq(context.layers[1].protocol.url, "http://www.cadcorpdev.co.uk/gml/MassGIS/LandUse.gml", "Url of GML file correctly set");
+        t.eq(context.layers[1].protocol.url, "gml/MassGIS/LandUse.gml", "Url of GML file correctly set");
         t.ok(context.layers[1].protocol.format instanceof OpenLayers.Format.GML, "GML Format associated with protocol");
         t.eq(Math.round(context.layers[1].minScale), 50000, "Minscale correctly read");
         t.eq(Math.round(context.layers[1].maxScale), 5000, "Maxscale correctly read");
@@ -151,11 +151,11 @@
 
     function test_read_kml(t) {
         t.plan(3);
-        var text = '<OWSContext xmlns="http://www.opengis.net/ows-context" version="0.3.1" id="foo" xsi:schemaLocation="http://www.opengis.net/ows-context http://www.ogcnetwork.net/schemas/owc/0.3.1/owsContext.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><General><ows:BoundingBox xmlns:ows="http://www.opengis.net/ows" crs="EPSG:4326"><ows:LowerCorner>-5.986328125 27.9150390625</ows:LowerCorner><ows:UpperCorner>15.986328125 52.0849609375</ows:UpperCorner></ows:BoundingBox><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers OWSContext</ows:Title></General><ResourceList><Layer name="basic" queryable="0" hidden="0" opacity="1"><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers WMS</ows:Title><ows:OutputFormat xmlns:ows="http://www.opengis.net/ows">image/jpeg</ows:OutputFormat><Server version="1.1.1" service="urn:ogc:serviceType:WMS"><OnlineResource xlink:href="http://labs.metacarta.com/wms/vmap0" xmlns:xlink="http://www.w3.org/1999/xlink"/></Serv
 er></Layer><Layer><ows:Title xmlns:ows="http://www.opengis.net/ows">KML</ows:Title><Server version="2.2" service="urn:ogc:serviceType:KML"><OnlineResource xlink:href="http://foo/sundials.kml" xmlns:xlink="http://www.w3.org/1999/xlink"/></Server></Layer></ResourceList></OWSContext>';
+        var text = '<OWSContext xmlns="http://www.opengis.net/ows-context" version="0.3.1" id="foo" xsi:schemaLocation="http://www.opengis.net/ows-context http://www.ogcnetwork.net/schemas/owc/0.3.1/owsContext.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><General><ows:BoundingBox xmlns:ows="http://www.opengis.net/ows" crs="EPSG:4326"><ows:LowerCorner>-5.986328125 27.9150390625</ows:LowerCorner><ows:UpperCorner>15.986328125 52.0849609375</ows:UpperCorner></ows:BoundingBox><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers OWSContext</ows:Title></General><ResourceList><Layer name="basic" queryable="0" hidden="0" opacity="1"><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers WMS</ows:Title><ows:OutputFormat xmlns:ows="http://www.opengis.net/ows">image/jpeg</ows:OutputFormat><Server version="1.1.1" service="urn:ogc:serviceType:WMS"><OnlineResource xlink:href="http://labs.metacarta.com/wms/vmap0" xmlns:xlink="http://www.w3.org/1999/xlink"/></Serv
 er></Layer><Layer><ows:Title xmlns:ows="http://www.opengis.net/ows">KML</ows:Title><Server version="2.2" service="urn:ogc:serviceType:KML"><OnlineResource xlink:href="foo/sundials.kml" xmlns:xlink="http://www.w3.org/1999/xlink"/></Server></Layer></ResourceList></OWSContext>';
         var parser = new OpenLayers.Format.OWSContext();
         var context = parser.read(text, {map: 'map'});
         t.ok(context.layers[1].protocol instanceof OpenLayers.Protocol.HTTP, "serviceType KML is translated into an HTTP Protocol");
-        t.eq(context.layers[1].protocol.url, "http://foo/sundials.kml", "Url of KML file correctly set");
+        t.eq(context.layers[1].protocol.url, "foo/sundials.kml", "Url of KML file correctly set");
         t.ok(context.layers[1].protocol.format instanceof OpenLayers.Format.KML, "KML Format associated with protocol");
     }
 
@@ -175,7 +175,7 @@
             projection: map.displayProjection,
             strategies: [new OpenLayers.Strategy.Fixed()],
             protocol: new OpenLayers.Protocol.HTTP({
-                url: "http://foo/sundials.gml",
+                url: "foo/sundials.gml",
                 format: new OpenLayers.Format.GML()
             })
         });
@@ -184,7 +184,7 @@
 
         var owc = new OpenLayers.Format.OWSContext();
         var output = owc.write(map, {id: 'foo'});
-        var expected = '<OWSContext xmlns="http://www.opengis.net/ows-context" version="0.3.1" id="foo" xsi:schemaLocation="http://www.opengis.net/ows-context http://www.ogcnetwork.net/schemas/owc/0.3.1/owsContext.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><General><ows:BoundingBox xmlns:ows="http://www.opengis.net/ows" crs="EPSG:4326"><ows:LowerCorner>-5.986328125 29.013671875</ows:LowerCorner><ows:UpperCorner>15.986328125 50.986328125</ows:UpperCorner></ows:BoundingBox><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers OWSContext</ows:Title></General><ResourceList><Layer name="basic" queryable="0" hidden="0"><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers WMS</ows:Title><ows:OutputFormat xmlns:ows="http://www.opengis.net/ows">image/jpeg</ows:OutputFormat><Server version="1.1.1" service="urn:ogc:serviceType:WMS"><OnlineResource xlink:href="http://labs.metacarta.com/wms/vmap0" xmlns:xlink="http://www.w3.org/1999/xlink"/></Server></Layer
 ><Layer><ows:Title xmlns:ows="http://www.opengis.net/ows">GML</ows:Title><Server version="2.1.2" service="urn:ogc:serviceType:GML"><OnlineResource xlink:href="http://foo/sundials.gml" xmlns:xlink="http://www.w3.org/1999/xlink"/></Server></Layer></ResourceList></OWSContext>';
+        var expected = '<OWSContext xmlns="http://www.opengis.net/ows-context" version="0.3.1" id="foo" xsi:schemaLocation="http://www.opengis.net/ows-context http://www.ogcnetwork.net/schemas/owc/0.3.1/owsContext.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><General><ows:BoundingBox xmlns:ows="http://www.opengis.net/ows" crs="EPSG:4326"><ows:LowerCorner>-5.986328125 29.013671875</ows:LowerCorner><ows:UpperCorner>15.986328125 50.986328125</ows:UpperCorner></ows:BoundingBox><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers OWSContext</ows:Title></General><ResourceList><Layer name="basic" queryable="0" hidden="0"><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers WMS</ows:Title><ows:OutputFormat xmlns:ows="http://www.opengis.net/ows">image/jpeg</ows:OutputFormat><Server version="1.1.1" service="urn:ogc:serviceType:WMS"><OnlineResource xlink:href="http://labs.metacarta.com/wms/vmap0" xmlns:xlink="http://www.w3.org/1999/xlink"/></Server></Layer
 ><Layer><ows:Title xmlns:ows="http://www.opengis.net/ows">GML</ows:Title><Server version="2.1.2" service="urn:ogc:serviceType:GML"><OnlineResource xlink:href="foo/sundials.gml" xmlns:xlink="http://www.w3.org/1999/xlink"/></Server></Layer></ResourceList></OWSContext>';
         t.xml_eq(output, expected, "OWSContext with a WMS and a GML vector layer generated correctly");
     }
 
@@ -204,7 +204,7 @@
             projection: map.displayProjection,
             strategies: [new OpenLayers.Strategy.Fixed()],
             protocol: new OpenLayers.Protocol.HTTP({
-                url: "http://foo/sundials.kml",
+                url: "foo/sundials.kml",
                 format: new OpenLayers.Format.KML({
                     extractStyles: true
                 })
@@ -215,7 +215,7 @@
 
         var owc = new OpenLayers.Format.OWSContext();
         var output = owc.write(map, {id: 'foo'});
-        var expected = '<OWSContext xmlns="http://www.opengis.net/ows-context" version="0.3.1" id="foo" xsi:schemaLocation="http://www.opengis.net/ows-context http://www.ogcnetwork.net/schemas/owc/0.3.1/owsContext.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><General><ows:BoundingBox xmlns:ows="http://www.opengis.net/ows" crs="EPSG:4326"><ows:LowerCorner>-5.986328125 29.013671875</ows:LowerCorner><ows:UpperCorner>15.986328125 50.986328125</ows:UpperCorner></ows:BoundingBox><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers OWSContext</ows:Title></General><ResourceList><Layer name="basic" queryable="0" hidden="0"><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers WMS</ows:Title><ows:OutputFormat xmlns:ows="http://www.opengis.net/ows">image/jpeg</ows:OutputFormat><Server version="1.1.1" service="urn:ogc:serviceType:WMS"><OnlineResource xlink:href="http://labs.metacarta.com/wms/vmap0" xmlns:xlink="http://www.w3.org/1999/xlink"/></Server></Layer
 ><Layer><ows:Title xmlns:ows="http://www.opengis.net/ows">KML</ows:Title><Server version="2.2" service="urn:ogc:serviceType:KML"><OnlineResource xlink:href="http://foo/sundials.kml" xmlns:xlink="http://www.w3.org/1999/xlink"/></Server></Layer></ResourceList></OWSContext>';
+        var expected = '<OWSContext xmlns="http://www.opengis.net/ows-context" version="0.3.1" id="foo" xsi:schemaLocation="http://www.opengis.net/ows-context http://www.ogcnetwork.net/schemas/owc/0.3.1/owsContext.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><General><ows:BoundingBox xmlns:ows="http://www.opengis.net/ows" crs="EPSG:4326"><ows:LowerCorner>-5.986328125 29.013671875</ows:LowerCorner><ows:UpperCorner>15.986328125 50.986328125</ows:UpperCorner></ows:BoundingBox><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers OWSContext</ows:Title></General><ResourceList><Layer name="basic" queryable="0" hidden="0"><ows:Title xmlns:ows="http://www.opengis.net/ows">OpenLayers WMS</ows:Title><ows:OutputFormat xmlns:ows="http://www.opengis.net/ows">image/jpeg</ows:OutputFormat><Server version="1.1.1" service="urn:ogc:serviceType:WMS"><OnlineResource xlink:href="http://labs.metacarta.com/wms/vmap0" xmlns:xlink="http://www.w3.org/1999/xlink"/></Server></Layer
 ><Layer><ows:Title xmlns:ows="http://www.opengis.net/ows">KML</ows:Title><Server version="2.2" service="urn:ogc:serviceType:KML"><OnlineResource xlink:href="foo/sundials.kml" xmlns:xlink="http://www.w3.org/1999/xlink"/></Server></Layer></ResourceList></OWSContext>';
         t.xml_eq(output, expected, "OWSContext with a WMS and a KML vector layer generated correctly");
     }
 

Modified: sandbox/august/trunk/tests/Handler/Box.html
===================================================================
--- sandbox/august/trunk/tests/Handler/Box.html	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/tests/Handler/Box.html	2011-05-03 16:24:21 UTC (rev 11944)
@@ -39,7 +39,7 @@
         map.div.removeChild(testdiv);
         var testAll = !isNaN(left);
 
-        t.plan(testAll ? 12 : 2);
+        t.plan(testAll ? 10 : 2);
 
         // we change NaN values to 0 values in the handler's
         // boxOffsets object, this is to prevent "invalid
@@ -58,14 +58,10 @@
         handler.dragHandler.start = {x: 5, y: 5};
         handler.startBox();
         offset = handler.getBoxOffsets();
+        handler.moveBox({x: 10, y: 10});
         if (testAll) {
             t.eq(parseInt(handler.zoomBox.style.left), 5 - offset.left, "x position of box correct");
             t.eq(parseInt(handler.zoomBox.style.top), 5 - offset.top, "y position of box correct");
-        }
-        handler.moveBox({x: 10, y: 10});
-        if (testAll) {
-            t.eq(parseInt(handler.zoomBox.style.left), 5 - offset.left, "x position of box still correct");
-            t.eq(parseInt(handler.zoomBox.style.top), 5 - offset.top, "y position of box still correct");
             t.eq(parseInt(handler.zoomBox.style.width), 5 + offset.width + 1, "x dimension of box correct");
             t.eq(parseInt(handler.zoomBox.style.height), 5 + offset.height + 1, "y dimension of box correct");
         }

Modified: sandbox/august/trunk/tests/Handler/Feature.html
===================================================================
--- sandbox/august/trunk/tests/Handler/Feature.html	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/tests/Handler/Feature.html	2011-05-03 16:24:21 UTC (rev 11944)
@@ -123,7 +123,7 @@
     }
 
     function test_callbacks(t) {
-        t.plan(13);
+        t.plan(14);
         
         var map = new OpenLayers.Map('map', {controls: []});
         var control = new OpenLayers.Control();
@@ -235,6 +235,12 @@
         evtPx.type = "touchstart";
         map.events.triggerEvent('touchstart', evtPx);
 
+        // test touchstart on the same feature
+        // 'click' callback should be called
+        callbacks['click'] = getCallback('click (touch)', newFeature);
+        evtPx.type = "touchstart";
+        map.events.triggerEvent('touchstart', evtPx);
+
         // test touchstart in new feature and out of last feature
         // both 'click' and 'clickout' callbacks should be called
         lastFeature = newFeature;

Modified: sandbox/august/trunk/tests/Layer/WrapDateLine.html
===================================================================
--- sandbox/august/trunk/tests/Layer/WrapDateLine.html	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/tests/Layer/WrapDateLine.html	2011-05-03 16:24:21 UTC (rev 11944)
@@ -134,9 +134,9 @@
         var m = new OpenLayers.Map('map');
         m.addLayer(layer);
         m.zoomToMaxExtent();
-        t.eq(layer.grid[3][0].url, "http://octo.metacarta.com/cgi-bin/mapserv?MAP=%2Fmapdata%2Fvmap_wms.map&LAYERS=basic&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=0%2C-90%2C180%2C90&WIDTH=256&HEIGHT=256", "cell [3][0] is wrapped around the world.");
-        t.eq(layer.grid[0][0].url, "http://octo.metacarta.com/cgi-bin/mapserv?MAP=%2Fmapdata%2Fvmap_wms.map&LAYERS=basic&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=0%2C450%2C180%2C630&WIDTH=256&HEIGHT=256", "cell [0][0] is wrapped around the world lon, but not lat");
-        t.eq(layer.grid[0][3].url, "http://octo.metacarta.com/cgi-bin/mapserv?MAP=%2Fmapdata%2Fvmap_wms.map&LAYERS=basic&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=-180%2C450%2C0%2C630&WIDTH=256&HEIGHT=256", "cell [3][0] is not wrapped at all.");
+        t.eq(layer.grid[3][0].url, "http://octo.metacarta.com/cgi-bin/mapserv?MAP=%2Fmapdata%2Fvmap_wms.map&LAYERS=basic&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=0%2C-90%2C180%2C90&WIDTH=256&HEIGHT=256", "cell [3][0] is wrapped around the world.");
+        t.eq(layer.grid[0][0].url, "http://octo.metacarta.com/cgi-bin/mapserv?MAP=%2Fmapdata%2Fvmap_wms.map&LAYERS=basic&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=0%2C450%2C180%2C630&WIDTH=256&HEIGHT=256", "cell [0][0] is wrapped around the world lon, but not lat");
+        t.eq(layer.grid[0][3].url, "http://octo.metacarta.com/cgi-bin/mapserv?MAP=%2Fmapdata%2Fvmap_wms.map&LAYERS=basic&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=-180%2C450%2C0%2C630&WIDTH=256&HEIGHT=256", "cell [3][0] is not wrapped at all.");
         m.destroy();
 
     }
@@ -168,9 +168,9 @@
         var m = new OpenLayers.Map('map');
         m.addLayers([baselayer,layer]);
         m.zoomToMaxExtent();
-        t.eq(layer.grid[0][0].url, "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?LAYERS=bathymetry%2Cland_fn%2Cpark%2Cdrain_fn%2Cdrainage%2Cprov_bound%2Cfedlimit%2Crail%2Croad%2Cpopplace&TRANSPARENT=true&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=0%2C450%2C180%2C630&WIDTH=256&HEIGHT=256", "grid[0][0] wms overlay is okay");
-        t.eq(layer.grid[0][3].url, "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?LAYERS=bathymetry%2Cland_fn%2Cpark%2Cdrain_fn%2Cdrainage%2Cprov_bound%2Cfedlimit%2Crail%2Croad%2Cpopplace&TRANSPARENT=true&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=-180%2C450%2C0%2C630&WIDTH=256&HEIGHT=256", "grid[0][3] wms overlay is okay");
-        t.eq(layer.grid[3][0].url, "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?LAYERS=bathymetry%2Cland_fn%2Cpark%2Cdrain_fn%2Cdrainage%2Cprov_bound%2Cfedlimit%2Crail%2Croad%2Cpopplace&TRANSPARENT=true&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&EXCEPTIONS=application%2Fvnd.ogc.se_inimage&SRS=EPSG%3A4326&BBOX=0%2C-90%2C180%2C90&WIDTH=256&HEIGHT=256", "grid[3][0] wms overlay okay");
+        t.eq(layer.grid[0][0].url, "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?LAYERS=bathymetry%2Cland_fn%2Cpark%2Cdrain_fn%2Cdrainage%2Cprov_bound%2Cfedlimit%2Crail%2Croad%2Cpopplace&TRANSPARENT=true&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=0%2C450%2C180%2C630&WIDTH=256&HEIGHT=256", "grid[0][0] wms overlay is okay");
+        t.eq(layer.grid[0][3].url, "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?LAYERS=bathymetry%2Cland_fn%2Cpark%2Cdrain_fn%2Cdrainage%2Cprov_bound%2Cfedlimit%2Crail%2Croad%2Cpopplace&TRANSPARENT=true&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=-180%2C450%2C0%2C630&WIDTH=256&HEIGHT=256", "grid[0][3] wms overlay is okay");
+        t.eq(layer.grid[3][0].url, "http://www2.dmsolutions.ca/cgi-bin/mswms_gmap?LAYERS=bathymetry%2Cland_fn%2Cpark%2Cdrain_fn%2Cdrainage%2Cprov_bound%2Cfedlimit%2Crail%2Croad%2Cpopplace&TRANSPARENT=true&FORMAT=image%2Fpng&SERVICE=WMS&VERSION=1.1.1&REQUEST=GetMap&STYLES=&SRS=EPSG%3A4326&BBOX=0%2C-90%2C180%2C90&WIDTH=256&HEIGHT=256", "grid[3][0] wms overlay okay");
         m.destroy();
     }
 

Modified: sandbox/august/trunk/tests/Renderer/Canvas.html
===================================================================
--- sandbox/august/trunk/tests/Renderer/Canvas.html	2011-05-03 14:09:09 UTC (rev 11943)
+++ sandbox/august/trunk/tests/Renderer/Canvas.html	2011-05-03 16:24:21 UTC (rev 11944)
@@ -330,6 +330,128 @@
         
     }
 
+    // see http://trac.osgeo.org/openlayers/ticket/3264
+    function test_externalGraphic_destroyFeatures(t) {
+        if (!supported) {
+            t.plan(0);
+            return;
+        }
+
+        t.plan(1);
+
+        // set up
+
+        var layer = new OpenLayers.Layer.Vector(null, {
+            isBaseLayer: true,
+            renderers: ["Canvas"]
+        });
+
+        var map = new OpenLayers.Map({
+            div: "map",
+            controls: [],
+            layers: [layer],
+            center: new OpenLayers.LonLat(0, 0),
+            zoom: 0
+        });
+
+        layer.addFeatures([
+            new OpenLayers.Feature.Vector(
+                new OpenLayers.Geometry.Point(0, 0),
+                null,
+                {
+                    externalGraphic: '../../img/marker.png',
+                    graphicHeight: 20,
+                    graphicWidth: 20
+                }
+            )
+        ]);
+
+        var called = false;
+        layer.renderer.canvas.drawImage = function(img, x, y, w, h) {
+            called = true;
+        };
+
+        // test
+
+        // schedule a canvas.drawImage
+        layer.renderer.redraw();
+
+        // destroy the feature before drawImage gets called
+        layer.destroyFeatures();
+
+        t.delay_call(0.1, function() {
+            t.ok(!called,
+                 'canvas.drawImage not called if feature is destroyed');
+
+            // tear down
+            map.destroy();
+        });
+    }
+
+    // see http://trac.osgeo.org/openlayers/ticket/3264
+    function test_externalGraphic_moveTo(t) {
+        if (!supported) {
+            t.plan(0);
+            return;
+        }
+
+        t.plan(2);
+
+        // set up
+
+        var layer = new OpenLayers.Layer.Vector(null, {
+            isBaseLayer: true,
+            renderers: ["Canvas"]
+        });
+
+        var map = new OpenLayers.Map({
+            div: "map",
+            controls: [],
+            layers: [layer],
+            center: new OpenLayers.LonLat(0, 0),
+            zoom: 0
+        });
+
+        var feature = new OpenLayers.Feature.Vector(
+            new OpenLayers.Geometry.Point(0, 0),
+            null,
+            {
+                externalGraphic: '../../img/marker.png',
+                graphicHeight: 20,
+                graphicWidth: 20,
+                graphicXOffset: 0,
+                graphicYOffset: 0
+            }
+        );
+
+        layer.addFeatures([feature]);
+
+        // test
+
+        // delay_call to let the first drawImage (the one
+        // resulting from addFeatures) run
+        t.delay_call(0.1, function() {
+
+            var log = [];
+            layer.renderer.canvas.drawImage = function(img, x, y, w, h) {
+                log.push({x: x, y: y});
+            };
+
+            layer.renderer.redraw();
+            map.setCenter(new OpenLayers.LonLat(45, 0), 0);
+
+            t.delay_call(0.1, function() {
+                t.eq(log.length, 2,
+                     "canvas.drawImage called twice");
+                t.ok(log[0].x == log[1].x && log[0].y == log[1].y,
+                     "image drawn at the same location");
+
+                // tear down
+                map.destroy();
+            });
+        });
+    }
+
   </script>
 </head>
 <body>



More information about the Commits mailing list