diff options
author | fmoga <fmoga@13f79535-47bb-0310-9956-ffa450edef68> | 2010-08-15 07:25:44 +0000 |
---|---|---|
committer | fmoga <fmoga@13f79535-47bb-0310-9956-ffa450edef68> | 2010-08-15 07:25:44 +0000 |
commit | ce3c5536c9af5f535d0057498d0d76848b7a4cb5 (patch) | |
tree | 8ed58bca59499a71f87bab57d0327ed195b8ad47 /sca-java-2.x/contrib/modules/binding-comet-runtime/src/main/resources | |
parent | d6451b81703c809abcd0f51e74abdba7c732b513 (diff) |
Added Javascript proxy generation.
Added passing parameters through JSON.
Added Gson and jquery-json as dependencies.
git-svn-id: http://svn.us.apache.org/repos/asf/tuscany@985622 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to '')
3 files changed, 57 insertions, 55 deletions
diff --git a/sca-java-2.x/contrib/modules/binding-comet-runtime/src/main/resources/cometComponentContext.js b/sca-java-2.x/contrib/modules/binding-comet-runtime/src/main/resources/cometComponentContext.js new file mode 100644 index 0000000000..7352a2215c --- /dev/null +++ b/sca-java-2.x/contrib/modules/binding-comet-runtime/src/main/resources/cometComponentContext.js @@ -0,0 +1,26 @@ +var tuscanyComet = { + appUrl: 'tuscany-comet', + connectedEndpoint : null, + connect : function(transport) { + $.atmosphere.subscribe(document.location.toString() + this.appUrl, + this.callback, + $.atmosphere.request = { + transport : transport + }); + this.connectedEndpoint = $.atmosphere.response; + }, + callAsync : function(url, params, callbackMethod) { + this.connectedEndpoint.push(document.location.toString() + + this.appUrl + '/' + url, + null, + $.atmosphere.request = { + method : 'POST', + data : 'callback=' + callbackMethod.name + '¶ms=' + params + }); + }, + callback : function(response) { + eval(response.responseBody); + } +}; + +var cometComponentContext = new Object(); diff --git a/sca-java-2.x/contrib/modules/binding-comet-runtime/src/main/resources/jquery.json-2.2.min.js b/sca-java-2.x/contrib/modules/binding-comet-runtime/src/main/resources/jquery.json-2.2.min.js new file mode 100644 index 0000000000..bad4a0afa0 --- /dev/null +++ b/sca-java-2.x/contrib/modules/binding-comet-runtime/src/main/resources/jquery.json-2.2.min.js @@ -0,0 +1,31 @@ + +(function($){$.toJSON=function(o) +{if(typeof(JSON)=='object'&&JSON.stringify) +return JSON.stringify(o);var type=typeof(o);if(o===null) +return"null";if(type=="undefined") +return undefined;if(type=="number"||type=="boolean") +return o+"";if(type=="string") +return $.quoteString(o);if(type=='object') +{if(typeof o.toJSON=="function") +return $.toJSON(o.toJSON());if(o.constructor===Date) +{var month=o.getUTCMonth()+1;if(month<10)month='0'+month;var day=o.getUTCDate();if(day<10)day='0'+day;var year=o.getUTCFullYear();var hours=o.getUTCHours();if(hours<10)hours='0'+hours;var minutes=o.getUTCMinutes();if(minutes<10)minutes='0'+minutes;var seconds=o.getUTCSeconds();if(seconds<10)seconds='0'+seconds;var milli=o.getUTCMilliseconds();if(milli<100)milli='0'+milli;if(milli<10)milli='0'+milli;return'"'+year+'-'+month+'-'+day+'T'+ +hours+':'+minutes+':'+seconds+'.'+milli+'Z"';} +if(o.constructor===Array) +{var ret=[];for(var i=0;i<o.length;i++) +ret.push($.toJSON(o[i])||"null");return"["+ret.join(",")+"]";} +var pairs=[];for(var k in o){var name;var type=typeof k;if(type=="number") +name='"'+k+'"';else if(type=="string") +name=$.quoteString(k);else +continue;if(typeof o[k]=="function") +continue;var val=$.toJSON(o[k]);pairs.push(name+":"+val);} +return"{"+pairs.join(", ")+"}";}};$.evalJSON=function(src) +{if(typeof(JSON)=='object'&&JSON.parse) +return JSON.parse(src);return eval("("+src+")");};$.secureEvalJSON=function(src) +{if(typeof(JSON)=='object'&&JSON.parse) +return JSON.parse(src);var filtered=src;filtered=filtered.replace(/\\["\\\/bfnrtu]/g,'@');filtered=filtered.replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,']');filtered=filtered.replace(/(?:^|:|,)(?:\s*\[)+/g,'');if(/^[\],:{}\s]*$/.test(filtered)) +return eval("("+src+")");else +throw new SyntaxError("Error parsing JSON, source is not valid.");};$.quoteString=function(string) +{if(string.match(_escapeable)) +{return'"'+string.replace(_escapeable,function(a) +{var c=_meta[a];if(typeof c==='string')return c;c=a.charCodeAt();return'\\u00'+Math.floor(c/16).toString(16)+(c%16).toString(16);})+'"';} +return'"'+string+'"';};var _escapeable=/["\\\x00-\x1f\x7f-\x9f]/g;var _meta={'\b':'\\b','\t':'\\t','\n':'\\n','\f':'\\f','\r':'\\r','"':'\\"','\\':'\\\\'};})(jQuery);
\ No newline at end of file diff --git a/sca-java-2.x/contrib/modules/binding-comet-runtime/src/main/resources/org.apache.tuscany.sca.cometComponentContext.js b/sca-java-2.x/contrib/modules/binding-comet-runtime/src/main/resources/org.apache.tuscany.sca.cometComponentContext.js deleted file mode 100644 index c8dc19d15a..0000000000 --- a/sca-java-2.x/contrib/modules/binding-comet-runtime/src/main/resources/org.apache.tuscany.sca.cometComponentContext.js +++ /dev/null @@ -1,55 +0,0 @@ -// TODO: Try isolating functional code one piece at a time by using it like in the inital version -var tuscanyComet = { - connectedEndpoint : null, - connect : function(transport) { - $.atmosphere.subscribe(document.location.toString() + 'tuscany-comet', - this.callback, - $.atmosphere.request = { - transport : transport - }); - this.connectedEndpoint = $.atmosphere.response; - }, - callAsync : function(url, callbackMethod) { - this.connectedEndpoint.push(document.location.toString() - + 'tuscany-comet/' + url, - null, - $.atmosphere.request = { - method : 'POST', - data : 'callback=' + callbackMethod.name - }); - }, - callback : function(response) { - var data = response.responseBody; - if (data.indexOf('#') != -1) { - var callbackMethod = data.substring(0, data.indexOf('#')); - data = data.substring(data.indexOf('#') + 1); - eval(callbackMethod + '("' + data + '");'); - } - } -}; - -// To be generated -var cometComponentContext = { - c1 : { - TemperatureService : { - getTemperatureCelsius : function(callbackMethod) { - tuscanyComet.callAsync('c1/TemperatureService/getTemperatureCelsius', callbackMethod); - }, - getTemperatureFahrenheit : function(callbackMethod) { - tuscanyComet.callAsync('c1/TemperatureService/getTemperatureFahrenheit', callbackMethod); - } - }, - HumidityService : { - getHumidity : function(callbackMethod) { - tuscanyComet.callAsync('c1/HumidityService/getHumidity', callbackMethod); - } - } - }, - c2 : { - PrecipitationService : { - getPrecipitation : function(callbackMethod) { - tuscanyComet.callAsync('c2/PrecipitationService/getPrecipitation', callbackMethod); - } - } - } -}
\ No newline at end of file |