[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 <[email protected]></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<Void>()=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--