alvinalexander.com | career | drupal | java | mac | mysql | perl | scala | uml | unix  

Struts example source code file (hostenv_adobesvg.js)

This example Struts source code file (hostenv_adobesvg.js) is included in the DevDaily.com "Java Source Code Warehouse" project. The intent of this project is to help you "Learn Java by Example" TM.

Java - Struts tags/keywords

choked, debug, last, linux, module, module, no, no, on, request, request, windows, xmlhttp, xmlhttp

The Struts hostenv_adobesvg.js source code

/*
	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
*/



if (typeof window == "undefined") {
	dojo.raise("attempt to use adobe svg hostenv when no window object");
}
with (dojo.render) {
	name = navigator.appName;
	ver = parseFloat(navigator.appVersion, 10);
	switch (navigator.platform) {
	  case "MacOS":
		os.osx = true;
		break;
	  case "Linux":
		os.linux = true;
		break;
	  case "Windows":
		os.win = true;
		break;
	  default:
		os.linux = true;
		break;
	}
	svg.capable = true;
	svg.support.builtin = true;
	svg.adobe = true;
}
dojo.hostenv.println = function (s) {
	try {
		var ti = document.createElement("text");
		ti.setAttribute("x", "50");
		var yPos = 25 + 15 * document.getElementsByTagName("text").length;
		ti.setAttribute("y", yPos);
		var tn = document.createTextNode(s);
		ti.appendChild(tn);
		document.documentElement.appendChild(ti);
	}
	catch (e) {
	}
};
dojo.debug = function () {
	if (!djConfig.isDebug) {
		return;
	}
	var args = arguments;
	if (typeof dojo.hostenv.println != "function") {
		dojo.raise("attempt to call dojo.debug when there is no dojo.hostenv println implementation (yet?)");
	}
	var isJUM = dj_global["jum"];
	var s = isJUM ? "" : "DEBUG: ";
	for (var i = 0; i < args.length; ++i) {
		s += args[i];
	}
	if (isJUM) {
		jum.debug(s);
	} else {
		dojo.hostenv.println(s);
	}
};
dojo.hostenv.startPackage("dojo.hostenv");
dojo.hostenv.name_ = "adobesvg";
dojo.hostenv.anonCtr = 0;
dojo.hostenv.anon = {};
dojo.hostenv.nameAnonFunc = function (anonFuncPtr, namespaceObj) {
	var ret = "_" + this.anonCtr++;
	var nso = (namespaceObj || this.anon);
	while (typeof nso[ret] != "undefined") {
		ret = "_" + this.anonCtr++;
	}
	nso[ret] = anonFuncPtr;
	return ret;
};
dojo.hostenv.modulesLoadedFired = false;
dojo.hostenv.modulesLoadedListeners = [];
dojo.hostenv.getTextStack = [];
dojo.hostenv.loadUriStack = [];
dojo.hostenv.loadedUris = [];
dojo.hostenv.modulesLoaded = function () {
	if (this.modulesLoadedFired) {
		return;
	}
	if ((this.loadUriStack.length == 0) && (this.getTextStack.length == 0)) {
		if (this.inFlightCount > 0) {
			dojo.debug("couldn't initialize, there are files still in flight");
			return;
		}
		this.modulesLoadedFired = true;
		var mll = this.modulesLoadedListeners;
		for (var x = 0; x < mll.length; x++) {
			mll[x]();
		}
	}
};
dojo.hostenv.getNewAnonFunc = function () {
	var ret = "_" + this.anonCtr++;
	while (typeof this.anon[ret] != "undefined") {
		ret = "_" + this.anonCtr++;
	}
	eval("dojo.nostenv.anon." + ret + " = function(){};");
	return [ret, this.anon[ret]];
};
dojo.hostenv.displayStack = function () {
	var oa = [];
	var stack = this.loadUriStack;
	for (var x = 0; x < stack.length; x++) {
		oa.unshift([stack[x][0], (typeof stack[x][2])]);
	}
	dojo.debug("<pre>" + oa.join("\n") + "
"); }; dojo.hostenv.unwindUriStack = function () { var stack = this.loadUriStack; for (var x in dojo.hostenv.loadedUris) { for (var y = stack.length - 1; y >= 0; y--) { if (stack[y][0] == x) { stack.splice(y, 1); } } } var next = stack.pop(); if ((!next) && (stack.length == 0)) { return; } for (var x = 0; x < stack.length; x++) { if ((stack[x][0] == next[0]) && (stack[x][2])) { next[2] == stack[x][2]; } } var last = next; while (dojo.hostenv.loadedUris[next[0]]) { last = next; next = stack.pop(); } while (typeof next[2] == "string") { try { dj_eval(next[2]); next[1](true); } catch (e) { dojo.debug("we got an error when loading " + next[0]); dojo.debug("error: " + e); } dojo.hostenv.loadedUris[next[0]] = true; dojo.hostenv.loadedUris.push(next[0]); last = next; next = stack.pop(); if ((!next) && (stack.length == 0)) { break; } while (dojo.hostenv.loadedUris[next[0]]) { last = next; next = stack.pop(); } } if (next) { stack.push(next); dojo.debug("### CHOKED ON: " + next[0]); } }; dojo.hostenv.loadUri = function (uri, cb) { if (dojo.hostenv.loadedUris[uri]) { return; } var stack = this.loadUriStack; stack.push([uri, cb, null]); var tcb = function (contents) { if (contents.content) { contents = contents.content; } var next = stack.pop(); if ((!next) && (stack.length == 0)) { dojo.hostenv.modulesLoaded(); return; } if (typeof contents == "string") { stack.push(next); for (var x = 0; x < stack.length; x++) { if (stack[x][0] == uri) { stack[x][2] = contents; } } next = stack.pop(); } if (dojo.hostenv.loadedUris[next[0]]) { dojo.hostenv.unwindUriStack(); return; } stack.push(next); if (next[0] != uri) { if (typeof next[2] == "string") { dojo.hostenv.unwindUriStack(); } } else { if (!contents) { next[1](false); } else { var deps = dojo.hostenv.getDepsForEval(next[2]); if (deps.length > 0) { eval(deps.join(";")); } else { dojo.hostenv.unwindUriStack(); } } } }; this.getText(uri, tcb, true); }; dojo.hostenv.loadModule = function (modulename, exact_only, omit_module_check) { var module = this.findModule(modulename, 0); if (module) { return module; } if (typeof this.loading_modules_[modulename] !== "undefined") { dojo.debug("recursive attempt to load module '" + modulename + "'"); } else { this.addedToLoadingCount.push(modulename); } this.loading_modules_[modulename] = 1; var relpath = modulename.replace(/\./g, "/") + ".js"; var syms = modulename.split("."); var nsyms = modulename.split("."); if (syms[0] == "dojo") { syms[0] = "src"; } var last = syms.pop(); syms.push(last); var _this = this; var pfn = this.pkgFileName; if (last == "*") { modulename = (nsyms.slice(0, -1)).join("."); var module = this.findModule(modulename, 0); if (module) { _this.removedFromLoadingCount.push(modulename); return module; } var nextTry = function (lastStatus) { if (lastStatus) { module = _this.findModule(modulename, false); if ((!module) && (syms[syms.length - 1] != pfn)) { dojo.raise("Module symbol '" + modulename + "' is not defined after loading '" + relpath + "'"); } if (module) { _this.removedFromLoadingCount.push(modulename); dojo.hostenv.modulesLoaded(); return; } } syms.pop(); syms.push(pfn); relpath = syms.join("/") + ".js"; if (relpath.charAt(0) == "/") { relpath = relpath.slice(1); } _this.loadPath(relpath, ((!omit_module_check) ? modulename : null), nextTry); }; nextTry(); } else { relpath = syms.join("/") + ".js"; modulename = nsyms.join("."); var nextTry = function (lastStatus) { if (lastStatus) { module = _this.findModule(modulename, false); if ((!module) && (syms[syms.length - 1] != pfn)) { dojo.raise("Module symbol '" + modulename + "' is not defined after loading '" + relpath + "'"); } if (module) { _this.removedFromLoadingCount.push(modulename); dojo.hostenv.modulesLoaded(); return; } } var setPKG = (syms[syms.length - 1] == pfn) ? false : true; syms.pop(); if (setPKG) { syms.push(pfn); } relpath = syms.join("/") + ".js"; if (relpath.charAt(0) == "/") { relpath = relpath.slice(1); } _this.loadPath(relpath, ((!omit_module_check) ? modulename : null), nextTry); }; this.loadPath(relpath, ((!omit_module_check) ? modulename : null), nextTry); } return; }; dojo.hostenv.async_cb = null; dojo.hostenv.unWindGetTextStack = function () { if (dojo.hostenv.inFlightCount > 0) { setTimeout("dojo.hostenv.unWindGetTextStack()", 100); return; } dojo.hostenv.inFlightCount++; var next = dojo.hostenv.getTextStack.pop(); if ((!next) && (dojo.hostenv.getTextStack.length == 0)) { dojo.hostenv.inFlightCount--; dojo.hostenv.async_cb = function () { }; return; } dojo.hostenv.async_cb = next[1]; window.getURL(next[0], function (result) { dojo.hostenv.inFlightCount--; dojo.hostenv.async_cb(result.content); dojo.hostenv.unWindGetTextStack(); }); }; dojo.hostenv.getText = function (uri, async_cb, fail_ok) { try { if (async_cb) { dojo.hostenv.getTextStack.push([uri, async_cb, fail_ok]); dojo.hostenv.unWindGetTextStack(); } else { return dojo.raise("No synchronous XMLHTTP implementation available, for uri " + uri); } } catch (e) { return dojo.raise("No XMLHTTP implementation available, for uri " + uri); } }; dojo.hostenv.postText = function (uri, async_cb, text, fail_ok, mime_type, encoding) { var http = null; var async_callback = function (httpResponse) { if (!httpResponse.success) { dojo.raise("Request for uri '" + uri + "' resulted in " + httpResponse.status); } if (!httpResponse.content) { if (!fail_ok) { dojo.raise("Request for uri '" + uri + "' resulted in no content"); } return null; } async_cb(httpResponse.content); }; try { if (async_cb) { http = window.postURL(uri, text, async_callback, mimeType, encoding); } else { return dojo.raise("No synchronous XMLHTTP post implementation available, for uri " + uri); } } catch (e) { return dojo.raise("No XMLHTTP post implementation available, for uri " + uri); } }; function dj_last_script_src() { var scripts = window.document.getElementsByTagName("script"); if (scripts.length < 1) { dojo.raise("No script elements in window.document, so can't figure out my script src"); } var li = scripts.length - 1; var xlinkNS = "http://www.w3.org/1999/xlink"; var src = null; var script = null; while (!src) { script = scripts.item(li); src = script.getAttributeNS(xlinkNS, "href"); li--; if (li < 0) { break; } } if (!src) { dojo.raise("Last script element (out of " + scripts.length + ") has no src"); } return src; } if (!dojo.hostenv["library_script_uri_"]) { dojo.hostenv.library_script_uri_ = dj_last_script_src(); } dojo.requireIf((djConfig["isDebug"] || djConfig["debugAtAllCosts"]), "dojo.debug");

Other Struts examples (source code examples)

Here is a short list of links related to this Struts hostenv_adobesvg.js source code file:

... this post is sponsored by my books ...

#1 New Release!

FP Best Seller

 

new blog posts

 

Copyright 1998-2021 Alvin Alexander, alvinalexander.com
All Rights Reserved.

A percentage of advertising revenue from
pages under the /java/jwarehouse URI on this website is
paid back to open source projects.