Author: knopp
Date: Thu Aug 21 17:03:32 2008
New Revision: 687907

URL: http://svn.apache.org/viewvc?rev=687907&view=rev
Log:
more stuff to go

Modified:
    
wicket/sandbox/knopp/experimental/wicket-examples/src/main/java/org/apache/wicket/ajax/TestPage1.java
    
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxBehavior.java
    
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxEventBehavior.java
    
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxRequestAttributesImpl.java
    
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/FunctionList.java
    
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js

Modified: 
wicket/sandbox/knopp/experimental/wicket-examples/src/main/java/org/apache/wicket/ajax/TestPage1.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket-examples/src/main/java/org/apache/wicket/ajax/TestPage1.java?rev=687907&r1=687906&r2=687907&view=diff
==============================================================================
--- 
wicket/sandbox/knopp/experimental/wicket-examples/src/main/java/org/apache/wicket/ajax/TestPage1.java
 (original)
+++ 
wicket/sandbox/knopp/experimental/wicket-examples/src/main/java/org/apache/wicket/ajax/TestPage1.java
 Thu Aug 21 17:03:32 2008
@@ -16,7 +16,13 @@
  */
 package org.apache.wicket.ajax;
 
+import java.util.HashMap;
+import java.util.Map;
+
 import org.apache.wicket.ajaxng.AjaxEventBehavior;
+import org.apache.wicket.ajaxng.AjaxRequestAttributes;
+import org.apache.wicket.ajaxng.AjaxRequestAttributesImpl;
+import org.apache.wicket.ajaxng.FunctionList;
 import org.apache.wicket.markup.html.WebMarkupContainer;
 import org.apache.wicket.markup.html.WebPage;
 
@@ -32,10 +38,65 @@
        public TestPage1()
        {
                WebMarkupContainer c1 = new WebMarkupContainer("c1");
-               c1.add(new AjaxEventBehavior("click") {
-                       
+               c1.add(new AjaxEventBehavior("click")
+               {
+                       /**
+                        * @see 
org.apache.wicket.ajaxng.AjaxBehavior#getAttributes()
+                        */
+                       @Override
+                       public AjaxRequestAttributes getAttributes()
+                       {
+                               return new 
AjaxRequestAttributesImpl(super.getAttributes())
+                               {
+                                       /**
+                                        * @see 
org.apache.wicket.ajaxng.AjaxRequestAttributesImpl#getUrlArguments()
+                                        */
+                                       @Override
+                                       public Map<String, Object> 
getUrlArguments()
+                                       {
+                                               Map<String, Object> args = new 
HashMap<String, Object>();
+                                               
+                                               args.put("key 1", "value\n\t1");
+                                               
+                                               return args;
+                                       }
+                                       /**
+                                        * @see 
org.apache.wicket.ajaxng.AjaxRequestAttributesImpl#getBeforeHandlers()
+                                        */
+                                       @Override
+                                       public FunctionList getBeforeHandlers()
+                                       {
+                                               return 
super.getBeforeHandlers().add("function(i) { WicketNG.Log.debug('before!'); 
}").add(0, "function(i) { WicketNG.Log.debug('b!'); }");
+                                       }
+                                       /**
+                                        * @see 
org.apache.wicket.ajaxng.AjaxRequestAttributesImpl#getSuccessHandlers()
+                                        */
+                                       @Override
+                                       public FunctionList getSuccessHandlers()
+                                       {
+                                               return 
super.getSuccessHandlers().add("function(i) { WicketNG.Log.debug('after!'); }");
+                                       }
+                                       /**
+                                        * @see 
org.apache.wicket.ajaxng.AjaxRequestAttributesImpl#getPreconditions()
+                                        */
+                                       @Override
+                                       public FunctionList getPreconditions()
+                                       {
+                                               return 
super.getPreconditions().add("function(i) { return true;}");
+                                       }
+                                       /**
+                                        * @see 
org.apache.wicket.ajaxng.AjaxRequestAttributesImpl#getUrlArgumentMethods()
+                                        */
+                                       @Override
+                                       public FunctionList 
getUrlArgumentMethods()
+                                       {
+                                               return 
super.getUrlArgumentMethods().add("function(i) { return { 
x:i.event.clientX,y:i.event.clientY }; }");
+                                       }
+                               };
+                       }
                });
-               c1.add(new org.apache.wicket.ajax.AjaxEventBehavior("onclick") {
+               c1.add(new org.apache.wicket.ajax.AjaxEventBehavior("onclick")
+               {
                        /**
                         * @see 
org.apache.wicket.ajax.AjaxEventBehavior#onEvent(org.apache.wicket.ajax.AjaxRequestTarget)
                         */
@@ -44,7 +105,7 @@
                        {
                        }
                });
-               
+
                add(c1);
        }
 

Modified: 
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxBehavior.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxBehavior.java?rev=687907&r1=687906&r2=687907&view=diff
==============================================================================
--- 
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxBehavior.java
 (original)
+++ 
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxBehavior.java
 Thu Aug 21 17:03:32 2008
@@ -17,7 +17,10 @@
 package org.apache.wicket.ajaxng;
 
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.wicket.Component;
 import org.apache.wicket.Page;
@@ -39,7 +42,7 @@
        private static final long serialVersionUID = 1L;
 
        private final List<Component> boundComponents = new 
ArrayList<Component>();
-       
+
        /**
         * Construct.
         */
@@ -47,20 +50,26 @@
        {
        }
 
-               
-       private final static ResourceReference YUI_BASE = new 
JavascriptResourceReference(AjaxBehavior.class, "js/yui3/yui-base/yui-base.js");
-       private final static ResourceReference YUI_OOP = new 
JavascriptResourceReference(AjaxBehavior.class, "js/yui3/oop/oop.js");
-       private final static ResourceReference YUI_EVENT = new 
JavascriptResourceReference(AjaxBehavior.class, "js/yui3/event/event.js");
-       private final static ResourceReference YUI_DOM = new 
JavascriptResourceReference(AjaxBehavior.class, "js/yui3/dom/dom.js");
-       private final static ResourceReference YUI_NODE = new 
JavascriptResourceReference(AjaxBehavior.class, "js/yui3/node/node.js");
-       private final static ResourceReference YUI_IO = new 
JavascriptResourceReference(AjaxBehavior.class, "js/yui3/io/io.js");        
-       private final static ResourceReference AJAX_NG = new 
JavascriptResourceReference(AjaxBehavior.class, "js/wicket-ajax-ng.js");
+       private final static ResourceReference YUI_BASE = new 
JavascriptResourceReference(
+               AjaxBehavior.class, "js/yui3/yui-base/yui-base.js");
+       private final static ResourceReference YUI_OOP = new 
JavascriptResourceReference(
+               AjaxBehavior.class, "js/yui3/oop/oop.js");
+       private final static ResourceReference YUI_EVENT = new 
JavascriptResourceReference(
+               AjaxBehavior.class, "js/yui3/event/event.js");
+       private final static ResourceReference YUI_DOM = new 
JavascriptResourceReference(
+               AjaxBehavior.class, "js/yui3/dom/dom.js");
+       private final static ResourceReference YUI_NODE = new 
JavascriptResourceReference(
+               AjaxBehavior.class, "js/yui3/node/node.js");
+       private final static ResourceReference YUI_IO = new 
JavascriptResourceReference(
+               AjaxBehavior.class, "js/yui3/io/io.js");
+       private final static ResourceReference AJAX_NG = new 
JavascriptResourceReference(
+               AjaxBehavior.class, "js/wicket-ajax-ng.js");
 
        /**
         * Wicket javascript namespace.
         */
-       public final static String WICKET_NS = "WicketNG";              
-       
+       public final static String WICKET_NS = "WicketNG";
+
        public void renderHead(Component component, IHeaderResponse response)
        {
                response.renderJavascriptReference(YUI_BASE);
@@ -70,38 +79,38 @@
                response.renderJavascriptReference(YUI_NODE);
                response.renderJavascriptReference(YUI_IO);
                response.renderJavascriptReference(AJAX_NG);
-               
+
                CharSequence prefix = 
RequestCycle.get().urlFor(AjaxRequestTarget.DUMMY);
-               
+
                StringBuilder config = new StringBuilder();
-               config.append(WICKET_NS +".ajax.globalSettings.urlPrefix='");
+               config.append(WICKET_NS + ".ajax.globalSettings.urlPrefix='");
                config.append(prefix);
                config.append("'\n");
-               
-               config.append(WICKET_NS 
+".ajax.globalSettings.urlParamComponentId='");
+
+               config.append(WICKET_NS + 
".ajax.globalSettings.urlParamComponentId='");
                config.append(AjaxUrlCodingStrategy.PARAM_COMPONENT_ID);
                config.append("'\n");
-               
-               config.append(WICKET_NS 
+".ajax.globalSettings.urlParamTimestamp='");
+
+               config.append(WICKET_NS + 
".ajax.globalSettings.urlParamTimestamp='");
                config.append(AjaxUrlCodingStrategy.PARAM_TIMESTAMP);
                config.append("'\n");
-               
-               config.append(WICKET_NS 
+".ajax.globalSettings.urlParamPageId='");
+
+               config.append(WICKET_NS + 
".ajax.globalSettings.urlParamPageId='");
                config.append(AjaxUrlCodingStrategy.PARAM_PAGE_ID);
                config.append("'\n");
-                               
-               config.append(WICKET_NS 
+".ajax.globalSettings.urlParamFormId='");
+
+               config.append(WICKET_NS + 
".ajax.globalSettings.urlParamFormId='");
                config.append(AjaxUrlCodingStrategy.PARAM_FORM_ID);
                config.append("'\n");
-               
-               config.append(WICKET_NS 
+".ajax.globalSettings.urlParamListenerInterface='");
+
+               config.append(WICKET_NS + 
".ajax.globalSettings.urlParamListenerInterface='");
                config.append(AjaxUrlCodingStrategy.PARAM_LISTENER_INTEFACE);
                config.append("'\n");
-               
-               config.append(WICKET_NS 
+".ajax.globalSettings.urlParamBehaviorIndex='");
+
+               config.append(WICKET_NS + 
".ajax.globalSettings.urlParamBehaviorIndex='");
                config.append(AjaxUrlCodingStrategy.PARAM_BEHAVIOR_INDEX);
                config.append("'\n");
-               
+
                response.renderJavascript(config, WICKET_NS + "-Config");
        }
 
@@ -119,17 +128,44 @@
                {
                        boundComponents.add(component);
                        component.setOutputMarkupId(true);
-               }                                       
+               }
+       }
+       
+       public List<Component> getBoundComponents()
+       {
+               return Collections.unmodifiableList(boundComponents);
        }
 
-       protected String getAttributes(Component component)
+       /**
+        * Renders the javascript object with Ajax request attributes. The 
object can be used
+        * as argument for <code>RequestQueueItem</code> constructor.
+        * 
+        * @param component
+        * @return attributes javascript object rendered as string.
+        */
+       public String renderAttributes(Component component)
        {
-               StringBuilder res = new StringBuilder();
-               
-               res.append("{");
-               
-               res.append("p:'");              
-               Page page = component.getPage();
+               Map<String, Object> map = new HashMap<String, Object>();
+               map.put("p", 
escapeJavascriptString(getPageId(component.getPage())));
+
+               if (component instanceof Page == false)
+               {
+                       map.put("c", 
escapeJavascriptString(component.getMarkupId()));
+               }
+
+               int behaviorIndex = component.getBehaviors().indexOf(this);
+
+               map.put("b", behaviorIndex);
+
+               renderAttributes(component, getAttributes(), map);
+
+               return renderMap(map);
+       }
+       
+       private CharSequence getPageId(Page page)
+       {
+               StringBuilder res = new StringBuilder(5);
+
                if (page.getPageMapName() != null)
                {
                        res.append(page.getPageMapName());
@@ -138,27 +174,180 @@
                res.append(page.getNumericId());
                res.append(":");
                res.append(page.getCurrentVersionNumber());
+
+               return res;
+       }
+
+       private String renderMap(Map<String, Object> map)
+       {
+               StringBuilder res = new StringBuilder();
+
+               if (map == null)
+               {
+                       return "{}";
+               }
                
-               res.append("'");
+               res.append("{");
+               boolean first = true;
+               for (String s : map.keySet())
+               {
+                       Object value = map.get(s);
+                       
+                       if (value == null)
+                       {
+                               continue;
+                       }
+                       
+                       if (!first)
+                       {
+                               res.append(",");
+                       }
+                       else
+                       {
+                               first = false;
+                       }
+                       
+                       res.append(s);
                
+                       res.append(":");
                
-               if (component instanceof Page == false)
+                       res.append(value);
+
+               }
+               res.append("}");
+
+               return res.toString();
+       }
+
+       private CharSequence escapeJavascriptString(CharSequence s)
+       {               
+               if (s == null)
                {
-                       res.append(",c:'");
-                       res.append(component.getMarkupId());
-                       res.append("'");
+                       return null;
                }
+               StringBuilder res = new StringBuilder(s.length() + 2);
+
+               res.append("'");
                
-               int behaviorIndex = component.getBehaviors().indexOf(this);
+               for (int i = 0; i < s.length(); ++i)
+               {
+                       char c = s.charAt(i);
+                       switch (c)
+                       {
+                               case '\'' :
+                                       res.append("\\'");
+                                       break;
+                               case '\"' :
+                                       res.append("\\\"");
+                                       break;
+                               case '\\':
+                                       res.append("\\\\");
+                                       break;
+                               case '\n' :
+                                       res.append("\\n");                      
                
+                                       break;
+                               case '\r' :
+                                       res.append("\\r");
+                                       break;
+                               case '\t' :
+                                       res.append("\\t");
+                                       break;
+                               default:
+                                       res.append(c);
+                       }
+               }
                
-               res.append(",b:");
-               res.append(behaviorIndex);
+               res.append("'");
+
+               return res;
+       }
+
+       private CharSequence renderFunctionList(FunctionList list)
+       {
+               if (list == null || list.isEmpty())
+               {
+                       return null;
+               }
+               else if (list.size() == 1)
+               {
+                       return list.get(0);
+               }
+               else
+               {
+                       StringBuilder res = new StringBuilder();
+                       boolean first = true;
+                       res.append("[");
+                       
+                       for (int i = 0; i < list.size(); ++i)                   
        
+                       {
+                               String s = list.get(i);
                                
-               res.append("}");
+                               if (!first)
+                               {
+                                       res.append(",");
+                               }
+                               else
+                               {
+                                       first = false;
+                               }
+                               
+                               res.append(s);
+                       }
+                       
+                       res.append("]");
+                       return res;
+               }               
+       }
+       
+       private Map<String, Object> escapeMap(Map<String, Object> map)
+       {
+               if (map == null)
+               {
+                       return null;
+               }
+               Map<String, Object> res = new HashMap<String, Object>();
                
-               return res.toString();
+               for (String s : map.keySet())
+               {
+                       Object value = map.get(s);
+                       if (value instanceof Number == false)
+                       {
+                               value = 
escapeJavascriptString((value).toString());
+                       }
+                       res.put(escapeJavascriptString(s).toString(), value);
+               }
+               
+               return res;
        }
        
+       private void renderAttributes(Component component, 
AjaxRequestAttributes attributes,
+               Map<String, Object> map)
+       {
+               if (attributes.getForm() != null)
+               {
+                       map.put("f", 
escapeJavascriptString(attributes.getForm().getMarkupId()));
+               }
+               map.put("m", attributes.isMultipart());
+               map.put("t", attributes.getRequesTimeout());
+               map.put("pt", attributes.getProcessingTimeout());
+               map.put("t", escapeJavascriptString(attributes.getToken()));
+               map.put("r", attributes.isRemovePrevious());
+               map.put("th", attributes.getThrottle());
+               map.put("thp", attributes.isThrottlePostpone());
+               map.put("pr", 
renderFunctionList(attributes.getPreconditions()));
+               map.put("be", 
renderFunctionList(attributes.getBeforeHandlers()));
+               map.put("s", 
renderFunctionList(attributes.getSuccessHandlers()));
+               map.put("e", renderFunctionList(attributes.getErrorHandlers()));
+
+               Map<String, Object> urlArguments = attributes.getUrlArguments();
+               if (urlArguments != null && !urlArguments.isEmpty())
+               {
+                       map.put("u", renderMap(escapeMap(urlArguments)));
+               }
+               
+               map.put("ua", 
renderFunctionList(attributes.getUrlArgumentMethods()));
+       }
+
        public void detach(Component component)
        {
        }

Modified: 
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxEventBehavior.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxEventBehavior.java?rev=687907&r1=687906&r2=687907&view=diff
==============================================================================
--- 
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxEventBehavior.java
 (original)
+++ 
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxEventBehavior.java
 Thu Aug 21 17:03:32 2008
@@ -42,7 +42,7 @@
                js.append(AjaxBehavior.WICKET_NS + ".e('");
                js.append(event);
                js.append("',");
-               js.append(getAttributes(component));
+               js.append(renderAttributes(component));
                js.append(")");
                
                response.renderOnDomReadyJavascript(js.toString());

Modified: 
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxRequestAttributesImpl.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxRequestAttributesImpl.java?rev=687907&r1=687906&r2=687907&view=diff
==============================================================================
--- 
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxRequestAttributesImpl.java
 (original)
+++ 
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/AjaxRequestAttributesImpl.java
 Thu Aug 21 17:03:32 2008
@@ -47,14 +47,14 @@
  */
 public class AjaxRequestAttributesImpl implements AjaxRequestAttributes
 {
-       private final AjaxRequestAttributesImpl delegate;
+       private final AjaxRequestAttributes delegate;
 
        /**
         * Construct.
         * 
         * @param delegate
         */
-       public AjaxRequestAttributesImpl(AjaxRequestAttributesImpl delegate)
+       public AjaxRequestAttributesImpl(AjaxRequestAttributes delegate)
        {
                this.delegate = delegate;
        }

Modified: 
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/FunctionList.java
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/FunctionList.java?rev=687907&r1=687906&r2=687907&view=diff
==============================================================================
--- 
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/FunctionList.java
 (original)
+++ 
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/FunctionList.java
 Thu Aug 21 17:03:32 2008
@@ -34,7 +34,7 @@
 
        public FunctionList add(int index, String element)
        {
-               add(index, element);
+               list.add(index, element);
                return this;
        }
 

Modified: 
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js
URL: 
http://svn.apache.org/viewvc/wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js?rev=687907&r1=687906&r2=687907&view=diff
==============================================================================
--- 
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js
 (original)
+++ 
wicket/sandbox/knopp/experimental/wicket/src/main/java/org/apache/wicket/ajaxng/js/wicket-ajax-ng.js
 Thu Aug 21 17:03:32 2008
@@ -154,28 +154,28 @@
                logger = FirebugLogger;
        }       
        
-       var logConfig = { trace: true, debug: true, info: true, error: true, 
"trace:GarbageCollector": false };
+       var logConfig = { disableAll: false, trace: true, debug: true, info: 
true, error: true, "trace:GarbageCollector": false };
        
        W.Log  = 
        {
                trace: function()
                {
-                       if (logConfig.trace && logConfig[arguments[0]] != false 
&& logConfig["trace:" + arguments[0]] != false)
+                       if (!logConfig.disableAll && logConfig.trace && 
logConfig[arguments[0]] != false && logConfig["trace:" + arguments[0]] != false)
                                logger.trace.apply(this, arguments);
                },
                debug: function()
                {
-                       if (logConfig.debug && logConfig[arguments[0]] != false 
&& logConfig["debug:" + arguments[0]] != false)
+                       if (!logConfig.disableAll && logConfig.debug && 
logConfig[arguments[0]] != false && logConfig["debug:" + arguments[0]] != false)
                                logger.debug.apply(this, arguments);
                },
                info: function()
                {
-                       if (logConfig.info && logConfig[arguments[0]] != false 
&& logConfig["info:" + arguments[0]] != false)
+                       if (!logConfig.disableAll && logConfig.info && 
logConfig[arguments[0]] != false && logConfig["info:" + arguments[0]] != false)
                                logger.info.apply(this, arguments);
                },
                error: function()
                {
-                       if (logConfig.error && logConfig[arguments[0]] != false 
&& logConfig["error:" + arguments[0]] != false)
+                       if (!logConfig.disableAll && logConfig.error && 
logConfig[arguments[0]] != false && logConfig["error:" + arguments[0]] != false)
                                logger.error.apply(this, arguments);
                },
                setLogger: function(newLogger)
@@ -190,7 +190,7 @@
                {
                        return logger == DummyLogger;
                },
-               getLogConfig: function() 
+               getConfig: function() 
                {
                        return logConfig;
                }
@@ -465,6 +465,7 @@
        var mapToUrlParameters = function(map)
        {
                var res = "";
+               var key;
                for (key in map)
                {
                        var value = map[key];
@@ -518,6 +519,7 @@
                        }                               
                }
                
+               var key;
                for (key in map)
                {
                        var value = map[key];
@@ -712,6 +714,7 @@
                                {                                       
                                        if (precondition(this) == false)
                                        {
+                                               log.debug("RequestQueue", 
"Precondition failed - skiping item; Item: ", this, " Precondition: ", 
precondition);
                                                return false;
                                        }
                                } 
@@ -845,13 +848,13 @@
                
                onSuccess: function(transactionId, responseObject)
                {
-                       log.debug("RequestQueue", "Request successful - 
TransactionId: ", transactionId, " Response: ", responseObject);
+                       log.debug("RequestQueue", "Request successful - 
TransactionId: ", transactionId, " Response: ", responseObject, "Item: ", this);
                        
                },
                
                onFailure: function(transactionId, responseObject)
                {
-                       log.debug("RequestQueue", "Request failed - 
TransactionId: ", transactionId, " Response: ", responseObject);
+                       log.debug("RequestQueue", "Request failed - 
TransactionId: ", transactionId, " Response: ", responseObject, "Item: ", this);
                        this.failure();
                },
                
@@ -882,7 +885,7 @@
                        var url = this.buildUrl();
                        var cfg = this.getRequestCfg(url);
                        
-                       log.debug("RequestQueue", "Initiating AJAX Request on 
url ", url + " with configuration ", cfg);
+                       log.debug("RequestQueue", "Initiating AJAX Request on 
url ", { url: url }, " with configuration ", cfg);
                        
                        var request = Y.io(url, cfg);
                        


Reply via email to