You are viewing a plain text version of this content. The canonical link for it is here.
Posted to scm@geronimo.apache.org by dj...@apache.org on 2009/07/16 21:14:56 UTC
svn commit: r794787 [13/34] - in
/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src: ./
animation/ cal/ charting/ charting/svg/ charting/vml/ collections/ crypto/
data/ data/core/ data/old/ data/old/format/ data/old/provider/ date/
debug/...
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/i18n/currency/nls/ja/USD.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/i18n/currency/nls/ja/USD.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/i18n/currency/nls/ja/USD.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/i18n/number.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/i18n/number.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/i18n/number.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/i18n/number.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,151 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.i18n.number");
+dojo.require("dojo.experimental");
+dojo.experimental("dojo.i18n.number");
+dojo.require("dojo.regexp");
+dojo.require("dojo.i18n.common");
+dojo.require("dojo.lang.common");
+dojo.i18n.number.format = function (value, flags, locale) {
+ flags = (typeof flags == "object") ? flags : {};
+ var formatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);
+ if (typeof flags.separator == "undefined") {
+ flags.separator = formatData[1];
+ }
+ if (typeof flags.decimal == "undefined") {
+ flags.decimal = formatData[2];
+ }
+ if (typeof flags.groupSize == "undefined") {
+ flags.groupSize = formatData[3];
+ }
+ if (typeof flags.groupSize2 == "undefined") {
+ flags.groupSize2 = formatData[4];
+ }
+ if (typeof flags.round == "undefined") {
+ flags.round = true;
+ }
+ if (typeof flags.signed == "undefined") {
+ flags.signed = true;
+ }
+ var output = (flags.signed && (value < 0)) ? "-" : "";
+ value = Math.abs(value);
+ var whole = String((((flags.places > 0) || !flags.round) ? Math.floor : Math.round)(value));
+ function splitSubstrings(str, count) {
+ for (var subs = []; str.length >= count; str = str.substr(0, str.length - count)) {
+ subs.push(str.substr(-count));
+ }
+ if (str.length > 0) {
+ subs.push(str);
+ }
+ return subs.reverse();
+ }
+ if (flags.groupSize2 && (whole.length > flags.groupSize)) {
+ var groups = splitSubstrings(whole.substr(0, whole.length - flags.groupSize), flags.groupSize2);
+ groups.push(whole.substr(-flags.groupSize));
+ output = output + groups.join(flags.separator);
+ } else {
+ if (flags.groupSize) {
+ output = output + splitSubstrings(whole, flags.groupSize).join(flags.separator);
+ } else {
+ output = output + whole;
+ }
+ }
+ if (flags.places > 0) {
+ var fract = value - Math.floor(value);
+ fract = (flags.round ? Math.round : Math.floor)(fract * Math.pow(10, flags.places));
+ output = output + flags.decimal + fract;
+ }
+ return output;
+};
+dojo.i18n.number.parse = function (value, locale, flags) {
+ flags = (typeof flags == "object") ? flags : {};
+ var formatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);
+ if (typeof flags.separator == "undefined") {
+ flags.separator = formatData[1];
+ }
+ if (typeof flags.decimal == "undefined") {
+ flags.decimal = formatData[2];
+ }
+ if (typeof flags.groupSize == "undefined") {
+ flags.groupSize = formatData[3];
+ }
+ if (typeof flags.groupSize2 == "undefined") {
+ flags.groupSize2 = formatData[4];
+ }
+ if (typeof flags.validate == "undefined") {
+ flags.validate = true;
+ }
+ if (flags.validate && !dojo.i18n.number.isReal(value, locale, flags)) {
+ return Number.NaN;
+ }
+ var numbers = value.split(flags.decimal);
+ if (numbers.length > 2) {
+ return Number.NaN;
+ }
+ var whole = Number(numbers[0].replace(new RegExp("\\" + flags.separator, "g"), ""));
+ var fract = (numbers.length == 1) ? 0 : Number(numbers[1]) / Math.pow(10, String(numbers[1]).length);
+ return whole + fract;
+};
+dojo.i18n.number.isInteger = function (value, locale, flags) {
+ flags = (typeof flags == "object") ? flags : {};
+ var formatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);
+ if (typeof flags.separator == "undefined") {
+ flags.separator = formatData[1];
+ } else {
+ if (dojo.lang.isArray(flags.separator) && flags.separator.length === 0) {
+ flags.separator = [formatData[1], ""];
+ }
+ }
+ if (typeof flags.groupSize == "undefined") {
+ flags.groupSize = formatData[3];
+ }
+ if (typeof flags.groupSize2 == "undefined") {
+ flags.groupSize2 = formatData[4];
+ }
+ var re = new RegExp("^" + dojo.regexp.integer(flags) + "$");
+ return re.test(value);
+};
+dojo.i18n.number.isReal = function (value, locale, flags) {
+ flags = (typeof flags == "object") ? flags : {};
+ var formatData = dojo.i18n.number._mapToLocalizedFormatData(dojo.i18n.number.FORMAT_TABLE, locale);
+ if (typeof flags.separator == "undefined") {
+ flags.separator = formatData[1];
+ } else {
+ if (dojo.lang.isArray(flags.separator) && flags.separator.length === 0) {
+ flags.separator = [formatData[1], ""];
+ }
+ }
+ if (typeof flags.decimal == "undefined") {
+ flags.decimal = formatData[2];
+ }
+ if (typeof flags.groupSize == "undefined") {
+ flags.groupSize = formatData[3];
+ }
+ if (typeof flags.groupSize2 == "undefined") {
+ flags.groupSize2 = formatData[4];
+ }
+ var re = new RegExp("^" + dojo.regexp.realNumber(flags) + "$");
+ return re.test(value);
+};
+(function () {
+ dojo.i18n.number.FORMAT_TABLE = {"ar-ae":["", "", ",", 1], "ar-bh":["", "", ",", 1], "ar-dz":["", "", ",", 1], "ar-eg":["", "", ",", 1], "ar-jo":["", "", ",", 1], "ar-kw":["", "", ",", 1], "ar-lb":["", "", ",", 1], "ar-ma":["", "", ",", 1], "ar-om":["", "", ",", 1], "ar-qa":["", "", ",", 1], "ar-sa":["", "", ",", 1], "ar-sy":["", "", ",", 1], "ar-tn":["", "", ",", 1], "ar-ye":["", "", ",", 1], "cs-cz":[".", ".", ",", 3], "da-dk":[".", ".", ",", 3], "de-at":[".", ".", ",", 3], "de-de":[".", ".", ",", 3], "de-lu":[".", ".", ",", 3], "de-ch":["'", "'", ".", 3], "el-gr":[".", ".", ",", 3], "en-au":[",", ",", ".", 3], "en-ca":[",", ",", ".", 3], "en-gb":[",", ",", ".", 3], "en-hk":[",", ",", ".", 3], "en-ie":[",", ",", ".", 3], "en-in":[",", ",", ".", 3, 2], "en-nz":[",", ",", ".", 3], "en-us":[",", ",", ".", 3], "en-za":[",", ",", ".", 3], "es-ar":[".", ".", ",", 3], "es-bo":[".", ".", ",", 3], "es-cl":[".", ".", ",", 3], "es-co":[".", ".", ",", 3], "es-cr":[".", ".", ",", 3],
"es-do":[".", ".", ",", 3], "es-ec":[".", ".", ",", 3], "es-es":[".", ".", ",", 3], "es-gt":[",", ",", ".", 3], "es-hn":[",", ",", ".", 3], "es-mx":[",", ",", ".", 3], "es-ni":[",", ",", ".", 3], "es-pa":[",", ",", ".", 3], "es-pe":[",", ",", ".", 3], "es-pr":[",", ",", ".", 3], "es-py":[".", ".", ",", 3], "es-sv":[",", ",", ".", 3], "es-uy":[".", ".", ",", 3], "es-ve":[".", ".", ",", 3], "fi-fi":[" ", " ", ",", 3], "fr-be":[".", ".", ",", 3], "fr-ca":[" ", " ", ",", 3], "fr-ch":[" ", " ", ".", 3], "fr-fr":[" ", " ", ",", 3], "fr-lu":[".", ".", ",", 3], "he-il":[",", ",", ".", 3], "hu-hu":[" ", " ", ",", 3], "it-ch":[" ", " ", ".", 3], "it-it":[".", ".", ",", 3], "ja-jp":[",", ",", ".", 3], "ko-kr":[",", ",", ".", 3], "no-no":[".", ".", ",", 3], "nl-be":[" ", " ", ",", 3], "nl-nl":[".", ".", ",", 3], "pl-pl":[".", ".", ",", 3], "pt-br":[".", ".", ",", 3], "pt-pt":[".", ".", "$", 3], "ru-ru":[" ", " ", ",", 3], "sv-se":[".", " ", ",", 3], "tr-tr":[".", ".", ",", 3], "zh-cn":[
",", ",", ".", 3], "zh-hk":[",", ",", ".", 3], "zh-tw":[",", ",", ".", 3], "*":[",", ",", ".", 3]};
+})();
+dojo.i18n.number._mapToLocalizedFormatData = function (table, locale) {
+ locale = dojo.hostenv.normalizeLocale(locale);
+ var data = table[locale];
+ if (typeof data == "undefined") {
+ data = table["*"];
+ }
+ return data;
+};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/i18n/number.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/i18n/number.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/i18n/number.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/iCalendar.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/iCalendar.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/iCalendar.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/iCalendar.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,15 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.require("dojo.cal.iCalendar");
+dojo.deprecated("dojo.icalendar", "use dojo.cal.iCalendar isntead", "0.5");
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/iCalendar.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/iCalendar.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/iCalendar.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,16 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.io");
+dojo.require("dojo.io.*");
+dojo.deprecated("dojo.io", "replaced by dojo.io.*", "0.5");
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/BrowserIO.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/BrowserIO.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/BrowserIO.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/BrowserIO.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,495 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.io.BrowserIO");
+dojo.require("dojo.io.common");
+dojo.require("dojo.lang.array");
+dojo.require("dojo.lang.func");
+dojo.require("dojo.string.extras");
+dojo.require("dojo.dom");
+dojo.require("dojo.undo.browser");
+if (!dj_undef("window")) {
+ dojo.io.checkChildrenForFile = function (node) {
+ var hasFile = false;
+ var inputs = node.getElementsByTagName("input");
+ dojo.lang.forEach(inputs, function (input) {
+ if (hasFile) {
+ return;
+ }
+ if (input.getAttribute("type") == "file") {
+ hasFile = true;
+ }
+ });
+ return hasFile;
+ };
+ dojo.io.formHasFile = function (formNode) {
+ return dojo.io.checkChildrenForFile(formNode);
+ };
+ dojo.io.updateNode = function (node, urlOrArgs) {
+ node = dojo.byId(node);
+ var args = urlOrArgs;
+ if (dojo.lang.isString(urlOrArgs)) {
+ args = {url:urlOrArgs};
+ }
+ args.mimetype = "text/html";
+ args.load = function (t, d, e) {
+ while (node.firstChild) {
+ dojo.dom.destroyNode(node.firstChild);
+ }
+ node.innerHTML = d;
+ };
+ dojo.io.bind(args);
+ };
+ dojo.io.formFilter = function (node) {
+ var type = (node.type || "").toLowerCase();
+ return !node.disabled && node.name && !dojo.lang.inArray(["file", "submit", "image", "reset", "button"], type);
+ };
+ dojo.io.encodeForm = function (formNode, encoding, formFilter) {
+ if ((!formNode) || (!formNode.tagName) || (!formNode.tagName.toLowerCase() == "form")) {
+ dojo.raise("Attempted to encode a non-form element.");
+ }
+ if (!formFilter) {
+ formFilter = dojo.io.formFilter;
+ }
+ var enc = /utf/i.test(encoding || "") ? encodeURIComponent : dojo.string.encodeAscii;
+ var values = [];
+ for (var i = 0; i < formNode.elements.length; i++) {
+ var elm = formNode.elements[i];
+ if (!elm || elm.tagName.toLowerCase() == "fieldset" || !formFilter(elm)) {
+ continue;
+ }
+ var name = enc(elm.name);
+ var type = elm.type.toLowerCase();
+ if (type == "select-multiple") {
+ for (var j = 0; j < elm.options.length; j++) {
+ if (elm.options[j].selected) {
+ values.push(name + "=" + enc(elm.options[j].value));
+ }
+ }
+ } else {
+ if (dojo.lang.inArray(["radio", "checkbox"], type)) {
+ if (elm.checked) {
+ values.push(name + "=" + enc(elm.value));
+ }
+ } else {
+ values.push(name + "=" + enc(elm.value));
+ }
+ }
+ }
+ var inputs = formNode.getElementsByTagName("input");
+ for (var i = 0; i < inputs.length; i++) {
+ var input = inputs[i];
+ if (input.type.toLowerCase() == "image" && input.form == formNode && formFilter(input)) {
+ var name = enc(input.name);
+ values.push(name + "=" + enc(input.value));
+ values.push(name + ".x=0");
+ values.push(name + ".y=0");
+ }
+ }
+ return values.join("&") + "&";
+ };
+ dojo.io.FormBind = function (args) {
+ this.bindArgs = {};
+ if (args && args.formNode) {
+ this.init(args);
+ } else {
+ if (args) {
+ this.init({formNode:args});
+ }
+ }
+ };
+ dojo.lang.extend(dojo.io.FormBind, {form:null, bindArgs:null, clickedButton:null, init:function (args) {
+ var form = dojo.byId(args.formNode);
+ if (!form || !form.tagName || form.tagName.toLowerCase() != "form") {
+ throw new Error("FormBind: Couldn't apply, invalid form");
+ } else {
+ if (this.form == form) {
+ return;
+ } else {
+ if (this.form) {
+ throw new Error("FormBind: Already applied to a form");
+ }
+ }
+ }
+ dojo.lang.mixin(this.bindArgs, args);
+ this.form = form;
+ this.connect(form, "onsubmit", "submit");
+ for (var i = 0; i < form.elements.length; i++) {
+ var node = form.elements[i];
+ if (node && node.type && dojo.lang.inArray(["submit", "button"], node.type.toLowerCase())) {
+ this.connect(node, "onclick", "click");
+ }
+ }
+ var inputs = form.getElementsByTagName("input");
+ for (var i = 0; i < inputs.length; i++) {
+ var input = inputs[i];
+ if (input.type.toLowerCase() == "image" && input.form == form) {
+ this.connect(input, "onclick", "click");
+ }
+ }
+ }, onSubmit:function (form) {
+ return true;
+ }, submit:function (e) {
+ e.preventDefault();
+ if (this.onSubmit(this.form)) {
+ dojo.io.bind(dojo.lang.mixin(this.bindArgs, {formFilter:dojo.lang.hitch(this, "formFilter")}));
+ }
+ }, click:function (e) {
+ var node = e.currentTarget;
+ if (node.disabled) {
+ return;
+ }
+ this.clickedButton = node;
+ }, formFilter:function (node) {
+ var type = (node.type || "").toLowerCase();
+ var accept = false;
+ if (node.disabled || !node.name) {
+ accept = false;
+ } else {
+ if (dojo.lang.inArray(["submit", "button", "image"], type)) {
+ if (!this.clickedButton) {
+ this.clickedButton = node;
+ }
+ accept = node == this.clickedButton;
+ } else {
+ accept = !dojo.lang.inArray(["file", "submit", "reset", "button"], type);
+ }
+ }
+ return accept;
+ }, connect:function (srcObj, srcFcn, targetFcn) {
+ if (dojo.evalObjPath("dojo.event.connect")) {
+ dojo.event.connect(srcObj, srcFcn, this, targetFcn);
+ } else {
+ var fcn = dojo.lang.hitch(this, targetFcn);
+ srcObj[srcFcn] = function (e) {
+ if (!e) {
+ e = window.event;
+ }
+ if (!e.currentTarget) {
+ e.currentTarget = e.srcElement;
+ }
+ if (!e.preventDefault) {
+ e.preventDefault = function () {
+ window.event.returnValue = false;
+ };
+ }
+ fcn(e);
+ };
+ }
+ }});
+ dojo.io.XMLHTTPTransport = new function () {
+ var _this = this;
+ var _cache = {};
+ this.useCache = false;
+ this.preventCache = false;
+ function getCacheKey(url, query, method) {
+ return url + "|" + query + "|" + method.toLowerCase();
+ }
+ function addToCache(url, query, method, http) {
+ _cache[getCacheKey(url, query, method)] = http;
+ }
+ function getFromCache(url, query, method) {
+ return _cache[getCacheKey(url, query, method)];
+ }
+ this.clearCache = function () {
+ _cache = {};
+ };
+ function doLoad(kwArgs, http, url, query, useCache) {
+ if (((http.status >= 200) && (http.status < 300)) || (http.status == 304) || (http.status == 1223) || (location.protocol == "file:" && (http.status == 0 || http.status == undefined)) || (location.protocol == "chrome:" && (http.status == 0 || http.status == undefined))) {
+ var ret;
+ if (kwArgs.method.toLowerCase() == "head") {
+ var headers = http.getAllResponseHeaders();
+ ret = {};
+ ret.toString = function () {
+ return headers;
+ };
+ var values = headers.split(/[\r\n]+/g);
+ for (var i = 0; i < values.length; i++) {
+ var pair = values[i].match(/^([^:]+)\s*:\s*(.+)$/i);
+ if (pair) {
+ ret[pair[1]] = pair[2];
+ }
+ }
+ } else {
+ if (kwArgs.mimetype == "text/javascript") {
+ try {
+ ret = dj_eval(http.responseText);
+ }
+ catch (e) {
+ dojo.debug(e);
+ dojo.debug(http.responseText);
+ ret = null;
+ }
+ } else {
+ if (kwArgs.mimetype.substr(0, 9) == "text/json" || kwArgs.mimetype.substr(0, 16) == "application/json") {
+ try {
+ ret = dj_eval("(" + kwArgs.jsonFilter(http.responseText) + ")");
+ }
+ catch (e) {
+ dojo.debug(e);
+ dojo.debug(http.responseText);
+ ret = false;
+ }
+ } else {
+ if ((kwArgs.mimetype == "application/xml") || (kwArgs.mimetype == "text/xml")) {
+ ret = http.responseXML;
+ if (!ret || typeof ret == "string" || !http.getResponseHeader("Content-Type")) {
+ ret = dojo.dom.createDocumentFromText(http.responseText);
+ }
+ } else {
+ ret = http.responseText;
+ }
+ }
+ }
+ }
+ if (useCache) {
+ addToCache(url, query, kwArgs.method, http);
+ }
+ kwArgs[(typeof kwArgs.load == "function") ? "load" : "handle"]("load", ret, http, kwArgs);
+ } else {
+ var errObj = new dojo.io.Error("XMLHttpTransport Error: " + http.status + " " + http.statusText);
+ kwArgs[(typeof kwArgs.error == "function") ? "error" : "handle"]("error", errObj, http, kwArgs);
+ }
+ }
+ function setHeaders(http, kwArgs) {
+ if (kwArgs["headers"]) {
+ for (var header in kwArgs["headers"]) {
+ if (header.toLowerCase() == "content-type" && !kwArgs["contentType"]) {
+ kwArgs["contentType"] = kwArgs["headers"][header];
+ } else {
+ http.setRequestHeader(header, kwArgs["headers"][header]);
+ }
+ }
+ }
+ }
+ this.inFlight = [];
+ this.inFlightTimer = null;
+ this.startWatchingInFlight = function () {
+ if (!this.inFlightTimer) {
+ this.inFlightTimer = setTimeout("dojo.io.XMLHTTPTransport.watchInFlight();", 10);
+ }
+ };
+ this.watchInFlight = function () {
+ var now = null;
+ if (!dojo.hostenv._blockAsync && !_this._blockAsync) {
+ for (var x = this.inFlight.length - 1; x >= 0; x--) {
+ try {
+ var tif = this.inFlight[x];
+ if (!tif || tif.http._aborted || !tif.http.readyState) {
+ this.inFlight.splice(x, 1);
+ continue;
+ }
+ if (4 == tif.http.readyState) {
+ this.inFlight.splice(x, 1);
+ doLoad(tif.req, tif.http, tif.url, tif.query, tif.useCache);
+ } else {
+ if (tif.startTime) {
+ if (!now) {
+ now = (new Date()).getTime();
+ }
+ if (tif.startTime + (tif.req.timeoutSeconds * 1000) < now) {
+ if (typeof tif.http.abort == "function") {
+ tif.http.abort();
+ }
+ this.inFlight.splice(x, 1);
+ tif.req[(typeof tif.req.timeout == "function") ? "timeout" : "handle"]("timeout", null, tif.http, tif.req);
+ }
+ }
+ }
+ }
+ catch (e) {
+ try {
+ var errObj = new dojo.io.Error("XMLHttpTransport.watchInFlight Error: " + e);
+ tif.req[(typeof tif.req.error == "function") ? "error" : "handle"]("error", errObj, tif.http, tif.req);
+ }
+ catch (e2) {
+ dojo.debug("XMLHttpTransport error callback failed: " + e2);
+ }
+ }
+ }
+ }
+ clearTimeout(this.inFlightTimer);
+ if (this.inFlight.length == 0) {
+ this.inFlightTimer = null;
+ return;
+ }
+ this.inFlightTimer = setTimeout("dojo.io.XMLHTTPTransport.watchInFlight();", 10);
+ };
+ var hasXmlHttp = dojo.hostenv.getXmlhttpObject() ? true : false;
+ this.canHandle = function (kwArgs) {
+ var mlc = kwArgs["mimetype"].toLowerCase() || "";
+ return hasXmlHttp && ((dojo.lang.inArray(["text/plain", "text/html", "application/xml", "text/xml", "text/javascript"], mlc)) || (mlc.substr(0, 9) == "text/json" || mlc.substr(0, 16) == "application/json")) && !(kwArgs["formNode"] && dojo.io.formHasFile(kwArgs["formNode"]));
+ };
+ this.multipartBoundary = "45309FFF-BD65-4d50-99C9-36986896A96F";
+ this.bind = function (kwArgs) {
+ if (!kwArgs["url"]) {
+ if (!kwArgs["formNode"] && (kwArgs["backButton"] || kwArgs["back"] || kwArgs["changeUrl"] || kwArgs["watchForURL"]) && (!djConfig.preventBackButtonFix)) {
+ dojo.deprecated("Using dojo.io.XMLHTTPTransport.bind() to add to browser history without doing an IO request", "Use dojo.undo.browser.addToHistory() instead.", "0.4");
+ dojo.undo.browser.addToHistory(kwArgs);
+ return true;
+ }
+ }
+ var url = kwArgs.url;
+ var query = "";
+ if (kwArgs["formNode"]) {
+ var ta = kwArgs.formNode.getAttribute("action");
+ if ((ta) && (!kwArgs["url"])) {
+ url = ta;
+ }
+ var tp = kwArgs.formNode.getAttribute("method");
+ if ((tp) && (!kwArgs["method"])) {
+ kwArgs.method = tp;
+ }
+ query += dojo.io.encodeForm(kwArgs.formNode, kwArgs.encoding, kwArgs["formFilter"]);
+ }
+ if (url.indexOf("#") > -1) {
+ dojo.debug("Warning: dojo.io.bind: stripping hash values from url:", url);
+ url = url.split("#")[0];
+ }
+ if (kwArgs["file"]) {
+ kwArgs.method = "post";
+ }
+ if (!kwArgs["method"]) {
+ kwArgs.method = "get";
+ }
+ if (kwArgs.method.toLowerCase() == "get") {
+ kwArgs.multipart = false;
+ } else {
+ if (kwArgs["file"]) {
+ kwArgs.multipart = true;
+ } else {
+ if (!kwArgs["multipart"]) {
+ kwArgs.multipart = false;
+ }
+ }
+ }
+ if (kwArgs["backButton"] || kwArgs["back"] || kwArgs["changeUrl"]) {
+ dojo.undo.browser.addToHistory(kwArgs);
+ }
+ var content = kwArgs["content"] || {};
+ if (kwArgs.sendTransport) {
+ content["dojo.transport"] = "xmlhttp";
+ }
+ do {
+ if (kwArgs.postContent) {
+ query = kwArgs.postContent;
+ break;
+ }
+ if (content) {
+ query += dojo.io.argsFromMap(content, kwArgs.encoding);
+ }
+ if (kwArgs.method.toLowerCase() == "get" || !kwArgs.multipart) {
+ break;
+ }
+ var t = [];
+ if (query.length) {
+ var q = query.split("&");
+ for (var i = 0; i < q.length; ++i) {
+ if (q[i].length) {
+ var p = q[i].split("=");
+ t.push("--" + this.multipartBoundary, "Content-Disposition: form-data; name=\"" + p[0] + "\"", "", p[1]);
+ }
+ }
+ }
+ if (kwArgs.file) {
+ if (dojo.lang.isArray(kwArgs.file)) {
+ for (var i = 0; i < kwArgs.file.length; ++i) {
+ var o = kwArgs.file[i];
+ t.push("--" + this.multipartBoundary, "Content-Disposition: form-data; name=\"" + o.name + "\"; filename=\"" + ("fileName" in o ? o.fileName : o.name) + "\"", "Content-Type: " + ("contentType" in o ? o.contentType : "application/octet-stream"), "", o.content);
+ }
+ } else {
+ var o = kwArgs.file;
+ t.push("--" + this.multipartBoundary, "Content-Disposition: form-data; name=\"" + o.name + "\"; filename=\"" + ("fileName" in o ? o.fileName : o.name) + "\"", "Content-Type: " + ("contentType" in o ? o.contentType : "application/octet-stream"), "", o.content);
+ }
+ }
+ if (t.length) {
+ t.push("--" + this.multipartBoundary + "--", "");
+ query = t.join("\r\n");
+ }
+ } while (false);
+ var async = kwArgs["sync"] ? false : true;
+ var preventCache = kwArgs["preventCache"] || (this.preventCache == true && kwArgs["preventCache"] != false);
+ var useCache = kwArgs["useCache"] == true || (this.useCache == true && kwArgs["useCache"] != false);
+ if (!preventCache && useCache) {
+ var cachedHttp = getFromCache(url, query, kwArgs.method);
+ if (cachedHttp) {
+ doLoad(kwArgs, cachedHttp, url, query, false);
+ return;
+ }
+ }
+ var http = dojo.hostenv.getXmlhttpObject(kwArgs);
+ var received = false;
+ if (async) {
+ var startTime = this.inFlight.push({"req":kwArgs, "http":http, "url":url, "query":query, "useCache":useCache, "startTime":kwArgs.timeoutSeconds ? (new Date()).getTime() : 0});
+ this.startWatchingInFlight();
+ } else {
+ _this._blockAsync = true;
+ }
+ if (kwArgs.method.toLowerCase() == "post") {
+ if (!kwArgs.user) {
+ http.open("POST", url, async);
+ } else {
+ http.open("POST", url, async, kwArgs.user, kwArgs.password);
+ }
+ setHeaders(http, kwArgs);
+ http.setRequestHeader("Content-Type", kwArgs.multipart ? ("multipart/form-data; boundary=" + this.multipartBoundary) : (kwArgs.contentType || "application/x-www-form-urlencoded"));
+ try {
+ http.send(query);
+ }
+ catch (e) {
+ if (typeof http.abort == "function") {
+ http.abort();
+ }
+ doLoad(kwArgs, {status:404}, url, query, useCache);
+ }
+ } else {
+ var tmpUrl = url;
+ if (query != "") {
+ tmpUrl += (tmpUrl.indexOf("?") > -1 ? "&" : "?") + query;
+ }
+ if (preventCache) {
+ tmpUrl += (dojo.string.endsWithAny(tmpUrl, "?", "&") ? "" : (tmpUrl.indexOf("?") > -1 ? "&" : "?")) + "dojo.preventCache=" + new Date().valueOf();
+ }
+ if (!kwArgs.user) {
+ http.open(kwArgs.method.toUpperCase(), tmpUrl, async);
+ } else {
+ http.open(kwArgs.method.toUpperCase(), tmpUrl, async, kwArgs.user, kwArgs.password);
+ }
+ setHeaders(http, kwArgs);
+ try {
+ http.send(null);
+ }
+ catch (e) {
+ if (typeof http.abort == "function") {
+ http.abort();
+ }
+ doLoad(kwArgs, {status:404}, url, query, useCache);
+ }
+ }
+ if (!async) {
+ doLoad(kwArgs, http, url, query, useCache);
+ _this._blockAsync = false;
+ }
+ kwArgs.abort = function () {
+ try {
+ http._aborted = true;
+ }
+ catch (e) {
+ }
+ return http.abort();
+ };
+ return;
+ };
+ dojo.io.transports.addTransport("XMLHTTPTransport");
+ };
+}
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/BrowserIO.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/BrowserIO.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/BrowserIO.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/IframeIO.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/IframeIO.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/IframeIO.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/IframeIO.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,214 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.io.IframeIO");
+dojo.require("dojo.io.BrowserIO");
+dojo.require("dojo.uri.*");
+dojo.io.createIFrame = function (fname, onloadstr, uri) {
+ if (window[fname]) {
+ return window[fname];
+ }
+ if (window.frames[fname]) {
+ return window.frames[fname];
+ }
+ var r = dojo.render.html;
+ var cframe = null;
+ var turi = uri;
+ if (!turi) {
+ if (djConfig["useXDomain"] && !djConfig["dojoIframeHistoryUrl"]) {
+ dojo.debug("dojo.io.createIFrame: When using cross-domain Dojo builds," + " please save iframe_history.html to your domain and set djConfig.dojoIframeHistoryUrl" + " to the path on your domain to iframe_history.html");
+ }
+ turi = (djConfig["dojoIframeHistoryUrl"] || dojo.uri.moduleUri("dojo", "../iframe_history.html")) + "#noInit=true";
+ }
+ var ifrstr = ((r.ie) && (dojo.render.os.win)) ? "<iframe name=\"" + fname + "\" src=\"" + turi + "\" onload=\"" + onloadstr + "\">" : "iframe";
+ cframe = document.createElement(ifrstr);
+ with (cframe) {
+ name = fname;
+ setAttribute("name", fname);
+ id = fname;
+ }
+ dojo.body().appendChild(cframe);
+ window[fname] = cframe;
+ with (cframe.style) {
+ if (!r.safari) {
+ position = "absolute";
+ }
+ left = top = "0px";
+ height = width = "1px";
+ visibility = "hidden";
+ }
+ if (!r.ie) {
+ dojo.io.setIFrameSrc(cframe, turi, true);
+ cframe.onload = new Function(onloadstr);
+ }
+ return cframe;
+};
+dojo.io.IframeTransport = new function () {
+ var _this = this;
+ this.currentRequest = null;
+ this.requestQueue = [];
+ this.iframeName = "dojoIoIframe";
+ this.fireNextRequest = function () {
+ try {
+ if ((this.currentRequest) || (this.requestQueue.length == 0)) {
+ return;
+ }
+ var cr = this.currentRequest = this.requestQueue.shift();
+ cr._contentToClean = [];
+ var fn = cr["formNode"];
+ var content = cr["content"] || {};
+ if (cr.sendTransport) {
+ content["dojo.transport"] = "iframe";
+ }
+ if (fn) {
+ if (content) {
+ for (var x in content) {
+ if (!fn[x]) {
+ var tn;
+ if (dojo.render.html.ie) {
+ tn = document.createElement("<input type='hidden' name='" + x + "' value='" + content[x] + "'>");
+ fn.appendChild(tn);
+ } else {
+ tn = document.createElement("input");
+ fn.appendChild(tn);
+ tn.type = "hidden";
+ tn.name = x;
+ tn.value = content[x];
+ }
+ cr._contentToClean.push(x);
+ } else {
+ fn[x].value = content[x];
+ }
+ }
+ }
+ if (cr["url"]) {
+ cr._originalAction = fn.getAttribute("action");
+ fn.setAttribute("action", cr.url);
+ }
+ if (!fn.getAttribute("method")) {
+ fn.setAttribute("method", (cr["method"]) ? cr["method"] : "post");
+ }
+ cr._originalTarget = fn.getAttribute("target");
+ fn.setAttribute("target", this.iframeName);
+ fn.target = this.iframeName;
+ fn.submit();
+ } else {
+ var query = dojo.io.argsFromMap(this.currentRequest.content);
+ var tmpUrl = cr.url + (cr.url.indexOf("?") > -1 ? "&" : "?") + query;
+ dojo.io.setIFrameSrc(this.iframe, tmpUrl, true);
+ }
+ }
+ catch (e) {
+ this.iframeOnload(e);
+ }
+ };
+ this.canHandle = function (kwArgs) {
+ return ((dojo.lang.inArray(["text/plain", "text/html", "text/javascript", "text/json", "application/json"], kwArgs["mimetype"])) && (dojo.lang.inArray(["post", "get"], kwArgs["method"].toLowerCase())) && (!((kwArgs["sync"]) && (kwArgs["sync"] == true))));
+ };
+ this.bind = function (kwArgs) {
+ if (!this["iframe"]) {
+ this.setUpIframe();
+ }
+ this.requestQueue.push(kwArgs);
+ this.fireNextRequest();
+ return;
+ };
+ this.setUpIframe = function () {
+ this.iframe = dojo.io.createIFrame(this.iframeName, "dojo.io.IframeTransport.iframeOnload();");
+ };
+ this.iframeOnload = function (errorObject) {
+ if (!_this.currentRequest) {
+ _this.fireNextRequest();
+ return;
+ }
+ var req = _this.currentRequest;
+ if (req.formNode) {
+ var toClean = req._contentToClean;
+ for (var i = 0; i < toClean.length; i++) {
+ var key = toClean[i];
+ if (dojo.render.html.safari) {
+ var fNode = req.formNode;
+ for (var j = 0; j < fNode.childNodes.length; j++) {
+ var chNode = fNode.childNodes[j];
+ if (chNode.name == key) {
+ var pNode = chNode.parentNode;
+ pNode.removeChild(chNode);
+ break;
+ }
+ }
+ } else {
+ var input = req.formNode[key];
+ req.formNode.removeChild(input);
+ req.formNode[key] = null;
+ }
+ }
+ if (req["_originalAction"]) {
+ req.formNode.setAttribute("action", req._originalAction);
+ }
+ if (req["_originalTarget"]) {
+ req.formNode.setAttribute("target", req._originalTarget);
+ req.formNode.target = req._originalTarget;
+ }
+ }
+ var contentDoc = function (iframe_el) {
+ var doc = iframe_el.contentDocument || ((iframe_el.contentWindow) && (iframe_el.contentWindow.document)) || ((iframe_el.name) && (document.frames[iframe_el.name]) && (document.frames[iframe_el.name].document)) || null;
+ return doc;
+ };
+ var value;
+ var success = false;
+ if (errorObject) {
+ this._callError(req, "IframeTransport Request Error: " + errorObject);
+ } else {
+ var ifd = contentDoc(_this.iframe);
+ try {
+ var cmt = req.mimetype;
+ if ((cmt == "text/javascript") || (cmt == "text/json") || (cmt == "application/json")) {
+ var js = ifd.getElementsByTagName("textarea")[0].value;
+ if (cmt == "text/json" || cmt == "application/json") {
+ js = "(" + js + ")";
+ }
+ value = dj_eval(js);
+ } else {
+ if (cmt == "text/html") {
+ value = ifd;
+ } else {
+ value = ifd.getElementsByTagName("textarea")[0].value;
+ }
+ }
+ success = true;
+ }
+ catch (e) {
+ this._callError(req, "IframeTransport Error: " + e);
+ }
+ }
+ try {
+ if (success && dojo.lang.isFunction(req["load"])) {
+ req.load("load", value, req);
+ }
+ }
+ catch (e) {
+ throw e;
+ }
+ finally {
+ _this.currentRequest = null;
+ _this.fireNextRequest();
+ }
+ };
+ this._callError = function (req, message) {
+ var errObj = new dojo.io.Error(message);
+ if (dojo.lang.isFunction(req["error"])) {
+ req.error("error", errObj, req);
+ }
+ };
+ dojo.io.transports.addTransport("IframeTransport");
+};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/IframeIO.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/IframeIO.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/IframeIO.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/RepubsubIO.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/RepubsubIO.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/RepubsubIO.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/RepubsubIO.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,337 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.require("dojo.event.*");
+dojo.require("dojo.io.BrowserIO");
+dojo.provide("dojo.io.RepubsubIO");
+dojo.io.repubsubTranport = new function () {
+ var rps = dojo.io.repubsub;
+ this.canHandle = function (kwArgs) {
+ if ((kwArgs["mimetype"] == "text/javascript") && (kwArgs["method"] == "repubsub")) {
+ return true;
+ }
+ return false;
+ };
+ this.bind = function (kwArgs) {
+ if (!rps.isInitialized) {
+ rps.init();
+ }
+ if (!rps.topics[kwArgs.url]) {
+ kwArgs.rpsLoad = function (evt) {
+ kwArgs.load("load", evt);
+ };
+ rps.subscribe(kwArgs.url, kwArgs, "rpsLoad");
+ }
+ if (kwArgs["content"]) {
+ var cEvt = dojo.io.repubsubEvent.initFromProperties(kwArgs.content);
+ rps.publish(kwArgs.url, cEvt);
+ }
+ };
+ dojo.io.transports.addTransport("repubsubTranport");
+};
+dojo.io.repubsub = new function () {
+ this.initDoc = "init.html";
+ this.isInitialized = false;
+ this.subscriptionBacklog = [];
+ this.debug = true;
+ this.rcvNodeName = null;
+ this.sndNodeName = null;
+ this.rcvNode = null;
+ this.sndNode = null;
+ this.canRcv = false;
+ this.canSnd = false;
+ this.canLog = false;
+ this.sndTimer = null;
+ this.windowRef = window;
+ this.backlog = [];
+ this.tunnelInitCount = 0;
+ this.tunnelFrameKey = "tunnel_frame";
+ this.serverBaseURL = location.protocol + "//" + location.host + location.pathname;
+ this.logBacklog = [];
+ this.getRandStr = function () {
+ return Math.random().toString().substring(2, 10);
+ };
+ this.userid = "guest";
+ this.tunnelID = this.getRandStr();
+ this.attachPathList = [];
+ this.topics = [];
+ this.parseGetStr = function () {
+ var baseUrl = document.location.toString();
+ var params = baseUrl.split("?", 2);
+ if (params.length > 1) {
+ var paramStr = params[1];
+ var pairs = paramStr.split("&");
+ var opts = [];
+ for (var x in pairs) {
+ var sp = pairs[x].split("=");
+ try {
+ opts[sp[0]] = eval(sp[1]);
+ }
+ catch (e) {
+ opts[sp[0]] = sp[1];
+ }
+ }
+ return opts;
+ } else {
+ return [];
+ }
+ };
+ var getOpts = this.parseGetStr();
+ for (var x in getOpts) {
+ this[x] = getOpts[x];
+ }
+ if (!this["tunnelURI"]) {
+ this.tunnelURI = ["/who/", escape(this.userid), "/s/", this.getRandStr(), "/kn_journal"].join("");
+ }
+ if (window["repubsubOpts"] || window["rpsOpts"]) {
+ var optObj = window["repubsubOpts"] || window["rpsOpts"];
+ for (var x in optObj) {
+ this[x] = optObj[x];
+ }
+ }
+ this.tunnelCloseCallback = function () {
+ dojo.io.setIFrameSrc(this.rcvNode, this.initDoc + "?callback=repubsub.rcvNodeReady&domain=" + document.domain);
+ };
+ this.receiveEventFromTunnel = function (evt, srcWindow) {
+ if (!evt["elements"]) {
+ this.log("bailing! event received without elements!", "error");
+ return;
+ }
+ var e = {};
+ for (var i = 0; i < evt.elements.length; i++) {
+ var ee = evt.elements[i];
+ e[ee.name || ee.nameU] = (ee.value || ee.valueU);
+ this.log("[event]: " + (ee.name || ee.nameU) + ": " + e[ee.name || ee.nameU]);
+ }
+ this.dispatch(e);
+ };
+ this.widenDomain = function (domainStr) {
+ var cd = domainStr || document.domain;
+ if (cd.indexOf(".") == -1) {
+ return;
+ }
+ var dps = cd.split(".");
+ if (dps.length <= 2) {
+ return;
+ }
+ dps = dps.slice(dps.length - 2);
+ document.domain = dps.join(".");
+ };
+ this.parseCookie = function () {
+ var cs = document.cookie;
+ var keypairs = cs.split(";");
+ for (var x = 0; x < keypairs.length; x++) {
+ keypairs[x] = keypairs[x].split("=");
+ if (x != keypairs.length - 1) {
+ cs += ";";
+ }
+ }
+ return keypairs;
+ };
+ this.setCookie = function (keypairs, clobber) {
+ if ((clobber) && (clobber == true)) {
+ document.cookie = "";
+ }
+ var cs = "";
+ for (var x = 0; x < keypairs.length; x++) {
+ cs += keypairs[x][0] + "=" + keypairs[x][1];
+ if (x != keypairs.length - 1) {
+ cs += ";";
+ }
+ }
+ document.cookie = cs;
+ };
+ this.log = function (str, lvl) {
+ if (!this.debug) {
+ return;
+ }
+ while (this.logBacklog.length > 0) {
+ if (!this.canLog) {
+ break;
+ }
+ var blo = this.logBacklog.shift();
+ this.writeLog("[" + blo[0] + "]: " + blo[1], blo[2]);
+ }
+ this.writeLog(str, lvl);
+ };
+ this.writeLog = function (str, lvl) {
+ dojo.debug(((new Date()).toLocaleTimeString()) + ": " + str);
+ };
+ this.init = function () {
+ this.widenDomain();
+ this.openTunnel();
+ this.isInitialized = true;
+ while (this.subscriptionBacklog.length) {
+ this.subscribe.apply(this, this.subscriptionBacklog.shift());
+ }
+ };
+ this.clobber = function () {
+ if (this.rcvNode) {
+ this.setCookie([[this.tunnelFrameKey, "closed"], ["path", "/"]], false);
+ }
+ };
+ this.openTunnel = function () {
+ this.rcvNodeName = "rcvIFrame_" + this.getRandStr();
+ this.setCookie([[this.tunnelFrameKey, this.rcvNodeName], ["path", "/"]], false);
+ this.rcvNode = dojo.io.createIFrame(this.rcvNodeName);
+ dojo.io.setIFrameSrc(this.rcvNode, this.initDoc + "?callback=repubsub.rcvNodeReady&domain=" + document.domain);
+ this.sndNodeName = "sndIFrame_" + this.getRandStr();
+ this.sndNode = dojo.io.createIFrame(this.sndNodeName);
+ dojo.io.setIFrameSrc(this.sndNode, this.initDoc + "?callback=repubsub.sndNodeReady&domain=" + document.domain);
+ };
+ this.rcvNodeReady = function () {
+ var statusURI = [this.tunnelURI, "/kn_status/", this.getRandStr(), "_", String(this.tunnelInitCount++)].join("");
+ this.log("rcvNodeReady");
+ var initURIArr = [this.serverBaseURL, "/kn?kn_from=", escape(this.tunnelURI), "&kn_id=", escape(this.tunnelID), "&kn_status_from=", escape(statusURI)];
+ dojo.io.setIFrameSrc(this.rcvNode, initURIArr.join(""));
+ this.subscribe(statusURI, this, "statusListener", true);
+ this.log(initURIArr.join(""));
+ };
+ this.sndNodeReady = function () {
+ this.canSnd = true;
+ this.log("sndNodeReady");
+ this.log(this.backlog.length);
+ if (this.backlog.length > 0) {
+ this.dequeueEvent();
+ }
+ };
+ this.statusListener = function (evt) {
+ this.log("status listener called");
+ this.log(evt.status, "info");
+ };
+ this.dispatch = function (evt) {
+ if (evt["to"] || evt["kn_routed_from"]) {
+ var rf = evt["to"] || evt["kn_routed_from"];
+ var topic = rf.split(this.serverBaseURL, 2)[1];
+ if (!topic) {
+ topic = rf;
+ }
+ this.log("[topic] " + topic);
+ if (topic.length > 3) {
+ if (topic.slice(0, 3) == "/kn") {
+ topic = topic.slice(3);
+ }
+ }
+ if (this.attachPathList[topic]) {
+ this.attachPathList[topic](evt);
+ }
+ }
+ };
+ this.subscribe = function (topic, toObj, toFunc, dontTellServer) {
+ if (!this.isInitialized) {
+ this.subscriptionBacklog.push([topic, toObj, toFunc, dontTellServer]);
+ return;
+ }
+ if (!this.attachPathList[topic]) {
+ this.attachPathList[topic] = function () {
+ return true;
+ };
+ this.log("subscribing to: " + topic);
+ this.topics.push(topic);
+ }
+ var revt = new dojo.io.repubsubEvent(this.tunnelURI, topic, "route");
+ var rstr = [this.serverBaseURL + "/kn", revt.toGetString()].join("");
+ dojo.event.kwConnect({once:true, srcObj:this.attachPathList, srcFunc:topic, adviceObj:toObj, adviceFunc:toFunc});
+ if (!this.rcvNode) {
+ }
+ if (dontTellServer) {
+ return;
+ }
+ this.log("sending subscription to: " + topic);
+ this.sendTopicSubToServer(topic, rstr);
+ };
+ this.sendTopicSubToServer = function (topic, str) {
+ if (!this.attachPathList[topic]["subscriptions"]) {
+ this.enqueueEventStr(str);
+ this.attachPathList[topic].subscriptions = 0;
+ }
+ this.attachPathList[topic].subscriptions++;
+ };
+ this.unSubscribe = function (topic, toObj, toFunc) {
+ dojo.event.kwDisconnect({srcObj:this.attachPathList, srcFunc:topic, adviceObj:toObj, adviceFunc:toFunc});
+ };
+ this.publish = function (topic, event) {
+ var evt = dojo.io.repubsubEvent.initFromProperties(event);
+ evt.to = topic;
+ var evtURLParts = [];
+ evtURLParts.push(this.serverBaseURL + "/kn");
+ evtURLParts.push(evt.toGetString());
+ this.enqueueEventStr(evtURLParts.join(""));
+ };
+ this.enqueueEventStr = function (evtStr) {
+ this.log("enqueueEventStr");
+ this.backlog.push(evtStr);
+ this.dequeueEvent();
+ };
+ this.dequeueEvent = function (force) {
+ this.log("dequeueEvent");
+ if (this.backlog.length <= 0) {
+ return;
+ }
+ if ((this.canSnd) || (force)) {
+ dojo.io.setIFrameSrc(this.sndNode, this.backlog.shift() + "&callback=repubsub.sndNodeReady");
+ this.canSnd = false;
+ } else {
+ this.log("sndNode not available yet!", "debug");
+ }
+ };
+};
+dojo.io.repubsubEvent = function (to, from, method, id, routeURI, payload, dispname, uid) {
+ this.to = to;
+ this.from = from;
+ this.method = method || "route";
+ this.id = id || repubsub.getRandStr();
+ this.uri = routeURI;
+ this.displayname = dispname || repubsub.displayname;
+ this.userid = uid || repubsub.userid;
+ this.payload = payload || "";
+ this.flushChars = 4096;
+ this.initFromProperties = function (evt) {
+ if (evt.constructor = dojo.io.repubsubEvent) {
+ for (var x in evt) {
+ this[x] = evt[x];
+ }
+ } else {
+ for (var x in evt) {
+ if (typeof this.forwardPropertiesMap[x] == "string") {
+ this[this.forwardPropertiesMap[x]] = evt[x];
+ } else {
+ this[x] = evt[x];
+ }
+ }
+ }
+ };
+ this.toGetString = function (noQmark) {
+ var qs = [((noQmark) ? "" : "?")];
+ for (var x = 0; x < this.properties.length; x++) {
+ var tp = this.properties[x];
+ if (this[tp[0]]) {
+ qs.push(tp[1] + "=" + encodeURIComponent(String(this[tp[0]])));
+ }
+ }
+ return qs.join("&");
+ };
+};
+dojo.io.repubsubEvent.prototype.properties = [["from", "kn_from"], ["to", "kn_to"], ["method", "do_method"], ["id", "kn_id"], ["uri", "kn_uri"], ["displayname", "kn_displayname"], ["userid", "kn_userid"], ["payload", "kn_payload"], ["flushChars", "kn_response_flush"], ["responseFormat", "kn_response_format"]];
+dojo.io.repubsubEvent.prototype.forwardPropertiesMap = {};
+dojo.io.repubsubEvent.prototype.reversePropertiesMap = {};
+for (var x = 0; x < dojo.io.repubsubEvent.prototype.properties.length; x++) {
+ var tp = dojo.io.repubsubEvent.prototype.properties[x];
+ dojo.io.repubsubEvent.prototype.reversePropertiesMap[tp[0]] = tp[1];
+ dojo.io.repubsubEvent.prototype.forwardPropertiesMap[tp[1]] = tp[0];
+}
+dojo.io.repubsubEvent.initFromProperties = function (evt) {
+ var eventObj = new dojo.io.repubsubEvent();
+ eventObj.initFromProperties(evt);
+ return eventObj;
+};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/RepubsubIO.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/RepubsubIO.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/RepubsubIO.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/RhinoIO.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/RhinoIO.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/RhinoIO.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/RhinoIO.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,116 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.io.RhinoIO");
+dojo.require("dojo.io.common");
+dojo.require("dojo.lang.func");
+dojo.require("dojo.lang.array");
+dojo.require("dojo.string.extras");
+dojo.io.RhinoHTTPTransport = new function () {
+ this.canHandle = function (req) {
+ if (dojo.lang.find(["text/plain", "text/html", "text/xml", "text/javascript", "text/json", "application/json"], (req.mimetype.toLowerCase() || "")) < 0) {
+ return false;
+ }
+ if (req.url.substr(0, 7) != "http://") {
+ return false;
+ }
+ return true;
+ };
+ function doLoad(req, conn) {
+ var ret;
+ if (req.method.toLowerCase() == "head") {
+ } else {
+ var stream = conn.getContent();
+ var reader = new java.io.BufferedReader(new java.io.InputStreamReader(stream));
+ var text = "";
+ var line = null;
+ while ((line = reader.readLine()) != null) {
+ text += line;
+ }
+ if (req.mimetype == "text/javascript") {
+ try {
+ ret = dj_eval(text);
+ }
+ catch (e) {
+ dojo.debug(e);
+ dojo.debug(text);
+ ret = null;
+ }
+ } else {
+ if (req.mimetype == "text/json" || req.mimetype == "application/json") {
+ try {
+ ret = dj_eval("(" + text + ")");
+ }
+ catch (e) {
+ dojo.debug(e);
+ dojo.debug(text);
+ ret = false;
+ }
+ } else {
+ ret = text;
+ }
+ }
+ }
+ req.load("load", ret, req);
+ }
+ function connect(req) {
+ var content = req.content || {};
+ var query;
+ if (req.sendTransport) {
+ content["dojo.transport"] = "rhinohttp";
+ }
+ if (req.postContent) {
+ query = req.postContent;
+ } else {
+ query = dojo.io.argsFromMap(content, req.encoding);
+ }
+ var url_text = req.url;
+ if (req.method.toLowerCase() == "get" && query != "") {
+ url_text = url_text + "?" + query;
+ }
+ var url = new java.net.URL(url_text);
+ var conn = url.openConnection();
+ conn.setRequestMethod(req.method.toUpperCase());
+ if (req.headers) {
+ for (var header in req.headers) {
+ if (header.toLowerCase() == "content-type" && !req.contentType) {
+ req.contentType = req.headers[header];
+ } else {
+ conn.setRequestProperty(header, req.headers[header]);
+ }
+ }
+ }
+ if (req.contentType) {
+ conn.setRequestProperty("Content-Type", req.contentType);
+ }
+ if (req.method.toLowerCase() == "post") {
+ conn.setDoOutput(true);
+ var output_stream = conn.getOutputStream();
+ var byte_array = (new java.lang.String(query)).getBytes();
+ output_stream.write(byte_array, 0, byte_array.length);
+ }
+ conn.connect();
+ doLoad(req, conn);
+ }
+ this.bind = function (req) {
+ var async = req["sync"] ? false : true;
+ if (async) {
+ setTimeout(dojo.lang.hitch(this, function () {
+ connect(req);
+ }), 1);
+ } else {
+ connect(req);
+ }
+ };
+ dojo.io.transports.addTransport("RhinoHTTPTransport");
+};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/RhinoIO.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/RhinoIO.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/RhinoIO.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/ScriptSrcIO.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/ScriptSrcIO.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/ScriptSrcIO.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/ScriptSrcIO.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,317 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.io.ScriptSrcIO");
+dojo.require("dojo.io.BrowserIO");
+dojo.require("dojo.undo.browser");
+dojo.io.ScriptSrcTransport = new function () {
+ this.preventCache = false;
+ this.maxUrlLength = 1000;
+ this.inFlightTimer = null;
+ this.DsrStatusCodes = {Continue:100, Ok:200, Error:500};
+ this.startWatchingInFlight = function () {
+ if (!this.inFlightTimer) {
+ this.inFlightTimer = setInterval("dojo.io.ScriptSrcTransport.watchInFlight();", 100);
+ }
+ };
+ this.watchInFlight = function () {
+ var totalCount = 0;
+ var doneCount = 0;
+ for (var param in this._state) {
+ totalCount++;
+ var currentState = this._state[param];
+ if (currentState.isDone) {
+ doneCount++;
+ delete this._state[param];
+ } else {
+ if (!currentState.isFinishing) {
+ var listener = currentState.kwArgs;
+ try {
+ if (currentState.checkString && eval("typeof(" + currentState.checkString + ") != 'undefined'")) {
+ currentState.isFinishing = true;
+ this._finish(currentState, "load");
+ doneCount++;
+ delete this._state[param];
+ } else {
+ if (listener.timeoutSeconds && listener.timeout) {
+ if (currentState.startTime + (listener.timeoutSeconds * 1000) < (new Date()).getTime()) {
+ currentState.isFinishing = true;
+ this._finish(currentState, "timeout");
+ doneCount++;
+ delete this._state[param];
+ }
+ } else {
+ if (!listener.timeoutSeconds) {
+ doneCount++;
+ }
+ }
+ }
+ }
+ catch (e) {
+ currentState.isFinishing = true;
+ this._finish(currentState, "error", {status:this.DsrStatusCodes.Error, response:e});
+ }
+ }
+ }
+ }
+ if (doneCount >= totalCount) {
+ clearInterval(this.inFlightTimer);
+ this.inFlightTimer = null;
+ }
+ };
+ this.canHandle = function (kwArgs) {
+ return dojo.lang.inArray(["text/javascript", "text/json", "application/json"], (kwArgs["mimetype"].toLowerCase())) && (kwArgs["method"].toLowerCase() == "get") && !(kwArgs["formNode"] && dojo.io.formHasFile(kwArgs["formNode"])) && (!kwArgs["sync"] || kwArgs["sync"] == false) && !kwArgs["file"] && !kwArgs["multipart"];
+ };
+ this.removeScripts = function () {
+ var scripts = document.getElementsByTagName("script");
+ for (var i = 0; scripts && i < scripts.length; i++) {
+ var scriptTag = scripts[i];
+ if (scriptTag.className == "ScriptSrcTransport") {
+ var parent = scriptTag.parentNode;
+ parent.removeChild(scriptTag);
+ i--;
+ }
+ }
+ };
+ this.bind = function (kwArgs) {
+ var url = kwArgs.url;
+ var query = "";
+ if (kwArgs["formNode"]) {
+ var ta = kwArgs.formNode.getAttribute("action");
+ if ((ta) && (!kwArgs["url"])) {
+ url = ta;
+ }
+ var tp = kwArgs.formNode.getAttribute("method");
+ if ((tp) && (!kwArgs["method"])) {
+ kwArgs.method = tp;
+ }
+ query += dojo.io.encodeForm(kwArgs.formNode, kwArgs.encoding, kwArgs["formFilter"]);
+ }
+ if (url.indexOf("#") > -1) {
+ dojo.debug("Warning: dojo.io.bind: stripping hash values from url:", url);
+ url = url.split("#")[0];
+ }
+ var urlParts = url.split("?");
+ if (urlParts && urlParts.length == 2) {
+ url = urlParts[0];
+ query += (query ? "&" : "") + urlParts[1];
+ }
+ if (kwArgs["backButton"] || kwArgs["back"] || kwArgs["changeUrl"]) {
+ dojo.undo.browser.addToHistory(kwArgs);
+ }
+ var id = kwArgs["apiId"] ? kwArgs["apiId"] : "id" + this._counter++;
+ var content = kwArgs["content"];
+ var jsonpName = kwArgs.jsonParamName;
+ if (kwArgs.sendTransport || jsonpName) {
+ if (!content) {
+ content = {};
+ }
+ if (kwArgs.sendTransport) {
+ content["dojo.transport"] = "scriptsrc";
+ }
+ if (jsonpName) {
+ content[jsonpName] = "dojo.io.ScriptSrcTransport._state." + id + ".jsonpCall";
+ }
+ }
+ if (kwArgs.postContent) {
+ query = kwArgs.postContent;
+ } else {
+ if (content) {
+ query += ((query) ? "&" : "") + dojo.io.argsFromMap(content, kwArgs.encoding, jsonpName);
+ }
+ }
+ if (kwArgs["apiId"]) {
+ kwArgs["useRequestId"] = true;
+ }
+ var state = {"id":id, "idParam":"_dsrid=" + id, "url":url, "query":query, "kwArgs":kwArgs, "startTime":(new Date()).getTime(), "isFinishing":false};
+ if (!url) {
+ this._finish(state, "error", {status:this.DsrStatusCodes.Error, statusText:"url.none"});
+ return;
+ }
+ if (content && content[jsonpName]) {
+ state.jsonp = content[jsonpName];
+ state.jsonpCall = function (data) {
+ if (data["Error"] || data["error"]) {
+ if (dojo["json"] && dojo["json"]["serialize"]) {
+ dojo.debug(dojo.json.serialize(data));
+ }
+ dojo.io.ScriptSrcTransport._finish(this, "error", data);
+ } else {
+ dojo.io.ScriptSrcTransport._finish(this, "load", data);
+ }
+ };
+ }
+ if (kwArgs["useRequestId"] || kwArgs["checkString"] || state["jsonp"]) {
+ this._state[id] = state;
+ }
+ if (kwArgs["checkString"]) {
+ state.checkString = kwArgs["checkString"];
+ }
+ state.constantParams = (kwArgs["constantParams"] == null ? "" : kwArgs["constantParams"]);
+ if (kwArgs["preventCache"] || (this.preventCache == true && kwArgs["preventCache"] != false)) {
+ state.nocacheParam = "dojo.preventCache=" + new Date().valueOf();
+ } else {
+ state.nocacheParam = "";
+ }
+ var urlLength = state.url.length + state.query.length + state.constantParams.length + state.nocacheParam.length + this._extraPaddingLength;
+ if (kwArgs["useRequestId"]) {
+ urlLength += state.idParam.length;
+ }
+ if (!kwArgs["checkString"] && kwArgs["useRequestId"] && !state["jsonp"] && !kwArgs["forceSingleRequest"] && urlLength > this.maxUrlLength) {
+ if (url > this.maxUrlLength) {
+ this._finish(state, "error", {status:this.DsrStatusCodes.Error, statusText:"url.tooBig"});
+ return;
+ } else {
+ this._multiAttach(state, 1);
+ }
+ } else {
+ var queryParams = [state.constantParams, state.nocacheParam, state.query];
+ if (kwArgs["useRequestId"] && !state["jsonp"]) {
+ queryParams.unshift(state.idParam);
+ }
+ var finalUrl = this._buildUrl(state.url, queryParams);
+ state.finalUrl = finalUrl;
+ this._attach(state.id, finalUrl);
+ }
+ this.startWatchingInFlight();
+ };
+ this._counter = 1;
+ this._state = {};
+ this._extraPaddingLength = 16;
+ this._buildUrl = function (url, nameValueArray) {
+ var finalUrl = url;
+ var joiner = "?";
+ for (var i = 0; i < nameValueArray.length; i++) {
+ if (nameValueArray[i]) {
+ finalUrl += joiner + nameValueArray[i];
+ joiner = "&";
+ }
+ }
+ return finalUrl;
+ };
+ this._attach = function (id, url) {
+ var element = document.createElement("script");
+ element.type = "text/javascript";
+ element.src = url;
+ element.id = id;
+ element.className = "ScriptSrcTransport";
+ document.getElementsByTagName("head")[0].appendChild(element);
+ };
+ this._multiAttach = function (state, part) {
+ if (state.query == null) {
+ this._finish(state, "error", {status:this.DsrStatusCodes.Error, statusText:"query.null"});
+ return;
+ }
+ if (!state.constantParams) {
+ state.constantParams = "";
+ }
+ var queryMax = this.maxUrlLength - state.idParam.length - state.constantParams.length - state.url.length - state.nocacheParam.length - this._extraPaddingLength;
+ var isDone = state.query.length < queryMax;
+ var currentQuery;
+ if (isDone) {
+ currentQuery = state.query;
+ state.query = null;
+ } else {
+ var ampEnd = state.query.lastIndexOf("&", queryMax - 1);
+ var eqEnd = state.query.lastIndexOf("=", queryMax - 1);
+ if (ampEnd > eqEnd || eqEnd == queryMax - 1) {
+ currentQuery = state.query.substring(0, ampEnd);
+ state.query = state.query.substring(ampEnd + 1, state.query.length);
+ } else {
+ currentQuery = state.query.substring(0, queryMax);
+ var queryName = currentQuery.substring((ampEnd == -1 ? 0 : ampEnd + 1), eqEnd);
+ state.query = queryName + "=" + state.query.substring(queryMax, state.query.length);
+ }
+ }
+ var queryParams = [currentQuery, state.idParam, state.constantParams, state.nocacheParam];
+ if (!isDone) {
+ queryParams.push("_part=" + part);
+ }
+ var url = this._buildUrl(state.url, queryParams);
+ this._attach(state.id + "_" + part, url);
+ };
+ this._finish = function (state, callback, event) {
+ if (callback != "partOk" && !state.kwArgs[callback] && !state.kwArgs["handle"]) {
+ if (callback == "error") {
+ state.isDone = true;
+ throw event;
+ }
+ } else {
+ switch (callback) {
+ case "load":
+ var response = event ? event.response : null;
+ if (!response) {
+ response = event;
+ }
+ state.kwArgs[(typeof state.kwArgs.load == "function") ? "load" : "handle"]("load", response, event, state.kwArgs);
+ state.isDone = true;
+ break;
+ case "partOk":
+ var part = parseInt(event.response.part, 10) + 1;
+ if (event.response.constantParams) {
+ state.constantParams = event.response.constantParams;
+ }
+ this._multiAttach(state, part);
+ state.isDone = false;
+ break;
+ case "error":
+ state.kwArgs[(typeof state.kwArgs.error == "function") ? "error" : "handle"]("error", event.response, event, state.kwArgs);
+ state.isDone = true;
+ break;
+ default:
+ state.kwArgs[(typeof state.kwArgs[callback] == "function") ? callback : "handle"](callback, event, event, state.kwArgs);
+ state.isDone = true;
+ }
+ }
+ };
+ dojo.io.transports.addTransport("ScriptSrcTransport");
+};
+window.onscriptload = function (event) {
+ var state = null;
+ var transport = dojo.io.ScriptSrcTransport;
+ if (transport._state[event.id]) {
+ state = transport._state[event.id];
+ } else {
+ var tempState;
+ for (var param in transport._state) {
+ tempState = transport._state[param];
+ if (tempState.finalUrl && tempState.finalUrl == event.id) {
+ state = tempState;
+ break;
+ }
+ }
+ if (state == null) {
+ var scripts = document.getElementsByTagName("script");
+ for (var i = 0; scripts && i < scripts.length; i++) {
+ var scriptTag = scripts[i];
+ if (scriptTag.getAttribute("class") == "ScriptSrcTransport" && scriptTag.src == event.id) {
+ state = transport._state[scriptTag.id];
+ break;
+ }
+ }
+ }
+ if (state == null) {
+ throw "No matching state for onscriptload event.id: " + event.id;
+ }
+ }
+ var callbackName = "error";
+ switch (event.status) {
+ case dojo.io.ScriptSrcTransport.DsrStatusCodes.Continue:
+ callbackName = "partOk";
+ break;
+ case dojo.io.ScriptSrcTransport.DsrStatusCodes.Ok:
+ callbackName = "load";
+ break;
+ }
+ transport._finish(state, callbackName, event);
+};
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/ScriptSrcIO.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/ScriptSrcIO.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/ScriptSrcIO.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/XhrIframeProxy.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/XhrIframeProxy.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/XhrIframeProxy.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/XhrIframeProxy.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,152 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.provide("dojo.io.XhrIframeProxy");
+dojo.require("dojo.experimental");
+dojo.experimental("dojo.io.XhrIframeProxy");
+dojo.require("dojo.io.IframeIO");
+dojo.require("dojo.dom");
+dojo.require("dojo.uri.Uri");
+dojo.io.XhrIframeProxy = {xipClientUrl:djConfig["xipClientUrl"] || dojo.uri.moduleUri("dojo.io", "xip_client.html"), _state:{}, _stateIdCounter:0, needFrameRecursion:function () {
+ return (true == dojo.render.html.ie70);
+}, send:function (facade) {
+ var stateId = "XhrIframeProxy" + (this._stateIdCounter++);
+ facade._stateId = stateId;
+ var frameUrl = this.xipClientUrl + "#0:init:id=" + stateId + "&server=" + encodeURIComponent(facade._ifpServerUrl) + "&fr=false";
+ if (this.needFrameRecursion()) {
+ var fullClientUrl = window.location.href;
+ if ((this.xipClientUrl + "").charAt(0) == "/") {
+ var endIndex = fullClientUrl.indexOf("://");
+ endIndex = fullClientUrl.indexOf("/", endIndex + 1);
+ fullClientUrl = fullClientUrl.substring(0, endIndex);
+ } else {
+ fullClientUrl = fullClientUrl.substring(0, fullClientUrl.lastIndexOf("/") + 1);
+ }
+ fullClientUrl += this.xipClientUrl;
+ var serverUrl = facade._ifpServerUrl + (facade._ifpServerUrl.indexOf("?") == -1 ? "?" : "&") + "dojo.fr=1";
+ frameUrl = serverUrl + "#0:init:id=" + stateId + "&client=" + encodeURIComponent(fullClientUrl) + "&fr=" + this.needFrameRecursion();
+ }
+ this._state[stateId] = {facade:facade, stateId:stateId, clientFrame:dojo.io.createIFrame(stateId, "", frameUrl)};
+ return stateId;
+}, receive:function (stateId, urlEncodedData) {
+ var response = {};
+ var nvPairs = urlEncodedData.split("&");
+ for (var i = 0; i < nvPairs.length; i++) {
+ if (nvPairs[i]) {
+ var nameValue = nvPairs[i].split("=");
+ response[decodeURIComponent(nameValue[0])] = decodeURIComponent(nameValue[1]);
+ }
+ }
+ var state = this._state[stateId];
+ var facade = state.facade;
+ facade._setResponseHeaders(response.responseHeaders);
+ if (response.status == 0 || response.status) {
+ facade.status = parseInt(response.status, 10);
+ }
+ if (response.statusText) {
+ facade.statusText = response.statusText;
+ }
+ if (response.responseText) {
+ facade.responseText = response.responseText;
+ var contentType = facade.getResponseHeader("Content-Type");
+ if (contentType && (contentType == "application/xml" || contentType == "text/xml")) {
+ facade.responseXML = dojo.dom.createDocumentFromText(response.responseText, contentType);
+ }
+ }
+ facade.readyState = 4;
+ this.destroyState(stateId);
+}, clientFrameLoaded:function (stateId) {
+ var state = this._state[stateId];
+ var facade = state.facade;
+ if (this.needFrameRecursion()) {
+ var clientWindow = window.open("", state.stateId + "_clientEndPoint");
+ } else {
+ var clientWindow = state.clientFrame.contentWindow;
+ }
+ var reqHeaders = [];
+ for (var param in facade._requestHeaders) {
+ reqHeaders.push(param + ": " + facade._requestHeaders[param]);
+ }
+ var requestData = {uri:facade._uri};
+ if (reqHeaders.length > 0) {
+ requestData.requestHeaders = reqHeaders.join("\r\n");
+ }
+ if (facade._method) {
+ requestData.method = facade._method;
+ }
+ if (facade._bodyData) {
+ requestData.data = facade._bodyData;
+ }
+ clientWindow.send(dojo.io.argsFromMap(requestData, "utf8"));
+}, destroyState:function (stateId) {
+ var state = this._state[stateId];
+ if (state) {
+ delete this._state[stateId];
+ var parentNode = state.clientFrame.parentNode;
+ parentNode.removeChild(state.clientFrame);
+ state.clientFrame = null;
+ state = null;
+ }
+}, createFacade:function () {
+ if (arguments && arguments[0] && arguments[0]["iframeProxyUrl"]) {
+ return new dojo.io.XhrIframeFacade(arguments[0]["iframeProxyUrl"]);
+ } else {
+ return dojo.io.XhrIframeProxy.oldGetXmlhttpObject.apply(dojo.hostenv, arguments);
+ }
+}};
+dojo.io.XhrIframeProxy.oldGetXmlhttpObject = dojo.hostenv.getXmlhttpObject;
+dojo.hostenv.getXmlhttpObject = dojo.io.XhrIframeProxy.createFacade;
+dojo.io.XhrIframeFacade = function (ifpServerUrl) {
+ this._requestHeaders = {};
+ this._allResponseHeaders = null;
+ this._responseHeaders = {};
+ this._method = null;
+ this._uri = null;
+ this._bodyData = null;
+ this.responseText = null;
+ this.responseXML = null;
+ this.status = null;
+ this.statusText = null;
+ this.readyState = 0;
+ this._ifpServerUrl = ifpServerUrl;
+ this._stateId = null;
+};
+dojo.lang.extend(dojo.io.XhrIframeFacade, {open:function (method, uri) {
+ this._method = method;
+ this._uri = uri;
+ this.readyState = 1;
+}, setRequestHeader:function (header, value) {
+ this._requestHeaders[header] = value;
+}, send:function (stringData) {
+ this._bodyData = stringData;
+ this._stateId = dojo.io.XhrIframeProxy.send(this);
+ this.readyState = 2;
+}, abort:function () {
+ dojo.io.XhrIframeProxy.destroyState(this._stateId);
+}, getAllResponseHeaders:function () {
+ return this._allResponseHeaders;
+}, getResponseHeader:function (header) {
+ return this._responseHeaders[header];
+}, _setResponseHeaders:function (allHeaders) {
+ if (allHeaders) {
+ this._allResponseHeaders = allHeaders;
+ allHeaders = allHeaders.replace(/\r/g, "");
+ var nvPairs = allHeaders.split("\n");
+ for (var i = 0; i < nvPairs.length; i++) {
+ if (nvPairs[i]) {
+ var nameValue = nvPairs[i].split(": ");
+ this._responseHeaders[nameValue[0]] = nameValue[1];
+ }
+ }
+ }
+}});
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/XhrIframeProxy.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/XhrIframeProxy.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/XhrIframeProxy.js
------------------------------------------------------------------------------
svn:mime-type = text/plain
Added: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/__package__.js
URL: http://svn.apache.org/viewvc/geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/__package__.js?rev=794787&view=auto
==============================================================================
--- geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/__package__.js (added)
+++ geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/__package__.js Thu Jul 16 19:14:41 2009
@@ -0,0 +1,15 @@
+/*
+ Copyright (c) 2004-2006, The Dojo Foundation
+ All Rights Reserved.
+
+ Licensed under the Academic Free License version 2.1 or above OR the
+ modified BSD license. For more information on Dojo licensing, see:
+
+ http://dojotoolkit.org/community/licensing.shtml
+*/
+
+
+
+dojo.kwCompoundRequire({common:["dojo.io.common"], rhino:["dojo.io.RhinoIO"], browser:["dojo.io.BrowserIO", "dojo.io.cookie"], dashboard:["dojo.io.BrowserIO", "dojo.io.cookie"]});
+dojo.provide("dojo.io.*");
+
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/__package__.js
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/__package__.js
------------------------------------------------------------------------------
svn:keywords = Date Revision
Propchange: geronimo/external/trunk/geronimo-dojo-0.4.3/src/main/webapp/src/io/__package__.js
------------------------------------------------------------------------------
svn:mime-type = text/plain