[picocontainer-scm] [scm-git][4/9] Fix caching problem in struts 2 app.

Michael Rimov <git-yCVjj/[email protected]> Fri, 19 Jul 2013 00:01:39 -0500 (CDT)
Newsgroups gmane.comp.java.picocontainer.cvs
Message-ID <[email protected]>
--9a5298c4bffcbb23bd112209059e9de7f795d160
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

commit c45d73a4ee9e3245570cb61bb003f7d83ee0a774=0AAuthor:     Michael Rimov=
 <[email protected]>=0AAuthorDate: Thu, 18 Jul 2013 14:55:17 -0700=
=0ACommit:     Michael Rimov <[email protected]>=0ACommitDate: Thu,=
 18 Jul 2013 14:55:17 -0700=0A=0A    Fix caching problem in struts 2 app.=
=0A    Tweaking with security manager.=0A=0Adiff --git a/web/web-struts2/sr=
c/java/com/picocontainer/web/struts2/PicoObjectFactory.java b/web/web-strut=
s2/src/java/com/picocontainer/web/struts2/PicoObjectFactory.java=0Aindex b5=
e2ff5..793609a 100644=0A--- a/web/web-struts2/src/java/com/picocontainer/we=
b/struts2/PicoObjectFactory.java=0A+++ b/web/web-struts2/src/java/com/picoc=
ontainer/web/struts2/PicoObjectFactory.java=0A@@ -44,6 +44,10 @@ public cla=
ss PicoObjectFactory extends ObjectFactory {=0A 	=0A 	=0A     private  clas=
s PicoHook extends PicoServletFilter {=0A+    	/**=0A+    	 * Returns the r=
aw picocontainer.=0A+    	 * @return=0A+    	 */=0A 		public PicoContainer =
getCurrentRequestPico() {=0A 			return super.getRequestContainerWithoutExce=
ption();=0A 		}=0A@@ -58,6 +62,8 @@ public class PicoObjectFactory extends =
ObjectFactory {=0A     public Class getClassInstance(String name) throws Cl=
assNotFoundException {=0A         final Class clazz =3D super.getClassInsta=
nce(name);=0A         synchronized (this) {=0A+        	//We run this in a =
privileged block to minimize the duplication=0A+        	//of struts permis=
sions that we're being bombarded with. :)=0A         	=0A         	AccessCo=
ntroller.doPrivileged(new PrivilegedAction<Void>() {=0A 				public Void run=
() {=0Adiff --git a/web/web-struts2/src/java/com/picocontainer/web/struts2/=
Struts2MonitorProvider.java b/web/web-struts2/src/java/com/picocontainer/we=
b/struts2/Struts2MonitorProvider.java=0Aindex c38fba5..aebfed8 100644=0A---=
 a/web/web-struts2/src/java/com/picocontainer/web/struts2/Struts2MonitorPro=
vider.java=0A+++ b/web/web-struts2/src/java/com/picocontainer/web/struts2/S=
truts2MonitorProvider.java=0A@@ -3,12 +3,21 @@=0A  */=0A package com.picoco=
ntainer.web.struts2;=0A =0A+import ognl.OgnlRuntime;=0A+=0A import com.pico=
container.ComponentMonitor;=0A import com.picocontainer.web.providers.Deleg=
atingAwareMonitorProvider;=0A =0A =0A public class Struts2MonitorProvider i=
mplements DelegatingAwareMonitorProvider {=0A 	=0A+	public Struts2MonitorPr=
ovider() {=0A+		//Clear ognl security manager.=0A+		if (System.getSecurityM=
anager() =3D=3D null) {=0A+			OgnlRuntime.setSecurityManager(null);		=0A+		=
}=0A+	}=0A+=0A 	public ComponentMonitor get() {=0A 		return new StrutsActio=
nInstantiatingComponentMonitor();=0A 	}=0Adiff --git a/web/web-struts2/src/=
java/com/picocontainer/web/struts2/Struts2PicoServletContainerListener.java=
 b/web/web-struts2/src/java/com/picocontainer/web/struts2/Struts2PicoServle=
tContainerListener.java=0Aindex 497c8c2..63bb86e 100644=0A--- a/web/web-str=
uts2/src/java/com/picocontainer/web/struts2/Struts2PicoServletContainerList=
ener.java=0A+++ b/web/web-struts2/src/java/com/picocontainer/web/struts2/St=
ruts2PicoServletContainerListener.java=0A@@ -62,13 +62,4 @@ public class St=
ruts2PicoServletContainerListener extends PicoServletContainerLis=0A =0A 		=
return containers;=0A     }=0A-=0A-    /**=0A-     * Struts2 handles whole =
value objects in some configurations.=0A-     * This enables lazy instantia=
tion of them    =0A-     */=0A-    @Override=0A-    protected ComponentMoni=
tor makeRequestComponentMonitor() {=0A-        return new StrutsActionInsta=
ntiatingComponentMonitor();=0A-    }=0A }=0Adiff --git a/web/web-struts2/sr=
c/java/com/picocontainer/web/struts2/StrutsActionInstantiatingComponentMoni=
tor.java b/web/web-struts2/src/java/com/picocontainer/web/struts2/StrutsAct=
ionInstantiatingComponentMonitor.java=0Aindex ad0e981..f713276 100644=0A---=
 a/web/web-struts2/src/java/com/picocontainer/web/struts2/StrutsActionInsta=
ntiatingComponentMonitor.java=0A+++ b/web/web-struts2/src/java/com/picocont=
ainer/web/struts2/StrutsActionInstantiatingComponentMonitor.java=0A@@ -1,5 =
+1,7 @@=0A package com.picocontainer.web.struts2;=0A =0A+import static com.=
picocontainer.Characteristics.NO_CACHE;=0A+=0A import java.lang.reflect.Mod=
ifier;=0A =0A import com.opensymphony.xwork2.Action;=0A@@ -7,7 +9,6 @@ impo=
rt com.opensymphony.xwork2.Result;=0A import com.picocontainer.ComponentMon=
itor;=0A import com.picocontainer.MutablePicoContainer;=0A import com.picoc=
ontainer.PicoCompositionException;=0A-import com.picocontainer.containers.T=
ransientPicoContainer;=0A import com.picocontainer.monitors.NullComponentMo=
nitor;=0A =0A @SuppressWarnings("serial")=0A@@ -44,7 +45,7 @@ public class =
StrutsActionInstantiatingComponentMonitor extends NullComponentMoni=0A 	   =
         //and return that.=0A 	            if (Action.class.isAssignableFr=
om(clazz) || Result.class.isAssignableFrom(clazz)) {=0A 	                tr=
y {=0A-	                	mutablePicoContainer.addComponent(clazz);=0A+	    =
            	mutablePicoContainer.as(NO_CACHE).addComponent(clazz);=0A 	   =
             } catch (NoClassDefFoundError e) {=0A 	                    if =
(e.getMessage().equals("org/apache/velocity/context/Context")) {=0A 	      =
                  // half expected. XWork seems to setup stuff that cannot=
=0A=0A=0A=0A=

--9a5298c4bffcbb23bd112209059e9de7f795d160
Content-Type: text/html; charset=utf-8
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" "http://www.w=
3.org/TR/REC-html40/loose.dtd">=0A<html style=3D"font-size: 12px;">=0A<head=
><meta http-equiv=3D"Content-type" content=3D"text/html; charset=3Dutf-8"><=
/head>=0A<body style=3D"font-size: 12px;">=0A<style type=3D"text/css">=0Adt=
:after { content: ':' !important; }=0A></style>=0A<dl class=3D"title" style=
=3D"font-size: 12px; font-family: Verdana; background-color: #ddd; padding:=
 10px;">=0A<dt style=3D"font-size: 12px; float: left; font-weight: bold; mi=
n-width: 6em;">Commit</dt>=0A<dd style=3D"font-size: 12px;">c45d73a4ee9e324=
5570cb61bb003f7d83ee0a774</dd>=0A<dt style=3D"font-size: 12px; float: left;=
 font-weight: bold; min-width: 6em;">Branch</dt>=0A<dd style=3D"font-size: =
12px;">master</dd>=0A<dt style=3D"font-size: 12px; float: left; font-weight=
: bold; min-width: 6em;">Author</dt>=0A<dd style=3D"font-size: 12px;">Micha=
el Rimov &lt;[email protected]&gt;</dd>=0A<dt style=3D"font-size: 1=
2px; float: left; font-weight: bold; min-width: 6em;">Date</dt>=0A<dd style=
=3D"font-size: 12px;">Thu, 18 Jul 2013 14:55:17 -0700</dd>=0A<dt style=3D"f=
ont-size: 12px; float: left; font-weight: bold; min-width: 6em;">Message</d=
t>=0A<dd class=3D"multi-line" style=3D"font-size: 12px; clear: both; margin=
-left: 0; padding-top: 1em;">Fix caching problem in struts 2 app.<br style=
=3D"font-size: 12px;">Tweaking with security manager.</dd>=0A</dl>=0A<h2 id=
=3D"web/web-struts2/src/java/com/picocontainer/web/struts2/PicoObjectFactor=
y.java" style=3D"font-size: 12px; font-family: Verdana; font-weight: bold; =
line-height: 25px; margin-bottom: 2px; padding-left: 5px; background-color:=
 #bbb;">Changed file web/web-struts2/src/java/com/picocontainer/web/struts2=
/PicoObjectFactory.java</h2>=0A=0A<table style=3D"font-size: 12px; width: 1=
00%; border-collapse: collapse;">=0A<tr style=3D"font-size: 12px;">=0A<td c=
lass=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream =
Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: righ=
t; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">44</td>=0A<td =
class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream=
 Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: rig=
ht; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">44</td>=0A<td=
 style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans M=
ono','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0</td>=0A</tr>=
=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"font-size: 1=
2px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier=
',monospace; width: 23px; text-align: right; background-color: #ccc;" align=
=3D"right" bgcolor=3D"#ccc">45</td>=0A<td class=3D"ln" style=3D"font-size: =
12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courie=
r',monospace; width: 23px; text-align: right; background-color: #ccc;" alig=
n=3D"right" bgcolor=3D"#ccc">45</td>=0A<td style=3D"font-size: 12px; color:=
 #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace=
;">=C2=A0=C2=A0=C2=A0=C2=A0</td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=
=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bi=
tstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-ali=
gn: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">46</td=
>=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'B=
itstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-al=
ign: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">46</t=
d>=0A<td style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Ver=
a Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0p=
rivate=C2=A0=C2=A0class=C2=A0PicoHook=C2=A0extends=C2=A0PicoServletFilter=
=C2=A0{</td>=0A</tr>=0A<tr class=3D"a" style=3D"font-size: 12px; background=
-color: #dfd;" bgcolor=3D"#dfd">=0A<td class=3D"ln" style=3D"font-size: 12p=
x; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',=
monospace; width: 23px; text-align: right; background-color: #ccc;" align=
=3D"right" bgcolor=3D"#ccc"></td>=0A<td class=3D"ln" style=3D"font-size: 12=
px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier'=
,monospace; width: 23px; text-align: right; background-color: #ccc;" align=
=3D"right" bgcolor=3D"#ccc">47</td>=0A<td style=3D"font-size: 12px; color: =
#000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;=
">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0/**</td>=0A</tr>=0A=
<tr class=3D"a" style=3D"font-size: 12px; background-color: #dfd;" bgcolor=
=3D"#dfd">=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-f=
amily: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px=
; text-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#c=
cc"></td>=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-fa=
mily: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px;=
 text-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#cc=
c">48</td>=0A<td style=3D"font-size: 12px; color: #000; font-family: 'Bitst=
ream Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0*=C2=A0Returns=C2=A0the=C2=A0raw=C2=
=A0picocontainer.</td>=0A</tr>=0A<tr class=3D"a" style=3D"font-size: 12px; =
background-color: #dfd;" bgcolor=3D"#dfd">=0A<td class=3D"ln" style=3D"font=
-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco',=
'Courier',monospace; width: 23px; text-align: right; background-color: #ccc=
;" align=3D"right" bgcolor=3D"#ccc"></td>=0A<td class=3D"ln" style=3D"font-=
size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','=
Courier',monospace; width: 23px; text-align: right; background-color: #ccc;=
" align=3D"right" bgcolor=3D"#ccc">49</td>=0A<td style=3D"font-size: 12px; =
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',mon=
ospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0*=C2=
=A0@return</td>=0A</tr>=0A<tr class=3D"a" style=3D"font-size: 12px; backgro=
und-color: #dfd;" bgcolor=3D"#dfd">=0A<td class=3D"ln" style=3D"font-size: =
12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courie=
r',monospace; width: 23px; text-align: right; background-color: #ccc;" alig=
n=3D"right" bgcolor=3D"#ccc"></td>=0A<td class=3D"ln" style=3D"font-size: 1=
2px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier=
',monospace; width: 23px; text-align: right; background-color: #ccc;" align=
=3D"right" bgcolor=3D"#ccc">50</td>=0A<td style=3D"font-size: 12px; color: =
#000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;=
">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0*/</td>=0A</t=
r>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"font-size:=
 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Couri=
er',monospace; width: 23px; text-align: right; background-color: #ccc;" ali=
gn=3D"right" bgcolor=3D"#ccc">47</td>=0A<td class=3D"ln" style=3D"font-size=
: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Cour=
ier',monospace; width: 23px; text-align: right; background-color: #ccc;" al=
ign=3D"right" bgcolor=3D"#ccc">51</td>=0A<td style=3D"font-size: 12px; colo=
r: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospa=
ce;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0public=C2=A0PicoContai=
ner=C2=A0getCurrentRequestPico()=C2=A0{</td>=0A</tr>=0A<tr style=3D"font-si=
ze: 12px;">=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-=
family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23p=
x; text-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#=
ccc">48</td>=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font=
-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23=
px; text-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"=
#ccc">52</td>=0A<td style=3D"font-size: 12px; color: #000; font-family: 'Bi=
tstream Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0return=C2=A0super.get=
RequestContainerWithoutException();</td>=0A</tr>=0A<tr style=3D"font-size: =
12px;">=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-fami=
ly: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; t=
ext-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc"=
>49</td>=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-fam=
ily: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; =
text-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc=
">53</td>=0A<td style=3D"font-size: 12px; color: #000; font-family: 'Bitstr=
eam Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0}</td>=0A</tr>=0A<tr class=3D"sep" style=3D"font-si=
ze: 12px;"><td class=3D"sep" colspan=3D"3" title=3D"Unchanged content skipp=
ed between diff. blocks" style=3D"font-size: 12px; color: #000; font-family=
: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; text-align: cent=
er; border-top-width: 1px; border-top-color: Gray; border-top-style: solid;=
 border-bottom-width: 1px; border-bottom-color: Gray; border-bottom-style: =
solid;" align=3D"center">=E2=80=A6</td></tr>=0A<tr style=3D"font-size: 12px=
;">=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: =
'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-=
align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">58<=
/td>=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family:=
 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text=
-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">62=
</td>=0A<td style=3D"font-size: 12px; color: #000; font-family: 'Bitstream =
Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0public=C2=A0Class=C2=A0getClassInstance(String=C2=A0name)=C2=A0throws=C2=
=A0ClassNotFoundException=C2=A0{</td>=0A</tr>=0A<tr style=3D"font-size: 12p=
x;">=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family:=
 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text=
-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">59=
</td>=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family=
: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; tex=
t-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">6=
3</td>=0A<td style=3D"font-size: 12px; color: #000; font-family: 'Bitstream=
 Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0final=C2=A0Class=C2=A0clazz=C2=A0=3D=C2=A0super.=
getClassInstance(name);</td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<t=
d class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstre=
am Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: r=
ight; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">60</td>=0A<=
td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstr=
eam Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: =
right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">64</td>=0A=
<td style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera San=
s Mono','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0synchronized=C2=A0(this)=C2=A0{</td>=0A</tr>=0A<tr class=
=3D"a" style=3D"font-size: 12px; background-color: #dfd;" bgcolor=3D"#dfd">=
=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bi=
tstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-ali=
gn: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc"></td>=
=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bi=
tstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-ali=
gn: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">65</td=
>=0A<td style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera=
 Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0//We=C2=A0run=C2=A0this=C2=
=A0in=C2=A0a=C2=A0privileged=C2=A0block=C2=A0to=C2=A0minimize=C2=A0the=C2=
=A0duplication</td>=0A</tr>=0A<tr class=3D"a" style=3D"font-size: 12px; bac=
kground-color: #dfd;" bgcolor=3D"#dfd">=0A<td class=3D"ln" style=3D"font-si=
ze: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Co=
urier',monospace; width: 23px; text-align: right; background-color: #ccc;" =
align=3D"right" bgcolor=3D"#ccc"></td>=0A<td class=3D"ln" style=3D"font-siz=
e: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Cou=
rier',monospace; width: 23px; text-align: right; background-color: #ccc;" a=
lign=3D"right" bgcolor=3D"#ccc">66</td>=0A<td style=3D"font-size: 12px; col=
or: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monosp=
ace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0//of=C2=A0struts=C2=A0permissions=C2=A0that=C2=A0we're=C2=A0being=
=C2=A0bombarded=C2=A0with.=C2=A0:)</td>=0A</tr>=0A<tr style=3D"font-size: 1=
2px;">=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-famil=
y: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; te=
xt-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">=
61</td>=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-fami=
ly: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; t=
ext-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc"=
>67</td>=0A<td style=3D"font-size: 12px; color: #000; font-family: 'Bitstre=
am Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0</td>=0A</tr>=0A<tr style=
=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"font-size: 12px; color: =
#000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;=
 width: 23px; text-align: right; background-color: #ccc;" align=3D"right" b=
gcolor=3D"#ccc">62</td>=0A<td class=3D"ln" style=3D"font-size: 12px; color:=
 #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace=
; width: 23px; text-align: right; background-color: #ccc;" align=3D"right" =
bgcolor=3D"#ccc">68</td>=0A<td style=3D"font-size: 12px; color: #000; font-=
family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0AccessContro=
ller.doPrivileged(new=C2=A0PrivilegedAction&lt;Void&gt;()=C2=A0{</td>=0A</t=
r>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"font-size:=
 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Couri=
er',monospace; width: 23px; text-align: right; background-color: #ccc;" ali=
gn=3D"right" bgcolor=3D"#ccc">63</td>=0A<td class=3D"ln" style=3D"font-size=
: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Cour=
ier',monospace; width: 23px; text-align: right; background-color: #ccc;" al=
ign=3D"right" bgcolor=3D"#ccc">69</td>=0A<td style=3D"font-size: 12px; colo=
r: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospa=
ce;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0public=C2=A0Void=C2=A0run()=C2=A0{</td>=0A</tr>=
=0A</table>=0A<h2 id=3D"web/web-struts2/src/java/com/picocontainer/web/stru=
ts2/Struts2MonitorProvider.java" style=3D"font-size: 12px; font-family: Ver=
dana; font-weight: bold; line-height: 25px; margin-bottom: 2px; padding-lef=
t: 5px; background-color: #bbb;">Changed file web/web-struts2/src/java/com/=
picocontainer/web/struts2/Struts2MonitorProvider.java</h2>=0A=0A<table styl=
e=3D"font-size: 12px; width: 100%; border-collapse: collapse;">=0A<tr style=
=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"font-size: 12px; color: =
#000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;=
 width: 23px; text-align: right; background-color: #ccc;" align=3D"right" b=
gcolor=3D"#ccc">3</td>=0A<td class=3D"ln" style=3D"font-size: 12px; color: =
#000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;=
 width: 23px; text-align: right; background-color: #ccc;" align=3D"right" b=
gcolor=3D"#ccc">3</td>=0A<td style=3D"font-size: 12px; color: #000; font-fa=
mily: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=
=A0*/</td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" sty=
le=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono'=
,'Monaco','Courier',monospace; width: 23px; text-align: right; background-c=
olor: #ccc;" align=3D"right" bgcolor=3D"#ccc">4</td>=0A<td class=3D"ln" sty=
le=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono'=
,'Monaco','Courier',monospace; width: 23px; text-align: right; background-c=
olor: #ccc;" align=3D"right" bgcolor=3D"#ccc">4</td>=0A<td style=3D"font-si=
ze: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Co=
urier',monospace;">=C2=A0package=C2=A0com.picocontainer.web.struts2;</td>=
=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"font=
-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco',=
'Courier',monospace; width: 23px; text-align: right; background-color: #ccc=
;" align=3D"right" bgcolor=3D"#ccc">5</td>=0A<td class=3D"ln" style=3D"font=
-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco',=
'Courier',monospace; width: 23px; text-align: right; background-color: #ccc=
;" align=3D"right" bgcolor=3D"#ccc">5</td>=0A<td style=3D"font-size: 12px; =
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',mon=
ospace;">=C2=A0</td>=0A</tr>=0A<tr class=3D"a" style=3D"font-size: 12px; ba=
ckground-color: #dfd;" bgcolor=3D"#dfd">=0A<td class=3D"ln" style=3D"font-s=
ize: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','C=
ourier',monospace; width: 23px; text-align: right; background-color: #ccc;"=
 align=3D"right" bgcolor=3D"#ccc"></td>=0A<td class=3D"ln" style=3D"font-si=
ze: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Co=
urier',monospace; width: 23px; text-align: right; background-color: #ccc;" =
align=3D"right" bgcolor=3D"#ccc">6</td>=0A<td style=3D"font-size: 12px; col=
or: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monosp=
ace;">=C2=A0import=C2=A0ognl.OgnlRuntime;</td>=0A</tr>=0A<tr class=3D"a" st=
yle=3D"font-size: 12px; background-color: #dfd;" bgcolor=3D"#dfd">=0A<td cl=
ass=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream V=
era Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: right=
; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc"></td>=0A<td cla=
ss=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Ve=
ra Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: right;=
 background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">7</td>=0A<td sty=
le=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono'=
,'Monaco','Courier',monospace;">=C2=A0</td>=0A</tr>=0A<tr style=3D"font-siz=
e: 12px;">=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-f=
amily: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px=
; text-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#c=
cc">6</td>=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-f=
amily: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px=
; text-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#c=
cc">8</td>=0A<td style=3D"font-size: 12px; color: #000; font-family: 'Bitst=
ream Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0import=C2=A0com.p=
icocontainer.ComponentMonitor;</td>=0A</tr>=0A<tr style=3D"font-size: 12px;=
">=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: '=
Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-a=
lign: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">7</t=
d>=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: '=
Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-a=
lign: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">9</t=
d>=0A<td style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Ver=
a Sans Mono','Monaco','Courier',monospace;">=C2=A0import=C2=A0com.picoconta=
iner.web.providers.DelegatingAwareMonitorProvider;</td>=0A</tr>=0A<tr style=
=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"font-size: 12px; color: =
#000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;=
 width: 23px; text-align: right; background-color: #ccc;" align=3D"right" b=
gcolor=3D"#ccc">8</td>=0A<td class=3D"ln" style=3D"font-size: 12px; color: =
#000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;=
 width: 23px; text-align: right; background-color: #ccc;" align=3D"right" b=
gcolor=3D"#ccc">10</td>=0A<td style=3D"font-size: 12px; color: #000; font-f=
amily: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0</td=
>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"fon=
t-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco'=
,'Courier',monospace; width: 23px; text-align: right; background-color: #cc=
c;" align=3D"right" bgcolor=3D"#ccc">9</td>=0A<td class=3D"ln" style=3D"fon=
t-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco'=
,'Courier',monospace; width: 23px; text-align: right; background-color: #cc=
c;" align=3D"right" bgcolor=3D"#ccc">11</td>=0A<td style=3D"font-size: 12px=
; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',m=
onospace;">=C2=A0</td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td clas=
s=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Ver=
a Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: right; =
background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">10</td>=0A<td cla=
ss=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Ve=
ra Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: right;=
 background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">12</td>=0A<td st=
yle=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono=
','Monaco','Courier',monospace;">=C2=A0public=C2=A0class=C2=A0Struts2Monito=
rProvider=C2=A0implements=C2=A0DelegatingAwareMonitorProvider=C2=A0{</td>=
=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"font=
-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco',=
'Courier',monospace; width: 23px; text-align: right; background-color: #ccc=
;" align=3D"right" bgcolor=3D"#ccc">11</td>=0A<td class=3D"ln" style=3D"fon=
t-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco'=
,'Courier',monospace; width: 23px; text-align: right; background-color: #cc=
c;" align=3D"right" bgcolor=3D"#ccc">13</td>=0A<td style=3D"font-size: 12px=
; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',m=
onospace;">=C2=A0=C2=A0=C2=A0=C2=A0</td>=0A</tr>=0A<tr class=3D"a" style=3D=
"font-size: 12px; background-color: #dfd;" bgcolor=3D"#dfd">=0A<td class=3D=
"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sa=
ns Mono','Monaco','Courier',monospace; width: 23px; text-align: right; back=
ground-color: #ccc;" align=3D"right" bgcolor=3D"#ccc"></td>=0A<td class=3D"=
ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera San=
s Mono','Monaco','Courier',monospace; width: 23px; text-align: right; backg=
round-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">14</td>=0A<td style=3D=
"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Mon=
aco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0public=C2=A0Struts=
2MonitorProvider()=C2=A0{</td>=0A</tr>=0A<tr class=3D"a" style=3D"font-size=
: 12px; background-color: #dfd;" bgcolor=3D"#dfd">=0A<td class=3D"ln" style=
=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','=
Monaco','Courier',monospace; width: 23px; text-align: right; background-col=
or: #ccc;" align=3D"right" bgcolor=3D"#ccc"></td>=0A<td class=3D"ln" style=
=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','=
Monaco','Courier',monospace; width: 23px; text-align: right; background-col=
or: #ccc;" align=3D"right" bgcolor=3D"#ccc">15</td>=0A<td style=3D"font-siz=
e: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Cou=
rier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0//C=
lear=C2=A0ognl=C2=A0security=C2=A0manager.</td>=0A</tr>=0A<tr class=3D"a" s=
tyle=3D"font-size: 12px; background-color: #dfd;" bgcolor=3D"#dfd">=0A<td c=
lass=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream =
Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: righ=
t; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc"></td>=0A<td cl=
ass=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream V=
era Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: right=
; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">16</td>=0A<td s=
tyle=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mon=
o','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0if=C2=A0(System.getSecurityManager()=C2=A0=3D=3D=C2=A0null)=
=C2=A0{</td>=0A</tr>=0A<tr class=3D"a" style=3D"font-size: 12px; background=
-color: #dfd;" bgcolor=3D"#dfd">=0A<td class=3D"ln" style=3D"font-size: 12p=
x; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',=
monospace; width: 23px; text-align: right; background-color: #ccc;" align=
=3D"right" bgcolor=3D"#ccc"></td>=0A<td class=3D"ln" style=3D"font-size: 12=
px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier'=
,monospace; width: 23px; text-align: right; background-color: #ccc;" align=
=3D"right" bgcolor=3D"#ccc">17</td>=0A<td style=3D"font-size: 12px; color: =
#000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;=
">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0OgnlRuntime.setSecurityManager(null);=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0</td>=0A</tr>=0A<tr class=3D"a" style=3D"font-size: 12px; backg=
round-color: #dfd;" bgcolor=3D"#dfd">=0A<td class=3D"ln" style=3D"font-size=
: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Cour=
ier',monospace; width: 23px; text-align: right; background-color: #ccc;" al=
ign=3D"right" bgcolor=3D"#ccc"></td>=0A<td class=3D"ln" style=3D"font-size:=
 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Couri=
er',monospace; width: 23px; text-align: right; background-color: #ccc;" ali=
gn=3D"right" bgcolor=3D"#ccc">18</td>=0A<td style=3D"font-size: 12px; color=
: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospac=
e;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0}</td>=0A</tr>=0A=
<tr class=3D"a" style=3D"font-size: 12px; background-color: #dfd;" bgcolor=
=3D"#dfd">=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-f=
amily: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px=
; text-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#c=
cc"></td>=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-fa=
mily: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px;=
 text-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#cc=
c">19</td>=0A<td style=3D"font-size: 12px; color: #000; font-family: 'Bitst=
ream Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0}</td>=0A</tr>=0A<tr class=3D"a" style=3D"font-size: 12px; backgro=
und-color: #dfd;" bgcolor=3D"#dfd">=0A<td class=3D"ln" style=3D"font-size: =
12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courie=
r',monospace; width: 23px; text-align: right; background-color: #ccc;" alig=
n=3D"right" bgcolor=3D"#ccc"></td>=0A<td class=3D"ln" style=3D"font-size: 1=
2px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier=
',monospace; width: 23px; text-align: right; background-color: #ccc;" align=
=3D"right" bgcolor=3D"#ccc">20</td>=0A<td style=3D"font-size: 12px; color: =
#000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;=
">=C2=A0</td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" =
style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mo=
no','Monaco','Courier',monospace; width: 23px; text-align: right; backgroun=
d-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">12</td>=0A<td class=3D"ln"=
 style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans M=
ono','Monaco','Courier',monospace; width: 23px; text-align: right; backgrou=
nd-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">21</td>=0A<td style=3D"fo=
nt-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco=
','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0public=C2=A0ComponentMonito=
r=C2=A0get()=C2=A0{</td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td cl=
ass=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream V=
era Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: right=
; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">13</td>=0A<td c=
lass=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream =
Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: righ=
t; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">22</td>=0A<td =
style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mo=
no','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0return=C2=A0new=C2=A0StrutsActionInstantiatingComponentMonitor();<=
/td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"=
font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Mona=
co','Courier',monospace; width: 23px; text-align: right; background-color: =
#ccc;" align=3D"right" bgcolor=3D"#ccc">14</td>=0A<td class=3D"ln" style=3D=
"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Mon=
aco','Courier',monospace; width: 23px; text-align: right; background-color:=
 #ccc;" align=3D"right" bgcolor=3D"#ccc">23</td>=0A<td style=3D"font-size: =
12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courie=
r',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0}</td>=0A</tr>=0A</table>=0A<h2 id=
=3D"web/web-struts2/src/java/com/picocontainer/web/struts2/Struts2PicoServl=
etContainerListener.java" style=3D"font-size: 12px; font-family: Verdana; f=
ont-weight: bold; line-height: 25px; margin-bottom: 2px; padding-left: 5px;=
 background-color: #bbb;">Changed file web/web-struts2/src/java/com/picocon=
tainer/web/struts2/Struts2PicoServletContainerListener.java</h2>=0A=0A<tabl=
e style=3D"font-size: 12px; width: 100%; border-collapse: collapse;">=0A<tr=
 style=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"font-size: 12px; c=
olor: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',mono=
space; width: 23px; text-align: right; background-color: #ccc;" align=3D"ri=
ght" bgcolor=3D"#ccc">62</td>=0A<td class=3D"ln" style=3D"font-size: 12px; =
color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',mon=
ospace; width: 23px; text-align: right; background-color: #ccc;" align=3D"r=
ight" bgcolor=3D"#ccc">62</td>=0A<td style=3D"font-size: 12px; color: #000;=
 font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">=C2=
=A0</td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" style=
=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','=
Monaco','Courier',monospace; width: 23px; text-align: right; background-col=
or: #ccc;" align=3D"right" bgcolor=3D"#ccc">63</td>=0A<td class=3D"ln" styl=
e=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono',=
'Monaco','Courier',monospace; width: 23px; text-align: right; background-co=
lor: #ccc;" align=3D"right" bgcolor=3D"#ccc">63</td>=0A<td style=3D"font-si=
ze: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Co=
urier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0return=
=C2=A0containers;</td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td clas=
s=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Ver=
a Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: right; =
background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">64</td>=0A<td cla=
ss=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Ve=
ra Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: right;=
 background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">64</td>=0A<td st=
yle=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono=
','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0}</td>=0A</t=
r>=0A<tr class=3D"r" style=3D"font-size: 12px; background-color: #fdd;" bgc=
olor=3D"#fdd">=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; fo=
nt-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: =
23px; text-align: right; background-color: #ccc;" align=3D"right" bgcolor=
=3D"#ccc">65</td>=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000;=
 font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; widt=
h: 23px; text-align: right; background-color: #ccc;" align=3D"right" bgcolo=
r=3D"#ccc"></td>=0A<td style=3D"font-size: 12px; color: #000; font-family: =
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0</td>=0A</t=
r>=0A<tr class=3D"r" style=3D"font-size: 12px; background-color: #fdd;" bgc=
olor=3D"#fdd">=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; fo=
nt-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: =
23px; text-align: right; background-color: #ccc;" align=3D"right" bgcolor=
=3D"#ccc">66</td>=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000;=
 font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; widt=
h: 23px; text-align: right; background-color: #ccc;" align=3D"right" bgcolo=
r=3D"#ccc"></td>=0A<td style=3D"font-size: 12px; color: #000; font-family: =
'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0/**</td>=0A</tr>=0A<tr class=3D"r" style=3D"font-size: 12px;=
 background-color: #fdd;" bgcolor=3D"#fdd">=0A<td class=3D"ln" style=3D"fon=
t-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco'=
,'Courier',monospace; width: 23px; text-align: right; background-color: #cc=
c;" align=3D"right" bgcolor=3D"#ccc">67</td>=0A<td class=3D"ln" style=3D"fo=
nt-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco=
','Courier',monospace; width: 23px; text-align: right; background-color: #c=
cc;" align=3D"right" bgcolor=3D"#ccc"></td>=0A<td style=3D"font-size: 12px;=
 color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',mo=
nospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0*=C2=A0Struts2=C2=A0handles=
=C2=A0whole=C2=A0value=C2=A0objects=C2=A0in=C2=A0some=C2=A0configurations.<=
/td>=0A</tr>=0A<tr class=3D"r" style=3D"font-size: 12px; background-color: =
#fdd;" bgcolor=3D"#fdd">=0A<td class=3D"ln" style=3D"font-size: 12px; color=
: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospac=
e; width: 23px; text-align: right; background-color: #ccc;" align=3D"right"=
 bgcolor=3D"#ccc">68</td>=0A<td class=3D"ln" style=3D"font-size: 12px; colo=
r: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospa=
ce; width: 23px; text-align: right; background-color: #ccc;" align=3D"right=
" bgcolor=3D"#ccc"></td>=0A<td style=3D"font-size: 12px; color: #000; font-=
family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0*=C2=A0This=C2=A0enables=C2=A0lazy=C2=A0instanti=
ation=C2=A0of=C2=A0them=C2=A0=C2=A0=C2=A0=C2=A0</td>=0A</tr>=0A<tr class=3D=
"r" style=3D"font-size: 12px; background-color: #fdd;" bgcolor=3D"#fdd">=0A=
<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitst=
ream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-align:=
 right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">69</td>=
=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bi=
tstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-ali=
gn: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc"></td>=
=0A<td style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera =
Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0*/</td>=0A</tr>=0A<tr class=3D"r" style=3D"font-size: 12px; background-c=
olor: #fdd;" bgcolor=3D"#fdd">=0A<td class=3D"ln" style=3D"font-size: 12px;=
 color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',mo=
nospace; width: 23px; text-align: right; background-color: #ccc;" align=3D"=
right" bgcolor=3D"#ccc">70</td>=0A<td class=3D"ln" style=3D"font-size: 12px=
; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',m=
onospace; width: 23px; text-align: right; background-color: #ccc;" align=3D=
"right" bgcolor=3D"#ccc"></td>=0A<td style=3D"font-size: 12px; color: #000;=
 font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0@Override</td>=0A</tr>=0A<tr class=3D"r" style=
=3D"font-size: 12px; background-color: #fdd;" bgcolor=3D"#fdd">=0A<td class=
=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera=
 Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: right; b=
ackground-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">71</td>=0A<td clas=
s=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Ver=
a Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: right; =
background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc"></td>=0A<td style=
=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','=
Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0protected=C2=A0=
ComponentMonitor=C2=A0makeRequestComponentMonitor()=C2=A0{</td>=0A</tr>=0A<=
tr class=3D"r" style=3D"font-size: 12px; background-color: #fdd;" bgcolor=
=3D"#fdd">=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-f=
amily: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px=
; text-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#c=
cc">72</td>=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-=
family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23p=
x; text-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#=
ccc"></td>=0A<td style=3D"font-size: 12px; color: #000; font-family: 'Bitst=
ream Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0return=C2=A0new=C2=A0StrutsActionInstantia=
tingComponentMonitor();</td>=0A</tr>=0A<tr class=3D"r" style=3D"font-size: =
12px; background-color: #fdd;" bgcolor=3D"#fdd">=0A<td class=3D"ln" style=
=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','=
Monaco','Courier',monospace; width: 23px; text-align: right; background-col=
or: #ccc;" align=3D"right" bgcolor=3D"#ccc">73</td>=0A<td class=3D"ln" styl=
e=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono',=
'Monaco','Courier',monospace; width: 23px; text-align: right; background-co=
lor: #ccc;" align=3D"right" bgcolor=3D"#ccc"></td>=0A<td style=3D"font-size=
: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Cour=
ier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0}</td>=0A</tr>=0A<tr style=
=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"font-size: 12px; color: =
#000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;=
 width: 23px; text-align: right; background-color: #ccc;" align=3D"right" b=
gcolor=3D"#ccc">74</td>=0A<td class=3D"ln" style=3D"font-size: 12px; color:=
 #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace=
; width: 23px; text-align: right; background-color: #ccc;" align=3D"right" =
bgcolor=3D"#ccc">65</td>=0A<td style=3D"font-size: 12px; color: #000; font-=
family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0}</=
td>=0A</tr>=0A</table>=0A<h2 id=3D"web/web-struts2/src/java/com/picocontain=
er/web/struts2/StrutsActionInstantiatingComponentMonitor.java" style=3D"fon=
t-size: 12px; font-family: Verdana; font-weight: bold; line-height: 25px; m=
argin-bottom: 2px; padding-left: 5px; background-color: #bbb;">Changed file=
 web/web-struts2/src/java/com/picocontainer/web/struts2/StrutsActionInstant=
iatingComponentMonitor.java</h2>=0A=0A<table style=3D"font-size: 12px; widt=
h: 100%; border-collapse: collapse;">=0A<tr style=3D"font-size: 12px;">=0A<=
td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstr=
eam Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: =
right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">1</td>=0A<=
td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstr=
eam Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: =
right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">1</td>=0A<=
td style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans=
 Mono','Monaco','Courier',monospace;">=C2=A0package=C2=A0com.picocontainer.=
web.struts2;</td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"=
ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera San=
s Mono','Monaco','Courier',monospace; width: 23px; text-align: right; backg=
round-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">2</td>=0A<td class=3D"=
ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera San=
s Mono','Monaco','Courier',monospace; width: 23px; text-align: right; backg=
round-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">2</td>=0A<td style=3D"=
font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Mona=
co','Courier',monospace;">=C2=A0</td>=0A</tr>=0A<tr class=3D"a" style=3D"fo=
nt-size: 12px; background-color: #dfd;" bgcolor=3D"#dfd">=0A<td class=3D"ln=
" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans =
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; backgro=
und-color: #ccc;" align=3D"right" bgcolor=3D"#ccc"></td>=0A<td class=3D"ln"=
 style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans M=
ono','Monaco','Courier',monospace; width: 23px; text-align: right; backgrou=
nd-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">3</td>=0A<td style=3D"fon=
t-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco'=
,'Courier',monospace;">=C2=A0import=C2=A0static=C2=A0com.picocontainer.Char=
acteristics.NO_CACHE;</td>=0A</tr>=0A<tr class=3D"a" style=3D"font-size: 12=
px; background-color: #dfd;" bgcolor=3D"#dfd">=0A<td class=3D"ln" style=3D"=
font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Mona=
co','Courier',monospace; width: 23px; text-align: right; background-color: =
#ccc;" align=3D"right" bgcolor=3D"#ccc"></td>=0A<td class=3D"ln" style=3D"f=
ont-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monac=
o','Courier',monospace; width: 23px; text-align: right; background-color: #=
ccc;" align=3D"right" bgcolor=3D"#ccc">4</td>=0A<td style=3D"font-size: 12p=
x; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',=
monospace;">=C2=A0</td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td cla=
ss=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Ve=
ra Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: right;=
 background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">3</td>=0A<td cla=
ss=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Ve=
ra Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: right;=
 background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">5</td>=0A<td sty=
le=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono'=
,'Monaco','Courier',monospace;">=C2=A0import=C2=A0java.lang.reflect.Modifie=
r;</td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" style=
=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','=
Monaco','Courier',monospace; width: 23px; text-align: right; background-col=
or: #ccc;" align=3D"right" bgcolor=3D"#ccc">4</td>=0A<td class=3D"ln" style=
=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','=
Monaco','Courier',monospace; width: 23px; text-align: right; background-col=
or: #ccc;" align=3D"right" bgcolor=3D"#ccc">6</td>=0A<td style=3D"font-size=
: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Cour=
ier',monospace;">=C2=A0</td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<t=
d class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstre=
am Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: r=
ight; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">5</td>=0A<t=
d class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstre=
am Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: r=
ight; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">7</td>=0A<t=
d style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans =
Mono','Monaco','Courier',monospace;">=C2=A0import=C2=A0com.opensymphony.xwo=
rk2.Action;</td>=0A</tr>=0A<tr class=3D"sep" style=3D"font-size: 12px;"><td=
 class=3D"sep" colspan=3D"3" title=3D"Unchanged content skipped between dif=
f. blocks" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream V=
era Sans Mono','Monaco','Courier',monospace; text-align: center; border-top=
-width: 1px; border-top-color: Gray; border-top-style: solid; border-bottom=
-width: 1px; border-bottom-color: Gray; border-bottom-style: solid;" align=
=3D"center">=E2=80=A6</td></tr>=0A<tr style=3D"font-size: 12px;">=0A<td cla=
ss=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Ve=
ra Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: right;=
 background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">7</td>=0A<td cla=
ss=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Ve=
ra Sans Mono','Monaco','Courier',monospace; width: 23px; text-align: right;=
 background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">9</td>=0A<td sty=
le=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono'=
,'Monaco','Courier',monospace;">=C2=A0import=C2=A0com.picocontainer.Compone=
ntMonitor;</td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln=
" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans =
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; backgro=
und-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">8</td>=0A<td class=3D"ln=
" style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans =
Mono','Monaco','Courier',monospace; width: 23px; text-align: right; backgro=
und-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">10</td>=0A<td style=3D"f=
ont-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monac=
o','Courier',monospace;">=C2=A0import=C2=A0com.picocontainer.MutablePicoCon=
tainer;</td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" s=
tyle=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mon=
o','Monaco','Courier',monospace; width: 23px; text-align: right; background=
-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">9</td>=0A<td class=3D"ln" s=
tyle=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mon=
o','Monaco','Courier',monospace; width: 23px; text-align: right; background=
-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">11</td>=0A<td style=3D"font=
-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco',=
'Courier',monospace;">=C2=A0import=C2=A0com.picocontainer.PicoCompositionEx=
ception;</td>=0A</tr>=0A<tr class=3D"r" style=3D"font-size: 12px; backgroun=
d-color: #fdd;" bgcolor=3D"#fdd">=0A<td class=3D"ln" style=3D"font-size: 12=
px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier'=
,monospace; width: 23px; text-align: right; background-color: #ccc;" align=
=3D"right" bgcolor=3D"#ccc">10</td>=0A<td class=3D"ln" style=3D"font-size: =
12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courie=
r',monospace; width: 23px; text-align: right; background-color: #ccc;" alig=
n=3D"right" bgcolor=3D"#ccc"></td>=0A<td style=3D"font-size: 12px; color: #=
000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;"=
>=C2=A0import=C2=A0com.picocontainer.containers.TransientPicoContainer;</td=
>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"fon=
t-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco'=
,'Courier',monospace; width: 23px; text-align: right; background-color: #cc=
c;" align=3D"right" bgcolor=3D"#ccc">11</td>=0A<td class=3D"ln" style=3D"fo=
nt-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco=
','Courier',monospace; width: 23px; text-align: right; background-color: #c=
cc;" align=3D"right" bgcolor=3D"#ccc">12</td>=0A<td style=3D"font-size: 12p=
x; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',=
monospace;">=C2=A0import=C2=A0com.picocontainer.monitors.NullComponentMonit=
or;</td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" style=
=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','=
Monaco','Courier',monospace; width: 23px; text-align: right; background-col=
or: #ccc;" align=3D"right" bgcolor=3D"#ccc">12</td>=0A<td class=3D"ln" styl=
e=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono',=
'Monaco','Courier',monospace; width: 23px; text-align: right; background-co=
lor: #ccc;" align=3D"right" bgcolor=3D"#ccc">13</td>=0A<td style=3D"font-si=
ze: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Co=
urier',monospace;">=C2=A0</td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A=
<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bitst=
ream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-align:=
 right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">13</td>=
=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-family: 'Bi=
tstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; text-ali=
gn: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">14</td=
>=0A<td style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera=
 Sans Mono','Monaco','Courier',monospace;">=C2=A0@SuppressWarnings("serial"=
)</td>=0A</tr>=0A<tr class=3D"sep" style=3D"font-size: 12px;"><td class=3D"=
sep" colspan=3D"3" title=3D"Unchanged content skipped between diff. blocks"=
 style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans M=
ono','Monaco','Courier',monospace; text-align: center; border-top-width: 1p=
x; border-top-color: Gray; border-top-style: solid; border-bottom-width: 1p=
x; border-bottom-color: Gray; border-bottom-style: solid;" align=3D"center"=
>=E2=80=A6</td></tr>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" s=
tyle=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mon=
o','Monaco','Courier',monospace; width: 23px; text-align: right; background=
-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">44</td>=0A<td class=3D"ln" =
style=3D"font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mo=
no','Monaco','Courier',monospace; width: 23px; text-align: right; backgroun=
d-color: #ccc;" align=3D"right" bgcolor=3D"#ccc">45</td>=0A<td style=3D"fon=
t-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco'=
,'Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0//and=C2=A0return=C2=A0that.</=
td>=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"f=
ont-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monac=
o','Courier',monospace; width: 23px; text-align: right; background-color: #=
ccc;" align=3D"right" bgcolor=3D"#ccc">45</td>=0A<td class=3D"ln" style=3D"=
font-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Mona=
co','Courier',monospace; width: 23px; text-align: right; background-color: =
#ccc;" align=3D"right" bgcolor=3D"#ccc">46</td>=0A<td style=3D"font-size: 1=
2px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier=
',monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0if=C2=A0(Action.class.isAssignableFrom(=
clazz)=C2=A0||=C2=A0Result.class.isAssignableFrom(clazz))=C2=A0{</td>=0A</t=
r>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"font-size:=
 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Couri=
er',monospace; width: 23px; text-align: right; background-color: #ccc;" ali=
gn=3D"right" bgcolor=3D"#ccc">46</td>=0A<td class=3D"ln" style=3D"font-size=
: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Cour=
ier',monospace; width: 23px; text-align: right; background-color: #ccc;" al=
ign=3D"right" bgcolor=3D"#ccc">47</td>=0A<td style=3D"font-size: 12px; colo=
r: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospa=
ce;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0try=C2=A0{</td>=0A</tr>=
=0A<tr class=3D"r" style=3D"font-size: 12px; background-color: #fdd;" bgcol=
or=3D"#fdd">=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font=
-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23=
px; text-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"=
#ccc">47</td>=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; fon=
t-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 2=
3px; text-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D=
"#ccc"></td>=0A<td style=3D"font-size: 12px; color: #000; font-family: 'Bit=
stream Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0mutablePicoContainer.=
addComponent(clazz);</td>=0A</tr>=0A<tr class=3D"a" style=3D"font-size: 12p=
x; background-color: #dfd;" bgcolor=3D"#dfd">=0A<td class=3D"ln" style=3D"f=
ont-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monac=
o','Courier',monospace; width: 23px; text-align: right; background-color: #=
ccc;" align=3D"right" bgcolor=3D"#ccc"></td>=0A<td class=3D"ln" style=3D"fo=
nt-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco=
','Courier',monospace; width: 23px; text-align: right; background-color: #c=
cc;" align=3D"right" bgcolor=3D"#ccc">48</td>=0A<td style=3D"font-size: 12p=
x; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',=
monospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0mutablePicoContainer.<span class=3D"aa" style=3D"font-size: 12p=
x; background-color: #afa;">as(NO_CACHE).</span>addComponent(clazz);</td>=
=0A</tr>=0A<tr style=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"font=
-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco',=
'Courier',monospace; width: 23px; text-align: right; background-color: #ccc=
;" align=3D"right" bgcolor=3D"#ccc">48</td>=0A<td class=3D"ln" style=3D"fon=
t-size: 12px; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco'=
,'Courier',monospace; width: 23px; text-align: right; background-color: #cc=
c;" align=3D"right" bgcolor=3D"#ccc">49</td>=0A<td style=3D"font-size: 12px=
; color: #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',m=
onospace;">=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0}=C2=A0catch=C2=A0=
(NoClassDefFoundError=C2=A0e)=C2=A0{</td>=0A</tr>=0A<tr style=3D"font-size:=
 12px;">=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-fam=
ily: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px; =
text-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#ccc=
">49</td>=0A<td class=3D"ln" style=3D"font-size: 12px; color: #000; font-fa=
mily: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace; width: 23px;=
 text-align: right; background-color: #ccc;" align=3D"right" bgcolor=3D"#cc=
c">50</td>=0A<td style=3D"font-size: 12px; color: #000; font-family: 'Bitst=
ream Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0if=C2=A0(e.getMessage().equ=
als("org/apache/velocity/context/Context"))=C2=A0{</td>=0A</tr>=0A<tr style=
=3D"font-size: 12px;">=0A<td class=3D"ln" style=3D"font-size: 12px; color: =
#000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;=
 width: 23px; text-align: right; background-color: #ccc;" align=3D"right" b=
gcolor=3D"#ccc">50</td>=0A<td class=3D"ln" style=3D"font-size: 12px; color:=
 #000; font-family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace=
; width: 23px; text-align: right; background-color: #ccc;" align=3D"right" =
bgcolor=3D"#ccc">51</td>=0A<td style=3D"font-size: 12px; color: #000; font-=
family: 'Bitstream Vera Sans Mono','Monaco','Courier',monospace;">=C2=A0=C2=
=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=
=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=A0=C2=
=A0=C2=A0//=C2=A0half=C2=A0expected.=C2=A0XWork=C2=A0seems=C2=A0to=C2=A0set=
up=C2=A0stuff=C2=A0that=C2=A0cannot</td>=0A</tr>=0A</table>=0A<br style=3D"=
font-size: 12px;"><br style=3D"font-size: 12px;">=0A</body>=0A</html>=0A=

--9a5298c4bffcbb23bd112209059e9de7f795d160--