[Laszlo-checkins] r11698 - in openlaszlo/trunk: WEB-INF/lps/lfc/data lps/components/lzunit test/lfc/data

hqm@openlaszlo.org hqm at openlaszlo.org
Wed Nov 5 17:15:21 PST 2008


Author: hqm
Date: 2008-11-05 17:15:19 -0800 (Wed, 05 Nov 2008)
New Revision: 11698

Modified:
   openlaszlo/trunk/WEB-INF/lps/lfc/data/LzDataset.lzs
   openlaszlo/trunk/WEB-INF/lps/lfc/data/LzHTTPDataProvider.lzs
   openlaszlo/trunk/lps/components/lzunit/lzunit.lzx
   openlaszlo/trunk/test/lfc/data/alldata.lzx
Log:
Change 20081105-hqm-z by hqm at badtzmaru-7.local on 2008-11-05 17:04:35 PST
    in /Users/hqm/openlaszlo/trunk4
    for http://svn.openlaszlo.org/openlaszlo/trunk

Summary:  declare proper data type for dataset.proxied

New Features:

Bugs Fixed: LPP-7301

Technical Reviewer: max
QA Reviewer: (pending)
Doc Reviewer: (pending)

Documentation:

Release Notes:

Details:
    
+ add  declaration for dataset.proxied attribute as comment


Tests:

test/lfc/data/alldata.lzx compiles in swf9



Modified: openlaszlo/trunk/WEB-INF/lps/lfc/data/LzDataset.lzs
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/data/LzDataset.lzs	2008-11-05 22:26:11 UTC (rev 11697)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/data/LzDataset.lzs	2008-11-06 01:15:19 UTC (rev 11698)
@@ -100,6 +100,12 @@
 /** @access private */
 static const slashPat :String = "/";
 
+/** Holds raw data response string from data source
+ * @type String
+ * @lzxdefault null
+ */
+var rawdata:String = null;
+
 /** Holds a pointer to the DataProvider which handles data load requests for this dataset. 
   * Default value is canvas.defaultdataprovider
   */
@@ -286,9 +292,10 @@
 var headers :LzParam = null;
 
 /** Proxy data requests via the proxy server. Inherits value from canvas.proxied flag.
-  * @type Boolean or null
-  * @lzxdefault null
-  */
+ * @type inheritableBoolean
+ * @lzxdefault "inherit"
+ * @access public 
+ */
 var proxied :* = null;
 /** @access private */
 function $lzc$set_proxied (val:*) :void {
@@ -775,6 +782,8 @@
         this.dsloadDel.unregisterFrom(datareq.onstatus);
     }
     
+    this.rawdata = datareq.rawdata;
+
     if (datareq.status == LzDataRequest.SUCCESS) {
         this.setData(datareq.xmldata, datareq.responseheaders);
     } else if (datareq.status == LzDataRequest.ERROR) {

Modified: openlaszlo/trunk/WEB-INF/lps/lfc/data/LzHTTPDataProvider.lzs
===================================================================
--- openlaszlo/trunk/WEB-INF/lps/lfc/data/LzHTTPDataProvider.lzs	2008-11-05 22:26:11 UTC (rev 11697)
+++ openlaszlo/trunk/WEB-INF/lps/lfc/data/LzHTTPDataProvider.lzs	2008-11-06 01:15:19 UTC (rev 11698)
@@ -278,6 +278,7 @@
      */
     function loadResponse (dreq:LzHTTPDataRequest, data:*) :void {
         dreq.loadtime = (new Date()).getTime() - dreq.loadstarttime;
+        dreq.rawdata = dreq.loader.getResponse();
 
         if (data == null) {
             this.setRequestError(dreq, "client could not parse XML from server");
@@ -296,7 +297,6 @@
             // We might change this at some point and make the server
             // return all proxied responses wrapped up in that format,
             // but it is not being done now for RPC and other raw data users.
-            dreq.rawdata = dreq.loader.getResponse();
             dreq.onstatus.sendEvent( dreq );
             return;
         } else if (proxied && data.childNodes[0].nodeName == "error") {
@@ -331,7 +331,6 @@
 
         dreq.xmldata = content;
         dreq.responseheaders = headers;
-        dreq.rawdata = dreq.loader.getResponse();
         dreq.onstatus.sendEvent( dreq );
     }
 }

Modified: openlaszlo/trunk/lps/components/lzunit/lzunit.lzx
===================================================================
--- openlaszlo/trunk/lps/components/lzunit/lzunit.lzx	2008-11-05 22:26:11 UTC (rev 11697)
+++ openlaszlo/trunk/lps/components/lzunit/lzunit.lzx	2008-11-06 01:15:19 UTC (rev 11698)
@@ -741,6 +741,51 @@
     <method name="tearDown">
     </method>
 
+    <method name="xmlstringequals" args="str1,str2">
+    var nxml1 = LzXMLParser.parseXML(str1, null, null);
+    var xml1 = LzXMLTranslator.copyXML(nxml1, null, null);
+
+    var nxml2 = LzXMLParser.parseXML(str2, null, null);
+    var xml2 = LzXMLTranslator.copyXML(nxml2, null, null);
+    return xmlequals(xml1, xml2);
+    </method>
+
+    <method name="xmlequals" args="x1, x2">
+      <![CDATA[
+    if (x1.nodeType != x2.nodeType) return false;
+    // text node
+    if (x1.nodeType == 3) {
+        if (x1.data != x2.data) return false;
+    } else if  (x1.nodeType ==  1){
+
+        // shouldn't ever happen, childNodes should always be non-null
+        if ( ((x1.childNodes == null) && (x2.childNodes != null)) ||
+             ((x1.childNodes != null) && (x2.childNodes == null))) return false;
+
+        if (x1.childNodes.length != x2.childNodes.length) return false;
+
+
+        // compare attributes
+        for (var attr in x1.attributes) {
+            var v1 = x1.attributes[attr];
+            var v2 = x2.attributes[attr];
+            if (v1 != v2) return false;
+        }
+        // recurse
+        var val  = false;       // 
+        for (var i = 0; i < x1.childNodes.length; i++) {
+            if (!xmlequals(x1.childNodes[i], x2.childNodes[i])) {
+                return false;
+            }
+        }
+    } else {
+        return false;
+    }
+    return true;
+    ]]>
+  </method>
+
+
 </class>
 
 

Modified: openlaszlo/trunk/test/lfc/data/alldata.lzx
===================================================================
--- openlaszlo/trunk/test/lfc/data/alldata.lzx	2008-11-05 22:26:11 UTC (rev 11697)
+++ openlaszlo/trunk/test/lfc/data/alldata.lzx	2008-11-06 01:15:19 UTC (rev 11698)
@@ -4,7 +4,6 @@
   covers-tags: lzdata smoketest
 -->
 
-    <include href="lztest/xmlequals.lzx"/>
     <include href="datanode.lzx"/>
     <include href="datapointer.lzx"/>
     <include href="datapointerServerless.lzx"/>



More information about the Laszlo-checkins mailing list