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:59:05 UTC

[38/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/crypto/Blowfish.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/Blowfish.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/Blowfish.js
deleted file mode 100644
index 246745a..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/Blowfish.js
+++ /dev/null
@@ -1,384 +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.require("dojo.crypto");
-dojo.provide("dojo.crypto.Blowfish");
-dojo.crypto.Blowfish = new function () {
-	var POW2 = Math.pow(2, 2);
-	var POW3 = Math.pow(2, 3);
-	var POW4 = Math.pow(2, 4);
-	var POW8 = Math.pow(2, 8);
-	var POW16 = Math.pow(2, 16);
-	var POW24 = Math.pow(2, 24);
-	var iv = null;
-	var boxes = {p:[608135816, 2242054355, 320440878, 57701188, 2752067618, 698298832, 137296536, 3964562569, 1160258022, 953160567, 3193202383, 887688300, 3232508343, 3380367581, 1065670069, 3041331479, 2450970073, 2306472731], s0:[3509652390, 2564797868, 805139163, 3491422135, 3101798381, 1780907670, 3128725573, 4046225305, 614570311, 3012652279, 134345442, 2240740374, 1667834072, 1901547113, 2757295779, 4103290238, 227898511, 1921955416, 1904987480, 2182433518, 2069144605, 3260701109, 2620446009, 720527379, 3318853667, 677414384, 3393288472, 3101374703, 2390351024, 1614419982, 1822297739, 2954791486, 3608508353, 3174124327, 2024746970, 1432378464, 3864339955, 2857741204, 1464375394, 1676153920, 1439316330, 715854006, 3033291828, 289532110, 2706671279, 2087905683, 3018724369, 1668267050, 732546397, 1947742710, 3462151702, 2609353502, 2950085171, 1814351708, 2050118529, 680887927, 999245976, 1800124847, 3300911131, 1713906067, 1641548236, 4213287313, 1216130144, 1575780402, 4018429277
 , 3917837745, 3693486850, 3949271944, 596196993, 3549867205, 258830323, 2213823033, 772490370, 2760122372, 1774776394, 2652871518, 566650946, 4142492826, 1728879713, 2882767088, 1783734482, 3629395816, 2517608232, 2874225571, 1861159788, 326777828, 3124490320, 2130389656, 2716951837, 967770486, 1724537150, 2185432712, 2364442137, 1164943284, 2105845187, 998989502, 3765401048, 2244026483, 1075463327, 1455516326, 1322494562, 910128902, 469688178, 1117454909, 936433444, 3490320968, 3675253459, 1240580251, 122909385, 2157517691, 634681816, 4142456567, 3825094682, 3061402683, 2540495037, 79693498, 3249098678, 1084186820, 1583128258, 426386531, 1761308591, 1047286709, 322548459, 995290223, 1845252383, 2603652396, 3431023940, 2942221577, 3202600964, 3727903485, 1712269319, 422464435, 3234572375, 1170764815, 3523960633, 3117677531, 1434042557, 442511882, 3600875718, 1076654713, 1738483198, 4213154764, 2393238008, 3677496056, 1014306527, 4251020053, 793779912, 2902807211, 842905082, 42469640
 64, 1395751752, 1040244610, 2656851899, 3396308128, 445077038, 3742853595, 3577915638, 679411651, 2892444358, 2354009459, 1767581616, 3150600392, 3791627101, 3102740896, 284835224, 4246832056, 1258075500, 768725851, 2589189241, 3069724005, 3532540348, 1274779536, 3789419226, 2764799539, 1660621633, 3471099624, 4011903706, 913787905, 3497959166, 737222580, 2514213453, 2928710040, 3937242737, 1804850592, 3499020752, 2949064160, 2386320175, 2390070455, 2415321851, 4061277028, 2290661394, 2416832540, 1336762016, 1754252060, 3520065937, 3014181293, 791618072, 3188594551, 3933548030, 2332172193, 3852520463, 3043980520, 413987798, 3465142937, 3030929376, 4245938359, 2093235073, 3534596313, 375366246, 2157278981, 2479649556, 555357303, 3870105701, 2008414854, 3344188149, 4221384143, 3956125452, 2067696032, 3594591187, 2921233993, 2428461, 544322398, 577241275, 1471733935, 610547355, 4027169054, 1432588573, 1507829418, 2025931657, 3646575487, 545086370, 48609733, 2200306550, 1653985193, 2983
 26376, 1316178497, 3007786442, 2064951626, 458293330, 2589141269, 3591329599, 3164325604, 727753846, 2179363840, 146436021, 1461446943, 4069977195, 705550613, 3059967265, 3887724982, 4281599278, 3313849956, 1404054877, 2845806497, 146425753, 1854211946], s1:[1266315497, 3048417604, 3681880366, 3289982499, 2909710000, 1235738493, 2632868024, 2414719590, 3970600049, 1771706367, 1449415276, 3266420449, 422970021, 1963543593, 2690192192, 3826793022, 1062508698, 1531092325, 1804592342, 2583117782, 2714934279, 4024971509, 1294809318, 4028980673, 1289560198, 2221992742, 1669523910, 35572830, 157838143, 1052438473, 1016535060, 1802137761, 1753167236, 1386275462, 3080475397, 2857371447, 1040679964, 2145300060, 2390574316, 1461121720, 2956646967, 4031777805, 4028374788, 33600511, 2920084762, 1018524850, 629373528, 3691585981, 3515945977, 2091462646, 2486323059, 586499841, 988145025, 935516892, 3367335476, 2599673255, 2839830854, 265290510, 3972581182, 2759138881, 3795373465, 1005194799, 84729
 7441, 406762289, 1314163512, 1332590856, 1866599683, 4127851711, 750260880, 613907577, 1450815602, 3165620655, 3734664991, 3650291728, 3012275730, 3704569646, 1427272223, 778793252, 1343938022, 2676280711, 2052605720, 1946737175, 3164576444, 3914038668, 3967478842, 3682934266, 1661551462, 3294938066, 4011595847, 840292616, 3712170807, 616741398, 312560963, 711312465, 1351876610, 322626781, 1910503582, 271666773, 2175563734, 1594956187, 70604529, 3617834859, 1007753275, 1495573769, 4069517037, 2549218298, 2663038764, 504708206, 2263041392, 3941167025, 2249088522, 1514023603, 1998579484, 1312622330, 694541497, 2582060303, 2151582166, 1382467621, 776784248, 2618340202, 3323268794, 2497899128, 2784771155, 503983604, 4076293799, 907881277, 423175695, 432175456, 1378068232, 4145222326, 3954048622, 3938656102, 3820766613, 2793130115, 2977904593, 26017576, 3274890735, 3194772133, 1700274565, 1756076034, 4006520079, 3677328699, 720338349, 1533947780, 354530856, 688349552, 3973924725, 1637815
 568, 332179504, 3949051286, 53804574, 2852348879, 3044236432, 1282449977, 3583942155, 3416972820, 4006381244, 1617046695, 2628476075, 3002303598, 1686838959, 431878346, 2686675385, 1700445008, 1080580658, 1009431731, 832498133, 3223435511, 2605976345, 2271191193, 2516031870, 1648197032, 4164389018, 2548247927, 300782431, 375919233, 238389289, 3353747414, 2531188641, 2019080857, 1475708069, 455242339, 2609103871, 448939670, 3451063019, 1395535956, 2413381860, 1841049896, 1491858159, 885456874, 4264095073, 4001119347, 1565136089, 3898914787, 1108368660, 540939232, 1173283510, 2745871338, 3681308437, 4207628240, 3343053890, 4016749493, 1699691293, 1103962373, 3625875870, 2256883143, 3830138730, 1031889488, 3479347698, 1535977030, 4236805024, 3251091107, 2132092099, 1774941330, 1199868427, 1452454533, 157007616, 2904115357, 342012276, 595725824, 1480756522, 206960106, 497939518, 591360097, 863170706, 2375253569, 3596610801, 1814182875, 2094937945, 3421402208, 1082520231, 3463918190, 278
 5509508, 435703966, 3908032597, 1641649973, 2842273706, 3305899714, 1510255612, 2148256476, 2655287854, 3276092548, 4258621189, 236887753, 3681803219, 274041037, 1734335097, 3815195456, 3317970021, 1899903192, 1026095262, 4050517792, 356393447, 2410691914, 3873677099, 3682840055], s2:[3913112168, 2491498743, 4132185628, 2489919796, 1091903735, 1979897079, 3170134830, 3567386728, 3557303409, 857797738, 1136121015, 1342202287, 507115054, 2535736646, 337727348, 3213592640, 1301675037, 2528481711, 1895095763, 1721773893, 3216771564, 62756741, 2142006736, 835421444, 2531993523, 1442658625, 3659876326, 2882144922, 676362277, 1392781812, 170690266, 3921047035, 1759253602, 3611846912, 1745797284, 664899054, 1329594018, 3901205900, 3045908486, 2062866102, 2865634940, 3543621612, 3464012697, 1080764994, 553557557, 3656615353, 3996768171, 991055499, 499776247, 1265440854, 648242737, 3940784050, 980351604, 3713745714, 1749149687, 3396870395, 4211799374, 3640570775, 1161844396, 3125318951, 14315
 17754, 545492359, 4268468663, 3499529547, 1437099964, 2702547544, 3433638243, 2581715763, 2787789398, 1060185593, 1593081372, 2418618748, 4260947970, 69676912, 2159744348, 86519011, 2512459080, 3838209314, 1220612927, 3339683548, 133810670, 1090789135, 1078426020, 1569222167, 845107691, 3583754449, 4072456591, 1091646820, 628848692, 1613405280, 3757631651, 526609435, 236106946, 48312990, 2942717905, 3402727701, 1797494240, 859738849, 992217954, 4005476642, 2243076622, 3870952857, 3732016268, 765654824, 3490871365, 2511836413, 1685915746, 3888969200, 1414112111, 2273134842, 3281911079, 4080962846, 172450625, 2569994100, 980381355, 4109958455, 2819808352, 2716589560, 2568741196, 3681446669, 3329971472, 1835478071, 660984891, 3704678404, 4045999559, 3422617507, 3040415634, 1762651403, 1719377915, 3470491036, 2693910283, 3642056355, 3138596744, 1364962596, 2073328063, 1983633131, 926494387, 3423689081, 2150032023, 4096667949, 1749200295, 3328846651, 309677260, 2016342300, 1779581495, 30
 79819751, 111262694, 1274766160, 443224088, 298511866, 1025883608, 3806446537, 1145181785, 168956806, 3641502830, 3584813610, 1689216846, 3666258015, 3200248200, 1692713982, 2646376535, 4042768518, 1618508792, 1610833997, 3523052358, 4130873264, 2001055236, 3610705100, 2202168115, 4028541809, 2961195399, 1006657119, 2006996926, 3186142756, 1430667929, 3210227297, 1314452623, 4074634658, 4101304120, 2273951170, 1399257539, 3367210612, 3027628629, 1190975929, 2062231137, 2333990788, 2221543033, 2438960610, 1181637006, 548689776, 2362791313, 3372408396, 3104550113, 3145860560, 296247880, 1970579870, 3078560182, 3769228297, 1714227617, 3291629107, 3898220290, 166772364, 1251581989, 493813264, 448347421, 195405023, 2709975567, 677966185, 3703036547, 1463355134, 2715995803, 1338867538, 1343315457, 2802222074, 2684532164, 233230375, 2599980071, 2000651841, 3277868038, 1638401717, 4028070440, 3237316320, 6314154, 819756386, 300326615, 590932579, 1405279636, 3267499572, 3150704214, 242828668
 6, 3959192993, 3461946742, 1862657033, 1266418056, 963775037, 2089974820, 2263052895, 1917689273, 448879540, 3550394620, 3981727096, 150775221, 3627908307, 1303187396, 508620638, 2975983352, 2726630617, 1817252668, 1876281319, 1457606340, 908771278, 3720792119, 3617206836, 2455994898, 1729034894, 1080033504], s3:[976866871, 3556439503, 2881648439, 1522871579, 1555064734, 1336096578, 3548522304, 2579274686, 3574697629, 3205460757, 3593280638, 3338716283, 3079412587, 564236357, 2993598910, 1781952180, 1464380207, 3163844217, 3332601554, 1699332808, 1393555694, 1183702653, 3581086237, 1288719814, 691649499, 2847557200, 2895455976, 3193889540, 2717570544, 1781354906, 1676643554, 2592534050, 3230253752, 1126444790, 2770207658, 2633158820, 2210423226, 2615765581, 2414155088, 3127139286, 673620729, 2805611233, 1269405062, 4015350505, 3341807571, 4149409754, 1057255273, 2012875353, 2162469141, 2276492801, 2601117357, 993977747, 3918593370, 2654263191, 753973209, 36408145, 2530585658, 250118
 37, 3520020182, 2088578344, 530523599, 2918365339, 1524020338, 1518925132, 3760827505, 3759777254, 1202760957, 3985898139, 3906192525, 674977740, 4174734889, 2031300136, 2019492241, 3983892565, 4153806404, 3822280332, 352677332, 2297720250, 60907813, 90501309, 3286998549, 1016092578, 2535922412, 2839152426, 457141659, 509813237, 4120667899, 652014361, 1966332200, 2975202805, 55981186, 2327461051, 676427537, 3255491064, 2882294119, 3433927263, 1307055953, 942726286, 933058658, 2468411793, 3933900994, 4215176142, 1361170020, 2001714738, 2830558078, 3274259782, 1222529897, 1679025792, 2729314320, 3714953764, 1770335741, 151462246, 3013232138, 1682292957, 1483529935, 471910574, 1539241949, 458788160, 3436315007, 1807016891, 3718408830, 978976581, 1043663428, 3165965781, 1927990952, 4200891579, 2372276910, 3208408903, 3533431907, 1412390302, 2931980059, 4132332400, 1947078029, 3881505623, 4168226417, 2941484381, 1077988104, 1320477388, 886195818, 18198404, 3786409000, 2509781533, 1127628
 04, 3463356488, 1866414978, 891333506, 18488651, 661792760, 1628790961, 3885187036, 3141171499, 876946877, 2693282273, 1372485963, 791857591, 2686433993, 3759982718, 3167212022, 3472953795, 2716379847, 445679433, 3561995674, 3504004811, 3574258232, 54117162, 3331405415, 2381918588, 3769707343, 4154350007, 1140177722, 4074052095, 668550556, 3214352940, 367459370, 261225585, 2610173221, 4209349473, 3468074219, 3265815641, 314222801, 3066103646, 3808782860, 282218597, 3406013506, 3773591054, 379116347, 1285071038, 846784868, 2669647154, 3771962079, 3550491691, 2305946142, 453669953, 1268987020, 3317592352, 3279303384, 3744833421, 2610507566, 3859509063, 266596637, 3847019092, 517658769, 3462560207, 3443424879, 370717030, 4247526661, 2224018117, 4143653529, 4112773975, 2788324899, 2477274417, 1456262402, 2901442914, 1517677493, 1846949527, 2295493580, 3734397586, 2176403920, 1280348187, 1908823572, 3871786941, 846861322, 1172426758, 3287448474, 3383383037, 1655181056, 3139813346, 901632
 758, 1897031941, 2986607138, 3066810236, 3447102507, 1393639104, 373351379, 950779232, 625454576, 3124240540, 4148612726, 2007998917, 544563296, 2244738638, 2330496472, 2058025392, 1291430526, 424198748, 50039436, 29584100, 3605783033, 2429876329, 2791104160, 1057563949, 3255363231, 3075367218, 3463963227, 1469046755, 985887462]};
-	function add(x, y) {
-		var sum = (x + y) & 4294967295;
-		if (sum < 0) {
-			sum = -sum;
-			return (65536 * ((sum >> 16) ^ 65535)) + (((sum & 65535) ^ 65535) + 1);
-		}
-		return sum;
-	}
-	function split(x) {
-		var r = x & 4294967295;
-		if (r < 0) {
-			r = -r;
-			return [((r & 65535) ^ 65535) + 1, (r >> 16) ^ 65535];
-		}
-		return [r & 65535, (r >> 16)];
-	}
-	function xor(x, y) {
-		var xs = split(x);
-		var ys = split(y);
-		return (65536 * (xs[1] ^ ys[1])) + (xs[0] ^ ys[0]);
-	}
-	function $(v, box) {
-		var d = v & 255;
-		v >>= 8;
-		var c = v & 255;
-		v >>= 8;
-		var b = v & 255;
-		v >>= 8;
-		var a = v & 255;
-		var r = add(box.s0[a], box.s1[b]);
-		r = xor(r, box.s2[c]);
-		return add(r, box.s3[d]);
-	}
-	function eb(o, box) {
-		var l = o.left;
-		var r = o.right;
-		l = xor(l, box.p[0]);
-		r = xor(r, xor($(l, box), box.p[1]));
-		l = xor(l, xor($(r, box), box.p[2]));
-		r = xor(r, xor($(l, box), box.p[3]));
-		l = xor(l, xor($(r, box), box.p[4]));
-		r = xor(r, xor($(l, box), box.p[5]));
-		l = xor(l, xor($(r, box), box.p[6]));
-		r = xor(r, xor($(l, box), box.p[7]));
-		l = xor(l, xor($(r, box), box.p[8]));
-		r = xor(r, xor($(l, box), box.p[9]));
-		l = xor(l, xor($(r, box), box.p[10]));
-		r = xor(r, xor($(l, box), box.p[11]));
-		l = xor(l, xor($(r, box), box.p[12]));
-		r = xor(r, xor($(l, box), box.p[13]));
-		l = xor(l, xor($(r, box), box.p[14]));
-		r = xor(r, xor($(l, box), box.p[15]));
-		l = xor(l, xor($(r, box), box.p[16]));
-		o.right = l;
-		o.left = xor(r, box.p[17]);
-	}
-	function db(o, box) {
-		var l = o.left;
-		var r = o.right;
-		l = xor(l, box.p[17]);
-		r = xor(r, xor($(l, box), box.p[16]));
-		l = xor(l, xor($(r, box), box.p[15]));
-		r = xor(r, xor($(l, box), box.p[14]));
-		l = xor(l, xor($(r, box), box.p[13]));
-		r = xor(r, xor($(l, box), box.p[12]));
-		l = xor(l, xor($(r, box), box.p[11]));
-		r = xor(r, xor($(l, box), box.p[10]));
-		l = xor(l, xor($(r, box), box.p[9]));
-		r = xor(r, xor($(l, box), box.p[8]));
-		l = xor(l, xor($(r, box), box.p[7]));
-		r = xor(r, xor($(l, box), box.p[6]));
-		l = xor(l, xor($(r, box), box.p[5]));
-		r = xor(r, xor($(l, box), box.p[4]));
-		l = xor(l, xor($(r, box), box.p[3]));
-		r = xor(r, xor($(l, box), box.p[2]));
-		l = xor(l, xor($(r, box), box.p[1]));
-		o.right = l;
-		o.left = xor(r, box.p[0]);
-	}
-	function init(key) {
-		var k = key;
-		if (typeof (k) == "string") {
-			var a = [];
-			for (var i = 0; i < k.length; i++) {
-				a.push(k.charCodeAt(i) & 255);
-			}
-			k = a;
-		}
-		var box = {p:[], s0:[], s1:[], s2:[], s3:[]};
-		for (var i = 0; i < boxes.p.length; i++) {
-			box.p.push(boxes.p[i]);
-		}
-		for (var i = 0; i < boxes.s0.length; i++) {
-			box.s0.push(boxes.s0[i]);
-		}
-		for (var i = 0; i < boxes.s1.length; i++) {
-			box.s1.push(boxes.s1[i]);
-		}
-		for (var i = 0; i < boxes.s2.length; i++) {
-			box.s2.push(boxes.s2[i]);
-		}
-		for (var i = 0; i < boxes.s3.length; i++) {
-			box.s3.push(boxes.s3[i]);
-		}
-		var pos = 0;
-		var data = 0;
-		for (var i = 0; i < box.p.length; i++) {
-			for (var j = 0; j < 4; j++) {
-				data = (data * POW8) | k[pos];
-				if (++pos == k.length) {
-					pos = 0;
-				}
-			}
-			box.p[i] = xor(box.p[i], data);
-		}
-		var res = {left:0, right:0};
-		for (var i = 0; i < box.p.length; ) {
-			eb(res, box);
-			box.p[i++] = res.left;
-			box.p[i++] = res.right;
-		}
-		for (var i = 0; i < 4; i++) {
-			for (var j = 0; j < box["s" + i].length; ) {
-				eb(res, box);
-				box["s" + i][j++] = res.left;
-				box["s" + i][j++] = res.right;
-			}
-		}
-		return box;
-	}
-	function toBase64(ba) {
-		var p = "=";
-		var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-		var s = [];
-		var l = ba.length;
-		var rm = l % 3;
-		var x = l - rm;
-		for (var i = 0; i < x; ) {
-			var t = ba[i++] << 16 | ba[i++] << 8 | ba[i++];
-			s.push(tab.charAt((t >>> 18) & 63));
-			s.push(tab.charAt((t >>> 12) & 63));
-			s.push(tab.charAt((t >>> 6) & 63));
-			s.push(tab.charAt(t & 63));
-		}
-		switch (rm) {
-		  case 2:
-			var t = ba[i++] << 16 | ba[i++] << 8;
-			s.push(tab.charAt((t >>> 18) & 63));
-			s.push(tab.charAt((t >>> 12) & 63));
-			s.push(tab.charAt((t >>> 6) & 63));
-			s.push(p);
-			break;
-		  case 1:
-			var t = ba[i++] << 16;
-			s.push(tab.charAt((t >>> 18) & 63));
-			s.push(tab.charAt((t >>> 12) & 63));
-			s.push(p);
-			s.push(p);
-			break;
-		}
-		return s.join("");
-	}
-	function fromBase64(str) {
-		var s = str.split("");
-		var p = "=";
-		var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-		var out = [];
-		var l = s.length;
-		while (s[--l] == p) {
-		}
-		for (var i = 0; i < l; ) {
-			var t = tab.indexOf(s[i++]) << 18 | tab.indexOf(s[i++]) << 12 | tab.indexOf(s[i++]) << 6 | tab.indexOf(s[i++]);
-			out.push((t >>> 16) & 255);
-			out.push((t >>> 8) & 255);
-			out.push(t & 255);
-		}
-		return out;
-	}
-	this.getIV = function (outputType) {
-		var out = outputType || dojo.crypto.outputTypes.Base64;
-		switch (out) {
-		  case dojo.crypto.outputTypes.Hex:
-			var s = [];
-			for (var i = 0; i < iv.length; i++) {
-				s.push((iv[i]).toString(16));
-			}
-			return s.join("");
-		  case dojo.crypto.outputTypes.String:
-			return iv.join("");
-		  case dojo.crypto.outputTypes.Raw:
-			return iv;
-		  default:
-			return toBase64(iv);
-		}
-	};
-	this.setIV = function (data, inputType) {
-		var ip = inputType || dojo.crypto.outputTypes.Base64;
-		var ba = null;
-		switch (ip) {
-		  case dojo.crypto.outputTypes.String:
-			ba = [];
-			for (var i = 0; i < data.length; i++) {
-				ba.push(data.charCodeAt(i));
-			}
-			break;
-		  case dojo.crypto.outputTypes.Hex:
-			ba = [];
-			var i = 0;
-			while (i + 1 < data.length) {
-				ba.push(parseInt(data.substr(i, 2), 16));
-				i += 2;
-			}
-			break;
-		  case dojo.crypto.outputTypes.Raw:
-			ba = data;
-			break;
-		  default:
-			ba = fromBase64(data);
-			break;
-		}
-		iv = {};
-		iv.left = ba[0] * POW24 | ba[1] * POW16 | ba[2] * POW8 | ba[3];
-		iv.right = ba[4] * POW24 | ba[5] * POW16 | ba[6] * POW8 | ba[7];
-	};
-	this.encrypt = function (plaintext, key, ao) {
-		var out = dojo.crypto.outputTypes.Base64;
-		var mode = dojo.crypto.cipherModes.EBC;
-		if (ao) {
-			if (ao.outputType) {
-				out = ao.outputType;
-			}
-			if (ao.cipherMode) {
-				mode = ao.cipherMode;
-			}
-		}
-		var bx = init(key);
-		var padding = 8 - (plaintext.length & 7);
-		for (var i = 0; i < padding; i++) {
-			plaintext += String.fromCharCode(padding);
-		}
-		var cipher = [];
-		var count = plaintext.length >> 3;
-		var pos = 0;
-		var o = {};
-		var isCBC = (mode == dojo.crypto.cipherModes.CBC);
-		var vector = {left:iv.left || null, right:iv.right || null};
-		for (var i = 0; i < count; i++) {
-			o.left = plaintext.charCodeAt(pos) * POW24 | plaintext.charCodeAt(pos + 1) * POW16 | plaintext.charCodeAt(pos + 2) * POW8 | plaintext.charCodeAt(pos + 3);
-			o.right = plaintext.charCodeAt(pos + 4) * POW24 | plaintext.charCodeAt(pos + 5) * POW16 | plaintext.charCodeAt(pos + 6) * POW8 | plaintext.charCodeAt(pos + 7);
-			if (isCBC) {
-				o.left = xor(o.left, vector.left);
-				o.right = xor(o.right, vector.right);
-			}
-			eb(o, bx);
-			if (isCBC) {
-				vector.left = o.left;
-				vector.right = o.right;
-				dojo.crypto.outputTypes.Hex;
-			}
-			cipher.push((o.left >> 24) & 255);
-			cipher.push((o.left >> 16) & 255);
-			cipher.push((o.left >> 8) & 255);
-			cipher.push(o.left & 255);
-			cipher.push((o.right >> 24) & 255);
-			cipher.push((o.right >> 16) & 255);
-			cipher.push((o.right >> 8) & 255);
-			cipher.push(o.right & 255);
-			pos += 8;
-		}
-		switch (out) {
-		  case dojo.crypto.outputTypes.Hex:
-			var s = [];
-			for (var i = 0; i < cipher.length; i++) {
-				s.push((cipher[i]).toString(16));
-			}
-			return s.join("");
-		  case dojo.crypto.outputTypes.String:
-			return cipher.join("");
-		  case dojo.crypto.outputTypes.Raw:
-			return cipher;
-		  default:
-			return toBase64(cipher);
-		}
-	};
-	this.decrypt = function (ciphertext, key, ao) {
-		var ip = dojo.crypto.outputTypes.Base64;
-		var mode = dojo.crypto.cipherModes.EBC;
-		if (ao) {
-			if (ao.outputType) {
-				ip = ao.outputType;
-			}
-			if (ao.cipherMode) {
-				mode = ao.cipherMode;
-			}
-		}
-		var bx = init(key);
-		var pt = [];
-		var c = null;
-		switch (ip) {
-		  case dojo.crypto.outputTypes.Hex:
-			c = [];
-			var i = 0;
-			while (i + 1 < ciphertext.length) {
-				c.push(parseInt(ciphertext.substr(i, 2), 16));
-				i += 2;
-			}
-			break;
-		  case dojo.crypto.outputTypes.String:
-			c = [];
-			for (var i = 0; i < ciphertext.length; i++) {
-				c.push(ciphertext.charCodeAt(i));
-			}
-			break;
-		  case dojo.crypto.outputTypes.Raw:
-			c = ciphertext;
-			break;
-		  default:
-			c = fromBase64(ciphertext);
-			break;
-		}
-		var count = c.length >> 3;
-		var pos = 0;
-		var o = {};
-		var isCBC = (mode == dojo.crypto.cipherModes.CBC);
-		var vector = {left:iv.left || null, right:iv.right || null};
-		for (var i = 0; i < count; i++) {
-			o.left = c[pos] * POW24 | c[pos + 1] * POW16 | c[pos + 2] * POW8 | c[pos + 3];
-			o.right = c[pos + 4] * POW24 | c[pos + 5] * POW16 | c[pos + 6] * POW8 | c[pos + 7];
-			if (isCBC) {
-				var left = o.left;
-				var right = o.right;
-			}
-			db(o, bx);
-			if (isCBC) {
-				o.left = xor(o.left, vector.left);
-				o.right = xor(o.right, vector.right);
-				vector.left = left;
-				vector.right = right;
-			}
-			pt.push((o.left >> 24) & 255);
-			pt.push((o.left >> 16) & 255);
-			pt.push((o.left >> 8) & 255);
-			pt.push(o.left & 255);
-			pt.push((o.right >> 24) & 255);
-			pt.push((o.right >> 16) & 255);
-			pt.push((o.right >> 8) & 255);
-			pt.push(o.right & 255);
-			pos += 8;
-		}
-		if (pt[pt.length - 1] == pt[pt.length - 2] || pt[pt.length - 1] == 1) {
-			var n = pt[pt.length - 1];
-			pt.splice(pt.length - n, n);
-		}
-		for (var i = 0; i < pt.length; i++) {
-			pt[i] = String.fromCharCode(pt[i]);
-		}
-		return pt.join("");
-	};
-	this.setIV("0000000000000000", dojo.crypto.outputTypes.Hex);
-}();
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/LICENSE
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/LICENSE b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/LICENSE
deleted file mode 100644
index 36ccb77..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/LICENSE
+++ /dev/null
@@ -1,11 +0,0 @@
-License Disclaimer:
-
-All contents of this directory are Copyright (c) the Dojo Foundation, with the
-following exceptions:
--------------------------------------------------------------------------------
-
-MD5.js, SHA1.js:
-	* Copyright 1998-2005, Paul Johnstone
-	  Distributed under the terms of the BSD License
-
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/MD5.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/MD5.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/MD5.js
deleted file mode 100644
index 790a9ce..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/MD5.js
+++ /dev/null
@@ -1,198 +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.require("dojo.crypto");
-dojo.provide("dojo.crypto.MD5");
-dojo.crypto.MD5 = new function () {
-	var chrsz = 8;
-	var mask = (1 << chrsz) - 1;
-	function toWord(s) {
-		var wa = [];
-		for (var i = 0; i < s.length * chrsz; i += chrsz) {
-			wa[i >> 5] |= (s.charCodeAt(i / chrsz) & mask) << (i % 32);
-		}
-		return wa;
-	}
-	function toString(wa) {
-		var s = [];
-		for (var i = 0; i < wa.length * 32; i += chrsz) {
-			s.push(String.fromCharCode((wa[i >> 5] >>> (i % 32)) & mask));
-		}
-		return s.join("");
-	}
-	function toHex(wa) {
-		var h = "0123456789abcdef";
-		var s = [];
-		for (var i = 0; i < wa.length * 4; i++) {
-			s.push(h.charAt((wa[i >> 2] >> ((i % 4) * 8 + 4)) & 15) + h.charAt((wa[i >> 2] >> ((i % 4) * 8)) & 15));
-		}
-		return s.join("");
-	}
-	function toBase64(wa) {
-		var p = "=";
-		var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-		var s = [];
-		for (var i = 0; i < wa.length * 4; i += 3) {
-			var t = (((wa[i >> 2] >> 8 * (i % 4)) & 255) << 16) | (((wa[i + 1 >> 2] >> 8 * ((i + 1) % 4)) & 255) << 8) | ((wa[i + 2 >> 2] >> 8 * ((i + 2) % 4)) & 255);
-			for (var j = 0; j < 4; j++) {
-				if (i * 8 + j * 6 > wa.length * 32) {
-					s.push(p);
-				} else {
-					s.push(tab.charAt((t >> 6 * (3 - j)) & 63));
-				}
-			}
-		}
-		return s.join("");
-	}
-	function add(x, y) {
-		var l = (x & 65535) + (y & 65535);
-		var m = (x >> 16) + (y >> 16) + (l >> 16);
-		return (m << 16) | (l & 65535);
-	}
-	function R(n, c) {
-		return (n << c) | (n >>> (32 - c));
-	}
-	function C(q, a, b, x, s, t) {
-		return add(R(add(add(a, q), add(x, t)), s), b);
-	}
-	function FF(a, b, c, d, x, s, t) {
-		return C((b & c) | ((~b) & d), a, b, x, s, t);
-	}
-	function GG(a, b, c, d, x, s, t) {
-		return C((b & d) | (c & (~d)), a, b, x, s, t);
-	}
-	function HH(a, b, c, d, x, s, t) {
-		return C(b ^ c ^ d, a, b, x, s, t);
-	}
-	function II(a, b, c, d, x, s, t) {
-		return C(c ^ (b | (~d)), a, b, x, s, t);
-	}
-	function core(x, len) {
-		x[len >> 5] |= 128 << ((len) % 32);
-		x[(((len + 64) >>> 9) << 4) + 14] = len;
-		var a = 1732584193;
-		var b = -271733879;
-		var c = -1732584194;
-		var d = 271733878;
-		for (var i = 0; i < x.length; i += 16) {
-			var olda = a;
-			var oldb = b;
-			var oldc = c;
-			var oldd = d;
-			a = FF(a, b, c, d, x[i + 0], 7, -680876936);
-			d = FF(d, a, b, c, x[i + 1], 12, -389564586);
-			c = FF(c, d, a, b, x[i + 2], 17, 606105819);
-			b = FF(b, c, d, a, x[i + 3], 22, -1044525330);
-			a = FF(a, b, c, d, x[i + 4], 7, -176418897);
-			d = FF(d, a, b, c, x[i + 5], 12, 1200080426);
-			c = FF(c, d, a, b, x[i + 6], 17, -1473231341);
-			b = FF(b, c, d, a, x[i + 7], 22, -45705983);
-			a = FF(a, b, c, d, x[i + 8], 7, 1770035416);
-			d = FF(d, a, b, c, x[i + 9], 12, -1958414417);
-			c = FF(c, d, a, b, x[i + 10], 17, -42063);
-			b = FF(b, c, d, a, x[i + 11], 22, -1990404162);
-			a = FF(a, b, c, d, x[i + 12], 7, 1804603682);
-			d = FF(d, a, b, c, x[i + 13], 12, -40341101);
-			c = FF(c, d, a, b, x[i + 14], 17, -1502002290);
-			b = FF(b, c, d, a, x[i + 15], 22, 1236535329);
-			a = GG(a, b, c, d, x[i + 1], 5, -165796510);
-			d = GG(d, a, b, c, x[i + 6], 9, -1069501632);
-			c = GG(c, d, a, b, x[i + 11], 14, 643717713);
-			b = GG(b, c, d, a, x[i + 0], 20, -373897302);
-			a = GG(a, b, c, d, x[i + 5], 5, -701558691);
-			d = GG(d, a, b, c, x[i + 10], 9, 38016083);
-			c = GG(c, d, a, b, x[i + 15], 14, -660478335);
-			b = GG(b, c, d, a, x[i + 4], 20, -405537848);
-			a = GG(a, b, c, d, x[i + 9], 5, 568446438);
-			d = GG(d, a, b, c, x[i + 14], 9, -1019803690);
-			c = GG(c, d, a, b, x[i + 3], 14, -187363961);
-			b = GG(b, c, d, a, x[i + 8], 20, 1163531501);
-			a = GG(a, b, c, d, x[i + 13], 5, -1444681467);
-			d = GG(d, a, b, c, x[i + 2], 9, -51403784);
-			c = GG(c, d, a, b, x[i + 7], 14, 1735328473);
-			b = GG(b, c, d, a, x[i + 12], 20, -1926607734);
-			a = HH(a, b, c, d, x[i + 5], 4, -378558);
-			d = HH(d, a, b, c, x[i + 8], 11, -2022574463);
-			c = HH(c, d, a, b, x[i + 11], 16, 1839030562);
-			b = HH(b, c, d, a, x[i + 14], 23, -35309556);
-			a = HH(a, b, c, d, x[i + 1], 4, -1530992060);
-			d = HH(d, a, b, c, x[i + 4], 11, 1272893353);
-			c = HH(c, d, a, b, x[i + 7], 16, -155497632);
-			b = HH(b, c, d, a, x[i + 10], 23, -1094730640);
-			a = HH(a, b, c, d, x[i + 13], 4, 681279174);
-			d = HH(d, a, b, c, x[i + 0], 11, -358537222);
-			c = HH(c, d, a, b, x[i + 3], 16, -722521979);
-			b = HH(b, c, d, a, x[i + 6], 23, 76029189);
-			a = HH(a, b, c, d, x[i + 9], 4, -640364487);
-			d = HH(d, a, b, c, x[i + 12], 11, -421815835);
-			c = HH(c, d, a, b, x[i + 15], 16, 530742520);
-			b = HH(b, c, d, a, x[i + 2], 23, -995338651);
-			a = II(a, b, c, d, x[i + 0], 6, -198630844);
-			d = II(d, a, b, c, x[i + 7], 10, 1126891415);
-			c = II(c, d, a, b, x[i + 14], 15, -1416354905);
-			b = II(b, c, d, a, x[i + 5], 21, -57434055);
-			a = II(a, b, c, d, x[i + 12], 6, 1700485571);
-			d = II(d, a, b, c, x[i + 3], 10, -1894986606);
-			c = II(c, d, a, b, x[i + 10], 15, -1051523);
-			b = II(b, c, d, a, x[i + 1], 21, -2054922799);
-			a = II(a, b, c, d, x[i + 8], 6, 1873313359);
-			d = II(d, a, b, c, x[i + 15], 10, -30611744);
-			c = II(c, d, a, b, x[i + 6], 15, -1560198380);
-			b = II(b, c, d, a, x[i + 13], 21, 1309151649);
-			a = II(a, b, c, d, x[i + 4], 6, -145523070);
-			d = II(d, a, b, c, x[i + 11], 10, -1120210379);
-			c = II(c, d, a, b, x[i + 2], 15, 718787259);
-			b = II(b, c, d, a, x[i + 9], 21, -343485551);
-			a = add(a, olda);
-			b = add(b, oldb);
-			c = add(c, oldc);
-			d = add(d, oldd);
-		}
-		return [a, b, c, d];
-	}
-	function hmac(data, key) {
-		var wa = toWord(key);
-		if (wa.length > 16) {
-			wa = core(wa, key.length * chrsz);
-		}
-		var l = [], r = [];
-		for (var i = 0; i < 16; i++) {
-			l[i] = wa[i] ^ 909522486;
-			r[i] = wa[i] ^ 1549556828;
-		}
-		var h = core(l.concat(toWord(data)), 512 + data.length * chrsz);
-		return core(r.concat(h), 640);
-	}
-	this.compute = function (data, outputType) {
-		var out = outputType || dojo.crypto.outputTypes.Base64;
-		switch (out) {
-		  case dojo.crypto.outputTypes.Hex:
-			return toHex(core(toWord(data), data.length * chrsz));
-		  case dojo.crypto.outputTypes.String:
-			return toString(core(toWord(data), data.length * chrsz));
-		  default:
-			return toBase64(core(toWord(data), data.length * chrsz));
-		}
-	};
-	this.getHMAC = function (data, key, outputType) {
-		var out = outputType || dojo.crypto.outputTypes.Base64;
-		switch (out) {
-		  case dojo.crypto.outputTypes.Hex:
-			return toHex(hmac(data, key));
-		  case dojo.crypto.outputTypes.String:
-			return toString(hmac(data, key));
-		  default:
-			return toBase64(hmac(data, key));
-		}
-	};
-}();
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/Rijndael.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/Rijndael.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/Rijndael.js
deleted file mode 100644
index bce1aca..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/Rijndael.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.crypto.Rijndael");
-dojo.require("dojo.crypto");
-dojo.require("dojo.experimental");
-dojo.experimental("dojo.crypto.Rijndael");
-dojo.crypto.Rijndael = new function () {
-	this.encrypt = function (plaintext, key) {
-	};
-	this.decrypt = function (ciphertext, key) {
-	};
-}();
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/SHA1.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/SHA1.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/SHA1.js
deleted file mode 100644
index a4b02e7..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/SHA1.js
+++ /dev/null
@@ -1,171 +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.require("dojo.crypto");
-dojo.provide("dojo.crypto.SHA1");
-dojo.require("dojo.experimental");
-dojo.experimental("dojo.crypto.SHA1");
-dojo.crypto.SHA1 = new function () {
-	var chrsz = 8;
-	var mask = (1 << chrsz) - 1;
-	function toWord(s) {
-		var wa = [];
-		for (var i = 0; i < s.length * chrsz; i += chrsz) {
-			wa[i >> 5] |= (s.charCodeAt(i / chrsz) & mask) << (i % 32);
-		}
-		return wa;
-	}
-	function toString(wa) {
-		var s = [];
-		for (var i = 0; i < wa.length * 32; i += chrsz) {
-			s.push(String.fromCharCode((wa[i >> 5] >>> (i % 32)) & mask));
-		}
-		return s.join("");
-	}
-	function toHex(wa) {
-		var h = "0123456789abcdef";
-		var s = [];
-		for (var i = 0; i < wa.length * 4; i++) {
-			s.push(h.charAt((wa[i >> 2] >> ((i % 4) * 8 + 4)) & 15) + h.charAt((wa[i >> 2] >> ((i % 4) * 8)) & 15));
-		}
-		return s.join("");
-	}
-	function toBase64(wa) {
-		var p = "=";
-		var tab = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
-		var s = [];
-		for (var i = 0; i < wa.length * 4; i += 3) {
-			var t = (((wa[i >> 2] >> 8 * (i % 4)) & 255) << 16) | (((wa[i + 1 >> 2] >> 8 * ((i + 1) % 4)) & 255) << 8) | ((wa[i + 2 >> 2] >> 8 * ((i + 2) % 4)) & 255);
-			for (var j = 0; j < 4; j++) {
-				if (i * 8 + j * 6 > wa.length * 32) {
-					s.push(p);
-				} else {
-					s.push(tab.charAt((t >> 6 * (3 - j)) & 63));
-				}
-			}
-		}
-		return s.join("");
-	}
-	function add(x, y) {
-		var l = (x & 65535) + (y & 65535);
-		var m = (x >> 16) + (y >> 16) + (l >> 16);
-		return (m << 16) | (l & 65535);
-	}
-	function r(x, n) {
-		return (x << n) | (x >>> (32 - n));
-	}
-	function f(u, v, w) {
-		return ((u & v) | (~u & w));
-	}
-	function g(u, v, w) {
-		return ((u & v) | (u & w) | (v & w));
-	}
-	function h(u, v, w) {
-		return (u ^ v ^ w);
-	}
-	function fn(i, u, v, w) {
-		if (i < 20) {
-			return f(u, v, w);
-		}
-		if (i < 40) {
-			return h(u, v, w);
-		}
-		if (i < 60) {
-			return g(u, v, w);
-		}
-		return h(u, v, w);
-	}
-	function cnst(i) {
-		if (i < 20) {
-			return 1518500249;
-		}
-		if (i < 40) {
-			return 1859775393;
-		}
-		if (i < 60) {
-			return -1894007588;
-		}
-		return -899497514;
-	}
-	function core(x, len) {
-		x[len >> 5] |= 128 << (24 - len % 32);
-		x[((len + 64 >> 9) << 4) + 15] = len;
-		var w = [];
-		var a = 1732584193;
-		var b = -271733879;
-		var c = -1732584194;
-		var d = 271733878;
-		var e = -1009589776;
-		for (var i = 0; i < x.length; i += 16) {
-			var olda = a;
-			var oldb = b;
-			var oldc = c;
-			var oldd = d;
-			var olde = e;
-			for (var j = 0; j < 80; j++) {
-				if (j < 16) {
-					w[j] = x[i + j];
-				} else {
-					w[j] = r(w[j - 3] ^ w[j - 8] ^ w[j - 14] ^ w[j - 16], 1);
-				}
-				var t = add(add(r(a, 5), fn(j, b, c, d)), add(add(e, w[j]), cnst(j)));
-				e = d;
-				d = c;
-				c = r(b, 30);
-				b = a;
-				a = t;
-			}
-			a = add(a, olda);
-			b = add(b, oldb);
-			c = add(c, oldc);
-			d = add(d, oldd);
-			e = add(e, olde);
-		}
-		return [a, b, c, d, e];
-	}
-	function hmac(data, key) {
-		var wa = toWord(key);
-		if (wa.length > 16) {
-			wa = core(wa, key.length * chrsz);
-		}
-		var l = [], r = [];
-		for (var i = 0; i < 16; i++) {
-			l[i] = wa[i] ^ 909522486;
-			r[i] = wa[i] ^ 1549556828;
-		}
-		var h = core(l.concat(toWord(data)), 512 + data.length * chrsz);
-		return core(r.concat(h), 640);
-	}
-	this.compute = function (data, outputType) {
-		var out = outputType || dojo.crypto.outputTypes.Base64;
-		switch (out) {
-		  case dojo.crypto.outputTypes.Hex:
-			return toHex(core(toWord(data), data.length * chrsz));
-		  case dojo.crypto.outputTypes.String:
-			return toString(core(toWord(data), data.length * chrsz));
-		  default:
-			return toBase64(core(toWord(data), data.length * chrsz));
-		}
-	};
-	this.getHMAC = function (data, key, outputType) {
-		var out = outputType || dojo.crypto.outputTypes.Base64;
-		switch (out) {
-		  case dojo.crypto.outputTypes.Hex:
-			return toHex(hmac(data, key));
-		  case dojo.crypto.outputTypes.String:
-			return toString(hmac(data, key));
-		  default:
-			return toBase64(hmac(data, key));
-		}
-	};
-}();
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/SHA256.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/SHA256.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/SHA256.js
deleted file mode 100644
index 4f66424..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/SHA256.js
+++ /dev/null
@@ -1,21 +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.crypto.SHA256");
-dojo.require("dojo.crypto");
-dojo.require("dojo.experimental");
-dojo.experimental("dojo.crypto.SHA256");
-dojo.crypto.SHA256 = new function () {
-	this.compute = function (s) {
-	};
-}();
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/__package__.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/__package__.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/__package__.js
deleted file mode 100644
index c09f735..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/crypto/__package__.js
+++ /dev/null
@@ -1,15 +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.kwCompoundRequire({common:["dojo.crypto", "dojo.crypto.MD5"]});
-dojo.provide("dojo.crypto.*");
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data.js
deleted file mode 100644
index 1866bda..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data.js
+++ /dev/null
@@ -1,15 +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.data");
-dojo.data = {};
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/CsvStore.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/CsvStore.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/CsvStore.js
deleted file mode 100644
index 108cb59..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/CsvStore.js
+++ /dev/null
@@ -1,115 +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.data.CsvStore");
-dojo.require("dojo.data.core.RemoteStore");
-dojo.require("dojo.lang.assert");
-dojo.declare("dojo.data.CsvStore", dojo.data.core.RemoteStore, {_setupQueryRequest:function (result, requestKw) {
-	var serverQueryUrl = this._serverQueryUrl ? this._serverQueryUrl : "";
-	var queryUrl = result.query ? result.query : "";
-	requestKw.url = serverQueryUrl + queryUrl;
-	requestKw.method = "get";
-}, _resultToQueryData:function (serverResponseData) {
-	var csvFileContentString = serverResponseData;
-	var arrayOfArrays = this._getArrayOfArraysFromCsvFileContents(csvFileContentString);
-	var arrayOfObjects = this._getArrayOfObjectsFromArrayOfArrays(arrayOfArrays);
-	var remoteStoreData = this._getRemoteStoreDataFromArrayOfObjects(arrayOfObjects);
-	return remoteStoreData;
-}, _setupSaveRequest:function (saveKeywordArgs, requestKw) {
-}, _getArrayOfArraysFromCsvFileContents:function (csvFileContents) {
-	dojo.lang.assertType(csvFileContents, String);
-	var lineEndingCharacters = new RegExp("\r\n|\n|\r");
-	var leadingWhiteSpaceCharacters = new RegExp("^\\s+", "g");
-	var trailingWhiteSpaceCharacters = new RegExp("\\s+$", "g");
-	var doubleQuotes = new RegExp("\"\"", "g");
-	var arrayOfOutputRecords = [];
-	var arrayOfInputLines = csvFileContents.split(lineEndingCharacters);
-	for (var i in arrayOfInputLines) {
-		var singleLine = arrayOfInputLines[i];
-		if (singleLine.length > 0) {
-			var listOfFields = singleLine.split(",");
-			var j = 0;
-			while (j < listOfFields.length) {
-				var space_field_space = listOfFields[j];
-				var field_space = space_field_space.replace(leadingWhiteSpaceCharacters, "");
-				var field = field_space.replace(trailingWhiteSpaceCharacters, "");
-				var firstChar = field.charAt(0);
-				var lastChar = field.charAt(field.length - 1);
-				var secondToLastChar = field.charAt(field.length - 2);
-				var thirdToLastChar = field.charAt(field.length - 3);
-				if ((firstChar == "\"") && ((lastChar != "\"") || ((lastChar == "\"") && (secondToLastChar == "\"") && (thirdToLastChar != "\"")))) {
-					if (j + 1 === listOfFields.length) {
-						return null;
-					}
-					var nextField = listOfFields[j + 1];
-					listOfFields[j] = field_space + "," + nextField;
-					listOfFields.splice(j + 1, 1);
-				} else {
-					if ((firstChar == "\"") && (lastChar == "\"")) {
-						field = field.slice(1, (field.length - 1));
-						field = field.replace(doubleQuotes, "\"");
-					}
-					listOfFields[j] = field;
-					j += 1;
-				}
-			}
-			arrayOfOutputRecords.push(listOfFields);
-		}
-	}
-	return arrayOfOutputRecords;
-}, _getArrayOfObjectsFromArrayOfArrays:function (arrayOfArrays) {
-	dojo.lang.assertType(arrayOfArrays, Array);
-	var arrayOfItems = [];
-	if (arrayOfArrays.length > 1) {
-		var arrayOfKeys = arrayOfArrays[0];
-		for (var i = 1; i < arrayOfArrays.length; ++i) {
-			var row = arrayOfArrays[i];
-			var item = {};
-			for (var j in row) {
-				var value = row[j];
-				var key = arrayOfKeys[j];
-				item[key] = value;
-			}
-			arrayOfItems.push(item);
-		}
-	}
-	return arrayOfItems;
-}, _getRemoteStoreDataFromArrayOfObjects:function (arrayOfObjects) {
-	dojo.lang.assertType(arrayOfObjects, Array);
-	var output = {};
-	for (var i = 0; i < arrayOfObjects.length; ++i) {
-		var object = arrayOfObjects[i];
-		for (var key in object) {
-			var value = object[key];
-			object[key] = [value];
-		}
-		output[i] = object;
-	}
-	return output;
-}, newItem:function (attributes, keywordArgs) {
-	dojo.unimplemented("dojo.data.CsvStore.newItem");
-}, deleteItem:function (item) {
-	dojo.unimplemented("dojo.data.CsvStore.deleteItem");
-}, setValues:function (item, attribute, values) {
-	dojo.unimplemented("dojo.data.CsvStore.setValues");
-}, set:function (item, attribute, value) {
-	dojo.unimplemented("dojo.data.CsvStore.set");
-}, unsetAttribute:function (item, attribute) {
-	dojo.unimplemented("dojo.data.CsvStore.unsetAttribute");
-}, save:function (keywordArgs) {
-	dojo.unimplemented("dojo.data.CsvStore.save");
-}, revert:function () {
-	dojo.unimplemented("dojo.data.CsvStore.revert");
-}, isDirty:function (item) {
-	dojo.unimplemented("dojo.data.CsvStore.isDirty");
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/OpmlStore.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/OpmlStore.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/OpmlStore.js
deleted file mode 100644
index 0041672..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/OpmlStore.js
+++ /dev/null
@@ -1,166 +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.data.OpmlStore");
-dojo.require("dojo.data.core.Read");
-dojo.require("dojo.data.core.Result");
-dojo.require("dojo.lang.assert");
-dojo.require("dojo.json");
-dojo.require("dojo.experimental");
-dojo.experimental("dojo.data.OpmlStore");
-dojo.declare("dojo.data.OpmlStore", dojo.data.core.Read, {initializer:function (keywordParameters) {
-	this._arrayOfTopLevelItems = [];
-	this._metadataNodes = null;
-	this._loadFinished = false;
-	this._opmlFileUrl = keywordParameters["url"];
-}, _assertIsItem:function (item) {
-	if (!this.isItem(item)) {
-		throw new Error("dojo.data.OpmlStore: a function was passed an item argument that was not an item");
-	}
-}, _removeChildNodesThatAreNotElementNodes:function (node, recursive) {
-	var childNodes = node.childNodes;
-	if (childNodes.length == 0) {
-		return;
-	}
-	var nodesToRemove = [];
-	var i, childNode;
-	for (i = 0; i < childNodes.length; ++i) {
-		childNode = childNodes[i];
-		if (childNode.nodeType != Node.ELEMENT_NODE) {
-			nodesToRemove.push(childNode);
-		}
-	}
-	for (i = 0; i < nodesToRemove.length; ++i) {
-		childNode = nodesToRemove[i];
-		node.removeChild(childNode);
-	}
-	if (recursive) {
-		for (i = 0; i < childNodes.length; ++i) {
-			childNode = childNodes[i];
-			this._removeChildNodesThatAreNotElementNodes(childNode, recursive);
-		}
-	}
-}, _processRawXmlTree:function (rawXmlTree) {
-	var headNodes = rawXmlTree.getElementsByTagName("head");
-	var headNode = headNodes[0];
-	this._removeChildNodesThatAreNotElementNodes(headNode);
-	this._metadataNodes = headNode.childNodes;
-	var bodyNodes = rawXmlTree.getElementsByTagName("body");
-	var bodyNode = bodyNodes[0];
-	this._removeChildNodesThatAreNotElementNodes(bodyNode, true);
-	var bodyChildNodes = bodyNodes[0].childNodes;
-	for (var i = 0; i < bodyChildNodes.length; ++i) {
-		var node = bodyChildNodes[i];
-		if (node.tagName == "outline") {
-			this._arrayOfTopLevelItems.push(node);
-		}
-	}
-}, get:function (item, attribute, defaultValue) {
-	this._assertIsItem(item);
-	if (attribute == "children") {
-		return (item.firstChild || defaultValue);
-	} else {
-		var value = item.getAttribute(attribute);
-		value = (value != undefined) ? value : defaultValue;
-		return value;
-	}
-}, getValues:function (item, attribute) {
-	this._assertIsItem(item);
-	if (attribute == "children") {
-		var array = [];
-		for (var i = 0; i < item.childNodes.length; ++i) {
-			array.push(item.childNodes[i]);
-		}
-		return array;
-	} else {
-		return [item.getAttribute(attribute)];
-	}
-}, getAttributes:function (item) {
-	this._assertIsItem(item);
-	var attributes = [];
-	var xmlNode = item;
-	var xmlAttributes = xmlNode.attributes;
-	for (var i = 0; i < xmlAttributes.length; ++i) {
-		var xmlAttribute = xmlAttributes.item(i);
-		attributes.push(xmlAttribute.nodeName);
-	}
-	if (xmlNode.childNodes.length > 0) {
-		attributes.push("children");
-	}
-	return attributes;
-}, hasAttribute:function (item, attribute) {
-	return (this.getValues(item, attribute).length > 0);
-}, containsValue:function (item, attribute, value) {
-	var values = this.getValues(item, attribute);
-	for (var i = 0; i < values.length; ++i) {
-		var possibleValue = values[i];
-		if (value == possibleValue) {
-			return true;
-		}
-	}
-	return false;
-}, isItem:function (something) {
-	return (something && something.nodeType == Node.ELEMENT_NODE && something.tagName == "outline");
-}, isItemAvailable:function (something) {
-	return this.isItem(something);
-}, find:function (keywordArgs) {
-	var result = null;
-	if (keywordArgs instanceof dojo.data.core.Result) {
-		result = keywordArgs;
-		result.store = this;
-	} else {
-		result = new dojo.data.core.Result(keywordArgs, this);
-	}
-	var self = this;
-	var bindHandler = function (type, data, evt) {
-		var scope = result.scope || dj_global;
-		if (type == "load") {
-			self._processRawXmlTree(data);
-			if (result.saveResult) {
-				result.items = self._arrayOfTopLevelItems;
-			}
-			if (result.onbegin) {
-				result.onbegin.call(scope, result);
-			}
-			for (var i = 0; i < self._arrayOfTopLevelItems.length; i++) {
-				var item = self._arrayOfTopLevelItems[i];
-				if (result.onnext && !result._aborted) {
-					result.onnext.call(scope, item, result);
-				}
-			}
-			if (result.oncompleted && !result._aborted) {
-				result.oncompleted.call(scope, result);
-			}
-		} else {
-			if (type == "error" || type == "timeout") {
-				var errorObject = data;
-				if (result.onerror) {
-					result.onerror.call(scope, data);
-				}
-			}
-		}
-	};
-	if (!this._loadFinished) {
-		if (this._opmlFileUrl) {
-			var bindRequest = dojo.io.bind({url:this._opmlFileUrl, handle:bindHandler, mimetype:"text/xml", sync:(result.sync || false)});
-			result._abortFunc = bindRequest.abort;
-		}
-	}
-	return result;
-}, getIdentity:function (item) {
-	dojo.unimplemented("dojo.data.OpmlStore.getIdentity()");
-	return null;
-}, findByIdentity:function (identity) {
-	dojo.unimplemented("dojo.data.OpmlStore.findByIdentity()");
-	return null;
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/RdfStore.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/RdfStore.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/RdfStore.js
deleted file mode 100644
index 00b79ef..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/RdfStore.js
+++ /dev/null
@@ -1,185 +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.data.RdfStore");
-dojo.provide("dojo.data.RhizomeStore");
-dojo.require("dojo.lang.declare");
-dojo.require("dojo.data.core.RemoteStore");
-dojo.require("dojo.experimental");
-dojo.data.RdfDatatypeSerializer = function (type, convertFunc, uri) {
-	this.type = type;
-	this._converter = convertFunc;
-	this.uri = uri;
-	this.serialize = function (value) {
-		return this._converter.call(value, value);
-	};
-};
-dojo.declare("dojo.data.RdfStore", dojo.data.core.RemoteStore, {_datatypeMap:{literal:function (value) {
-	var literal = value.value;
-	if (value["xml:lang"]) {
-		literal.lang = value["xml:lang"];
-	}
-	return literal;
-}, uri:function (value) {
-	return {id:value.value};
-}, bnode:function (value) {
-	return {id:"_:" + value.value};
-}, "http://www.w3.org/2001/XMLSchema#int":function (value) {
-	return parseInt(value.value);
-}, "http://www.w3.org/2001/XMLSchema#integer":function (value) {
-	return parseInt(value.value);
-}, "http://www.w3.org/2001/XMLSchema#long":function (value) {
-	return parseInt(value.value);
-}, "http://www.w3.org/2001/XMLSchema#float":function (value) {
-	return parseFloat(value.value);
-}, "http://www.w3.org/2001/XMLSchema#double":function (value) {
-	return parseFloat(value.value);
-}, "http://www.w3.org/2001/XMLSchema#boolean":function (value) {
-	return !value || value == "false" || value == "0" ? false : true;
-}}, _datatypeSerializers:[new dojo.data.RdfDatatypeSerializer(Number, Number.toString, "http://www.w3.org/2001/XMLSchema#float"), new dojo.data.RdfDatatypeSerializer(Boolean, Boolean.toString, "http://www.w3.org/2001/XMLSchema#boolean")], _findDatatypeSerializer:function (value) {
-	var length = this._datatypeSerializers.length;
-	for (var i = 0; i < length; i++) {
-		var datatype = this._datatypeSerializers[i];
-		if (value instanceof datatype.type) {
-			return datatype;
-		}
-	}
-}, _toRDFValue:function (value) {
-	var rdfvalue = {};
-	if (value.id) {
-		if (value.id.slice(0, 2) == "_:") {
-			rdfvalue.type = "bnode";
-			rdfvalue.value = value.id.substring(2);
-		} else {
-			rdfvalue.type = "uri";
-			rdfvalue.value = value.id;
-		}
-	} else {
-		if (typeof value == "string" || value instanceof String) {
-			rdfvalue.type = "literal";
-			rdfvalue.value = value;
-			if (value.lang) {
-				rdfvalue["xml:lang"] = value.lang;
-			}
-		} else {
-			if (typeof value == "number") {
-				value = new Number(value);
-			} else {
-				if (typeof value == "boolean") {
-					value = new Boolean(value);
-				}
-			}
-			var datatype = this._findDatatypeSerializer(value);
-			if (datatype) {
-				rdfvalue = {"type":"typed-literal", "datatype":datatype.uri, "value":value.toString()};
-			} else {
-				rdfvalue = {"type":"literal", "value":value.toString()};
-			}
-		}
-	}
-	return rdfvalue;
-}, _setupSaveRequest:function (saveKeywordArgs, requestKw) {
-	var rdfResult = {"head":{"vars":["s", "p", "o"]}, "results":{"bindings":[]}};
-	var resources = [];
-	for (var key in this._deleted) {
-		resources.push(key);
-	}
-	rdfResult.results.deleted = resources;
-	for (key in this._changed) {
-		var subject = this._toRDFValue(this.getIdentity(key));
-		var attributes = this._changed[key];
-		for (var attr in attributes) {
-			var predicate = {type:"uri", value:attr};
-			var values = attributes[attr];
-			if (!values.length) {
-				continue;
-			}
-			var rdfvalues = [];
-			for (var i = 0; i < values.length; i++) {
-				var rdfvalue = this._toRDFValue(values[i]);
-				rdfResult.results.bindings.push({s:subject, p:predicate, o:rdfvalue});
-			}
-		}
-	}
-	var oldRegistry = dojo.json.jsonRegistry;
-	dojo.json.jsonRegistry = this._jsonRegistry;
-	var jsonString = dojo.json.serialize(rdfResult);
-	dojo.json.jsonRegistry = oldRegistry;
-	requestKw.postContent = jsonString;
-}, _resultToQueryMetadata:function (json) {
-	return json.head;
-}, _resultToQueryData:function (json) {
-	var items = {};
-	var stmts = json.results.bindings;
-	for (var i = 0; i < stmts.length; i++) {
-		var stmt = stmts[i];
-		var subject = stmt.s.value;
-		if (stmt.s.type == "bnode") {
-			subject = "_:" + subject;
-		}
-		var attributes = data[subject];
-		if (!attributes) {
-			attributes = {};
-			data[stmt.s] = attributes;
-		}
-		var attr = attributes[stmt.p.value];
-		if (!attr) {
-			attributes[stmt.p.value] = [stmt.o];
-		} else {
-			attr.push(stmt.o);
-		}
-	}
-	return items;
-}});
-dojo.declare("dojo.data.RhizomeStore", dojo.data.RdfStore, {initializer:function (kwArgs) {
-	this._serverQueryUrl = kwArgs.baseUrl + "search?view=json&searchType=RxPath&search=";
-	this._serverSaveUrl = kwArgs.baseUrl + "save-metadata";
-}, _resultToQueryMetadata:function (json) {
-	return json;
-}, _resultToQueryData:function (json) {
-	return json;
-}, _setupSaveRequest:function (saveKeywordArgs, requestKw) {
-	requestKw.url = this._serverSaveUrl;
-	requestKw.method = "post";
-	requestKw.mimetype = "text/plain";
-	var resources = [];
-	for (var key in this._deleted) {
-		resources.push(key);
-	}
-	var changes = {};
-	for (key in this._changed) {
-		if (!this._added[key]) {
-			resources.push(key);
-		}
-		var attributes = this._changed[key];
-		var rdfattributes = {};
-		for (var attr in attributes) {
-			var values = attributes[attr];
-			if (!values.length) {
-				continue;
-			}
-			var rdfvalues = [];
-			for (var i = 0; i < values.length; i++) {
-				var rdfvalue = this._toRDFValue(values[i]);
-				rdfvalues.push(rdfvalue);
-			}
-			rdfattributes[attr] = rdfvalues;
-		}
-		changes[key] = rdfattributes;
-	}
-	var oldRegistry = dojo.json.jsonRegistry;
-	dojo.json.jsonRegistry = this._jsonRegistry;
-	var jsonString = dojo.json.serialize(changes);
-	dojo.json.jsonRegistry = oldRegistry;
-	requestKw.content = {rdfFormat:"json", resource:resources, metadata:jsonString};
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/Read.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/Read.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/Read.js
deleted file mode 100644
index 86b90ce..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/Read.js
+++ /dev/null
@@ -1,224 +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.data.Read");
-dojo.require("dojo.lang.declare");
-dojo.require("dojo.data.Result");
-dojo.require("dojo.experimental");
-
-/* summary:
- *   This is an abstract API that data provider implementations conform to.  
- *   This file defines methods signatures and intentionally leaves all the
- *   methods unimplemented.
- */
-dojo.experimental("dojo.data.Read");
- 
-dojo.declare("dojo.data.Read", null, {
-	get:
-		function(/* item */ item, /* attribute || attribute-name-string */ attribute, /* value? */ defaultValue) {
-		/* summary:
-		 *   Returns a single attribute value.
-		 *   Returns defaultValue if item does not have a value for attribute.
-		 *   Returns null if null was explicitly set as the attribute value.
-		 *   Returns undefined if the item does not have a value for the given attribute.
-		 *   (So, if store.hasAttribute(item, attribute) returns false, then
-		 *   store.get(item, attribute) will return undefined.)
-		 */
-		 
-		/* exceptions:
-		 *   Conforming implementations should throw an exception if *item* is not
-		 *   an item, or *attribute* is neither an attribute object or a string.
-		 * examples:
-		 *   var darthVader = store.get(lukeSkywalker, "father");
-		 */
-			dojo.unimplemented('dojo.data.Read.get');
-			var attributeValue = null;
-			return attributeValue; // a literal, an item, null, or undefined (never an array)
-		},
-	getValues:
-		function(/* item */ item, /* attribute || attribute-name-string */ attribute) {
-		/* summary:
-		 *   This getValues() method works just like the get() method, but getValues()
-		 *   always returns an array rather than a single attribute value.  The array
-		 *   may be empty, may contain a single attribute value, or may contain many
-		 *   attribute values.
-		 *   If the item does not have a value for the given attribute, then getValues()
-		 *   will return an empty array: [].  (So, if store.hasAttribute(item, attribute)
-		 *   returns false, then store.getValues(item, attribute) will return [].)
-		 */
-		 
-		/* exceptions:
-		 *   Throws an exception if item is not an item, or attribute is neither an 
-		 *   attribute object or a string.
-		 * examples:
-		 *   var friendsOfLuke = store.get(lukeSkywalker, "friends");
-		 */
-			dojo.unimplemented('dojo.data.Read.getValues');
-			var array = null;
-			return array; // an array that may contain literals and items
-		},
-	getAttributes:
-		function(/* item */ item) {
-		/* summary:
-		 *   Returns an array with all the attributes that this item has.
-		 */
-		 
-		/* exceptions:
-		 *   Throws an exception if item is not an item. 
-		 * examples:
-		 *   var array = store.getAttributes(kermit);
-		 */
-			dojo.unimplemented('dojo.data.Read.getAttributes');
-			var array = null;
-			return array; // array
-		},
-	hasAttribute:
-		function(/* item */ item, /* attribute || attribute-name-string */ attribute) {
-		/* summary:
-		 *   Returns true if the given *item* has a value or the given *attribute*.
-		 */
-		 
-		/* exceptions:
-		 *   Throws an exception if item is not an item, or attribute is neither an 
-		 *   attribute object or a string.
-		 * examples:
-		 *   var yes = store.hasAttribute(kermit, "color");
-		 */
-			dojo.unimplemented('dojo.data.Read.hasAttribute');
-			return false; // boolean
-		},
-	hasAttributeValue:
-		function(/* item */ item, /* attribute || attribute-name-string */ attribute, /* anything */ value) {
-		/* summary:
-		 *   Returns true if the given *value* is one of the values that getValue()
-		 *   would return.
-		 */
-		 
-		/* exceptions:
-		 *   Throws an exception if item is not an item, or attribute is neither an 
-		 *   attribute object or a string.
-		 * examples:
-		 *   var yes = store.hasAttributeValue(kermit, "color", "green");
-		 */
-			dojo.unimplemented('dojo.data.Read.hasAttributeValue');
-			return false; // boolean
-		},
-	isItem:
-		function(/* anything */ something) {
-		/* summary:
-		 *   Returns true if *something* is an item.  Returns false if *something*
-		 *   is a literal or is any object other than an item.
-		 */
-		 
-		/* examples:
-		 *   var yes = store.isItem(store.newItem());
-		 *   var no  = store.isItem("green");
-		 */
-			dojo.unimplemented('dojo.data.Read.isItem');
-			return false; // boolean
-		},
-	find:
-		function(/* implementation-dependent */ query, /* object */ optionalKeywordArgs ) {
-		/* summary:
-		 *   Given a query, this method returns a Result object containing
-		 *   all the items in the query result set.
-		 * description:
-		 *   A Result object will always be returned, even if the result set
-		 *   is empty.  A Result object will always be returned immediately.
-		 *   By default the Result object will be fully populated with result
-		 *   items as soon as it is created (synchronously).  The caller may request
-		 *   an asynchronous Result, meaning a Result that will be populated
-		 *   with result items at some point in the future.  If the caller requests
-		 *   an asynchronous Result, the data store may return either a synchronous
-		 *   or asynchronous Result, whichever it prefers.  Simple data store
-		 *   implementations may always return synchronous Results.
-		 *   For more info about the Result API, see dojo.data.Result
-		 * query:
-		 *   The query may be optional in some data store implementations.
-		 *   The dojo.data.Read API does not specify the syntax or semantics
-		 *   of the query itself -- each different data store implementation
-		 *   may have its own notion of what a query should look like.
-		 *   In most implementations the query will probably be a string, but
-		 *   in some implementations the query might be a Date, or a number,
-		 *   or some complex keyword parameter object.  The dojo.data.Read
-		 *   API is completely agnostic about what the query actually is.
-		 * optionalKeywordArgs:
-		 *   The optionalKeywordArgs argument is a object like {async: true}.
-		 *   All implementations should accept {async: true} and {async: false}
-		 *   as valid parameters, although the API does not require that the
-		 *   the implementation actually perform asynchronously when
-		 *   {async: true} is set.  Some implementations may take additional
-		 *   keyword options, such as {async: true, maxResults:100}.
-		 */
-		
-		/* exceptions:
-		 *   Throws an exception if the query is not valid, or if the query
-		 *   is required but was not supplied.
-		 * examples:
-		 *   var results = store.find("all books");
-		 *   var results = store.find();
-		 *   var results = store.find("foo/bar", {async: true});
-		 *   var results = store.find("foo/bar", {async: false});
-		 *   var results = store.find({author:"King", {async: true, maxResults:100});
-		 */
-			dojo.unimplemented('dojo.data.Read.find');
-			var result = null; // new dojo.data.Result().
-			return result; // an object that implements dojo.data.Result
-		},
-	getIdentity:
-		function(/* item */ item) {
-		/* summary:
-		 *   Returns a unique identifer for an item.  The return value will be
-		 *   either a string or something that has a toString() method (such as,
-		 *   for example, a dojo.uuid.Uuid object).
-		 * description:
-		 * ISSUE - 
-		 *   Should we move this method out of dojo.data.Read, and put it somewhere
-		 *   else, like maybe dojo.data.Identity?
-		 */
-		 
-		/* exceptions:
-		 *   Conforming implementations may throw an exception or return null if
-		 *   item is not an item.
-		 * examples:
-		 *   var itemId = store.getIdentity(kermit);
-		 *   assert(kermit === store.getByIdentity(store.getIdentity(kermit)));
-		 */
-			dojo.unimplemented('dojo.data.Read.getIdentity');
-			var itemIdentifyString = null;
-			return itemIdentifyString; // string
-		},
-	getByIdentity:
-		function(/* string */ id) {
-		/* summary:
-		 *   Given the id of an item, this method returns the item that has that id.
-		 *   Conforming implementations should return null if there is no item with
-		 *   the given id.
-		 * description:
-		 * ISSUE - 
-		 *   We may want to change the name from getByIdentity() to findByIdentity(),
-		 *   to reflect the fact that an implementation may not be able to get the
-		 *   item from a local cache, and may need to send a request to the server.
-		 * ISSUE - 
-		 *   Can this method run asynchronously?  Should the return value be a Deferred?
-		 * ISSUE - 
-		 *   Should we move this method out of dojo.data.Read, and put it somewhere
-		 *   else, like maybe dojo.data.Identity?
-		 */
-		 
-		/* examples:
-		 *   var alaska = store.getByIdentity("AK");
-		 *   assert("AK" == store.getIdentity(store.getByIdentity("AK")));
-		 */
-			dojo.unimplemented('dojo.data.Read.getByIdentity');
-			var item = null;
-			return item; // item
-		}
-});

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/Result.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/Result.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/Result.js
deleted file mode 100644
index e9a5983..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/Result.js
+++ /dev/null
@@ -1,158 +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.data.Result");
-dojo.require("dojo.lang.declare");
-dojo.require("dojo.experimental");
-
-/* summary:
- *   This is an abstract API used by data provider implementations.  
- *   This file defines methods signatures and intentionally leaves all the
- *   methods unimplemented.
- */
-dojo.experimental("dojo.data.Result");
-
-dojo.declare("dojo.data.Result", null, {
-	forEach:
-		function(/* function */ callbackFunction, /* object? */ callbackObject, /* object? */ optionalKeywordArgs) {
-		/* summary:
-		 *   Loops through the result list, calling a callback function
-		 *   for each item in the result list.
-		 * description:
-		 *   The forEach() method will call the callback function once for 
-		 *   each item in the result list.  The forEach() method will pass 
-		 *   3 arguments to the callbackFunction: an item, the index of 
-		 *   item in the context of this forEach() loop, and the result object
-		 *   itself.  The signature of this forEach() method was modeled on
-		 *   the forEach() method of Mozilla's Array object in JavaScript 1.6:
-		 *   http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Objects:Array:forEach
-		 *   The forEach() method will returns true if the entire result list 
-		 *   has been looped through, or false if the result list has not yet
-		 *   been looped through.
-		 *   The forEach() method will ignore any return value returned by
-		 *   the callbackFunction.
-		 *   After the forEach() operation has finished (or been cancelled)
-		 *   result.forEach() can be called again on the same result object.
-		 * ISSUES -
-		 *   We haven't yet decided what other parameters we might allow to
-		 *   support fancy features.  Here are some ideas:
-		 *     results.forEach({callback:callbackFunction, onCompletion: finishedFunction});
-		 *     results.forEach({callback:callbackFunction, first: 201, last: 300}); // partial loop
-		 *     results.forEach({callback:callbackFunction, first: 200, numItems: 50}); // partial loop from 200 to 250
-		 *   CCM - How to specify datastore-specific options to allow caching n
-		 *   items before/after current window of items being viewed?
-		 * callbackObject:
-		 *   If a callbackObject is provided the callbackFunction will be called
-		 *   in the context of the callbackObject (the callbackObject will be 
-		 *   used as the 'this' for each invocation of the callbackFunction).
-		 *   If callbackObject is not provided, or is null, the global object
-		 *   associated with callback is used instead.
-		 * optionalKeywordArgs:
-		 *   The forEach() method may accept a third parameter, which should be
-		 *   an object with keyword parameters.  Different implementations may
-		 *   make use of different keyword paramters.  Conforming 
-		 *   implementations ignore keyword parameters that they don't 
-		 *   recognize.
-		 */
-		 
-		/* examples:
-		 *   var results = store.find("recent books");            // synchronous
-		 *   var results = store.find("all books", {sync: false}); // asynchronous
-		 *   someCallbackFunction = function(item, resultObject) {};
-		 *   results.forEach(someCallbackFunction);
-		 *   results.forEach({object:someHandlerObject, callback:"someCallbackMethod"});
-		 */
-			dojo.unimplemented('dojo.data.Result.forEach');
-			return false; // boolean
-		},
-	getLength:
-		function() {
-		/* summary:
-		 *   Returns an integer -- the number of items in the result list.
-		 *   Returns -1 if the length is not known when the method is called.
-		 */
-			dojo.unimplemented('dojo.data.Result.getLength');
-			return -1; // integer
-		},
-	inProgress:
-		function() {
-		/* summary:
-		 *   Returns true if a forEach() loop is in progress.
-		 */
-			dojo.unimplemented('dojo.data.Result.inProgress');
-			return false; // boolean
-		},
-	cancel:
-		function() {
-		/* summary:
-		 *   Calling cancel() stops any and all processing associated with this
-		 *   result object.  
-		 * description: 
-		 *   If a forEach() loop is in progress, calling cancel() will stop 
-		 *   the loop.  If a store.find() is in progress, and that find() 
-		 *   involves an XMLHttpRequest, calling cancel() will abort the 
-		 *   XMLHttpRequest.  If callbacks have been set using setOnFindCompleted() 
-		 *   or setOnError(), calling cancel() will cause those callbacks to 
-		 *   not be called under any circumstances.
-		 */
-			dojo.unimplemented('dojo.data.Result.cancel');
-		},
-	setOnFindCompleted:
-		function(/* function */ callbackFunction, /* object? */ callbackObject) {
-		/* summary:
-		 *   Allows you to register a callbackFunction that will
-		 *   be called when all the results are available.
-		 * description:
-		 *   If a callbackObject is provided the callbackFunction will be 
-		 *   called in the context of the callbackObject (the callbackObject
-		 *   will be used as the 'this' for each invocation of the
-		 *   callbackFunction).  If callbackObject is not provided, or is 
-		 *   null, the global object associated with callback is used instead.
-		 *   The setOnFindCompleted() method will ignore any return value 
-		 *   returned by the callbackFunction.
-		 * ISSUES -
-		 *   We have not yet decided what parameters the setOnFindCompleted() 
-		 *   will pass to the callbackFunction...
-		 *   (A) The setOnFindCompleted() method will pass one parameter to the 
-		 *   callbackFunction: the result object itself.
-		 *   (B) The setOnFindCompleted() method will pass two parameters to the 
-		 *   callbackFunction: an iterator object, and the result object itself.
-		 */
-			dojo.unimplemented('dojo.data.Result.setOnFindCompleted');
-		},
-	setOnError:
-		function(/* function */ errorCallbackFunction, /* object? */ callbackObject) {
-		/* summary:
-		 *   Allows you to register a errorCallbackFunction that
-		 *   will be called if there is any sort of error.
-		 * description:
-		 *   If a callbackObject is provided the errorCallbackFunction will
-		 *   be called in the context of the callbackObject (the callbackObject
-		 *   will be used as the 'this' for each invocation of the
-		 *   errorCallbackFunction).  If callbackObject is not provided, or is 
-		 *   null, the global object associated with callback is used instead.
-		 *   The setOnError() method will pass two parameters to the 
-		 *   errorCallbackFunction: an Error object, and the result object 
-		 *   itself:
-		 *     errorCallbackFunction(errorObject, resultObject); 
-		 *   The setOnError() method will ignore any return value returned 
-		 *   by the errorCallbackFunction.
-		 */
-			dojo.unimplemented('dojo.data.Result.setOnError');
-		},
-	getStore:
-		function() {
-		/* summary:
-		 *   Returns the datastore object that created this result list
-		 */
-			dojo.unimplemented('dojo.data.Result.getStore');
-			return null; // an object that implements dojo.data.Read
-		}
-});

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/Write.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/Write.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/Write.js
deleted file mode 100644
index e305bb7..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/Write.js
+++ /dev/null
@@ -1,169 +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.data.Write");
-dojo.require("dojo.lang.declare");
-dojo.require("dojo.data.Read");
-dojo.require("dojo.experimental");
-
-/* summary:
- *   This is an abstract API that data provider implementations conform to.  
- *   This file defines methods signatures and intentionally leaves all the
- *   methods unimplemented.
- */
-dojo.experimental("dojo.data.Write");
- 
-dojo.declare("dojo.data.Write", dojo.data.Read, {
-	newItem:
-		function(/* object? */ keywordArgs) {
-		/* summary:
-		 *   Returns a newly created item.  Sets the attributes of the new
-		 *   item based on the keywordArgs provided.
-		 */
-		 
-		/* exceptions:
-		 *   Throws an exception if *keywordArgs* is a string or a number or
-		 *   anything other than a simple anonymous object.
-		 * examples:
-		 *   var kermit = store.newItem({name: "Kermit"});
-		 */
-			var newItem;
-			dojo.unimplemented('dojo.data.Write.newItem');
-			return newItem; // item
-		},
-	deleteItem:
-		function(/* item */ item) {
-		/* summary:
-		 *   Deletes an item from the store.
-		 */
-		 
-		/* exceptions:
-		 *   Throws an exception if *item* is not an item (if store.isItem(item)
-		 *   returns false).
-		 * examples:
-		 *   var success = store.deleteItem(kermit);
-		 */
-			dojo.unimplemented('dojo.data.Write.deleteItem');
-			return false; // boolean
-		},
-	set:
-		function(/* item */ item, /* attribute || string */ attribute, /* almost anything */ value) {
-		/* summary:
-		 *   Sets the value of an attribute on an item.
-		 *   Replaces any previous value or values.
-		 */
-		 
-		/* exceptions:
-		 *   Throws an exception if *item* is not an item, or if *attribute*
-		 *   is neither an attribute object or a string.
-		 *   Throws an exception if *value* is undefined.
-		 * examples:
-		 *   var success = store.set(kermit, "color", "green");
-		 */
-			dojo.unimplemented('dojo.data.Write.set');
-			return false; // boolean
-		},
-	setValues:
-		function(/* item */ item, /* attribute || string */ attribute, /* array */ values) {
-		/* summary:
-		 *   Adds each value in the *values* array as a value of the given
-		 *   attribute on the given item.
-		 *   Replaces any previous value or values.
-		 *   Calling store.setValues(x, y, []) (with *values* as an empty array) has
-		 *   the same effect as calling store.clear(x, y).
-		 */
-		 
-		/* exceptions:
-		 *   Throws an exception if *values* is not an array, if *item* is not an
-		 *   item, or if *attribute* is neither an attribute object or a string.
-		 * examples:
-		 *   var success = store.setValues(kermit, "color", ["green", "aqua"]);
-		 *   success = store.setValues(kermit, "color", []);
-		 *   if (success) {assert(!store.hasAttribute(kermit, "color"));}
-		 */
-			dojo.unimplemented('dojo.data.Write.setValues');
-			return false; // boolean
-		},
-	clear:
-		function(/* item */ item, /* attribute || string */ attribute) {
-		/* summary:
-		 *   Deletes all the values of an attribute on an item.
-		 */
-		 
-		/* exceptions:
-		 *   Throws an exception if *item* is not an item, or if *attribute*
-		 *   is neither an attribute object or a string.
-		 * examples:
-		 *   var success = store.clear(kermit, "color");
-		 *   if (success) {assert(!store.hasAttribute(kermit, "color"));}
-		 */
-			dojo.unimplemented('dojo.data.Write.clear');
-			return false; // boolean
-		},
-	save:
-		function() {
-		/* summary:
-		 *   Saves to the server all the changes that have been made locally.
-		 *   The save operation may take some time.  By default the save will
-		 *   be done synchronously, before the call returns.  The caller may
-		 *   be request an asynchronous save by passing {async: true}.
-		 *   If the caller requests an asynchronous save, the data store may do
-		 *   either a synchronous or asynchronous save, whichever it prefers.
-		 *   Different data store implementations may take additional optional
-		 *   parameters.
-		 * description:
-		 * ISSUE - 
-		 *   Should the async save take a callback, like this:
-		 *     store.save({async: true, onComplete: callback});
-		 *   Or should the async save return a Deferred, like this:
-		 *     var deferred = store.save({async: true});
-		 *     deferred.addCallbacks(successCallback, errorCallback);
-		 *   Or should save() return boolean, like this:
-		 *     var success = store.save();
-		 */
-		 
-		/* examples:
-		 *   var success = store.save();
-		 *   var success = store.save({async: true});
-		 */
-			dojo.unimplemented('dojo.data.Write.save');
-			return false; // boolean
-		},
-	revert:
-		function() {
-		/* summary:
-		 *   Discards any unsaved changes.
-		 */
-		 
-		/* examples:
-		 *   var success = store.revert();
-		 */
-			dojo.unimplemented('dojo.data.Write.revert');
-			return false; // boolean
-		},
-	isDirty:
-		function(/* item (or store) */ item) {
-		/* summary:
-		 *   Returns true if the given item has been modified since the last save().
-		 *   If the datastore object itself is given as a parameter instead of an
-		 *   item, then this method returns true if any item has been modified since
-		 *   the last save().
-		 */
-		 
-		/* exceptions:
-		 *   Throws an exception if *item* is neither an item nor the datastore itself.
-		 * examples:
-		 *   var trueOrFalse = store.isDirty(kermit); // true if kermit is dirty
-		 *   var trueOrFalse = store.isDirty(store);  // true if any item is dirty
-		 */
-			dojo.unimplemented('dojo.data.Write.isDirty');
-			return false; // boolean
-		}
-});

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/YahooStore.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/YahooStore.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/YahooStore.js
deleted file mode 100644
index cdf13f6..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/YahooStore.js
+++ /dev/null
@@ -1,44 +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.data.YahooStore");
-dojo.require("dojo.data.core.RemoteStore");
-dojo.require("dojo.lang.declare");
-dojo.require("dojo.io.ScriptSrcIO");
-dojo.declare("dojo.data.YahooStore", dojo.data.core.RemoteStore, {_setupQueryRequest:function (result, requestKw) {
-	var start = 1;
-	var count = 1;
-	if (result) {
-		start = result.start || start;
-		count = result.count || count;
-	}
-	var sourceUrl = "http://api.search.yahoo.com/WebSearchService/V1/webSearch?appid=dojo&language=en&query=" + result.query + "&start=" + start + "&results=" + count + "&output=json";
-	requestKw.url = sourceUrl;
-	requestKw.transport = "ScriptSrcTransport";
-	requestKw.mimetype = "text/json";
-	requestKw.jsonParamName = "callback";
-}, _resultToQueryMetadata:function (json) {
-	return json.ResultSet;
-}, _resultToQueryData:function (json) {
-	var data = {};
-	for (var i = 0; i < json.ResultSet.totalResultsReturned; ++i) {
-		var record = json.ResultSet.Result[i];
-		var item = {};
-		item["Url"] = [record.Url];
-		item["Title"] = [record.Title];
-		item["Summary"] = [record.Summary];
-		var arrayIndex = (json.ResultSet.firstResultPosition - 1) + i;
-		data[arrayIndex.toString()] = item;
-	}
-	return data;
-}});
-

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/__package__.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/__package__.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/__package__.js
deleted file mode 100644
index 7836ad1..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/__package__.js
+++ /dev/null
@@ -1,14 +0,0 @@
-/*
-	Copyright (c) 2004-2005, 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.hostenv.conditionalLoadModule({
-	common: ["dojo.data"]
-});
-dojo.hostenv.moduleLoaded("dojo.data.*");

http://git-wip-us.apache.org/repos/asf/struts/blob/17d73d21/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/core/Read.js
----------------------------------------------------------------------
diff --git a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/core/Read.js b/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/core/Read.js
deleted file mode 100644
index 26cef9e..0000000
--- a/plugins/dojo/src/main/resources/org/apache/struts2/static/dojo/src/data/core/Read.js
+++ /dev/null
@@ -1,55 +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.data.core.Read");
-dojo.require("dojo.data.core.Result");
-dojo.require("dojo.lang.declare");
-dojo.require("dojo.experimental");
-dojo.experimental("dojo.data.core.Read");
-dojo.declare("dojo.data.core.Read", null, {get:function (item, attribute, defaultValue) {
-	dojo.unimplemented("dojo.data.core.Read.get");
-	var attributeValue = null;
-	return attributeValue;
-}, getValues:function (item, attribute) {
-	dojo.unimplemented("dojo.data.core.Read.getValues");
-	var array = null;
-	return array;
-}, getAttributes:function (item) {
-	dojo.unimplemented("dojo.data.core.Read.getAttributes");
-	var array = null;
-	return array;
-}, hasAttribute:function (item, attribute) {
-	dojo.unimplemented("dojo.data.core.Read.hasAttribute");
-	return false;
-}, containsValue:function (item, attribute, value) {
-	dojo.unimplemented("dojo.data.core.Read.containsValue");
-	return false;
-}, isItem:function (something) {
-	dojo.unimplemented("dojo.data.core.Read.isItem");
-	return false;
-}, isItemAvailable:function (something) {
-	dojo.unimplemented("dojo.data.core.Read.isItemAvailable");
-	return false;
-}, find:function (keywordArgs) {
-	dojo.unimplemented("dojo.data.core.Read.find");
-	var result = null;
-	return result;
-}, getIdentity:function (item) {
-	dojo.unimplemented("dojo.data.core.Read.getIdentity");
-	var itemIdentifyString = null;
-	return itemIdentifyString;
-}, findByIdentity:function (identity) {
-	dojo.unimplemented("dojo.data.core.Read.getByIdentity");
-	var item = null;
-	return item;
-}});
-