You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@roller.apache.org by Bill Tribley <bi...@tribley.us> on 2006/03/25 18:01:19 UTC

Editor Setup

I have successfully set up the Sferyx applet editor on Roller 2.1 at a basic level. It does everything except handle local file attachments like photos. Questions:

1. Does Roller support a multipart mime post from the editor to transfer photos and other local attachments?
2. Does Roller have a session variable that gives the full path of uploaded files? The documentation says that the context path for uploaded images should be
/resources

For reference, I tried local photo insertion using remote blog client BlogJet, then I went to the successfully posted blog and viewed source. The  path is really
/resources/blog_name/photo.jpg

Something is inserting the name of the blog. Does the blogger api upload a multipart form, or does it do separate procedure calls to upload local content?

Thanks for any help.
Bill

Re: Editor Setup

Posted by David M Johnson <Da...@Sun.COM>.
On Mar 25, 2006, at 12:01 PM, Bill Tribley wrote:
> I have successfully set up the Sferyx applet editor on Roller 2.1  
> at a basic level. It does everything except handle local file  
> attachments like photos. Questions:
>
> 1. Does Roller support a multipart mime post from the editor to  
> transfer photos and other local attachments?

The only standard mechanism for posting files to Roller is the XML- 
RPC based MetaWeblog API. That API support a method called  
newMediaObject() that allows you to post files to a blog, but images  
are NOT attached to one specific blog entry.

Most blog clients use this method like so:
* user creates new blog entry in blog client (no need to save it to  
server yet)
* user uploads image, blog client uses newMediaObject(), which  
returns URL of uploaded image
* blog client adds <img> tag to blog entry
* user posts new blog entry and image appears in image

Atom protocol will support something similar.

- Dave

Re: Email Setup Problem - Manual Needs Tweak

Posted by Matt Raible <mr...@gmail.com>.
On 3/26/06, adamc@unc.edu <ad...@unc.edu> wrote:
> Quoting Anil Gangolli <an...@busybuddha.org>:
>
> >
> > We should at least tell users to move and not copy them.  This is a
> > common problem.   I'll fix the wiki today.
> >
> > Longer term, I think we should consider not distributing them at all.
> >  I think there were some issues as to whether we could legitimately
> > ship them anyway.  Henri?
>
> As a general rule of thumb for an Apache "EE" project, if you need spec
> implementations there *should* be no problem with shipping whatever it
> is that Geronimo ships (by my understanding, there must be an ASL
> Javamail and activation distribution, not that I can verify this
> without downloading Geronimo and seeing what's in it).  (IANAL and all
> that)

This is true, in most cases - except for JavaMail.  I've used jta and
connector from Geronimo and they work fine (or at least seem to).  The
JavaMail JARs didn't last time I checked.

Matt
>

Re: Email Setup Problem - Manual Needs Tweak

Posted by ad...@unc.edu.
Quoting Anil Gangolli <an...@busybuddha.org>:

>
> We should at least tell users to move and not copy them.  This is a 
> common problem.   I'll fix the wiki today.
>
> Longer term, I think we should consider not distributing them at all. 
>  I think there were some issues as to whether we could legitimately 
> ship them anyway.  Henri?

As a general rule of thumb for an Apache "EE" project, if you need spec 
implementations there *should* be no problem with shipping whatever it 
is that Geronimo ships (by my understanding, there must be an ASL 
Javamail and activation distribution, not that I can verify this 
without downloading Geronimo and seeing what's in it).  (IANAL and all 
that)

Re: Email Setup Problem - Manual Needs Tweak

Posted by Anil Gangolli <an...@busybuddha.org>.
We should at least tell users to move and not copy them.  This is a 
common problem.   I'll fix the wiki today.

Longer term, I think we should consider not distributing them at all.  I 
think there were some issues as to whether we could legitimately ship 
them anyway.  Henri? 

--a.


Matt Raible wrote:
> I've experienced this same issue.  Shouldn't we simply remove these
> JARs from WEB-INF/lib?  Or are they used elsewhere?  We could always
> just move the e-mail configuration into roller.properties and not use
> JNDI.  I prototyped this about a year ago and it seemed to work fine. 
> Unfortunately, I don't have the code anymore.
>
> Matt
>
> On 3/25/06, Bill Tribley <bi...@tribley.us> wrote:
>   
>> My email notifications were not working. Throwing a big bad exception copied below. Turns out you really do have to move the two jars in step 4.2 as the text says, despite the unix "cp" command versus "mv" and the lack of a del command in Windows. I lost a bit of time on this. The error trace complaining of a bad typecast was the clue that two classes of the same name had been used, one to initialize and the other to run. Deleting the original copies in WEB-INF/lib and restarting the webapp fixed the issue.
>>
>> STEP 4.2: Install JavaMail and Activation jars
>> If you like to use Roller's e-mail notification features, you'll need to add the JavaMail and Activation
>> jars to your application server's classpath. Currently, we ship these jars with Roller, so move them from
>> the Roller WEB-INF/lib directory and into the Tomcat common/lib directory.
>> UNIX example
>> % cp $ROLLER/WEB-INF/lib/mail.jar $CATALINA_HOME/common/lib
>> % cp $ROLLER/WEB-INF/lib/activation.jar $CATALINA_HOME/common/lib
>> Windows example
>> c> cp %ROLLER%\WEB-INF\lib\mail.jar %CATALINA_HOME%\common\lib
>> C> cp %ROLLER%\WEB-INF\lib\activation.jar %CATALINA_HOME%\common\lib
>>
>> The big bad exception with the jars left in WEB-INF/lib:
>> ERROR 2006-03-26 01:04:45,788 StandardWrapperValve:invoke - Servlet.service() for servlet action threw exception
>> java.lang.ClassCastException: javax.mail.Session
>>         at org.roller.presentation.website.actions.InviteMemberAction.notifyInvitee(InviteMemberAction.java:202)
>>         at org.roller.presentation.website.actions.InviteMemberAction.send(InviteMemberAction.java:164)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>         at java.lang.reflect.Method.invoke(Method.java:585)
>>         at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)
>>         at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)
>>         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
>>         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
>>         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
>>         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
>>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>>         at org.roller.presentation.filters.RequestFilter.doFilter(RequestFilter.java:79)
>>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>>         at org.roller.presentation.filters.BreadCrumbFilter.doFilter(BreadCrumbFilter.java:77)
>>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>>         at org.roller.presentation.filters.PersistenceSessionFilter.doFilter(PersistenceSessionFilter.java:43)
>>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292)
>>         at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
>>         at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:79)
>>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
>>         at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:143)
>>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
>>         at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:138)
>>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
>>         at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:50)
>>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
>>         at org.acegisecurity.securechannel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:168)
>>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
>>         at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:174)
>>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
>>         at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:246)
>>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
>>         at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:220)
>>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
>>         at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173)
>>         at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:120)
>>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>>         at org.roller.presentation.filters.SchemeEnforcementFilter.doFilter(SchemeEnforcementFilter.java:104)
>>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>>         at org.roller.presentation.filters.CharEncodingFilter.doFilter(CharEncodingFilter.java:94)
>>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>>         at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
>>         at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
>>         at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754)
>>         at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684)
>>         at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:876)
>>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>>         at java.lang.Thread.run(Thread.java:595)
>>
>>
>>     
>
>
>   


Re: Email Setup Problem - Manual Needs Tweak

Posted by Matt Raible <mr...@gmail.com>.
I've experienced this same issue.  Shouldn't we simply remove these
JARs from WEB-INF/lib?  Or are they used elsewhere?  We could always
just move the e-mail configuration into roller.properties and not use
JNDI.  I prototyped this about a year ago and it seemed to work fine. 
Unfortunately, I don't have the code anymore.

Matt

On 3/25/06, Bill Tribley <bi...@tribley.us> wrote:
> My email notifications were not working. Throwing a big bad exception copied below. Turns out you really do have to move the two jars in step 4.2 as the text says, despite the unix "cp" command versus "mv" and the lack of a del command in Windows. I lost a bit of time on this. The error trace complaining of a bad typecast was the clue that two classes of the same name had been used, one to initialize and the other to run. Deleting the original copies in WEB-INF/lib and restarting the webapp fixed the issue.
>
> STEP 4.2: Install JavaMail and Activation jars
> If you like to use Roller's e-mail notification features, you'll need to add the JavaMail and Activation
> jars to your application server's classpath. Currently, we ship these jars with Roller, so move them from
> the Roller WEB-INF/lib directory and into the Tomcat common/lib directory.
> UNIX example
> % cp $ROLLER/WEB-INF/lib/mail.jar $CATALINA_HOME/common/lib
> % cp $ROLLER/WEB-INF/lib/activation.jar $CATALINA_HOME/common/lib
> Windows example
> c> cp %ROLLER%\WEB-INF\lib\mail.jar %CATALINA_HOME%\common\lib
> C> cp %ROLLER%\WEB-INF\lib\activation.jar %CATALINA_HOME%\common\lib
>
> The big bad exception with the jars left in WEB-INF/lib:
> ERROR 2006-03-26 01:04:45,788 StandardWrapperValve:invoke - Servlet.service() for servlet action threw exception
> java.lang.ClassCastException: javax.mail.Session
>         at org.roller.presentation.website.actions.InviteMemberAction.notifyInvitee(InviteMemberAction.java:202)
>         at org.roller.presentation.website.actions.InviteMemberAction.send(InviteMemberAction.java:164)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>         at java.lang.reflect.Method.invoke(Method.java:585)
>         at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)
>         at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)
>         at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
>         at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
>         at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
>         at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
>         at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.roller.presentation.filters.RequestFilter.doFilter(RequestFilter.java:79)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.roller.presentation.filters.BreadCrumbFilter.doFilter(BreadCrumbFilter.java:77)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.roller.presentation.filters.PersistenceSessionFilter.doFilter(PersistenceSessionFilter.java:43)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292)
>         at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
>         at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:79)
>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
>         at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:143)
>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
>         at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:138)
>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
>         at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:50)
>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
>         at org.acegisecurity.securechannel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:168)
>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
>         at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:174)
>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
>         at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:246)
>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
>         at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:220)
>         at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
>         at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173)
>         at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:120)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.roller.presentation.filters.SchemeEnforcementFilter.doFilter(SchemeEnforcementFilter.java:104)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.roller.presentation.filters.CharEncodingFilter.doFilter(CharEncodingFilter.java:94)
>         at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
>         at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
>         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
>         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
>         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
>         at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
>         at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
>         at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
>         at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
>         at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
>         at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754)
>         at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684)
>         at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:876)
>         at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
>         at java.lang.Thread.run(Thread.java:595)
>
>

Email Setup Problem - Manual Needs Tweak

Posted by Bill Tribley <bi...@tribley.us>.
My email notifications were not working. Throwing a big bad exception copied below. Turns out you really do have to move the two jars in step 4.2 as the text says, despite the unix "cp" command versus "mv" and the lack of a del command in Windows. I lost a bit of time on this. The error trace complaining of a bad typecast was the clue that two classes of the same name had been used, one to initialize and the other to run. Deleting the original copies in WEB-INF/lib and restarting the webapp fixed the issue.

STEP 4.2: Install JavaMail and Activation jars
If you like to use Roller's e-mail notification features, you'll need to add the JavaMail and Activation
jars to your application server's classpath. Currently, we ship these jars with Roller, so move them from
the Roller WEB-INF/lib directory and into the Tomcat common/lib directory.
UNIX example
% cp $ROLLER/WEB-INF/lib/mail.jar $CATALINA_HOME/common/lib
% cp $ROLLER/WEB-INF/lib/activation.jar $CATALINA_HOME/common/lib
Windows example
c> cp %ROLLER%\WEB-INF\lib\mail.jar %CATALINA_HOME%\common\lib
C> cp %ROLLER%\WEB-INF\lib\activation.jar %CATALINA_HOME%\common\lib

The big bad exception with the jars left in WEB-INF/lib:
ERROR 2006-03-26 01:04:45,788 StandardWrapperValve:invoke - Servlet.service() for servlet action threw exception
java.lang.ClassCastException: javax.mail.Session
        at org.roller.presentation.website.actions.InviteMemberAction.notifyInvitee(InviteMemberAction.java:202)
        at org.roller.presentation.website.actions.InviteMemberAction.send(InviteMemberAction.java:164)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:585)
        at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:276)
        at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:196)
        at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:421)
        at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:226)
        at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
        at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.roller.presentation.filters.RequestFilter.doFilter(RequestFilter.java:79)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.roller.presentation.filters.BreadCrumbFilter.doFilter(BreadCrumbFilter.java:77)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.roller.presentation.filters.PersistenceSessionFilter.doFilter(PersistenceSessionFilter.java:43)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:292)
        at org.acegisecurity.intercept.web.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
        at org.acegisecurity.intercept.web.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:79)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.ui.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:143)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.providers.anonymous.AnonymousProcessingFilter.doFilter(AnonymousProcessingFilter.java:138)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.wrapper.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:50)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.securechannel.ChannelProcessingFilter.doFilter(ChannelProcessingFilter.java:168)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.ui.rememberme.RememberMeProcessingFilter.doFilter(RememberMeProcessingFilter.java:174)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.ui.AbstractProcessingFilter.doFilter(AbstractProcessingFilter.java:246)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.context.HttpSessionContextIntegrationFilter.doFilter(HttpSessionContextIntegrationFilter.java:220)
        at org.acegisecurity.util.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:303)
        at org.acegisecurity.util.FilterChainProxy.doFilter(FilterChainProxy.java:173)
        at org.acegisecurity.util.FilterToBeanProxy.doFilter(FilterToBeanProxy.java:120)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.roller.presentation.filters.SchemeEnforcementFilter.doFilter(SchemeEnforcementFilter.java:104)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.roller.presentation.filters.CharEncodingFilter.doFilter(CharEncodingFilter.java:94)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
        at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:199)
        at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:282)
        at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:754)
        at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:684)
        at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:876)
        at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
        at java.lang.Thread.run(Thread.java:595)