you would be surprised :)

On Tue, Nov 10, 2009 at 1:54 PM, Obinna <obi...@gmail.com> wrote:
> Yep. Works great on my cases now. Thanks!
> I suppose this is general fix that should prevent any more unforseen
> conflicts..
>
> -eric
>
>
> On Tue, Nov 10, 2009 at 10:52 PM, Musachy Barroso <musa...@gmail.com> wrote:
>
>> I commited a fix (aka hack), and it seems to work in both tomcat and
>> jetty. basically, in JspFactory if the servlet passed as a param is
>> not one that the embedded jsp plugin created, then I delegate the call
>> to jasper's JspFactory. Let me know if it works.
>>
>> musachy
>>
>> On Tue, Nov 10, 2009 at 8:24 AM, Musachy Barroso <musa...@gmail.com>
>> wrote:
>> > thanks Eric, I will take a look tonight.
>> >
>> > musachy
>> >
>> > On Tue, Nov 10, 2009 at 7:13 AM, Obinna <obi...@gmail.com> wrote:
>> >> Hi Musachy,
>> >>
>> >> There's another classloading conflict issue with the embedded jsp
>> plugin.
>> >> This one has to do with the ELContextImpl.
>> >>
>> >> Loading an embedded jsp page that uses EL and then trying to load a
>> normal
>> >> page that uses EL throws:
>> >>
>> >>     java.lang.ClassCastException:
>> >> org.apache.struts2.jasper.el.ELContextImpl cannot be cast to
>> >> org.apache.jasper.el.ELContextImpl
>> >>        at
>> >>
>> org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:920)
>> >>
>> >> Again, the embedded jsp page seems to cache it's version of the
>> >> ELContextImpl ( ion PageContextImpl.proprietaryEvaluate) which tomcat
>> then
>> >> tries to cast to it's own version.
>> >>
>> >> It looks like I could simply stop PageContextImpl from storing it's
>> >> generated EL context by modifying the getELContext() method, but I'm
>> >> guessing on a page/application with a lot of expressions that could hurt
>> >> quite a bit.
>> >>
>> >> - Eric
>> >>
>> >>
>> >>
>> >> On Tue, Oct 20, 2009 at 9:46 PM, Obinna <obi...@gmail.com> wrote:
>> >>
>> >>> Tested it and it works for me!
>> >>> Great! Thanks a million.
>> >>>
>> >>>  - Eric
>> >>>
>> >>> On Tue, Oct 20, 2009 at 9:13 PM, Musachy Barroso <musa...@gmail.com
>> >wrote:
>> >>>
>> >>>> small fix to JspApplicationContextImpl seems to make it work for
>> >>>> me(add the hash of the classloader to the key), give it a try and let
>> >>>> me know (update from trunk)
>> >>>>
>> >>>> musachy
>> >>>>
>> >>>> On Tue, Oct 20, 2009 at 11:00 AM, Musachy Barroso <musa...@gmail.com>
>> >>>> wrote:
>> >>>> > ok I was able to reproduce it, working on it (looks hairy)
>> >>>> >
>> >>>> > musachy
>> >>>> >
>> >>>> > On Tue, Oct 20, 2009 at 7:01 AM, Obinna <obi...@gmail.com> wrote:
>> >>>> >> Ok, So I've been able to inspect the classloaders and I think I see
>> >>>> what's
>> >>>> >> going wrong (though I'm not sure how best to fix it).
>> >>>> >>
>> >>>> >> Given my two webapps, AppA and AppB running simulatenously in
>> tomcat. I
>> >>>> do
>> >>>> >> the following:
>> >>>> >>
>> >>>> >>  1. Load AppA
>> >>>> >>     a. Load normal jsp page (breakpoint not caught -> still using
>> >>>> tomcat
>> >>>> >> default JspFactory)
>> >>>> >>     b. Load an embeddedJSP page
>> >>>> >>          i.  Breakpoint caught at static initializer in
>> >>>> JSPRuntimeContext
>> >>>> >> (line 96)   {calling JspFactory.setDefaultFactory(factory); to
>> >>>> initialize
>> >>>> >> JspFactory implementation}
>> >>>> >>               - JSPFactory classloader is StandardClassLoader
>> (good)
>> >>>> >>               - JspFactoryImpl classloader is AppA
>> WebAppClassloader
>> >>>> (good)
>> >>>> >>          ii. Breakpoint caught at JSPApplicationContextImpl (line
>> 79)
>> >>>> >> {calling impl = new JspApplicationContextImpl() to initialize new
>> >>>> servlet
>> >>>> >> context}
>> >>>> >>              - JspFactoryImpl classloader is AppA WebAppClassloader
>> >>>> (good)
>> >>>> >>              - JSPApplicationContextImpl classloader is AppA
>> >>>> >> WebAppClassloader (good)
>> >>>> >>
>> >>>> >> 2. Load AppB
>> >>>> >>     a. Load normal jsp page
>> >>>> >>             i. Breakpoint caught at JSPApplicationContextImpl (line
>> 79)
>> >>>> >> {calling impl = new JspApplicationContextImpl() to initialize new
>> >>>> servlet
>> >>>> >> context}. This means that is is still using the JspFactoryImpl set
>> in
>> >>>> step
>> >>>> >> 1.b.i above
>> >>>> >>              - JspFactoryImpl classloader is AppA WebAppClassloader
>> >>>> >> (bad!!!  using class loaded in AppA classloader)   !!!!!
>> >>>> >>              - JSPApplicationContextImpl classloader is AppA
>> >>>> >> WebAppClassloader (bad!!!  using class loaded in AppA classloader)
>> >>>> !!!!!
>> >>>> >>     b. Load embedded jsp page
>> >>>> >>             JSPApplicationContextImpl (line 76) tries to call {
>> >>>> >> JspApplicationContextImpl impl = (JspApplicationContextImpl)
>> >>>> >> context.getAttribute(KEY); }   and throws ClassCastException
>> because
>> >>>> impl
>> >>>> >> class returned by context.getAttribute(KEY) was loaded by
>> >>>> >> AppAWebAppClassLoader but current class (JspApplicationContextImpl)
>> >>>> class
>> >>>> >> loader is now AppB WebAppClassLoader.
>> >>>> >>
>> >>>> >> It is as I suspected in my last email. I don't think that the
>> >>>> JspFactoryImpl
>> >>>> >> class set by JspFactory.setDefaultFactory(factory) when AppA was
>> loaded
>> >>>> >> should be the one used by AppB. Somehow the JspFactoryImpl used
>> should
>> >>>> >> probably be isolated by web application and if possible should only
>> be
>> >>>> used
>> >>>> >> by the embeddedJSP compiler (not used globally for normal jsps as
>> well)
>> >>>> >>
>> >>>> >>  - Eric
>> >>>> >>
>> >>>> >>
>> >>>> >>
>> >>>> >> On Tue, Oct 20, 2009 at 2:41 PM, Martin Gainty <
>> mgai...@hotmail.com>
>> >>>> wrote:
>> >>>> >>
>> >>>> >>>
>> >>>> >>> Eric-
>> >>>> >>> are you able to determine which classloader JspApplicationContext
>> is
>> >>>> using
>> >>>> >>> to load JspApplicationContextImpl class?
>> >>>> >>>         System.out.println("The class of " +
>> JspApplicationContextImpl
>> >>>> +
>> >>>> >>>                            " is " +
>> >>>> >>> JspApplicationContextImpl.getClass().getName());
>> >>>> >>>         System.out.println("The classLoader of " +
>> >>>> >>> JspApplicationContextImpl +
>> >>>> >>>                            " is " +
>> >>>> >>> JspApplicationContextImpl.getClass().getClassloader());
>> >>>> >>>
>> >>>> >>> were you able to verify the Jsp configuration entries in
>> >>>> >>> $CATALINA_HOME/conf
>> >>>> >>>     <servlet>
>> >>>> >>>        <servlet-name>jsp</servlet-name>
>> >>>> >>>
>> >>>> <servlet-class>org.apache.jasper.servlet.JspServlet</servlet-class>
>> >>>> >>>        <load-on-startup>3</load-on-startup>
>> >>>> >>>    </servlet>
>> >>>> >>> what is meant by term 'embedded' ..can i assume you are
>> implementing
>> >>>> APR
>> >>>> >>> (apache portable runtime)?
>> >>>> >>>
>> >>>> >>> thanks for taking the time to look at this,
>> >>>> >>> Martin Gainty
>> >>>> >>> ______________________________________________
>> >>>> >>> Verzicht und Vertraulichkeitanmerkung/Note de déni et de
>> >>>> confidentialité
>> >>>> >>>
>> >>>> >>> Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene
>> >>>> >>> Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede
>> >>>> unbefugte
>> >>>> >>> Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese
>> >>>> Nachricht
>> >>>> >>> dient lediglich dem Austausch von Informationen und entfaltet
>> keine
>> >>>> >>> rechtliche Bindungswirkung. Aufgrund der leichten
>> Manipulierbarkeit
>> >>>> von
>> >>>> >>> E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen.
>> >>>> >>> Ce message est confidentiel et peut être privilégié. Si vous
>> n'êtes
>> >>>> pas le
>> >>>> >>> destinataire prévu, nous te demandons avec bonté que pour
>> satisfaire
>> >>>> >>> informez l'expéditeur. N'importe quelle diffusion non autorisée ou
>> la
>> >>>> copie
>> >>>> >>> de ceci est interdite. Ce message sert à l'information seulement
>> et
>> >>>> n'aura
>> >>>> >>> pas n'importe quel effet légalement obligatoire. Étant donné que
>> les
>> >>>> email
>> >>>> >>> peuvent facilement être sujets à la manipulation, nous ne pouvons
>> >>>> accepter
>> >>>> >>> aucune responsabilité pour le contenu fourni.
>> >>>> >>>
>> >>>> >>>
>> >>>> >>>
>> >>>> >>>
>> >>>> >>> > Date: Tue, 20 Oct 2009 14:14:55 +0300
>> >>>> >>> > Subject: Re: embeddedJsp plugin causing jsp compilation issues
>> >>>> >>> > From: obi...@gmail.com
>> >>>> >>> > To: dev@struts.apache.org
>> >>>> >>> >
>> >>>> >>> > An update...
>> >>>> >>> >
>> >>>> >>> > I've tried setting a breakpoint in the
>> >>>> >>> > JspApplicationContextImpl.getInstance() method and the
>> >>>> >>> > JspFactoryImpl().getJspApplicationContext() methods but for some
>> >>>> reason
>> >>>> >>> > cannot inspect the variable at that point to figure out which
>> >>>> classloader
>> >>>> >>> > are being called when.
>> >>>> >>> >
>> >>>> >>> > What is clear is that once an embeddedJsp is loaded, the default
>> >>>> >>> JspFactory
>> >>>> >>> > for ALL jsp pages (even non-embedded ones) becomes the
>> >>>> >>> > org.apache.struts2.jasper.runtime.JspFactoryImpl (even for a
>> >>>> separate
>> >>>> >>> > web-app!) because loading subsequent non-embedded pages for the
>> >>>> first
>> >>>> >>> time
>> >>>> >>> > (in either web-app) still hits and break in the
>> >>>> >>> > JspApplicationContextImpl.getInstance() method. It seems like
>> using
>> >>>> the
>> >>>> >>> > embeddedJsp calls JspFactory().setDefaultFactory() or something
>> and
>> >>>> that
>> >>>> >>> > this has a system-wide scope.
>> >>>> >>> >
>> >>>> >>> > I don't suppose that this would be a problem if it wasn't for
>> some
>> >>>> >>> > classloader mix-up which means that when I then try to access an
>> >>>> >>> embeddedJsp
>> >>>> >>> > page in the second web-app, in the
>> >>>> >>> JspApplicationContextImpl.getInstance()
>> >>>> >>> > method it finds the JspApplicationContextImpl instance that was
>> set
>> >>>> >>> during
>> >>>> >>> > the loading of some initial pages (such as login page) in this
>> >>>> second app
>> >>>> >>> > but it seems that that must have been set by a different
>> classloader
>> >>>> >>> because
>> >>>> >>> > the class cast fails when it tries to cast that instance (on the
>> >>>> line
>> >>>> >>> > JspApplicationContextImpl impl = (JspApplicationContextImpl)
>> >>>> >>> > context.getAttribute(KEY)).
>> >>>> >>> >
>> >>>> >>> > I will continue to try to figure out how to inspect the
>> variables
>> >>>> (and
>> >>>> >>> see
>> >>>> >>> > the classloaders) in my IDE...
>> >>>> >>> >
>> >>>> >>> > - Eric
>> >>>> >>> >
>> >>>> >>> >
>> >>>> >>> >
>> >>>> >>> > On Sat, Oct 17, 2009 at 9:12 PM, Musachy Barroso <
>> musa...@gmail.com
>> >>>> >
>> >>>> >>> wrote:
>> >>>> >>> >
>> >>>> >>> > > nothing so obvious, JspApplicationContextImpl is obviously
>> getting
>> >>>> >>> > > loaded by different classloaders, but I am out of ideas, I
>> think
>> >>>> you
>> >>>> >>> > > can set a break point for classloading right? Try to do that
>> and
>> >>>> see
>> >>>> >>> > > if you get any insight.
>> >>>> >>> > >
>> >>>> >>> > > musachy
>> >>>> >>> > >
>> >>>> >>> > > On Sat, Oct 17, 2009 at 2:57 AM, Obinna <obi...@gmail.com>
>> wrote:
>> >>>> >>> > > > I have a ton of jars in my lib (but no el-api). The lib for
>> that
>> >>>> >>> projects
>> >>>> >>> > > > looks as follows (both projects have similar libs):
>> >>>> >>> > > >
>> >>>> >>> > > > asterisk-java-1.0.jar
>> >>>> >>> > > > cglib-nodep-2.1_3.jar
>> >>>> >>> > > > chartengineapi.jar
>> >>>> >>> > > > com.ibm.icu_4.0.1.v20090415.jar
>> >>>> >>> > > > commons-beanutils-1.7.0.jar
>> >>>> >>> > > > commons-cli-1.0.jar
>> >>>> >>> > > > commons-codec-1.3.jar
>> >>>> >>> > > > commons-collections-3.2.1.jar
>> >>>> >>> > > > commons-dbcp.jar
>> >>>> >>> > > > commons-digester-1.8.jar
>> >>>> >>> > > > commons-fileupload-1.2.1.jar
>> >>>> >>> > > > commons-httpclient-3.1.jar
>> >>>> >>> > > > commons-io-1.1.jar
>> >>>> >>> > > > commons-lang-2.4.0.jar
>> >>>> >>> > > > commons-logging.jar
>> >>>> >>> > > > commons-pool.jar
>> >>>> >>> > > > coreapi.jar
>> >>>> >>> > > > crosstabcoreapi.jar
>> >>>> >>> > > > dataadapterapi.jar
>> >>>> >>> > > > dataaggregationapi.jar
>> >>>> >>> > > > dataextraction.jar
>> >>>> >>> > > > displaytag-1.2.jar
>> >>>> >>> > > > displaytag-export-poi-1.2.jar
>> >>>> >>> > > > dteapi.jar
>> >>>> >>> > > > ecxconnect-mmp-bl.jar
>> >>>> >>> > > > emitterconfig.jar
>> >>>> >>> > > > engineapi.jar
>> >>>> >>> > > > flute.jar
>> >>>> >>> > > > *freemarker-2.3.15.jar*
>> >>>> >>> > > > gnu-hylafax-core-1.0.3.jar
>> >>>> >>> > > > gnu-hylafax-inet-ftp-1.0.3.jar
>> >>>> >>> > > > itext-1.3.jar
>> >>>> >>> > > > jasypt-1.4.1.x.jar
>> >>>> >>> > > > jaxws-spring-1.8.jar
>> >>>> >>> > > > jep-3.3.0-trial.jar
>> >>>> >>> > > > joda-time-1.6.jar
>> >>>> >>> > > > js.jar
>> >>>> >>> > > > json.jar
>> >>>> >>> > > > jsonplugin-0.33.jar
>> >>>> >>> > > > jstl.jar
>> >>>> >>> > > > junit-4.4.jar
>> >>>> >>> > > > log4j-1.2.8.jar
>> >>>> >>> > > > mail-1.4.2.jar
>> >>>> >>> > > > mmpdemo-bl.jar
>> >>>> >>> > > > modelapi.jar
>> >>>> >>> > > > modelodaapi.jar
>> >>>> >>> > > > mysql-connector-java-5.0.5-bin.jar
>> >>>> >>> > > > odadesignapi.jar
>> >>>> >>> > > > *ognl-2.7.3.jar*
>> >>>> >>> > > > org.apache.commons.codec_1.3.0.v20080530-1600.jar
>> >>>> >>> > > > org.eclipse.birt.report.model_2.5.0.v20090605.jar
>> >>>> >>> > > > org.eclipse.emf.common_2.5.0.v200906080927.jar
>> >>>> >>> > > > org.eclipse.emf.ecore_2.5.0.v200906080927.jar
>> >>>> >>> > > > org.eclipse.emf.ecore.xmi_2.5.0.v200906080927.jar
>> >>>> >>> > > > org.w3c.css.sac_1.3.0.v200805290154.jar
>> >>>> >>> > > > poi-3.0.2-FINAL-20080204.jar
>> >>>> >>> > > > scriptapi.jar
>> >>>> >>> > > > spring-2.5.6.jar
>> >>>> >>> > > > spring-security-core-2.0.4.jar
>> >>>> >>> > > > spring-security-taglibs-2.0.4.jar
>> >>>> >>> > > > spring-test-2.5.6.jar
>> >>>> >>> > > > spring-webmvc-2.5.6.jar
>> >>>> >>> > > > spring-ws-1.5.2.jar
>> >>>> >>> > > > standard.jar
>> >>>> >>> > > > *struts2-core-2.1.8.jar*
>> >>>> >>> > > > *struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
>> >>>> >>> > > > *struts2-jquery-plugin-1.0.8.jar
>> >>>> >>> > > > struts2-scope-plugin-1.0.4 (modified).jar
>> >>>> >>> > > > *struts2-spring-plugin-2.1.8.jar*
>> >>>> >>> > > > tidy.jar
>> >>>> >>> > > > trilead-ssh2-build213.jar
>> >>>> >>> > > > webservices-api.jar
>> >>>> >>> > > > webservices-rt.jar
>> >>>> >>> > > > xbean-spring-3.1.jar
>> >>>> >>> > > > *xwork-core-2.1.6.jar*
>> >>>> >>> > > >
>> >>>> >>> > > > I haven't tried testing this on another 'trimmed down'
>> project.
>> >>>> Let
>> >>>> >>> me
>> >>>> >>> > > know
>> >>>> >>> > > > if anything is glaringly obvious here, otherwise, I'll try
>> the
>> >>>> >>> > > trimming-down
>> >>>> >>> > > >
>> >>>> >>> > > >  Thanks for looking through this!
>> >>>> >>> > > > - Eric
>> >>>> >>> > > >
>> >>>> >>> > > >
>> >>>> >>> > > > On Sat, Oct 17, 2009 at 2:52 AM, Musachy Barroso <
>> >>>> musa...@gmail.com>
>> >>>> >>> > > wrote:
>> >>>> >>> > > >
>> >>>> >>> > > >> nvm. el-api.jar should not be in lib, after removing them I
>> >>>> have to
>> >>>> >>> > > >> webapps with jsp plugin working. Can you compare your jars
>> to:
>> >>>> >>> > > >>
>> >>>> >>> > > >>  commons-el-1.0.jar
>> >>>> >>> > > >>  commons-fileupload-1.2.1.jar
>> >>>> >>> > > >>  commons-io-1.3.2.jar
>> >>>> >>> > > >>  commons-logging-1.1.1.jar
>> >>>> >>> > > >>  freemarker-2.3.15.jar
>> >>>> >>> > > >>  ognl-2.7.3.jar
>> >>>> >>> > > >>  struts2-core-2.1.9-SNAPSHOT.jar
>> >>>> >>> > > >>  struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
>> >>>> >>> > > >>  xwork-core-2.1.7-SNAPSHOT.jar
>> >>>> >>> > > >>
>> >>>> >>> > > >> and tell me the exact steps after you load the app, to
>> >>>> reproduce the
>> >>>> >>> > > error?
>> >>>> >>> > > >>
>> >>>> >>> > > >> thanks for helping me test this btw :)
>> >>>> >>> > > >> musachy
>> >>>> >>> > > >>
>> >>>> >>> > > >> On Fri, Oct 16, 2009 at 4:49 PM, Musachy Barroso <
>> >>>> musa...@gmail.com
>> >>>> >>> >
>> >>>> >>> > > >> wrote:
>> >>>> >>> > > >> > I am getting a different error:
>> >>>> >>> > > >> >
>> >>>> >>> > > >> > javax.servlet.ServletException: java.lang.LinkageError:
>> Class
>> >>>> >>> > > >> > javax/el/ExpressionFactory violates loader constraints
>> >>>> >>> > > >> >
>> >>>> >>> > >
>>  org.apache.jasper.servlet.JspServlet.service(JspServlet.java:275)
>> >>>> >>> > > >> >
>> >>>> >>>  javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>> >>>> >>> > > >> >
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>>  org.apache.struts2.dispatcher.ServletDispatcherResult.doExecute(ServletDispatcherResult.java:154)
>> >>>> >>> > > >> >
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>>  org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186)
>> >>>> >>> > > >> >
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>>  com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362)
>> >>>> >>> > > >> >
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>>  com.opensymphony.xwork2.DefaultActionInvocation.invoke(DefaultActionInvocation.java:266)
>> >>>> >>> > > >> >
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>>  com.opensymphony.xwork2.interceptor.DefaultWorkflowInterceptor.doIntercept(DefaultWorkflowInterceptor.java:165)
>> >>>> >>> > > >> >
>> >>>> >>> > > >> > which looks even more weird. Here are the jars I have in
>> >>>> >>> web-inf/lib:
>> >>>> >>> > > >> >
>> >>>> >>> > > >> > commons-el-1.0.jar
>> >>>> >>> > > >> > commons-fileupload-1.2.1.jar
>> >>>> >>> > > >> > commons-io-1.3.2.jar
>> >>>> >>> > > >> > commons-logging-1.1.1.jar
>> >>>> >>> > > >> > el-api-6.0.18.jar
>> >>>> >>> > > >> > freemarker-2.3.15.jar
>> >>>> >>> > > >> > ognl-2.7.3.jar
>> >>>> >>> > > >> > struts2-core-2.1.9-SNAPSHOT.jar
>> >>>> >>> > > >> > struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar
>> >>>> >>> > > >> > testjar-1.0.jar
>> >>>> >>> > > >> > xwork-core-2.1.7-SNAPSHOT.jar
>> >>>> >>> > > >> >
>> >>>> >>> > > >> > That's on a default installation of tomcat 6.0.20. Can
>> you
>> >>>> compare
>> >>>> >>> > > >> > that to your jars?
>> >>>> >>> > > >> >
>> >>>> >>> > > >> > musachy
>> >>>> >>> > > >> >
>> >>>> >>> > > >> > On Thu, Oct 15, 2009 at 8:57 AM, Musachy Barroso <
>> >>>> >>> musa...@gmail.com>
>> >>>> >>> > > >> wrote:
>> >>>> >>> > > >> >> pretty consistent :), I will try to take a look.
>> >>>> >>> > > >> >>
>> >>>> >>> > > >> >> musachy
>> >>>> >>> > > >> >>
>> >>>> >>> > > >> >> On Thu, Oct 15, 2009 at 8:23 AM, Obinna <
>> obi...@gmail.com>
>> >>>> >>> wrote:
>> >>>> >>> > > >> >>> No I don't have any unusual jars in my shared lib
>> (learnt
>> >>>> my
>> >>>> >>> lesson
>> >>>> >>> > > >> last
>> >>>> >>> > > >> >>> time :| - I have some jax-ws web-service api stuff in
>> >>>> endorsed
>> >>>> >>> but
>> >>>> >>> > > >> that's
>> >>>> >>> > > >> >>> all).
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>> Placing the plugin jar in the shared dir ('lib' for
>> Tomcat
>> >>>> 6)
>> >>>> >>> > > results
>> >>>> >>> > > >> in
>> >>>> >>> > > >> >>> struts not being able to find the plugin config file
>> and
>> >>>> >>> throwing
>> >>>> >>> > > the
>> >>>> >>> > > >> error:
>> >>>> >>> > > >> >>> "There is no result type defined for type
>> 'embeddedJsp'..."
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>> Given this, it is somewhat strange that, placing it in
>> the
>> >>>> >>> web-app
>> >>>> >>> > > libs
>> >>>> >>> > > >> *as
>> >>>> >>> > > >> >>> well as *the tomcat lib results in struts trying to
>> load
>> >>>> the
>> >>>> >>> trying
>> >>>> >>> > > to
>> >>>> >>> > > >> load
>> >>>> >>> > > >> >>> the plugin config file twice and throwing the error
>> during
>> >>>> >>> startup:
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>> The package name 'embeddedjsp-default' at location
>> package
>> >>>> -
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/wtpwebapps/test/WEB-INF/lib/struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar!/struts-plugin.xml:29:82
>> >>>> >>> > > >> >>> is already been used by another package at location
>> package
>> >>>> -
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> jar:file:/C:/Program%20Files/Apache%20Software%20Foundation/Tomcat%206.0/lib/struts2-embeddedjsp-plugin-2.1.9-SNAPSHOT.jar!/struts-plugin.xml:29:82
>> >>>> >>> > > >> >>> ....
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>> Thanks,
>> >>>> >>> > > >> >>>  - Eric
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>> On Thu, Oct 15, 2009 at 5:59 PM, Musachy Barroso <
>> >>>> >>> musa...@gmail.com
>> >>>> >>> > > >
>> >>>> >>> > > >> wrote:
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>>> just for kicks, put the embeddedjsp plugin in the
>> shared
>> >>>> dir,
>> >>>> >>> and
>> >>>> >>> > > see
>> >>>> >>> > > >> >>>> if it works.
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >> >>>> On Thu, Oct 15, 2009 at 7:58 AM, Musachy Barroso <
>> >>>> >>> > > musa...@gmail.com>
>> >>>> >>> > > >> >>>> wrote:
>> >>>> >>> > > >> >>>> > yeah that is kind of strange. do you have any of the
>> >>>> struts,
>> >>>> >>> or
>> >>>> >>> > > your
>> >>>> >>> > > >> >>>> > jars in the tomcat shared dir? even in that case it
>> >>>> should
>> >>>> >>> not
>> >>>> >>> > > >> matter.
>> >>>> >>> > > >> >>>> >
>> >>>> >>> > > >> >>>> > musachy
>> >>>> >>> > > >> >>>> >
>> >>>> >>> > > >> >>>> > On Thu, Oct 15, 2009 at 1:10 AM, Obinna <
>> >>>> obi...@gmail.com>
>> >>>> >>> > > wrote:
>> >>>> >>> > > >> >>>> >> There's another classloading issue with the
>> embeddedJsp
>> >>>> >>> plugin.
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >> When deploying multiple webapps on the same tomcat
>> >>>> server,
>> >>>> >>> both
>> >>>> >>> > > of
>> >>>> >>> > > >> which
>> >>>> >>> > > >> >>>> >> utilize the embeddedJsp plugin. After loading
>> embeddJsp
>> >>>> >>> pages in
>> >>>> >>> > > on
>> >>>> >>> > > >> web
>> >>>> >>> > > >> >>>> app,
>> >>>> >>> > > >> >>>> >> attempting to load any embeddedJsp pages in the
>> second
>> >>>> >>> webapp
>> >>>> >>> > > >> throws the
>> >>>> >>> > > >> >>>> >> following exception:
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >> java.lang.ClassCastException:
>> >>>> >>> > > >> >>>> >>
>> >>>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>> >>>> >>> > > cannot
>> >>>> >>> > > >> be
>> >>>> >>> > > >> >>>> cast
>> >>>> >>> > > >> >>>> >> to
>> >>>> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> org.apache.struts2.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:200)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> org.apache.struts2.jsp.com.test.service.reporting.jsp.alert_jsp._jspInit(alert_jsp.java
>> >>>> >>> > > >> >>>> >> from :31)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >>
>> >>>> >>>
>> >>>>
>>  org.apache.struts2.jasper.runtime.HttpJspBase.init(HttpJspBase.java:52)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > >
>>  org.apache.struts2.JSPLoader.createServlet(JSPLoader.java:112)
>> >>>> >>> > > >> >>>> >>
>>  org.apache.struts2.JSPLoader.load(JSPLoader.java:90)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>>  org.apache.struts2.ServletCache$1.call(ServletCache.java:46)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>>  org.apache.struts2.ServletCache$1.call(ServletCache.java:44)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >>
>> >>>>  java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
>> >>>> >>> > > >> >>>> >>
>> >>>>  java.util.concurrent.FutureTask.run(FutureTask.java:138)
>> >>>> >>> > > >> >>>> >>
>> >>>>  org.apache.struts2.ServletCache.get(ServletCache.java:53)
>> >>>> >>> > > >> >>>> >>
>> >>>>  org.apache.struts2.JSPRuntime.handle(JSPRuntime.java:63)
>> >>>> >>> > > >> >>>> >>
>> >>>>  org.apache.struts2.JSPRuntime.handle(JSPRuntime.java:45)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> org.apache.struts2.EmbeddedJSPResult.doExecute(EmbeddedJSPResult.java:32)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> org.apache.struts2.dispatcher.StrutsResultSupport.execute(StrutsResultSupport.java:186).
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >> which is strange as i would have expected the
>> >>>> >>> > > >> JspApplicationContextImpl
>> >>>> >>> > > >> >>>> to
>> >>>> >>> > > >> >>>> >> be loaded and isolated by each web-application
>> class
>> >>>> loader.
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >> Also, subsequent attempts to load non-embedded jsp
>> page
>> >>>> then
>> >>>> >>> > > throw:
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>> >>>> >>> > > cannot
>> >>>> >>> > > >> be
>> >>>> >>> > > >> >>>> cast
>> >>>> >>> > > >> >>>> >> to
>> >>>> >>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl
>> >>>> >>> > > >> >>>> >> at
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> org.apache.struts2.jasper.runtime.JspApplicationContextImpl.getInstance(JspApplicationContextImpl.java:76)
>> >>>> >>> > > >> >>>> >>    at
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >>
>> >>>> >>> > >
>> >>>> >>>
>> >>>>
>> org.apache.struts2.jasper.runtime.JspFactoryImpl.getJspApplicationContext(JspFactoryImpl.java:200)
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >> - Eric
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >> On Mon, Sep 28, 2009 at 11:05 AM, Obinna <
>> >>>> obi...@gmail.com>
>> >>>> >>> > > wrote:
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >>> Tested and work well. Couldn't resolve
>> >>>> >>> > > struts2-core.2.1.9-Snapshot
>> >>>> >>> > > >> >>>> maven
>> >>>> >>> > > >> >>>> >>> dependency so I used 2.1.8 though.
>> >>>> >>> > > >> >>>> >>> Closed jira ticket.
>> >>>> >>> > > >> >>>> >>> Thanks again!!  I hope everyone realizes how
>> >>>> >>> > > significant/powerful
>> >>>> >>> > > >> a
>> >>>> >>> > > >> >>>> plugin
>> >>>> >>> > > >> >>>> >>> this is.
>> >>>> >>> > > >> >>>> >>>
>> >>>> >>> > > >> >>>> >>> - Eric
>> >>>> >>> > > >> >>>> >>>
>> >>>> >>> > > >> >>>> >>>
>> >>>> >>> > > >> >>>> >>>
>> >>>> >>> > > >> >>>> >>> On Mon, Sep 28, 2009 at 9:07 AM, Musachy Barroso <
>> >>>> >>> > > >> musa...@gmail.com
>> >>>> >>> > > >> >>>> >wrote:
>> >>>> >>> > > >> >>>> >>>
>> >>>> >>> > > >> >>>> >>>> I should have done it with jasper 6 since the
>> >>>> beginning,
>> >>>> >>> but
>> >>>> >>> > > it
>> >>>> >>> > > >> seemed
>> >>>> >>> > > >> >>>> >>>> more difficult and my laziness took the best of
>> me :)
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >> >>>> >>>> musachy
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >> >>>> >>>> On Sun, Sep 27, 2009 at 10:12 PM, Obinna <
>> >>>> >>> obi...@gmail.com>
>> >>>> >>> > > >> wrote:
>> >>>> >>> > > >> >>>> >>>> > Great!. Musachy, thanks a million for doing
>> this so
>> >>>> >>> quickly.
>> >>>> >>> > > >> I'll
>> >>>> >>> > > >> >>>> give
>> >>>> >>> > > >> >>>> >>>> it a
>> >>>> >>> > > >> >>>> >>>> > test anon
>> >>>> >>> > > >> >>>> >>>> >
>> >>>> >>> > > >> >>>> >>>> >
>> >>>> >>> > > >> >>>> >>>> > On Mon, Sep 28, 2009 at 6:18 AM, Martin Gainty
>> <
>> >>>> >>> > > >> mgai...@hotmail.com
>> >>>> >>> > > >> >>>> >
>> >>>> >>> > > >> >>>> >>>> wrote:
>> >>>> >>> > > >> >>>> >>>> >
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >> >>>> >>>> >> thanks for the headsup.. 2.1.8 builds now..
>> >>>> >>> > > >> >>>> >>>> >> I had wrong version of commons-collections
>> >>>> ListUtils
>> >>>> >>> not
>> >>>> >>> > > >> having
>> >>>> >>> > > >> >>>> >>>> >> isEqualList(collection,collection)
>> >>>> >>> > > >> >>>> >>>> >>        <dependency>
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >>  <groupId>org.apache.commons.collections</groupId>
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>>  <artifactId>commons-collections</artifactId>
>> >>>> >>> > > >> >>>> >>>> >>                <version>3.2.1</version>
>> >>>> >>> > > >> >>>> >>>> >>        </dependency>
>> >>>> >>> > > >> >>>> >>>> >> pulls correct version
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >> >>>> >>>> >> seeing some failures in surefire..(too many to
>> >>>> count on
>> >>>> >>> one
>> >>>> >>> > > >> hand
>> >>>> >>> > > >> >>>> will
>> >>>> >>> > > >> >>>> >>>> take
>> >>>> >>> > > >> >>>> >>>> >> a look tommorrow)
>> >>>> >>> > > >> >>>> >>>> >> thanks,
>> >>>> >>> > > >> >>>> >>>> >> Martin Gainty
>> >>>> >>> > > >> >>>> >>>> >> ______________________________________________
>> >>>> >>> > > >> >>>> >>>> >> Standard Caveats apply
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >> >>>> >>>> >> > Date: Sun, 27 Sep 2009 19:00:12 -0700
>> >>>> >>> > > >> >>>> >>>> >> > Subject: Re: embeddedJsp plugin causing jsp
>> >>>> >>> compilation
>> >>>> >>> > > >> issues
>> >>>> >>> > > >> >>>> >>>> >> > From: musa...@gmail.com
>> >>>> >>> > > >> >>>> >>>> >> > To: dev@struts.apache.org
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> > a'right. The code is in trunk. To use the
>> plugin
>> >>>> with
>> >>>> >>> > > >> tomcat,
>> >>>> >>> > > >> >>>> just
>> >>>> >>> > > >> >>>> >>>> >> > build it and deploy it as usual. It works
>> with
>> >>>> Jetty
>> >>>> >>> 7+,
>> >>>> >>> > > >> which
>> >>>> >>> > > >> >>>> needs
>> >>>> >>> > > >> >>>> >>>> >> > the tomcat deps added to the application,
>> adding
>> >>>> this
>> >>>> >>> to
>> >>>> >>> > > >> your pom
>> >>>> >>> > > >> >>>> >>>> will
>> >>>> >>> > > >> >>>> >>>> >> > take care of it:
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> > <dependency>
>> >>>> >>> > > >> >>>> >>>> >> >        <groupId>org.apache.tomcat</groupId>
>> >>>> >>> > > >> >>>> >>>> >> >        <artifactId>jasper</artifactId>
>> >>>> >>> > > >> >>>> >>>> >> >        <version>6.0.18</version>
>> >>>> >>> > > >> >>>> >>>> >> > </dependency>
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> > let me know if it works.
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> > musachy
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> > On Sun, Sep 27, 2009 at 6:34 PM, Musachy
>> Barroso
>> >>>> <
>> >>>> >>> > > >> >>>> musa...@gmail.com>
>> >>>> >>> > > >> >>>> >>>> >> wrote:
>> >>>> >>> > > >> >>>> >>>> >> > > it works on tomcat but now it breaks in
>> >>>> jetty...oh
>> >>>> >>> joy.
>> >>>> >>> > > >> >>>> >>>> >> > >
>> >>>> >>> > > >> >>>> >>>> >> > > On Sun, Sep 27, 2009 at 2:35 PM, Musachy
>> >>>> Barroso <
>> >>>> >>> > > >> >>>> >>>> musa...@gmail.com>
>> >>>> >>> > > >> >>>> >>>> >> wrote:
>> >>>> >>> > > >> >>>> >>>> >> > >> ok I got jasper 6 working. I will do some
>> >>>> more
>> >>>> >>> testing
>> >>>> >>> > > >> (at
>> >>>> >>> > > >> >>>> least
>> >>>> >>> > > >> >>>> >>>> the
>> >>>> >>> > > >> >>>> >>>> >> > >> junits run fine), commit the jasper code,
>> and
>> >>>> then
>> >>>> >>> > > commit
>> >>>> >>> > > >> my
>> >>>> >>> > > >> >>>> >>>> changes.
>> >>>> >>> > > >> >>>> >>>> >> > >> (later on)
>> >>>> >>> > > >> >>>> >>>> >> > >>
>> >>>> >>> > > >> >>>> >>>> >> > >> musachy
>> >>>> >>> > > >> >>>> >>>> >> > >>
>> >>>> >>> > > >> >>>> >>>> >> > >> On Sun, Sep 27, 2009 at 12:56 PM, Musachy
>> >>>> Barroso
>> >>>> >>> <
>> >>>> >>> > > >> >>>> >>>> musa...@gmail.com>
>> >>>> >>> > > >> >>>> >>>> >> wrote:
>> >>>> >>> > > >> >>>> >>>> >> > >>> yeah that would work if I could use it
>> as a
>> >>>> >>> library,
>> >>>> >>> > > but
>> >>>> >>> > > >> >>>> jasper
>> >>>> >>> > > >> >>>> >>>> is
>> >>>> >>> > > >> >>>> >>>> >> not
>> >>>> >>> > > >> >>>> >>>> >> > >>> written with that in mind. I had to
>> change a
>> >>>> >>> fairly
>> >>>> >>> > > >> amount of
>> >>>> >>> > > >> >>>> >>>> private
>> >>>> >>> > > >> >>>> >>>> >> > >>> code to get it to work.
>> >>>> >>> > > >> >>>> >>>> >> > >>>
>> >>>> >>> > > >> >>>> >>>> >> > >>> musachy
>> >>>> >>> > > >> >>>> >>>> >> > >>>
>> >>>> >>> > > >> >>>> >>>> >> > >>> On Sun, Sep 27, 2009 at 12:50 PM,
>> Antonio
>> >>>> >>> Petrelli
>> >>>> >>> > > >> >>>> >>>> >> > >>> <antonio.petre...@gmail.com> wrote:
>> >>>> >>> > > >> >>>> >>>> >> > >>>> 2009/9/27 Musachy Barroso <
>> >>>> musa...@gmail.com>:
>> >>>> >>> > > >> >>>> >>>> >> > >>>>> It is a missmatch between the
>> jsp-apis.
>> >>>> The
>> >>>> >>> > > internal
>> >>>> >>> > > >> jasper
>> >>>> >>> > > >> >>>> >>>> >> implements
>> >>>> >>> > > >> >>>> >>>> >> > >>>>> 2.0, while tomcat 6/jasper 6 implement
>> >>>> 2.1, and
>> >>>> >>> in
>> >>>> >>> > > 2.1
>> >>>> >>> > > >> >>>> there a
>> >>>> >>> > > >> >>>> >>>> new
>> >>>> >>> > > >> >>>> >>>> >> > >>>>> method called. It is not looking good.
>> >>>> >>> > > >> >>>> >>>> >> > >>>>
>> >>>> >>> > > >> >>>> >>>> >> > >>>> You might wish to use JarJar to
>> repackage,
>> >>>> to
>> >>>> >>> avoid
>> >>>> >>> > > >> >>>> conflicts
>> >>>> >>> > > >> >>>> >>>> like
>> >>>> >>> > > >> >>>> >>>> >> > >>>> this. Lots of people use them to avoid
>> >>>> >>> dependencies,
>> >>>> >>> > > >> like
>> >>>> >>> > > >> >>>> >>>> >> > >>>> commons-logging.
>> >>>> >>> > > >> >>>> >>>> >> > >>>> See:
>> >>>> >>> > > >> >>>> >>>> >> > >>>>
>> >>>> http://docs.atlassian.com/jarjar-maven-plugin/
>> >>>> >>> > > >> >>>> >>>> >> > >>>>
>> >>>> >>> > > >> >>>> >>>> >> > >>>> HTH
>> >>>> >>> > > >> >>>> >>>> >> > >>>> Antonio
>> >>>> >>> > > >> >>>> >>>> >> > >>>>
>> >>>> >>> > > >> >>>> >>>> >> > >>>>
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > >
>> >>>> ---------------------------------------------------------------------
>> >>>> >>> > > >> >>>> >>>> >> > >>>> To unsubscribe, e-mail:
>> >>>> >>> > > >> dev-unsubscr...@struts.apache.org
>> >>>> >>> > > >> >>>> >>>> >> > >>>> For additional commands, e-mail:
>> >>>> >>> > > >> dev-h...@struts.apache.org
>> >>>> >>> > > >> >>>> >>>> >> > >>>>
>> >>>> >>> > > >> >>>> >>>> >> > >>>>
>> >>>> >>> > > >> >>>> >>>> >> > >>>
>> >>>> >>> > > >> >>>> >>>> >> > >>>
>> >>>> >>> > > >> >>>> >>>> >> > >>>
>> >>>> >>> > > >> >>>> >>>> >> > >>> --
>> >>>> >>> > > >> >>>> >>>> >> > >>> "Hey you! Would you help me to carry the
>> >>>> stone?"
>> >>>> >>> Pink
>> >>>> >>> > > >> Floyd
>> >>>> >>> > > >> >>>> >>>> >> > >>>
>> >>>> >>> > > >> >>>> >>>> >> > >>
>> >>>> >>> > > >> >>>> >>>> >> > >>
>> >>>> >>> > > >> >>>> >>>> >> > >>
>> >>>> >>> > > >> >>>> >>>> >> > >> --
>> >>>> >>> > > >> >>>> >>>> >> > >> "Hey you! Would you help me to carry the
>> >>>> stone?"
>> >>>> >>> Pink
>> >>>> >>> > > >> Floyd
>> >>>> >>> > > >> >>>> >>>> >> > >>
>> >>>> >>> > > >> >>>> >>>> >> > >
>> >>>> >>> > > >> >>>> >>>> >> > >
>> >>>> >>> > > >> >>>> >>>> >> > >
>> >>>> >>> > > >> >>>> >>>> >> > > --
>> >>>> >>> > > >> >>>> >>>> >> > > "Hey you! Would you help me to carry the
>> >>>> stone?"
>> >>>> >>> Pink
>> >>>> >>> > > >> Floyd
>> >>>> >>> > > >> >>>> >>>> >> > >
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> > --
>> >>>> >>> > > >> >>>> >>>> >> > "Hey you! Would you help me to carry the
>> stone?"
>> >>>> Pink
>> >>>> >>> > > Floyd
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>>
>> >>>> >>> > >
>> >>>> ---------------------------------------------------------------------
>> >>>> >>> > > >> >>>> >>>> >> > To unsubscribe, e-mail:
>> >>>> >>> > > dev-unsubscr...@struts.apache.org
>> >>>> >>> > > >> >>>> >>>> >> > For additional commands, e-mail:
>> >>>> >>> > > dev-h...@struts.apache.org
>> >>>> >>> > > >> >>>> >>>> >> >
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >>
>> >>>> _________________________________________________________________
>> >>>> >>> > > >> >>>> >>>> >> Lauren found her dream laptop. Find the PC
>> that’s
>> >>>> right
>> >>>> >>> for
>> >>>> >>> > > >> you.
>> >>>> >>> > > >> >>>> >>>> >>
>> >>>> >>> > > >>
>> http://www.microsoft.com/windows/choosepc/?ocid=ftp_val_wl_290
>> >>>> >>> > > >> >>>> >>>> >
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >> >>>> >>>> --
>> >>>> >>> > > >> >>>> >>>> "Hey you! Would you help me to carry the stone?"
>> Pink
>> >>>> >>> Floyd
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >>
>> >>>> >>>
>> ---------------------------------------------------------------------
>> >>>> >>> > > >> >>>> >>>> To unsubscribe, e-mail:
>> >>>> dev-unsubscr...@struts.apache.org
>> >>>> >>> > > >> >>>> >>>> For additional commands, e-mail:
>> >>>> >>> dev-h...@struts.apache.org
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >> >>>> >>>>
>> >>>> >>> > > >> >>>> >>>
>> >>>> >>> > > >> >>>> >>
>> >>>> >>> > > >> >>>> >
>> >>>> >>> > > >> >>>> >
>> >>>> >>> > > >> >>>> >
>> >>>> >>> > > >> >>>> > --
>> >>>> >>> > > >> >>>> > "Hey you! Would you help me to carry the stone?"
>> Pink
>> >>>> Floyd
>> >>>> >>> > > >> >>>> >
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >> >>>> --
>> >>>> >>> > > >> >>>> "Hey you! Would you help me to carry the stone?" Pink
>> >>>> Floyd
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > >
>> >>>> ---------------------------------------------------------------------
>> >>>> >>> > > >> >>>> To unsubscribe, e-mail:
>> dev-unsubscr...@struts.apache.org
>> >>>> >>> > > >> >>>> For additional commands, e-mail:
>> >>>> dev-h...@struts.apache.org
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >> >>>>
>> >>>> >>> > > >> >>>
>> >>>> >>> > > >> >>
>> >>>> >>> > > >> >>
>> >>>> >>> > > >> >>
>> >>>> >>> > > >> >> --
>> >>>> >>> > > >> >> "Hey you! Would you help me to carry the stone?" Pink
>> Floyd
>> >>>> >>> > > >> >>
>> >>>> >>> > > >> >
>> >>>> >>> > > >> >
>> >>>> >>> > > >> >
>> >>>> >>> > > >> > --
>> >>>> >>> > > >> > "Hey you! Would you help me to carry the stone?" Pink
>> Floyd
>> >>>> >>> > > >> >
>> >>>> >>> > > >>
>> >>>> >>> > > >>
>> >>>> >>> > > >>
>> >>>> >>> > > >> --
>> >>>> >>> > > >> "Hey you! Would you help me to carry the stone?" Pink Floyd
>> >>>> >>> > > >>
>> >>>> >>> > > >>
>> >>>> >>>
>> ---------------------------------------------------------------------
>> >>>> >>> > > >> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
>> >>>> >>> > > >> For additional commands, e-mail:
>> dev-h...@struts.apache.org
>> >>>> >>> > > >>
>> >>>> >>> > > >>
>> >>>> >>> > > >
>> >>>> >>> > >
>> >>>> >>> > >
>> >>>> >>> > >
>> >>>> >>> > > --
>> >>>> >>> > > "Hey you! Would you help me to carry the stone?" Pink Floyd
>> >>>> >>> > >
>> >>>> >>> > >
>> >>>> ---------------------------------------------------------------------
>> >>>> >>> > > To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
>> >>>> >>> > > For additional commands, e-mail: dev-h...@struts.apache.org
>> >>>> >>> > >
>> >>>> >>> > >
>> >>>> >>>
>> >>>> >>> _________________________________________________________________
>> >>>> >>> Hotmail: Free, trusted and rich email service.
>> >>>> >>> http://clk.atdmt.com/GBL/go/171222984/direct/01/
>> >>>> >>>
>> >>>> >>
>> >>>> >
>> >>>> >
>> >>>> >
>> >>>> > --
>> >>>> > "Hey you! Would you help me to carry the stone?" Pink Floyd
>> >>>> >
>> >>>>
>> >>>>
>> >>>>
>> >>>> --
>> >>>> "Hey you! Would you help me to carry the stone?" Pink Floyd
>> >>>>
>> >>>> ---------------------------------------------------------------------
>> >>>> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
>> >>>> For additional commands, e-mail: dev-h...@struts.apache.org
>> >>>>
>> >>>>
>> >>>
>> >>
>> >
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
>> For additional commands, e-mail: dev-h...@struts.apache.org
>>
>>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@struts.apache.org
For additional commands, e-mail: dev-h...@struts.apache.org

Reply via email to