You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@struts.apache.org by lu...@apache.org on 2015/05/22 12:58:43 UTC

[16/50] struts git commit: Moves deprecated plugins to struts-archive repo

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Toaster.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Toaster.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Toaster.js
deleted file mode 100644
index 78a3c96..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Toaster.js
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
-	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.widget.Toaster");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.lfx.*");
-dojo.require("dojo.html.iframe");
-dojo.widget.defineWidget("dojo.widget.Toaster", dojo.widget.HtmlWidget, {templateString:"<div dojoAttachPoint=\"clipNode\"><div dojoAttachPoint=\"containerNode\" dojoAttachEvent=\"onClick:onSelect\"><div dojoAttachPoint=\"contentNode\"></div></div></div>", templateCssString:".dojoToasterClip {\n\tposition: absolute;\n\toverflow: hidden;\n}\n\n.dojoToasterContainer {\n\tdisplay: block;\n\tposition: absolute;\n\twidth: 17.5em;\n\tz-index: 5000;\n\tmargin: 0px;\n\tfont:0.75em Tahoma, Helvetica, Verdana, Arial;\n}\n\n.dojoToasterContent{\n\tpadding:1em;\n\tpadding-top:0.25em;\n\tbackground:#73c74a;\n}\n\n.dojoToasterMessage{ \n\tcolor:#fff;\n}\n.dojoToasterWarning{ }\n.dojoToasterError,\n.dojoToasterFatal{\n\tfont-weight:bold;\n\tcolor:#fff;\n}\n\n\n.dojoToasterWarning .dojoToasterContent{\n\tpadding:1em;\n\tpadding-top:0.25em;\n\tbackground:#d4d943;\n} \n\n.dojoToasterError .dojoToasterContent{\n\tpadding:1em;\n\tpadding-top:0.25em;\n\tbackground:#c46600;\n} \n", templateCssPath:dojo.u
 ri.moduleUri("dojo.widget", "templates/Toaster.css"), messageTopic:"", messageTypes:{MESSAGE:"MESSAGE", WARNING:"WARNING", ERROR:"ERROR", FATAL:"FATAL"}, defaultType:"MESSAGE", clipCssClass:"dojoToasterClip", containerCssClass:"dojoToasterContainer", contentCssClass:"dojoToasterContent", messageCssClass:"dojoToasterMessage", warningCssClass:"dojoToasterWarning", errorCssClass:"dojoToasterError", fatalCssClass:"dojoToasterFatal", positionDirection:"br-up", positionDirectionTypes:["br-up", "br-left", "bl-up", "bl-right", "tr-down", "tr-left", "tl-down", "tl-right"], showDelay:2000, postCreate:function () {
-	this.hide();
-	dojo.html.setClass(this.clipNode, this.clipCssClass);
-	dojo.html.addClass(this.containerNode, this.containerCssClass);
-	dojo.html.setClass(this.contentNode, this.contentCssClass);
-	if (this.messageTopic) {
-		dojo.event.topic.subscribe(this.messageTopic, this, "_handleMessage");
-	}
-	if (!this.positionDirection || !dojo.lang.inArray(this.positionDirectionTypes, this.positionDirection)) {
-		this.positionDirection = this.positionDirectionTypes.BRU;
-	}
-}, _handleMessage:function (msg) {
-	if (dojo.lang.isString(msg)) {
-		this.setContent(msg);
-	} else {
-		this.setContent(msg["message"], msg["type"], msg["delay"]);
-	}
-}, setContent:function (msg, messageType, delay) {
-	var delay = delay || this.showDelay;
-	if (this.slideAnim && this.slideAnim.status() == "playing") {
-		dojo.lang.setTimeout(50, dojo.lang.hitch(this, function () {
-			this.setContent(msg, messageType);
-		}));
-		return;
-	} else {
-		if (this.slideAnim) {
-			this.slideAnim.stop();
-			if (this.fadeAnim) {
-				this.fadeAnim.stop();
-			}
-		}
-	}
-	if (!msg) {
-		dojo.debug(this.widgetId + ".setContent() incoming content was null, ignoring.");
-		return;
-	}
-	if (!this.positionDirection || !dojo.lang.inArray(this.positionDirectionTypes, this.positionDirection)) {
-		dojo.raise(this.widgetId + ".positionDirection is an invalid value: " + this.positionDirection);
-	}
-	dojo.html.removeClass(this.containerNode, this.messageCssClass);
-	dojo.html.removeClass(this.containerNode, this.warningCssClass);
-	dojo.html.removeClass(this.containerNode, this.errorCssClass);
-	dojo.html.removeClass(this.containerNode, this.fatalCssClass);
-	dojo.html.clearOpacity(this.containerNode);
-	if (msg instanceof String || typeof msg == "string") {
-		this.contentNode.innerHTML = msg;
-	} else {
-		if (dojo.html.isNode(msg)) {
-			this.contentNode.innerHTML = dojo.html.getContentAsString(msg);
-		} else {
-			dojo.raise("Toaster.setContent(): msg is of unknown type:" + msg);
-		}
-	}
-	switch (messageType) {
-	  case this.messageTypes.WARNING:
-		dojo.html.addClass(this.containerNode, this.warningCssClass);
-		break;
-	  case this.messageTypes.ERROR:
-		dojo.html.addClass(this.containerNode, this.errorCssClass);
-		break;
-	  case this.messageTypes.FATAL:
-		dojo.html.addClass(this.containerNode, this.fatalCssClass);
-		break;
-	  case this.messageTypes.MESSAGE:
-	  default:
-		dojo.html.addClass(this.containerNode, this.messageCssClass);
-		break;
-	}
-	this.show();
-	var nodeSize = dojo.html.getMarginBox(this.containerNode);
-	if (this.positionDirection.indexOf("-up") >= 0) {
-		this.containerNode.style.left = 0 + "px";
-		this.containerNode.style.top = nodeSize.height + 10 + "px";
-	} else {
-		if (this.positionDirection.indexOf("-left") >= 0) {
-			this.containerNode.style.left = nodeSize.width + 10 + "px";
-			this.containerNode.style.top = 0 + "px";
-		} else {
-			if (this.positionDirection.indexOf("-right") >= 0) {
-				this.containerNode.style.left = 0 - nodeSize.width - 10 + "px";
-				this.containerNode.style.top = 0 + "px";
-			} else {
-				if (this.positionDirection.indexOf("-down") >= 0) {
-					this.containerNode.style.left = 0 + "px";
-					this.containerNode.style.top = 0 - nodeSize.height - 10 + "px";
-				} else {
-					dojo.raise(this.widgetId + ".positionDirection is an invalid value: " + this.positionDirection);
-				}
-			}
-		}
-	}
-	this.slideAnim = dojo.lfx.html.slideTo(this.containerNode, {top:0, left:0}, 450, null, dojo.lang.hitch(this, function (nodes, anim) {
-		dojo.lang.setTimeout(dojo.lang.hitch(this, function (evt) {
-			if (this.bgIframe) {
-				this.bgIframe.hide();
-			}
-			this.fadeAnim = dojo.lfx.html.fadeOut(this.containerNode, 1000, null, dojo.lang.hitch(this, function (evt) {
-				this.hide();
-			})).play();
-		}), delay);
-	})).play();
-}, _placeClip:function () {
-	var scroll = dojo.html.getScroll();
-	var view = dojo.html.getViewport();
-	var nodeSize = dojo.html.getMarginBox(this.containerNode);
-	this.clipNode.style.height = nodeSize.height + "px";
-	this.clipNode.style.width = nodeSize.width + "px";
-	if (this.positionDirection.match(/^t/)) {
-		this.clipNode.style.top = scroll.top + "px";
-	} else {
-		if (this.positionDirection.match(/^b/)) {
-			this.clipNode.style.top = (view.height - nodeSize.height - 2 + scroll.top) + "px";
-		}
-	}
-	if (this.positionDirection.match(/^[tb]r-/)) {
-		this.clipNode.style.left = (view.width - nodeSize.width - 1 - scroll.left) + "px";
-	} else {
-		if (this.positionDirection.match(/^[tb]l-/)) {
-			this.clipNode.style.left = 0 + "px";
-		}
-	}
-	this.clipNode.style.clip = "rect(0px, " + nodeSize.width + "px, " + nodeSize.height + "px, 0px)";
-	if (dojo.render.html.ie) {
-		if (!this.bgIframe) {
-			this.bgIframe = new dojo.html.BackgroundIframe(this.containerNode);
-			this.bgIframe.setZIndex(this.containerNode);
-		}
-		this.bgIframe.onResized();
-		this.bgIframe.show();
-	}
-}, onSelect:function (e) {
-}, show:function () {
-	dojo.widget.Toaster.superclass.show.call(this);
-	this._placeClip();
-	if (!this._scrollConnected) {
-		this._scrollConnected = true;
-		dojo.event.connect(window, "onscroll", this, "_placeClip");
-	}
-}, hide:function () {
-	dojo.widget.Toaster.superclass.hide.call(this);
-	if (this._scrollConnected) {
-		this._scrollConnected = false;
-		dojo.event.disconnect(window, "onscroll", this, "_placeClip");
-	}
-	dojo.html.setOpacity(this.containerNode, 1);
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Toggler.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Toggler.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Toggler.js
deleted file mode 100644
index 9760801..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Toggler.js
+++ /dev/null
@@ -1,26 +0,0 @@
-/*
-	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.widget.Toggler");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.event.*");
-dojo.widget.defineWidget("dojo.widget.Toggler", dojo.widget.HtmlWidget, {targetId:"", fillInTemplate:function () {
-	dojo.event.connect(this.domNode, "onclick", this, "onClick");
-}, onClick:function () {
-	var pane = dojo.widget.byId(this.targetId);
-	if (!pane) {
-		return;
-	}
-	pane.explodeSrc = this.domNode;
-	pane.toggleShowing();
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Toolbar.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Toolbar.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Toolbar.js
deleted file mode 100644
index 9e4f4bd..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Toolbar.js
+++ /dev/null
@@ -1,724 +0,0 @@
-/*
-	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.widget.Toolbar");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.html.style");
-dojo.widget.defineWidget("dojo.widget.ToolbarContainer", dojo.widget.HtmlWidget, {isContainer:true, templateString:"<div class=\"toolbarContainer\" dojoAttachPoint=\"containerNode\"></div>", templateCssString:".toolbarContainer {\n\tborder-bottom : 0;\n\tbackground-color : #def;\n\tcolor : ButtonText;\n\tfont : Menu;\n\tbackground-image: url(images/toolbar-bg.gif);\n}\n\n.toolbar {\n\tpadding : 2px 4px;\n\tmin-height : 26px;\n\t_height : 26px;\n}\n\n.toolbarItem {\n\tfloat : left;\n\tpadding : 1px 2px;\n\tmargin : 0 2px 1px 0;\n\tcursor : pointer;\n}\n\n.toolbarItem.selected, .toolbarItem.down {\n\tmargin : 1px 1px 0 1px;\n\tpadding : 0px 1px;\n\tborder : 1px solid #bbf;\n\tbackground-color : #fafaff;\n}\n\n.toolbarButton img {\n\tvertical-align : bottom;\n}\n\n.toolbarButton span {\n\tline-height : 16px;\n\tvertical-align : middle;\n}\n\n.toolbarButton.hover {\n\tpadding : 0px 1px;\n\tborder : 1px solid #99c;\n}\n\n.toolbarItem.disabled {\n\topacity : 0.3;\n\tfilter : alpha(opacity
 =30);\n\tcursor : default;\n}\n\n.toolbarSeparator {\n\tcursor : default;\n}\n\n.toolbarFlexibleSpace {\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/Toolbar.css"), getItem:function (name) {
-	if (name instanceof dojo.widget.ToolbarItem) {
-		return name;
-	}
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.Toolbar) {
-			var item = child.getItem(name);
-			if (item) {
-				return item;
-			}
-		}
-	}
-	return null;
-}, getItems:function () {
-	var items = [];
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.Toolbar) {
-			items = items.concat(child.getItems());
-		}
-	}
-	return items;
-}, enable:function () {
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.Toolbar) {
-			child.enable.apply(child, arguments);
-		}
-	}
-}, disable:function () {
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.Toolbar) {
-			child.disable.apply(child, arguments);
-		}
-	}
-}, select:function (name) {
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.Toolbar) {
-			child.select(arguments);
-		}
-	}
-}, deselect:function (name) {
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.Toolbar) {
-			child.deselect(arguments);
-		}
-	}
-}, getItemsState:function () {
-	var values = {};
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.Toolbar) {
-			dojo.lang.mixin(values, child.getItemsState());
-		}
-	}
-	return values;
-}, getItemsActiveState:function () {
-	var values = {};
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.Toolbar) {
-			dojo.lang.mixin(values, child.getItemsActiveState());
-		}
-	}
-	return values;
-}, getItemsSelectedState:function () {
-	var values = {};
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.Toolbar) {
-			dojo.lang.mixin(values, child.getItemsSelectedState());
-		}
-	}
-	return values;
-}});
-dojo.widget.defineWidget("dojo.widget.Toolbar", dojo.widget.HtmlWidget, {isContainer:true, templateString:"<div class=\"toolbar\" dojoAttachPoint=\"containerNode\" unselectable=\"on\" dojoOnMouseover=\"_onmouseover\" dojoOnMouseout=\"_onmouseout\" dojoOnClick=\"_onclick\" dojoOnMousedown=\"_onmousedown\" dojoOnMouseup=\"_onmouseup\"></div>", _getItem:function (node) {
-	var start = new Date();
-	var widget = null;
-	while (node && node != this.domNode) {
-		if (dojo.html.hasClass(node, "toolbarItem")) {
-			var widgets = dojo.widget.manager.getWidgetsByFilter(function (w) {
-				return w.domNode == node;
-			});
-			if (widgets.length == 1) {
-				widget = widgets[0];
-				break;
-			} else {
-				if (widgets.length > 1) {
-					dojo.raise("Toolbar._getItem: More than one widget matches the node");
-				}
-			}
-		}
-		node = node.parentNode;
-	}
-	return widget;
-}, _onmouseover:function (e) {
-	var widget = this._getItem(e.target);
-	if (widget && widget._onmouseover) {
-		widget._onmouseover(e);
-	}
-}, _onmouseout:function (e) {
-	var widget = this._getItem(e.target);
-	if (widget && widget._onmouseout) {
-		widget._onmouseout(e);
-	}
-}, _onclick:function (e) {
-	var widget = this._getItem(e.target);
-	if (widget && widget._onclick) {
-		widget._onclick(e);
-	}
-}, _onmousedown:function (e) {
-	var widget = this._getItem(e.target);
-	if (widget && widget._onmousedown) {
-		widget._onmousedown(e);
-	}
-}, _onmouseup:function (e) {
-	var widget = this._getItem(e.target);
-	if (widget && widget._onmouseup) {
-		widget._onmouseup(e);
-	}
-}, addChild:function (item, pos, props) {
-	var widget = dojo.widget.ToolbarItem.make(item, null, props);
-	var ret = dojo.widget.Toolbar.superclass.addChild.call(this, widget, null, pos, null);
-	return ret;
-}, push:function () {
-	for (var i = 0; i < arguments.length; i++) {
-		this.addChild(arguments[i]);
-	}
-}, getItem:function (name) {
-	if (name instanceof dojo.widget.ToolbarItem) {
-		return name;
-	}
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.ToolbarItem && child._name == name) {
-			return child;
-		}
-	}
-	return null;
-}, getItems:function () {
-	var items = [];
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.ToolbarItem) {
-			items.push(child);
-		}
-	}
-	return items;
-}, getItemsState:function () {
-	var values = {};
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.ToolbarItem) {
-			values[child._name] = {selected:child._selected, enabled:!child.disabled};
-		}
-	}
-	return values;
-}, getItemsActiveState:function () {
-	var values = this.getItemsState();
-	for (var item in values) {
-		values[item] = values[item].enabled;
-	}
-	return values;
-}, getItemsSelectedState:function () {
-	var values = this.getItemsState();
-	for (var item in values) {
-		values[item] = values[item].selected;
-	}
-	return values;
-}, enable:function () {
-	var items = arguments.length ? arguments : this.children;
-	for (var i = 0; i < items.length; i++) {
-		var child = this.getItem(items[i]);
-		if (child instanceof dojo.widget.ToolbarItem) {
-			child.enable(false, true);
-		}
-	}
-}, disable:function () {
-	var items = arguments.length ? arguments : this.children;
-	for (var i = 0; i < items.length; i++) {
-		var child = this.getItem(items[i]);
-		if (child instanceof dojo.widget.ToolbarItem) {
-			child.disable();
-		}
-	}
-}, select:function () {
-	for (var i = 0; i < arguments.length; i++) {
-		var name = arguments[i];
-		var item = this.getItem(name);
-		if (item) {
-			item.select();
-		}
-	}
-}, deselect:function () {
-	for (var i = 0; i < arguments.length; i++) {
-		var name = arguments[i];
-		var item = this.getItem(name);
-		if (item) {
-			item.disable();
-		}
-	}
-}, setValue:function () {
-	for (var i = 0; i < arguments.length; i += 2) {
-		var name = arguments[i], value = arguments[i + 1];
-		var item = this.getItem(name);
-		if (item) {
-			if (item instanceof dojo.widget.ToolbarItem) {
-				item.setValue(value);
-			}
-		}
-	}
-}});
-dojo.widget.defineWidget("dojo.widget.ToolbarItem", dojo.widget.HtmlWidget, {templateString:"<span unselectable=\"on\" class=\"toolbarItem\"></span>", _name:null, getName:function () {
-	return this._name;
-}, setName:function (value) {
-	return (this._name = value);
-}, getValue:function () {
-	return this.getName();
-}, setValue:function (value) {
-	return this.setName(value);
-}, _selected:false, isSelected:function () {
-	return this._selected;
-}, setSelected:function (is, force, preventEvent) {
-	if (!this._toggleItem && !force) {
-		return;
-	}
-	is = Boolean(is);
-	if (force || !this.disabled && this._selected != is) {
-		this._selected = is;
-		this.update();
-		if (!preventEvent) {
-			this._fireEvent(is ? "onSelect" : "onDeselect");
-			this._fireEvent("onChangeSelect");
-		}
-	}
-}, select:function (force, preventEvent) {
-	return this.setSelected(true, force, preventEvent);
-}, deselect:function (force, preventEvent) {
-	return this.setSelected(false, force, preventEvent);
-}, _toggleItem:false, isToggleItem:function () {
-	return this._toggleItem;
-}, setToggleItem:function (value) {
-	this._toggleItem = Boolean(value);
-}, toggleSelected:function (force) {
-	return this.setSelected(!this._selected, force);
-}, isEnabled:function () {
-	return !this.disabled;
-}, setEnabled:function (is, force, preventEvent) {
-	is = Boolean(is);
-	if (force || this.disabled == is) {
-		this.disabled = !is;
-		this.update();
-		if (!preventEvent) {
-			this._fireEvent(this.disabled ? "onDisable" : "onEnable");
-			this._fireEvent("onChangeEnabled");
-		}
-	}
-	return !this.disabled;
-}, enable:function (force, preventEvent) {
-	return this.setEnabled(true, force, preventEvent);
-}, disable:function (force, preventEvent) {
-	return this.setEnabled(false, force, preventEvent);
-}, toggleEnabled:function (force, preventEvent) {
-	return this.setEnabled(this.disabled, force, preventEvent);
-}, _icon:null, getIcon:function () {
-	return this._icon;
-}, setIcon:function (value) {
-	var icon = dojo.widget.Icon.make(value);
-	if (this._icon) {
-		this._icon.setIcon(icon);
-	} else {
-		this._icon = icon;
-	}
-	var iconNode = this._icon.getNode();
-	if (iconNode.parentNode != this.domNode) {
-		if (this.domNode.hasChildNodes()) {
-			this.domNode.insertBefore(iconNode, this.domNode.firstChild);
-		} else {
-			this.domNode.appendChild(iconNode);
-		}
-	}
-	return this._icon;
-}, _label:"", getLabel:function () {
-	return this._label;
-}, setLabel:function (value) {
-	var ret = (this._label = value);
-	if (!this.labelNode) {
-		this.labelNode = document.createElement("span");
-		this.domNode.appendChild(this.labelNode);
-	}
-	this.labelNode.innerHTML = "";
-	this.labelNode.appendChild(document.createTextNode(this._label));
-	this.update();
-	return ret;
-}, update:function () {
-	if (this.disabled) {
-		this._selected = false;
-		dojo.html.addClass(this.domNode, "disabled");
-		dojo.html.removeClass(this.domNode, "down");
-		dojo.html.removeClass(this.domNode, "hover");
-	} else {
-		dojo.html.removeClass(this.domNode, "disabled");
-		if (this._selected) {
-			dojo.html.addClass(this.domNode, "selected");
-		} else {
-			dojo.html.removeClass(this.domNode, "selected");
-		}
-	}
-	this._updateIcon();
-}, _updateIcon:function () {
-	if (this._icon) {
-		if (this.disabled) {
-			this._icon.disable();
-		} else {
-			if (this._cssHover) {
-				this._icon.hover();
-			} else {
-				if (this._selected) {
-					this._icon.select();
-				} else {
-					this._icon.enable();
-				}
-			}
-		}
-	}
-}, _fireEvent:function (evt) {
-	if (typeof this[evt] == "function") {
-		var args = [this];
-		for (var i = 1; i < arguments.length; i++) {
-			args.push(arguments[i]);
-		}
-		this[evt].apply(this, args);
-	}
-}, _onmouseover:function (e) {
-	if (this.disabled) {
-		return;
-	}
-	dojo.html.addClass(this.domNode, "hover");
-	this._fireEvent("onMouseOver");
-}, _onmouseout:function (e) {
-	dojo.html.removeClass(this.domNode, "hover");
-	dojo.html.removeClass(this.domNode, "down");
-	if (!this._selected) {
-		dojo.html.removeClass(this.domNode, "selected");
-	}
-	this._fireEvent("onMouseOut");
-}, _onclick:function (e) {
-	if (!this.disabled && !this._toggleItem) {
-		this._fireEvent("onClick");
-	}
-}, _onmousedown:function (e) {
-	if (e.preventDefault) {
-		e.preventDefault();
-	}
-	if (this.disabled) {
-		return;
-	}
-	dojo.html.addClass(this.domNode, "down");
-	if (this._toggleItem) {
-		if (this.parent.preventDeselect && this._selected) {
-			return;
-		}
-		this.toggleSelected();
-	}
-	this._fireEvent("onMouseDown");
-}, _onmouseup:function (e) {
-	dojo.html.removeClass(this.domNode, "down");
-	this._fireEvent("onMouseUp");
-}, onClick:function () {
-}, onMouseOver:function () {
-}, onMouseOut:function () {
-}, onMouseDown:function () {
-}, onMouseUp:function () {
-}, fillInTemplate:function (args, frag) {
-	if (args.name) {
-		this._name = args.name;
-	}
-	if (args.selected) {
-		this.select();
-	}
-	if (args.disabled) {
-		this.disable();
-	}
-	if (args.label) {
-		this.setLabel(args.label);
-	}
-	if (args.icon) {
-		this.setIcon(args.icon);
-	}
-	if (args.toggleitem || args.toggleItem) {
-		this.setToggleItem(true);
-	}
-}});
-dojo.widget.ToolbarItem.make = function (wh, whIsType, props) {
-	var item = null;
-	if (wh instanceof Array) {
-		item = dojo.widget.createWidget("ToolbarButtonGroup", props);
-		item.setName(wh[0]);
-		for (var i = 1; i < wh.length; i++) {
-			item.addChild(wh[i]);
-		}
-	} else {
-		if (wh instanceof dojo.widget.ToolbarItem) {
-			item = wh;
-		} else {
-			if (wh instanceof dojo.uri.Uri) {
-				item = dojo.widget.createWidget("ToolbarButton", dojo.lang.mixin(props || {}, {icon:new dojo.widget.Icon(wh.toString())}));
-			} else {
-				if (whIsType) {
-					item = dojo.widget.createWidget(wh, props);
-				} else {
-					if (typeof wh == "string" || wh instanceof String) {
-						switch (wh.charAt(0)) {
-						  case "|":
-						  case "-":
-						  case "/":
-							item = dojo.widget.createWidget("ToolbarSeparator", props);
-							break;
-						  case " ":
-							if (wh.length == 1) {
-								item = dojo.widget.createWidget("ToolbarSpace", props);
-							} else {
-								item = dojo.widget.createWidget("ToolbarFlexibleSpace", props);
-							}
-							break;
-						  default:
-							if (/\.(gif|jpg|jpeg|png)$/i.test(wh)) {
-								item = dojo.widget.createWidget("ToolbarButton", dojo.lang.mixin(props || {}, {icon:new dojo.widget.Icon(wh.toString())}));
-							} else {
-								item = dojo.widget.createWidget("ToolbarButton", dojo.lang.mixin(props || {}, {label:wh.toString()}));
-							}
-						}
-					} else {
-						if (wh && wh.tagName && /^img$/i.test(wh.tagName)) {
-							item = dojo.widget.createWidget("ToolbarButton", dojo.lang.mixin(props || {}, {icon:wh}));
-						} else {
-							item = dojo.widget.createWidget("ToolbarButton", dojo.lang.mixin(props || {}, {label:wh.toString()}));
-						}
-					}
-				}
-			}
-		}
-	}
-	return item;
-};
-dojo.widget.defineWidget("dojo.widget.ToolbarButtonGroup", dojo.widget.ToolbarItem, {isContainer:true, templateString:"<span unselectable=\"on\" class=\"toolbarButtonGroup\" dojoAttachPoint=\"containerNode\"></span>", defaultButton:"", postCreate:function () {
-	for (var i = 0; i < this.children.length; i++) {
-		this._injectChild(this.children[i]);
-	}
-}, addChild:function (item, pos, props) {
-	var widget = dojo.widget.ToolbarItem.make(item, null, dojo.lang.mixin(props || {}, {toggleItem:true}));
-	var ret = dojo.widget.ToolbarButtonGroup.superclass.addChild.call(this, widget, null, pos, null);
-	this._injectChild(widget);
-	return ret;
-}, _injectChild:function (widget) {
-	dojo.event.connect(widget, "onSelect", this, "onChildSelected");
-	dojo.event.connect(widget, "onDeselect", this, "onChildDeSelected");
-	if (widget._name == this.defaultButton || (typeof this.defaultButton == "number" && this.children.length - 1 == this.defaultButton)) {
-		widget.select(false, true);
-	}
-}, getItem:function (name) {
-	if (name instanceof dojo.widget.ToolbarItem) {
-		return name;
-	}
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.ToolbarItem && child._name == name) {
-			return child;
-		}
-	}
-	return null;
-}, getItems:function () {
-	var items = [];
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.ToolbarItem) {
-			items.push(child);
-		}
-	}
-	return items;
-}, onChildSelected:function (e) {
-	this.select(e._name);
-}, onChildDeSelected:function (e) {
-	this._fireEvent("onChangeSelect", this._value);
-}, enable:function (force, preventEvent) {
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.ToolbarItem) {
-			child.enable(force, preventEvent);
-			if (child._name == this._value) {
-				child.select(force, preventEvent);
-			}
-		}
-	}
-}, disable:function (force, preventEvent) {
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.ToolbarItem) {
-			child.disable(force, preventEvent);
-		}
-	}
-}, _value:"", getValue:function () {
-	return this._value;
-}, select:function (name, force, preventEvent) {
-	for (var i = 0; i < this.children.length; i++) {
-		var child = this.children[i];
-		if (child instanceof dojo.widget.ToolbarItem) {
-			if (child._name == name) {
-				child.select(force, preventEvent);
-				this._value = name;
-			} else {
-				child.deselect(true, true);
-			}
-		}
-	}
-	if (!preventEvent) {
-		this._fireEvent("onSelect", this._value);
-		this._fireEvent("onChangeSelect", this._value);
-	}
-}, setValue:this.select, preventDeselect:false});
-dojo.widget.defineWidget("dojo.widget.ToolbarButton", dojo.widget.ToolbarItem, {fillInTemplate:function (args, frag) {
-	dojo.widget.ToolbarButton.superclass.fillInTemplate.call(this, args, frag);
-	dojo.html.addClass(this.domNode, "toolbarButton");
-	if (this._icon) {
-		this.setIcon(this._icon);
-	}
-	if (this._label) {
-		this.setLabel(this._label);
-	}
-	if (!this._name) {
-		if (this._label) {
-			this.setName(this._label);
-		} else {
-			if (this._icon) {
-				var src = this._icon.getSrc("enabled").match(/[\/^]([^\.\/]+)\.(gif|jpg|jpeg|png)$/i);
-				if (src) {
-					this.setName(src[1]);
-				}
-			} else {
-				this._name = this._widgetId;
-			}
-		}
-	}
-}});
-dojo.widget.defineWidget("dojo.widget.ToolbarDialog", dojo.widget.ToolbarButton, {fillInTemplate:function (args, frag) {
-	dojo.widget.ToolbarDialog.superclass.fillInTemplate.call(this, args, frag);
-	dojo.event.connect(this, "onSelect", this, "showDialog");
-	dojo.event.connect(this, "onDeselect", this, "hideDialog");
-}, showDialog:function (e) {
-	dojo.lang.setTimeout(dojo.event.connect, 1, document, "onmousedown", this, "deselect");
-}, hideDialog:function (e) {
-	dojo.event.disconnect(document, "onmousedown", this, "deselect");
-}});
-dojo.widget.defineWidget("dojo.widget.ToolbarMenu", dojo.widget.ToolbarDialog, {});
-dojo.widget.ToolbarMenuItem = function () {
-};
-dojo.widget.defineWidget("dojo.widget.ToolbarSeparator", dojo.widget.ToolbarItem, {templateString:"<span unselectable=\"on\" class=\"toolbarItem toolbarSeparator\"></span>", defaultIconPath:new dojo.uri.moduleUri("dojo.widget", "templates/buttons/sep.gif"), fillInTemplate:function (args, frag, skip) {
-	dojo.widget.ToolbarSeparator.superclass.fillInTemplate.call(this, args, frag);
-	this._name = this.widgetId;
-	if (!skip) {
-		if (!this._icon) {
-			this.setIcon(this.defaultIconPath);
-		}
-		this.domNode.appendChild(this._icon.getNode());
-	}
-}, _onmouseover:null, _onmouseout:null, _onclick:null, _onmousedown:null, _onmouseup:null});
-dojo.widget.defineWidget("dojo.widget.ToolbarSpace", dojo.widget.ToolbarSeparator, {fillInTemplate:function (args, frag, skip) {
-	dojo.widget.ToolbarSpace.superclass.fillInTemplate.call(this, args, frag, true);
-	if (!skip) {
-		dojo.html.addClass(this.domNode, "toolbarSpace");
-	}
-}});
-dojo.widget.defineWidget("dojo.widget.ToolbarSelect", dojo.widget.ToolbarItem, {templateString:"<span class=\"toolbarItem toolbarSelect\" unselectable=\"on\"><select dojoAttachPoint=\"selectBox\" dojoOnChange=\"changed\"></select></span>", fillInTemplate:function (args, frag) {
-	dojo.widget.ToolbarSelect.superclass.fillInTemplate.call(this, args, frag, true);
-	var keys = args.values;
-	var i = 0;
-	for (var val in keys) {
-		var opt = document.createElement("option");
-		opt.setAttribute("value", keys[val]);
-		opt.innerHTML = val;
-		this.selectBox.appendChild(opt);
-	}
-}, changed:function (e) {
-	this._fireEvent("onSetValue", this.selectBox.value);
-}, setEnabled:function (is, force, preventEvent) {
-	var ret = dojo.widget.ToolbarSelect.superclass.setEnabled.call(this, is, force, preventEvent);
-	this.selectBox.disabled = this.disabled;
-	return ret;
-}, _onmouseover:null, _onmouseout:null, _onclick:null, _onmousedown:null, _onmouseup:null});
-dojo.widget.Icon = function (enabled, disabled, hovered, selected) {
-	if (!arguments.length) {
-		throw new Error("Icon must have at least an enabled state");
-	}
-	var states = ["enabled", "disabled", "hovered", "selected"];
-	var currentState = "enabled";
-	var domNode = document.createElement("img");
-	this.getState = function () {
-		return currentState;
-	};
-	this.setState = function (value) {
-		if (dojo.lang.inArray(states, value)) {
-			if (this[value]) {
-				currentState = value;
-				var img = this[currentState];
-				if ((dojo.render.html.ie55 || dojo.render.html.ie60) && img.src && img.src.match(/[.]png$/i)) {
-					domNode.width = img.width || img.offsetWidth;
-					domNode.height = img.height || img.offsetHeight;
-					domNode.setAttribute("src", dojo.uri.moduleUri("dojo.widget", "templates/images/blank.gif").uri);
-					domNode.style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src='" + img.src + "',sizingMethod='image')";
-				} else {
-					domNode.setAttribute("src", img.src);
-				}
-			}
-		} else {
-			throw new Error("Invalid state set on Icon (state: " + value + ")");
-		}
-	};
-	this.setSrc = function (state, value) {
-		if (/^img$/i.test(value.tagName)) {
-			this[state] = value;
-		} else {
-			if (typeof value == "string" || value instanceof String || value instanceof dojo.uri.Uri) {
-				this[state] = new Image();
-				this[state].src = value.toString();
-			}
-		}
-		return this[state];
-	};
-	this.setIcon = function (icon) {
-		for (var i = 0; i < states.length; i++) {
-			if (icon[states[i]]) {
-				this.setSrc(states[i], icon[states[i]]);
-			}
-		}
-		this.update();
-	};
-	this.enable = function () {
-		this.setState("enabled");
-	};
-	this.disable = function () {
-		this.setState("disabled");
-	};
-	this.hover = function () {
-		this.setState("hovered");
-	};
-	this.select = function () {
-		this.setState("selected");
-	};
-	this.getSize = function () {
-		return {width:domNode.width || domNode.offsetWidth, height:domNode.height || domNode.offsetHeight};
-	};
-	this.setSize = function (w, h) {
-		domNode.width = w;
-		domNode.height = h;
-		return {width:w, height:h};
-	};
-	this.getNode = function () {
-		return domNode;
-	};
-	this.getSrc = function (state) {
-		if (state) {
-			return this[state].src;
-		}
-		return domNode.src || "";
-	};
-	this.update = function () {
-		this.setState(currentState);
-	};
-	for (var i = 0; i < states.length; i++) {
-		var arg = arguments[i];
-		var state = states[i];
-		this[state] = null;
-		if (!arg) {
-			continue;
-		}
-		this.setSrc(state, arg);
-	}
-	this.enable();
-};
-dojo.widget.Icon.make = function (a, b, c, d) {
-	for (var i = 0; i < arguments.length; i++) {
-		if (arguments[i] instanceof dojo.widget.Icon) {
-			return arguments[i];
-		}
-	}
-	return new dojo.widget.Icon(a, b, c, d);
-};
-dojo.widget.defineWidget("dojo.widget.ToolbarColorDialog", dojo.widget.ToolbarDialog, {palette:"7x10", fillInTemplate:function (args, frag) {
-	dojo.widget.ToolbarColorDialog.superclass.fillInTemplate.call(this, args, frag);
-	this.dialog = dojo.widget.createWidget("ColorPalette", {palette:this.palette});
-	this.dialog.domNode.style.position = "absolute";
-	dojo.event.connect(this.dialog, "onColorSelect", this, "_setValue");
-}, _setValue:function (color) {
-	this._value = color;
-	this._fireEvent("onSetValue", color);
-}, showDialog:function (e) {
-	dojo.widget.ToolbarColorDialog.superclass.showDialog.call(this, e);
-	var abs = dojo.html.getAbsolutePosition(this.domNode, true);
-	var y = abs.y + dojo.html.getBorderBox(this.domNode).height;
-	this.dialog.showAt(abs.x, y);
-}, hideDialog:function (e) {
-	dojo.widget.ToolbarColorDialog.superclass.hideDialog.call(this, e);
-	this.dialog.hide();
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Tooltip.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Tooltip.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Tooltip.js
deleted file mode 100644
index d458ede..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Tooltip.js
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
-	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.widget.Tooltip");
-dojo.require("dojo.widget.ContentPane");
-dojo.require("dojo.widget.PopupContainer");
-dojo.require("dojo.uri.Uri");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.event.*");
-dojo.require("dojo.html.style");
-dojo.require("dojo.html.util");
-dojo.widget.defineWidget("dojo.widget.Tooltip", [dojo.widget.ContentPane, dojo.widget.PopupContainerBase], {caption:"", showDelay:500, hideDelay:100, connectId:"", templateCssString:".dojoTooltip {\n\tborder: solid black 1px;\n\tbackground: beige;\n\tcolor: black;\n\tposition: absolute;\n\tfont-size: small;\n\tpadding: 2px 2px 2px 2px;\n\tz-index: 10;\n\tdisplay: block;\n}\n", templateCssPath:dojo.uri.moduleUri("dojo.widget", "templates/TooltipTemplate.css"), fillInTemplate:function (args, frag) {
-	if (this.caption != "") {
-		this.domNode.appendChild(document.createTextNode(this.caption));
-	}
-	this._connectNode = dojo.byId(this.connectId);
-	dojo.widget.Tooltip.superclass.fillInTemplate.call(this, args, frag);
-	this.addOnLoad(this, "_loadedContent");
-	dojo.html.addClass(this.domNode, "dojoTooltip");
-	var source = this.getFragNodeRef(frag);
-	dojo.html.copyStyle(this.domNode, source);
-	this.applyPopupBasicStyle();
-}, postCreate:function (args, frag) {
-	dojo.event.connect(this._connectNode, "onmouseover", this, "_onMouseOver");
-	dojo.widget.Tooltip.superclass.postCreate.call(this, args, frag);
-}, _onMouseOver:function (e) {
-	this._mouse = {x:e.pageX, y:e.pageY};
-	if (!this._tracking) {
-		dojo.event.connect(document.documentElement, "onmousemove", this, "_onMouseMove");
-		this._tracking = true;
-	}
-	this._onHover(e);
-}, _onMouseMove:function (e) {
-	this._mouse = {x:e.pageX, y:e.pageY};
-	if (dojo.html.overElement(this._connectNode, e) || dojo.html.overElement(this.domNode, e)) {
-		this._onHover(e);
-	} else {
-		this._onUnHover(e);
-	}
-}, _onHover:function (e) {
-	if (this._hover) {
-		return;
-	}
-	this._hover = true;
-	if (this._hideTimer) {
-		clearTimeout(this._hideTimer);
-		delete this._hideTimer;
-	}
-	if (!this.isShowingNow && !this._showTimer) {
-		this._showTimer = setTimeout(dojo.lang.hitch(this, "open"), this.showDelay);
-	}
-}, _onUnHover:function (e) {
-	if (!this._hover) {
-		return;
-	}
-	this._hover = false;
-	if (this._showTimer) {
-		clearTimeout(this._showTimer);
-		delete this._showTimer;
-	}
-	if (this.isShowingNow && !this._hideTimer) {
-		this._hideTimer = setTimeout(dojo.lang.hitch(this, "close"), this.hideDelay);
-	}
-	if (!this.isShowingNow) {
-		dojo.event.disconnect(document.documentElement, "onmousemove", this, "_onMouseMove");
-		this._tracking = false;
-	}
-}, open:function () {
-	if (this.isShowingNow) {
-		return;
-	}
-	dojo.widget.PopupContainerBase.prototype.open.call(this, this._mouse.x, this._mouse.y, null, [this._mouse.x, this._mouse.y], "TL,TR,BL,BR", [10, 15]);
-}, close:function () {
-	if (this.isShowingNow) {
-		if (this._showTimer) {
-			clearTimeout(this._showTimer);
-			delete this._showTimer;
-		}
-		if (this._hideTimer) {
-			clearTimeout(this._hideTimer);
-			delete this._hideTimer;
-		}
-		dojo.event.disconnect(document.documentElement, "onmousemove", this, "_onMouseMove");
-		this._tracking = false;
-		dojo.widget.PopupContainerBase.prototype.close.call(this);
-	}
-}, _position:function () {
-	this.move(this._mouse.x, this._mouse.y, [10, 15], "TL,TR,BL,BR");
-}, _loadedContent:function () {
-	if (this.isShowingNow) {
-		this._position();
-	}
-}, checkSize:function () {
-}, uninitialize:function () {
-	this.close();
-	dojo.event.disconnect(this._connectNode, "onmouseover", this, "_onMouseOver");
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Tree.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Tree.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Tree.js
deleted file mode 100644
index 113b6db..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/Tree.js
+++ /dev/null
@@ -1,236 +0,0 @@
-/*
-	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.widget.Tree");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.event.*");
-dojo.require("dojo.io.*");
-dojo.require("dojo.widget.HtmlWidget");
-dojo.require("dojo.widget.TreeNode");
-dojo.require("dojo.html.common");
-dojo.require("dojo.html.selection");
-dojo.widget.defineWidget("dojo.widget.Tree", dojo.widget.HtmlWidget, function () {
-	this.eventNames = {};
-	this.tree = this;
-	this.DNDAcceptTypes = [];
-	this.actionsDisabled = [];
-}, {widgetType:"Tree", eventNamesDefault:{createDOMNode:"createDOMNode", treeCreate:"treeCreate", treeDestroy:"treeDestroy", treeClick:"treeClick", iconClick:"iconClick", titleClick:"titleClick", moveFrom:"moveFrom", moveTo:"moveTo", addChild:"addChild", removeNode:"removeNode", expand:"expand", collapse:"collapse"}, isContainer:true, DNDMode:"off", lockLevel:0, strictFolders:true, DNDModes:{BETWEEN:1, ONTO:2}, DNDAcceptTypes:"", templateCssString:"\n.dojoTree {\n\tfont: caption;\n\tfont-size: 11px;\n\tfont-weight: normal;\n\toverflow: auto;\n}\n\n\n.dojoTreeNodeLabelTitle {\n\tpadding-left: 2px;\n\tcolor: WindowText;\n}\n\n.dojoTreeNodeLabel {\n\tcursor:hand;\n\tcursor:pointer;\n}\n\n.dojoTreeNodeLabelTitle:hover {\n\ttext-decoration: underline;\n}\n\n.dojoTreeNodeLabelSelected {\n\tbackground-color: Highlight;\n\tcolor: HighlightText;\n}\n\n.dojoTree div {\n\twhite-space: nowrap;\n}\n\n.dojoTree img, .dojoTreeNodeLabel img {\n\tvertical-align: middle;\n}\n\n", templateCssPath:dojo
 .uri.moduleUri("dojo.widget", "templates/images/Tree/Tree.css"), templateString:"<div class=\"dojoTree\"></div>", isExpanded:true, isTree:true, objectId:"", controller:"", selector:"", menu:"", expandLevel:"", blankIconSrc:dojo.uri.moduleUri("dojo.widget", "templates/images/Tree/treenode_blank.gif"), gridIconSrcT:dojo.uri.moduleUri("dojo.widget", "templates/images/Tree/treenode_grid_t.gif"), gridIconSrcL:dojo.uri.moduleUri("dojo.widget", "templates/images/Tree/treenode_grid_l.gif"), gridIconSrcV:dojo.uri.moduleUri("dojo.widget", "templates/images/Tree/treenode_grid_v.gif"), gridIconSrcP:dojo.uri.moduleUri("dojo.widget", "templates/images/Tree/treenode_grid_p.gif"), gridIconSrcC:dojo.uri.moduleUri("dojo.widget", "templates/images/Tree/treenode_grid_c.gif"), gridIconSrcX:dojo.uri.moduleUri("dojo.widget", "templates/images/Tree/treenode_grid_x.gif"), gridIconSrcY:dojo.uri.moduleUri("dojo.widget", "templates/images/Tree/treenode_grid_y.gif"), gridIconSrcZ:dojo.uri.moduleUri("dojo.widget
 ", "templates/images/Tree/treenode_grid_z.gif"), expandIconSrcPlus:dojo.uri.moduleUri("dojo.widget", "templates/images/Tree/treenode_expand_plus.gif"), expandIconSrcMinus:dojo.uri.moduleUri("dojo.widget", "templates/images/Tree/treenode_expand_minus.gif"), expandIconSrcLoading:dojo.uri.moduleUri("dojo.widget", "templates/images/Tree/treenode_loading.gif"), iconWidth:18, iconHeight:18, showGrid:true, showRootGrid:true, actionIsDisabled:function (action) {
-	var _this = this;
-	return dojo.lang.inArray(_this.actionsDisabled, action);
-}, actions:{ADDCHILD:"ADDCHILD"}, getInfo:function () {
-	var info = {widgetId:this.widgetId, objectId:this.objectId};
-	return info;
-}, initializeController:function () {
-	if (this.controller != "off") {
-		if (this.controller) {
-			this.controller = dojo.widget.byId(this.controller);
-		} else {
-			dojo.require("dojo.widget.TreeBasicController");
-			this.controller = dojo.widget.createWidget("TreeBasicController", {DNDController:(this.DNDMode ? "create" : ""), dieWithTree:true});
-		}
-		this.controller.listenTree(this);
-	} else {
-		this.controller = null;
-	}
-}, initializeSelector:function () {
-	if (this.selector != "off") {
-		if (this.selector) {
-			this.selector = dojo.widget.byId(this.selector);
-		} else {
-			dojo.require("dojo.widget.TreeSelector");
-			this.selector = dojo.widget.createWidget("TreeSelector", {dieWithTree:true});
-		}
-		this.selector.listenTree(this);
-	} else {
-		this.selector = null;
-	}
-}, initialize:function (args, frag) {
-	var _this = this;
-	for (name in this.eventNamesDefault) {
-		if (dojo.lang.isUndefined(this.eventNames[name])) {
-			this.eventNames[name] = this.widgetId + "/" + this.eventNamesDefault[name];
-		}
-	}
-	for (var i = 0; i < this.actionsDisabled.length; i++) {
-		this.actionsDisabled[i] = this.actionsDisabled[i].toUpperCase();
-	}
-	if (this.DNDMode == "off") {
-		this.DNDMode = 0;
-	} else {
-		if (this.DNDMode == "between") {
-			this.DNDMode = this.DNDModes.ONTO | this.DNDModes.BETWEEN;
-		} else {
-			if (this.DNDMode == "onto") {
-				this.DNDMode = this.DNDModes.ONTO;
-			}
-		}
-	}
-	this.expandLevel = parseInt(this.expandLevel);
-	this.initializeSelector();
-	this.initializeController();
-	if (this.menu) {
-		this.menu = dojo.widget.byId(this.menu);
-		this.menu.listenTree(this);
-	}
-	this.containerNode = this.domNode;
-}, postCreate:function () {
-	this.createDOMNode();
-}, createDOMNode:function () {
-	dojo.html.disableSelection(this.domNode);
-	for (var i = 0; i < this.children.length; i++) {
-		this.children[i].parent = this;
-		var node = this.children[i].createDOMNode(this, 0);
-		this.domNode.appendChild(node);
-	}
-	if (!this.showRootGrid) {
-		for (var i = 0; i < this.children.length; i++) {
-			this.children[i].expand();
-		}
-	}
-	dojo.event.topic.publish(this.eventNames.treeCreate, {source:this});
-}, destroy:function () {
-	dojo.event.topic.publish(this.tree.eventNames.treeDestroy, {source:this});
-	return dojo.widget.HtmlWidget.prototype.destroy.apply(this, arguments);
-}, addChild:function (child, index) {
-	var message = {child:child, index:index, parent:this, domNodeInitialized:child.domNodeInitialized};
-	this.doAddChild.apply(this, arguments);
-	dojo.event.topic.publish(this.tree.eventNames.addChild, message);
-}, doAddChild:function (child, index) {
-	if (dojo.lang.isUndefined(index)) {
-		index = this.children.length;
-	}
-	if (!child.isTreeNode) {
-		dojo.raise("You can only add TreeNode widgets to a " + this.widgetType + " widget!");
-		return;
-	}
-	if (this.isTreeNode) {
-		if (!this.isFolder) {
-			this.setFolder();
-		}
-	}
-	var _this = this;
-	dojo.lang.forEach(child.getDescendants(), function (elem) {
-		elem.tree = _this.tree;
-	});
-	child.parent = this;
-	if (this.isTreeNode) {
-		this.state = this.loadStates.LOADED;
-	}
-	if (index < this.children.length) {
-		dojo.html.insertBefore(child.domNode, this.children[index].domNode);
-	} else {
-		this.containerNode.appendChild(child.domNode);
-		if (this.isExpanded && this.isTreeNode) {
-			this.showChildren();
-		}
-	}
-	this.children.splice(index, 0, child);
-	if (child.domNodeInitialized) {
-		var d = this.isTreeNode ? this.depth : -1;
-		child.adjustDepth(d - child.depth + 1);
-		child.updateIconTree();
-	} else {
-		child.depth = this.isTreeNode ? this.depth + 1 : 0;
-		child.createDOMNode(child.tree, child.depth);
-	}
-	var prevSibling = child.getPreviousSibling();
-	if (child.isLastChild() && prevSibling) {
-		prevSibling.updateExpandGridColumn();
-	}
-}, makeBlankImg:function () {
-	var img = document.createElement("img");
-	img.style.width = this.iconWidth + "px";
-	img.style.height = this.iconHeight + "px";
-	img.src = this.blankIconSrc;
-	img.style.verticalAlign = "middle";
-	return img;
-}, updateIconTree:function () {
-	if (!this.isTree) {
-		this.updateIcons();
-	}
-	for (var i = 0; i < this.children.length; i++) {
-		this.children[i].updateIconTree();
-	}
-}, toString:function () {
-	return "[" + this.widgetType + " ID:" + this.widgetId + "]";
-}, move:function (child, newParent, index) {
-	var oldParent = child.parent;
-	var oldTree = child.tree;
-	this.doMove.apply(this, arguments);
-	var newParent = child.parent;
-	var newTree = child.tree;
-	var message = {oldParent:oldParent, oldTree:oldTree, newParent:newParent, newTree:newTree, child:child};
-	dojo.event.topic.publish(oldTree.eventNames.moveFrom, message);
-	dojo.event.topic.publish(newTree.eventNames.moveTo, message);
-}, doMove:function (child, newParent, index) {
-	child.parent.doRemoveNode(child);
-	newParent.doAddChild(child, index);
-}, removeNode:function (child) {
-	if (!child.parent) {
-		return;
-	}
-	var oldTree = child.tree;
-	var oldParent = child.parent;
-	var removedChild = this.doRemoveNode.apply(this, arguments);
-	dojo.event.topic.publish(this.tree.eventNames.removeNode, {child:removedChild, tree:oldTree, parent:oldParent});
-	return removedChild;
-}, doRemoveNode:function (child) {
-	if (!child.parent) {
-		return;
-	}
-	var parent = child.parent;
-	var children = parent.children;
-	var index = child.getParentIndex();
-	if (index < 0) {
-		dojo.raise("Couldn't find node " + child + " for removal");
-	}
-	children.splice(index, 1);
-	dojo.html.removeNode(child.domNode);
-	if (parent.children.length == 0 && !parent.isTree) {
-		parent.containerNode.style.display = "none";
-	}
-	if (index == children.length && index > 0) {
-		children[index - 1].updateExpandGridColumn();
-	}
-	if (parent instanceof dojo.widget.Tree && index == 0 && children.length > 0) {
-		children[0].updateExpandGrid();
-	}
-	child.parent = child.tree = null;
-	return child;
-}, markLoading:function () {
-}, unMarkLoading:function () {
-}, lock:function () {
-	!this.lockLevel && this.markLoading();
-	this.lockLevel++;
-}, unlock:function () {
-	if (!this.lockLevel) {
-		dojo.raise("unlock: not locked");
-	}
-	this.lockLevel--;
-	!this.lockLevel && this.unMarkLoading();
-}, isLocked:function () {
-	var node = this;
-	while (true) {
-		if (node.lockLevel) {
-			return true;
-		}
-		if (node instanceof dojo.widget.Tree) {
-			break;
-		}
-		node = node.parent;
-	}
-	return false;
-}, flushLock:function () {
-	this.lockLevel = 0;
-	this.unMarkLoading();
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeBasicController.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeBasicController.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeBasicController.js
deleted file mode 100644
index 0ac9dcf..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeBasicController.js
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
-	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.widget.TreeBasicController");
-dojo.require("dojo.event.*");
-dojo.require("dojo.json");
-dojo.require("dojo.io.*");
-dojo.widget.defineWidget("dojo.widget.TreeBasicController", dojo.widget.HtmlWidget, {widgetType:"TreeBasicController", DNDController:"", dieWithTree:false, initialize:function (args, frag) {
-	if (this.DNDController == "create") {
-		dojo.require("dojo.dnd.TreeDragAndDrop");
-		this.DNDController = new dojo.dnd.TreeDNDController(this);
-	}
-}, listenTree:function (tree) {
-	dojo.event.topic.subscribe(tree.eventNames.createDOMNode, this, "onCreateDOMNode");
-	dojo.event.topic.subscribe(tree.eventNames.treeClick, this, "onTreeClick");
-	dojo.event.topic.subscribe(tree.eventNames.treeCreate, this, "onTreeCreate");
-	dojo.event.topic.subscribe(tree.eventNames.treeDestroy, this, "onTreeDestroy");
-	if (this.DNDController) {
-		this.DNDController.listenTree(tree);
-	}
-}, unlistenTree:function (tree) {
-	dojo.event.topic.unsubscribe(tree.eventNames.createDOMNode, this, "onCreateDOMNode");
-	dojo.event.topic.unsubscribe(tree.eventNames.treeClick, this, "onTreeClick");
-	dojo.event.topic.unsubscribe(tree.eventNames.treeCreate, this, "onTreeCreate");
-	dojo.event.topic.unsubscribe(tree.eventNames.treeDestroy, this, "onTreeDestroy");
-}, onTreeDestroy:function (message) {
-	var tree = message.source;
-	this.unlistenTree(tree);
-	if (this.dieWithTree) {
-		this.destroy();
-	}
-}, onCreateDOMNode:function (message) {
-	var node = message.source;
-	if (node.expandLevel > 0) {
-		this.expandToLevel(node, node.expandLevel);
-	}
-}, onTreeCreate:function (message) {
-	var tree = message.source;
-	var _this = this;
-	if (tree.expandLevel) {
-		dojo.lang.forEach(tree.children, function (child) {
-			_this.expandToLevel(child, tree.expandLevel - 1);
-		});
-	}
-}, expandToLevel:function (node, level) {
-	if (level == 0) {
-		return;
-	}
-	var children = node.children;
-	var _this = this;
-	var handler = function (node, expandLevel) {
-		this.node = node;
-		this.expandLevel = expandLevel;
-		this.process = function () {
-			for (var i = 0; i < this.node.children.length; i++) {
-				var child = node.children[i];
-				_this.expandToLevel(child, this.expandLevel);
-			}
-		};
-	};
-	var h = new handler(node, level - 1);
-	this.expand(node, false, h, h.process);
-}, onTreeClick:function (message) {
-	var node = message.source;
-	if (node.isLocked()) {
-		return false;
-	}
-	if (node.isExpanded) {
-		this.collapse(node);
-	} else {
-		this.expand(node);
-	}
-}, expand:function (node, sync, callObj, callFunc) {
-	node.expand();
-	if (callFunc) {
-		callFunc.apply(callObj, [node]);
-	}
-}, collapse:function (node) {
-	node.collapse();
-}, canMove:function (child, newParent) {
-	if (child.actionIsDisabled(child.actions.MOVE)) {
-		return false;
-	}
-	if (child.parent !== newParent && newParent.actionIsDisabled(newParent.actions.ADDCHILD)) {
-		return false;
-	}
-	var node = newParent;
-	while (node.isTreeNode) {
-		if (node === child) {
-			return false;
-		}
-		node = node.parent;
-	}
-	return true;
-}, move:function (child, newParent, index) {
-	if (!this.canMove(child, newParent)) {
-		return false;
-	}
-	var result = this.doMove(child, newParent, index);
-	if (!result) {
-		return result;
-	}
-	if (newParent.isTreeNode) {
-		this.expand(newParent);
-	}
-	return result;
-}, doMove:function (child, newParent, index) {
-	child.tree.move(child, newParent, index);
-	return true;
-}, canRemoveNode:function (child) {
-	if (child.actionIsDisabled(child.actions.REMOVE)) {
-		return false;
-	}
-	return true;
-}, removeNode:function (node, callObj, callFunc) {
-	if (!this.canRemoveNode(node)) {
-		return false;
-	}
-	return this.doRemoveNode(node, callObj, callFunc);
-}, doRemoveNode:function (node, callObj, callFunc) {
-	node.tree.removeNode(node);
-	if (callFunc) {
-		callFunc.apply(dojo.lang.isUndefined(callObj) ? this : callObj, [node]);
-	}
-}, canCreateChild:function (parent, index, data) {
-	if (parent.actionIsDisabled(parent.actions.ADDCHILD)) {
-		return false;
-	}
-	return true;
-}, createChild:function (parent, index, data, callObj, callFunc) {
-	if (!this.canCreateChild(parent, index, data)) {
-		return false;
-	}
-	return this.doCreateChild.apply(this, arguments);
-}, doCreateChild:function (parent, index, data, callObj, callFunc) {
-	var widgetType = data.widgetType ? data.widgetType : "TreeNode";
-	var newChild = dojo.widget.createWidget(widgetType, data);
-	parent.addChild(newChild, index);
-	this.expand(parent);
-	if (callFunc) {
-		callFunc.apply(callObj, [newChild]);
-	}
-	return newChild;
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeBasicControllerV3.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeBasicControllerV3.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeBasicControllerV3.js
deleted file mode 100644
index 4cad198..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeBasicControllerV3.js
+++ /dev/null
@@ -1,461 +0,0 @@
-/*
-	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.widget.TreeBasicControllerV3");
-dojo.require("dojo.event.*");
-dojo.require("dojo.json");
-dojo.require("dojo.io.*");
-dojo.require("dojo.widget.TreeCommon");
-dojo.require("dojo.widget.TreeNodeV3");
-dojo.require("dojo.widget.TreeV3");
-dojo.widget.defineWidget("dojo.widget.TreeBasicControllerV3", [dojo.widget.HtmlWidget, dojo.widget.TreeCommon], function () {
-	this.listenedTrees = {};
-}, {listenTreeEvents:["afterSetFolder", "afterTreeCreate", "beforeTreeDestroy"], listenNodeFilter:function (elem) {
-	return elem instanceof dojo.widget.Widget;
-}, editor:null, initialize:function (args) {
-	if (args.editor) {
-		this.editor = dojo.widget.byId(args.editor);
-		this.editor.controller = this;
-	}
-}, getInfo:function (elem) {
-	return elem.getInfo();
-}, onBeforeTreeDestroy:function (message) {
-	this.unlistenTree(message.source);
-}, onAfterSetFolder:function (message) {
-	if (message.source.expandLevel > 0) {
-		this.expandToLevel(message.source, message.source.expandLevel);
-	}
-	if (message.source.loadLevel > 0) {
-		this.loadToLevel(message.source, message.source.loadLevel);
-	}
-}, _focusNextVisible:function (nodeWidget) {
-	if (nodeWidget.isFolder && nodeWidget.isExpanded && nodeWidget.children.length > 0) {
-		returnWidget = nodeWidget.children[0];
-	} else {
-		while (nodeWidget.isTreeNode && nodeWidget.isLastChild()) {
-			nodeWidget = nodeWidget.parent;
-		}
-		if (nodeWidget.isTreeNode) {
-			var returnWidget = nodeWidget.parent.children[nodeWidget.getParentIndex() + 1];
-		}
-	}
-	if (returnWidget && returnWidget.isTreeNode) {
-		this._focusLabel(returnWidget);
-		return returnWidget;
-	}
-}, _focusPreviousVisible:function (nodeWidget) {
-	var returnWidget = nodeWidget;
-	if (!nodeWidget.isFirstChild()) {
-		var previousSibling = nodeWidget.parent.children[nodeWidget.getParentIndex() - 1];
-		nodeWidget = previousSibling;
-		while (nodeWidget.isFolder && nodeWidget.isExpanded && nodeWidget.children.length > 0) {
-			returnWidget = nodeWidget;
-			nodeWidget = nodeWidget.children[nodeWidget.children.length - 1];
-		}
-	} else {
-		nodeWidget = nodeWidget.parent;
-	}
-	if (nodeWidget && nodeWidget.isTreeNode) {
-		returnWidget = nodeWidget;
-	}
-	if (returnWidget && returnWidget.isTreeNode) {
-		this._focusLabel(returnWidget);
-		return returnWidget;
-	}
-}, _focusZoomIn:function (nodeWidget) {
-	var returnWidget = nodeWidget;
-	if (nodeWidget.isFolder && !nodeWidget.isExpanded) {
-		this.expand(nodeWidget);
-	} else {
-		if (nodeWidget.children.length > 0) {
-			nodeWidget = nodeWidget.children[0];
-		}
-	}
-	if (nodeWidget && nodeWidget.isTreeNode) {
-		returnWidget = nodeWidget;
-	}
-	if (returnWidget && returnWidget.isTreeNode) {
-		this._focusLabel(returnWidget);
-		return returnWidget;
-	}
-}, _focusZoomOut:function (node) {
-	var returnWidget = node;
-	if (node.isFolder && node.isExpanded) {
-		this.collapse(node);
-	} else {
-		node = node.parent;
-	}
-	if (node && node.isTreeNode) {
-		returnWidget = node;
-	}
-	if (returnWidget && returnWidget.isTreeNode) {
-		this._focusLabel(returnWidget);
-		return returnWidget;
-	}
-}, onFocusNode:function (e) {
-	var node = this.domElement2TreeNode(e.target);
-	if (node) {
-		node.viewFocus();
-		dojo.event.browser.stopEvent(e);
-	}
-}, onBlurNode:function (e) {
-	var node = this.domElement2TreeNode(e.target);
-	if (!node) {
-		return;
-	}
-	var labelNode = node.labelNode;
-	labelNode.setAttribute("tabIndex", "-1");
-	node.viewUnfocus();
-	dojo.event.browser.stopEvent(e);
-	node.tree.domNode.setAttribute("tabIndex", "0");
-}, _focusLabel:function (node) {
-	var lastFocused = node.tree.lastFocused;
-	var labelNode;
-	if (lastFocused && lastFocused.labelNode) {
-		labelNode = lastFocused.labelNode;
-		dojo.event.disconnect(labelNode, "onblur", this, "onBlurNode");
-		labelNode.setAttribute("tabIndex", "-1");
-		dojo.html.removeClass(labelNode, "TreeLabelFocused");
-	}
-	labelNode = node.labelNode;
-	labelNode.setAttribute("tabIndex", "0");
-	node.tree.lastFocused = node;
-	dojo.html.addClass(labelNode, "TreeLabelFocused");
-	dojo.event.connectOnce(labelNode, "onblur", this, "onBlurNode");
-	dojo.event.connectOnce(labelNode, "onfocus", this, "onFocusNode");
-	labelNode.focus();
-}, onKey:function (e) {
-	if (!e.key || e.ctrkKey || e.altKey) {
-		return;
-	}
-	var nodeWidget = this.domElement2TreeNode(e.target);
-	if (!nodeWidget) {
-		return;
-	}
-	var treeWidget = nodeWidget.tree;
-	if (treeWidget.lastFocused && treeWidget.lastFocused.labelNode) {
-		nodeWidget = treeWidget.lastFocused;
-	}
-	switch (e.key) {
-	  case e.KEY_TAB:
-		if (e.shiftKey) {
-			treeWidget.domNode.setAttribute("tabIndex", "-1");
-		}
-		break;
-	  case e.KEY_RIGHT_ARROW:
-		this._focusZoomIn(nodeWidget);
-		dojo.event.browser.stopEvent(e);
-		break;
-	  case e.KEY_LEFT_ARROW:
-		this._focusZoomOut(nodeWidget);
-		dojo.event.browser.stopEvent(e);
-		break;
-	  case e.KEY_UP_ARROW:
-		this._focusPreviousVisible(nodeWidget);
-		dojo.event.browser.stopEvent(e);
-		break;
-	  case e.KEY_DOWN_ARROW:
-		this._focusNextVisible(nodeWidget);
-		dojo.event.browser.stopEvent(e);
-		break;
-	}
-}, onFocusTree:function (e) {
-	if (!e.currentTarget) {
-		return;
-	}
-	try {
-		var treeWidget = this.getWidgetByNode(e.currentTarget);
-		if (!treeWidget || !treeWidget.isTree) {
-			return;
-		}
-		var nodeWidget = this.getWidgetByNode(treeWidget.domNode.firstChild);
-		if (nodeWidget && nodeWidget.isTreeNode) {
-			if (treeWidget.lastFocused && treeWidget.lastFocused.isTreeNode) {
-				nodeWidget = treeWidget.lastFocused;
-			}
-			this._focusLabel(nodeWidget);
-		}
-	}
-	catch (e) {
-	}
-}, onAfterTreeCreate:function (message) {
-	var tree = message.source;
-	dojo.event.browser.addListener(tree.domNode, "onKey", dojo.lang.hitch(this, this.onKey));
-	dojo.event.browser.addListener(tree.domNode, "onmousedown", dojo.lang.hitch(this, this.onTreeMouseDown));
-	dojo.event.browser.addListener(tree.domNode, "onclick", dojo.lang.hitch(this, this.onTreeClick));
-	dojo.event.browser.addListener(tree.domNode, "onfocus", dojo.lang.hitch(this, this.onFocusTree));
-	tree.domNode.setAttribute("tabIndex", "0");
-	if (tree.expandLevel) {
-		this.expandToLevel(tree, tree.expandLevel);
-	}
-	if (tree.loadLevel) {
-		this.loadToLevel(tree, tree.loadLevel);
-	}
-}, onTreeMouseDown:function (e) {
-}, onTreeClick:function (e) {
-	var domElement = e.target;
-	var node = this.domElement2TreeNode(domElement);
-	if (!node || !node.isTreeNode) {
-		return;
-	}
-	var checkExpandClick = function (el) {
-		return el === node.expandNode;
-	};
-	if (this.checkPathCondition(domElement, checkExpandClick)) {
-		this.processExpandClick(node);
-	}
-	this._focusLabel(node);
-}, processExpandClick:function (node) {
-	if (node.isExpanded) {
-		this.collapse(node);
-	} else {
-		this.expand(node);
-	}
-}, batchExpandTimeout:20, expandAll:function (nodeOrTree) {
-	return this.expandToLevel(nodeOrTree, Number.POSITIVE_INFINITY);
-}, collapseAll:function (nodeOrTree) {
-	var _this = this;
-	var filter = function (elem) {
-		return (elem instanceof dojo.widget.Widget) && elem.isFolder && elem.isExpanded;
-	};
-	if (nodeOrTree.isTreeNode) {
-		this.processDescendants(nodeOrTree, filter, this.collapse);
-	} else {
-		if (nodeOrTree.isTree) {
-			dojo.lang.forEach(nodeOrTree.children, function (c) {
-				_this.processDescendants(c, filter, _this.collapse);
-			});
-		}
-	}
-}, expandToNode:function (node, withSelected) {
-	n = withSelected ? node : node.parent;
-	s = [];
-	while (!n.isExpanded) {
-		s.push(n);
-		n = n.parent;
-	}
-	dojo.lang.forEach(s, function (n) {
-		n.expand();
-	});
-}, expandToLevel:function (nodeOrTree, level) {
-	dojo.require("dojo.widget.TreeTimeoutIterator");
-	var _this = this;
-	var filterFunc = function (elem) {
-		var res = elem.isFolder || elem.children && elem.children.length;
-		return res;
-	};
-	var callFunc = function (node, iterator) {
-		_this.expand(node, true);
-		iterator.forward();
-	};
-	var iterator = new dojo.widget.TreeTimeoutIterator(nodeOrTree, callFunc, this);
-	iterator.setFilter(filterFunc);
-	iterator.timeout = this.batchExpandTimeout;
-	iterator.setMaxLevel(nodeOrTree.isTreeNode ? level - 1 : level);
-	return iterator.start(nodeOrTree.isTreeNode);
-}, getWidgetByNode:function (node) {
-	var widgetId;
-	var newNode = node;
-	while (!(widgetId = newNode.widgetId)) {
-		newNode = newNode.parentNode;
-		if (newNode == null) {
-			break;
-		}
-	}
-	if (widgetId) {
-		return dojo.widget.byId(widgetId);
-	} else {
-		if (node == null) {
-			return null;
-		} else {
-			return dojo.widget.manager.byNode(node);
-		}
-	}
-}, expand:function (node) {
-	if (node.isFolder) {
-		node.expand();
-	}
-}, collapse:function (node) {
-	if (node.isFolder) {
-		node.collapse();
-	}
-}, canEditLabel:function (node) {
-	if (node.actionIsDisabledNow(node.actions.EDIT)) {
-		return false;
-	}
-	return true;
-}, editLabelStart:function (node) {
-	if (!this.canEditLabel(node)) {
-		return false;
-	}
-	if (!this.editor.isClosed()) {
-		this.editLabelFinish(this.editor.saveOnBlur);
-	}
-	this.doEditLabelStart(node);
-}, editLabelFinish:function (save) {
-	this.doEditLabelFinish(save);
-}, doEditLabelStart:function (node) {
-	if (!this.editor) {
-		dojo.raise(this.widgetType + ": no editor specified");
-	}
-	this.editor.open(node);
-}, doEditLabelFinish:function (save, server_data) {
-	if (!this.editor) {
-		dojo.raise(this.widgetType + ": no editor specified");
-	}
-	var node = this.editor.node;
-	var editorTitle = this.editor.getContents();
-	this.editor.close(save);
-	if (save) {
-		var data = {title:editorTitle};
-		if (server_data) {
-			dojo.lang.mixin(data, server_data);
-		}
-		if (node.isPhantom) {
-			var parent = node.parent;
-			var index = node.getParentIndex();
-			node.destroy();
-			dojo.widget.TreeBasicControllerV3.prototype.doCreateChild.call(this, parent, index, data);
-		} else {
-			var title = server_data && server_data.title ? server_data.title : editorTitle;
-			node.setTitle(title);
-		}
-	} else {
-		if (node.isPhantom) {
-			node.destroy();
-		}
-	}
-}, makeDefaultNode:function (parent, index) {
-	var data = {title:parent.tree.defaultChildTitle};
-	return dojo.widget.TreeBasicControllerV3.prototype.doCreateChild.call(this, parent, index, data);
-}, runStages:function (check, prepare, make, finalize, expose, args) {
-	if (check && !check.apply(this, args)) {
-		return false;
-	}
-	if (prepare && !prepare.apply(this, args)) {
-		return false;
-	}
-	var result = make.apply(this, args);
-	if (finalize) {
-		finalize.apply(this, args);
-	}
-	if (!result) {
-		return result;
-	}
-	if (expose) {
-		expose.apply(this, args);
-	}
-	return result;
-}});
-dojo.lang.extend(dojo.widget.TreeBasicControllerV3, {createAndEdit:function (parent, index) {
-	var data = {title:parent.tree.defaultChildTitle};
-	if (!this.canCreateChild(parent, index, data)) {
-		return false;
-	}
-	var child = this.doCreateChild(parent, index, data);
-	if (!child) {
-		return false;
-	}
-	this.exposeCreateChild(parent, index, data);
-	child.isPhantom = true;
-	if (!this.editor.isClosed()) {
-		this.editLabelFinish(this.editor.saveOnBlur);
-	}
-	this.doEditLabelStart(child);
-}});
-dojo.lang.extend(dojo.widget.TreeBasicControllerV3, {canClone:function (child, newParent, index, deep) {
-	return true;
-}, clone:function (child, newParent, index, deep) {
-	return this.runStages(this.canClone, this.prepareClone, this.doClone, this.finalizeClone, this.exposeClone, arguments);
-}, exposeClone:function (child, newParent) {
-	if (newParent.isTreeNode) {
-		this.expand(newParent);
-	}
-}, doClone:function (child, newParent, index, deep) {
-	var cloned = child.clone(deep);
-	newParent.addChild(cloned, index);
-	return cloned;
-}});
-dojo.lang.extend(dojo.widget.TreeBasicControllerV3, {canDetach:function (child) {
-	if (child.actionIsDisabledNow(child.actions.DETACH)) {
-		return false;
-	}
-	return true;
-}, detach:function (node) {
-	return this.runStages(this.canDetach, this.prepareDetach, this.doDetach, this.finalizeDetach, this.exposeDetach, arguments);
-}, doDetach:function (node, callObj, callFunc) {
-	node.detach();
-}});
-dojo.lang.extend(dojo.widget.TreeBasicControllerV3, {canDestroyChild:function (child) {
-	if (child.parent && !this.canDetach(child)) {
-		return false;
-	}
-	return true;
-}, destroyChild:function (node) {
-	return this.runStages(this.canDestroyChild, this.prepareDestroyChild, this.doDestroyChild, this.finalizeDestroyChild, this.exposeDestroyChild, arguments);
-}, doDestroyChild:function (node) {
-	node.destroy();
-}});
-dojo.lang.extend(dojo.widget.TreeBasicControllerV3, {canMoveNotANode:function (child, parent) {
-	if (child.treeCanMove) {
-		return child.treeCanMove(parent);
-	}
-	return true;
-}, canMove:function (child, newParent) {
-	if (!child.isTreeNode) {
-		return this.canMoveNotANode(child, newParent);
-	}
-	if (child.actionIsDisabledNow(child.actions.MOVE)) {
-		return false;
-	}
-	if (child.parent !== newParent && newParent.actionIsDisabledNow(newParent.actions.ADDCHILD)) {
-		return false;
-	}
-	var node = newParent;
-	while (node.isTreeNode) {
-		if (node === child) {
-			return false;
-		}
-		node = node.parent;
-	}
-	return true;
-}, move:function (child, newParent, index) {
-	return this.runStages(this.canMove, this.prepareMove, this.doMove, this.finalizeMove, this.exposeMove, arguments);
-}, doMove:function (child, newParent, index) {
-	child.tree.move(child, newParent, index);
-	return true;
-}, exposeMove:function (child, newParent) {
-	if (newParent.isTreeNode) {
-		this.expand(newParent);
-	}
-}});
-dojo.lang.extend(dojo.widget.TreeBasicControllerV3, {canCreateChild:function (parent, index, data) {
-	if (parent.actionIsDisabledNow(parent.actions.ADDCHILD)) {
-		return false;
-	}
-	return true;
-}, createChild:function (parent, index, data) {
-	if (!data) {
-		data = {title:parent.tree.defaultChildTitle};
-	}
-	return this.runStages(this.canCreateChild, this.prepareCreateChild, this.doCreateChild, this.finalizeCreateChild, this.exposeCreateChild, [parent, index, data]);
-}, prepareCreateChild:function () {
-	return true;
-}, finalizeCreateChild:function () {
-}, doCreateChild:function (parent, index, data) {
-	var newChild = parent.tree.createNode(data);
-	parent.addChild(newChild, index);
-	return newChild;
-}, exposeCreateChild:function (parent) {
-	return this.expand(parent);
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeCommon.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeCommon.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeCommon.js
deleted file mode 100644
index 46bf724..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeCommon.js
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
-	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.widget.TreeCommon");
-dojo.require("dojo.widget.*");
-dojo.declare("dojo.widget.TreeCommon", null, {listenTreeEvents:[], listenedTrees:{}, listenNodeFilter:null, listenTree:function (tree) {
-	var _this = this;
-	if (this.listenedTrees[tree.widgetId]) {
-		return;
-	}
-	dojo.lang.forEach(this.listenTreeEvents, function (event) {
-		var eventHandler = "on" + event.charAt(0).toUpperCase() + event.substr(1);
-		dojo.event.topic.subscribe(tree.eventNames[event], _this, eventHandler);
-	});
-	var filter;
-	if (this.listenNodeFilter) {
-		this.processDescendants(tree, this.listenNodeFilter, this.listenNode, true);
-	}
-	this.listenedTrees[tree.widgetId] = true;
-}, listenNode:function () {
-}, unlistenNode:function () {
-}, unlistenTree:function (tree, nodeFilter) {
-	var _this = this;
-	if (!this.listenedTrees[tree.widgetId]) {
-		return;
-	}
-	dojo.lang.forEach(this.listenTreeEvents, function (event) {
-		var eventHandler = "on" + event.charAt(0).toUpperCase() + event.substr(1);
-		dojo.event.topic.unsubscribe(tree.eventNames[event], _this, eventHandler);
-	});
-	if (this.listenNodeFilter) {
-		this.processDescendants(tree, this.listenNodeFilter, this.unlistenNode, true);
-	}
-	delete this.listenedTrees[tree.widgetId];
-}, checkPathCondition:function (domElement, condition) {
-	while (domElement && !domElement.widgetId) {
-		if (condition.call(null, domElement)) {
-			return true;
-		}
-		domElement = domElement.parentNode;
-	}
-	return false;
-}, domElement2TreeNode:function (domElement) {
-	while (domElement && !domElement.widgetId) {
-		domElement = domElement.parentNode;
-	}
-	if (!domElement) {
-		return null;
-	}
-	var widget = dojo.widget.byId(domElement.widgetId);
-	if (!widget.isTreeNode) {
-		return null;
-	}
-	return widget;
-}, processDescendants:function (elem, filter, func, skipFirst) {
-	var _this = this;
-	if (!skipFirst) {
-		if (!filter.call(_this, elem)) {
-			return;
-		}
-		func.call(_this, elem);
-	}
-	var stack = [elem];
-	while (elem = stack.pop()) {
-		dojo.lang.forEach(elem.children, function (elem) {
-			if (filter.call(_this, elem)) {
-				func.call(_this, elem);
-				stack.push(elem);
-			}
-		});
-	}
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeContextMenu.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeContextMenu.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeContextMenu.js
deleted file mode 100644
index ec0e862..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeContextMenu.js
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
-	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.widget.TreeContextMenu");
-dojo.require("dojo.event.*");
-dojo.require("dojo.io.*");
-dojo.require("dojo.widget.Menu2");
-dojo.widget.defineWidget("dojo.widget.TreeContextMenu", dojo.widget.PopupMenu2, function () {
-	this.listenedTrees = [];
-}, {open:function (x, y, parentMenu, explodeSrc) {
-	var result = dojo.widget.PopupMenu2.prototype.open.apply(this, arguments);
-	dojo.event.topic.publish(this.eventNames.open, {menu:this});
-	return result;
-}, listenTree:function (tree) {
-	var nodes = tree.getDescendants();
-	for (var i = 0; i < nodes.length; i++) {
-		if (!nodes[i].isTreeNode) {
-			continue;
-		}
-		this.bindDomNode(nodes[i].labelNode);
-	}
-	var _this = this;
-	dojo.event.topic.subscribe(tree.eventNames.createDOMNode, this, "onCreateDOMNode");
-	dojo.event.topic.subscribe(tree.eventNames.moveFrom, this, "onMoveFrom");
-	dojo.event.topic.subscribe(tree.eventNames.moveTo, this, "onMoveTo");
-	dojo.event.topic.subscribe(tree.eventNames.removeNode, this, "onRemoveNode");
-	dojo.event.topic.subscribe(tree.eventNames.addChild, this, "onAddChild");
-	dojo.event.topic.subscribe(tree.eventNames.treeDestroy, this, "onTreeDestroy");
-	this.listenedTrees.push(tree);
-}, unlistenTree:function (tree) {
-	dojo.event.topic.unsubscribe(tree.eventNames.createDOMNode, this, "onCreateDOMNode");
-	dojo.event.topic.unsubscribe(tree.eventNames.moveFrom, this, "onMoveFrom");
-	dojo.event.topic.unsubscribe(tree.eventNames.moveTo, this, "onMoveTo");
-	dojo.event.topic.unsubscribe(tree.eventNames.removeNode, this, "onRemoveNode");
-	dojo.event.topic.unsubscribe(tree.eventNames.addChild, this, "onAddChild");
-	dojo.event.topic.unsubscribe(tree.eventNames.treeDestroy, this, "onTreeDestroy");
-	for (var i = 0; i < this.listenedTrees.length; i++) {
-		if (this.listenedTrees[i] === tree) {
-			this.listenedTrees.splice(i, 1);
-			break;
-		}
-	}
-}, onTreeDestroy:function (message) {
-	this.unlistenTree(message.source);
-}, bindTreeNode:function (node) {
-	var _this = this;
-	dojo.lang.forEach(node.getDescendants(), function (e) {
-		_this.bindDomNode(e.labelNode);
-	});
-}, unBindTreeNode:function (node) {
-	var _this = this;
-	dojo.lang.forEach(node.getDescendants(), function (e) {
-		_this.unBindDomNode(e.labelNode);
-	});
-}, onCreateDOMNode:function (message) {
-	this.bindTreeNode(message.source);
-}, onMoveFrom:function (message) {
-	if (!dojo.lang.inArray(this.listenedTrees, message.newTree)) {
-		this.unBindTreeNode(message.child);
-	}
-}, onMoveTo:function (message) {
-	if (dojo.lang.inArray(this.listenedTrees, message.newTree)) {
-		this.bindTreeNode(message.child);
-	}
-}, onRemoveNode:function (message) {
-	this.unBindTreeNode(message.child);
-}, onAddChild:function (message) {
-	if (message.domNodeInitialized) {
-		this.bindTreeNode(message.child);
-	}
-}});
-dojo.widget.defineWidget("dojo.widget.TreeMenuItem", dojo.widget.MenuItem2, {treeActions:"", initialize:function (args, frag) {
-	this.treeActions = this.treeActions.split(",");
-	for (var i = 0; i < this.treeActions.length; i++) {
-		this.treeActions[i] = this.treeActions[i].toUpperCase();
-	}
-}, getTreeNode:function () {
-	var menu = this;
-	while (!(menu instanceof dojo.widget.TreeContextMenu)) {
-		menu = menu.parent;
-	}
-	var source = menu.getTopOpenEvent().target;
-	while (!source.getAttribute("treeNode") && source.tagName != "body") {
-		source = source.parentNode;
-	}
-	if (source.tagName == "body") {
-		dojo.raise("treeNode not detected");
-	}
-	var treeNode = dojo.widget.manager.getWidgetById(source.getAttribute("treeNode"));
-	return treeNode;
-}, menuOpen:function (message) {
-	var treeNode = this.getTreeNode();
-	this.setDisabled(false);
-	var _this = this;
-	dojo.lang.forEach(_this.treeActions, function (action) {
-		_this.setDisabled(treeNode.actionIsDisabled(action));
-	});
-}, toString:function () {
-	return "[" + this.widgetType + " node " + this.getTreeNode() + "]";
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeContextMenuV3.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeContextMenuV3.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeContextMenuV3.js
deleted file mode 100644
index 63e2587..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeContextMenuV3.js
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
-	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.widget.TreeContextMenuV3");
-dojo.require("dojo.event.*");
-dojo.require("dojo.io.*");
-dojo.require("dojo.widget.*");
-dojo.require("dojo.widget.Menu2");
-dojo.require("dojo.widget.TreeCommon");
-dojo.widget.defineWidget("dojo.widget.TreeContextMenuV3", [dojo.widget.PopupMenu2, dojo.widget.TreeCommon], function () {
-	this.listenedTrees = {};
-}, {listenTreeEvents:["afterTreeCreate", "beforeTreeDestroy"], listenNodeFilter:function (elem) {
-	return elem instanceof dojo.widget.Widget;
-}, onAfterTreeCreate:function (message) {
-	var tree = message.source;
-	this.bindDomNode(tree.domNode);
-}, onBeforeTreeDestroy:function (message) {
-	this.unBindDomNode(message.source.domNode);
-}, getTreeNode:function () {
-	var source = this.getTopOpenEvent().target;
-	var treeNode = this.domElement2TreeNode(source);
-	return treeNode;
-}, open:function () {
-	var result = dojo.widget.PopupMenu2.prototype.open.apply(this, arguments);
-	for (var i = 0; i < this.children.length; i++) {
-		if (this.children[i].menuOpen) {
-			this.children[i].menuOpen(this.getTreeNode());
-		}
-	}
-	return result;
-}, close:function () {
-	for (var i = 0; i < this.children.length; i++) {
-		if (this.children[i].menuClose) {
-			this.children[i].menuClose(this.getTreeNode());
-		}
-	}
-	var result = dojo.widget.PopupMenu2.prototype.close.apply(this, arguments);
-	return result;
-}});
-dojo.widget.defineWidget("dojo.widget.TreeMenuItemV3", [dojo.widget.MenuItem2, dojo.widget.TreeCommon], function () {
-	this.treeActions = [];
-}, {treeActions:"", initialize:function (args, frag) {
-	for (var i = 0; i < this.treeActions.length; i++) {
-		this.treeActions[i] = this.treeActions[i].toUpperCase();
-	}
-}, getTreeNode:function () {
-	var menu = this;
-	while (!(menu instanceof dojo.widget.TreeContextMenuV3)) {
-		menu = menu.parent;
-	}
-	var treeNode = menu.getTreeNode();
-	return treeNode;
-}, menuOpen:function (treeNode) {
-	treeNode.viewEmphasize();
-	this.setDisabled(false);
-	var _this = this;
-	dojo.lang.forEach(_this.treeActions, function (action) {
-		_this.setDisabled(treeNode.actionIsDisabledNow(action));
-	});
-}, menuClose:function (treeNode) {
-	treeNode.viewUnemphasize();
-}, toString:function () {
-	return "[" + this.widgetType + " node " + this.getTreeNode() + "]";
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeControllerExtension.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeControllerExtension.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeControllerExtension.js
deleted file mode 100644
index 09edd84..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeControllerExtension.js
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
-	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.widget.TreeControllerExtension");
-dojo.declare("dojo.widget.TreeControllerExtension", null, {saveExpandedIndices:function (node, field) {
-	var obj = {};
-	for (var i = 0; i < node.children.length; i++) {
-		if (node.children[i].isExpanded) {
-			var key = dojo.lang.isUndefined(field) ? i : node.children[i][field];
-			obj[key] = this.saveExpandedIndices(node.children[i], field);
-		}
-	}
-	return obj;
-}, restoreExpandedIndices:function (node, savedIndices, field) {
-	var _this = this;
-	var handler = function (node, savedIndices) {
-		this.node = node;
-		this.savedIndices = savedIndices;
-		this.process = function () {
-			_this.restoreExpandedIndices(this.node, this.savedIndices, field);
-		};
-	};
-	for (var i = 0; i < node.children.length; i++) {
-		var child = node.children[i];
-		var found = false;
-		var key = -1;
-		if (dojo.lang.isUndefined(field) && savedIndices[i]) {
-			found = true;
-			key = i;
-		}
-		if (field) {
-			for (var key in savedIndices) {
-				if (key == child[field]) {
-					found = true;
-					break;
-				}
-			}
-		}
-		if (found) {
-			var h = new handler(child, savedIndices[key]);
-			_this.expand(child, false, h, h.process);
-		} else {
-			if (child.isExpanded) {
-				dojo.lang.forEach(child.getDescendants(), function (elem) {
-					_this.collapse(elem);
-				});
-			}
-		}
-	}
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeDemo.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeDemo.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeDemo.js
deleted file mode 100644
index 9d29aaa..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeDemo.js
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
-	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.widget.TreeDemo");
-dojo.require("dojo.Deferred");
-dojo.widget.TreeDemo = {reportIfDefered:function (res) {
-	if (res instanceof dojo.Deferred) {
-		res.addCallbacks(function (res) {
-			return res;
-		}, function (err) {
-			dojo.debug("Error");
-			dojo.debugShallow(err);
-		});
-	}
-}, resetRandomChildren:function (maxCount) {
-	this.randomChildrenMaxCount = maxCount;
-	this.randomChildrenCount = 0;
-	this.randomChildrenDepth = 0;
-}, makeRandomChildren:function (title) {
-	this.randomChildrenDepth++;
-	var children = [];
-	for (var i = 1; i <= 5; i++) {
-		var t = title + (this.randomChildrenDepth == 1 ? "" : ".") + i;
-		var node = {title:t};
-		children.push(node);
-		this.randomChildrenCount++;
-		if (this.randomChildrenCount >= this.randomChildrenMaxCount) {
-			break;
-		}
-	}
-	var i = 1;
-	var _this = this;
-	dojo.lang.forEach(children, function (child) {
-		var t = title + (_this.randomChildrenDepth == 1 ? "" : ".") + i;
-		i++;
-		if (_this.randomChildrenCount < _this.randomChildrenMaxCount && (_this.randomChildrenDepth == 1 && child === children[0] || _this.randomChildrenDepth < 5 && Math.random() > 0.3)) {
-			child.children = _this.makeRandomChildren(t);
-		}
-	});
-	this.randomChildrenDepth--;
-	return children;
-}, bindDemoMenu:function (controller) {
-	var _t = this;
-	dojo.event.topic.subscribe("treeContextMenuDestroy/engage", function (menuItem) {
-		var node = menuItem.getTreeNode();
-		_t.reportIfDefered(controller.destroyChild(node));
-	});
-	dojo.event.topic.subscribe("treeContextMenuRefresh/engage", function (menuItem) {
-		var node = menuItem.getTreeNode();
-		_t.reportIfDefered(controller.refreshChildren(node));
-	});
-	dojo.event.topic.subscribe("treeContextMenuCreate/engage", function (menuItem) {
-		var node = menuItem.getTreeNode();
-		var d = controller.createAndEdit(node, 0);
-		_t.reportIfDefered(d);
-	});
-	dojo.event.topic.subscribe("treeContextMenuUp/engage", function (menuItem) {
-		var node = menuItem.getTreeNode();
-		if (node.isFirstChild()) {
-			return;
-		}
-		_t.reportIfDefered(controller.move(node, node.parent, node.getParentIndex() - 1));
-	});
-	dojo.event.topic.subscribe("treeContextMenuDown/engage", function (menuItem) {
-		var node = menuItem.getTreeNode();
-		if (node.isLastChild()) {
-			return;
-		}
-		_t.reportIfDefered(controller.move(node, node.parent, node.getParentIndex() + 1));
-	});
-	dojo.event.topic.subscribe("treeContextMenuEdit/engage", function (menuItem) {
-		var node = menuItem.getTreeNode();
-		_t.reportIfDefered(controller.editLabelStart(node));
-	});
-}};
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeDeselectOnDblselect.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeDeselectOnDblselect.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeDeselectOnDblselect.js
deleted file mode 100644
index e348547..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/widget/TreeDeselectOnDblselect.js
+++ /dev/null
@@ -1,23 +0,0 @@
-/*
-	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.widget.TreeDeselectOnDblselect");
-dojo.require("dojo.widget.HtmlWidget");
-dojo.require("dojo.widget.TreeSelectorV3");
-dojo.deprecated("Does anyone still need this extension? (TreeDeselectOnDblselect)");
-dojo.widget.defineWidget("dojo.widget.TreeDeselectOnDblselect", [dojo.widget.HtmlWidget], {selector:"", initialize:function () {
-	this.selector = dojo.widget.byId(this.selector);
-	dojo.event.topic.subscribe(this.selector.eventNames.dblselect, this, "onDblselect");
-}, onDblselect:function (message) {
-	this.selector.deselect(message.node);
-}});
-