<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
</head>
<body text="#000000" bgcolor="#ffffff">
Hello,<br>
<br>
It seems to me that you're not checking the problem where you're
supposed to.<br>
onCommit returns the reply from the server, so it's the server's job to
accept or reject the changes. If the server rejects the changes, you
can do just this.layer.refresh({force: true}); and you will get the old
data (and the new data will be discarded).<br>
<br>
Good luck<br>
<br>
On 07/23/2010 02:26 AM, Godfrey, David A TRAN:EX wrote:
<blockquote
 cite="mid:E9C5DB35C2B612479A61E70C3D9DEA8E062F6C2B@TEAM.idir.bcgov"
 type="cite">
  <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  <meta name="Generator"
 content="MS Exchange Server version 6.5.7654.12">
  <title>Unable to Rollback changes on WFS update failure</title>
<!-- Converted from text/rtf format -->
  <p dir="LTR"><span lang="en-ca"><font face="Calibri">Hi,</font></span></p>
  <p dir="LTR"><span lang="en-ca">        <font face="Calibri">I'm
trying to create an editable map based upon the OpenLayers
wfs-protocol-transactions example. On some occasions (for example when
other users have updated features) I want to abandon the outstanding
edit on a feature and redraw it as it was originally obtained from the
base WFS service. I couldn’t work out how to do that and have reverted
to trying to redraw the entire layer using the layer.redraw and
layer.refresh functions. Unfortunately nothing seems to work. The
features stay as drawn</font></span><span lang="en-ca"><font
 face="Calibri">, which no longer matches what is in the geoserver</font></span><span
 lang="en-ca"> <font face="Calibri">service</font></span><span
 lang="en-ca"><font face="Calibri">. How do I do some equivalent of
"undo this feature and cancel any pending changes on it"</font></span><span
 lang="en-ca"><font face="Calibri">, or</font></span><span lang="en-ca">
  <font face="Calibri">alternatively</font></span><span lang="en-ca"></span><span
 lang="en-ca"> <font face="Calibri">“</font></span><span lang="en-ca"><font
 face="Calibri">refresh this feater (or if necessary all features) from
the WFS service.</font></span><span lang="en-ca"> <font face="Calibri">
The code fragment I have at this point is:</font></span></p>
  <p dir="LTR"><span lang="en-ca"><font face="Calibri">   </font></span></p>
  <p dir="LTR"><span lang="en-ca"><font face="Calibri">    var
saveStrategy = new OpenLayers.Strategy.Save</font></span></p>
  <p dir="LTR"><span lang="en-ca">        <font face="Calibri">({</font></span></p>
  <p dir="LTR"><span lang="en-ca">                <font face="Calibri">onCommit:
function(response)</font></span></p>
  <p dir="LTR"><span lang="en-ca">                <font face="Calibri">{      
                </font></span></p>
  <p dir="LTR"><span lang="en-ca">                        <font
 face="Calibri">if (response.success())</font></span></p>
  <p dir="LTR"><span lang="en-ca">                        <font
 face="Calibri">{</font></span></p>
  <p dir="LTR"><span lang="en-ca">                                <font
 face="Calibri">alert("Good");                  </font></span></p>
  <p dir="LTR"><span lang="en-ca">                                <font
 face="Calibri">alert(response.priv.responseText);</font></span></p>
  <p dir="LTR"><span lang="en-ca">                        <font
 face="Calibri">} else  {</font></span></p>
  <p dir="LTR"><span lang="en-ca">                                <font
 face="Calibri">alert("Bad");                           </font></span></p>
  <p dir="LTR"><span lang="en-ca">                                <font
 face="Calibri">alert(response.priv.responseText);                     
        </font></span></p>
  <p dir="LTR"><span lang="en-ca">                        <font
 face="Calibri">} </font></span></p>
  <p dir="LTR"><span lang="en-ca">                        <font
 face="Calibri">if (confirm("Do you want to abort this request ?"))</font></span></p>
  <p dir="LTR"><span lang="en-ca">                        <font
 face="Calibri">{</font></span></p>
  <p dir="LTR"><span lang="en-ca">                                <font
 face="Calibri">alert("Abort request here");</font></span></p>
  <p dir="LTR"><span lang="en-ca">                                <font
 face="Calibri">this.layer.refresh(true);</font></span></p>
  <p dir="LTR"><span lang="en-ca">                                <font
 face="Calibri">this.layer.redraw();                            </font></span></p>
  <p dir="LTR"><span lang="en-ca">                        <font
 face="Calibri">}                       </font></span></p>
  <p dir="LTR"><span lang="en-ca">                <font face="Calibri">}</font></span></p>
  <p dir="LTR"><span lang="en-ca">        <font face="Calibri">});    
        </font></span></p>
  <p dir="LTR"><span lang="en-ca"><font face="Calibri"> </font></span></p>
  <p dir="LTR"><span lang="en-ca"><font face="Calibri">    wfs = new
OpenLayers.Layer.Vector("Editable Features", {</font></span></p>
  <p dir="LTR"><span lang="en-ca"><font face="Calibri">       
strategies: [new OpenLayers.Strategy.BBOX(), saveStrategy],</font></span></p>
  <p dir="LTR"><span lang="en-ca"><font face="Calibri">        </font></span></p>
  <p dir="LTR"><span lang="en-ca"><font face="Calibri">        </font></span></p>
  <p dir="LTR"><span lang="en-ca"><font face="Calibri">        AND SO
ON...</font></span></p>
  <p dir="LTR"><span lang="en-ca">        <font face="Calibri">Any
Suggestions ?</font></span></p>
  <p dir="LTR"><span lang="en-ca">        </span></p>
  <p dir="LTR"><span lang="en-ca">        <font face="Calibri">David G.</font></span><span
 lang="en-ca"></span></p>
  <pre wrap="">
<fieldset class="mimeAttachmentHeader"></fieldset>
_______________________________________________
Users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Users@openlayers.org">Users@openlayers.org</a>
<a class="moz-txt-link-freetext" href="http://openlayers.org/mailman/listinfo/users">http://openlayers.org/mailman/listinfo/users</a>
  </pre>
</blockquote>
<br>
<br>
<pre class="moz-signature" cols="72">-- 
--- 
Adrian Popa
NOC Division
Network Engineer
Divizia Centrul National de Operare Retea
Departament Transport IP &amp; Metro
Compartiment IP Core &amp; Backbone
Phone: +40 21 400 3099
</pre>
</body>
</html>