Hi Folks,

I have a widget that was working but is now broken.

Its a gallery widget and it operates a couple of select components in order to 
refab the gallery metrics for auto-paging and pagination.

Its been acting intermittent between versions of shiro-1.2.2 to 1.2.3 (got 
worse) its more widespread and producible on 1.2.3

Anyway, I am not sure if this is a mis-use bug or shiro-bug or a tap-5.4 bug

I attached the stack trace and its difficult to see as to why... maybe its a 
security configuration? My site is wide open except for admin privs on writable 
crud.

Is there anything I can provide in order to help troubleshoot this?

I would feel comfortable about the integrity of this stuff and its dependent 
binaries if my issue was resolved.

I am sensing it might be a shiro config error possibly 

Thanks for any tips

the demo is at http://psinh.ddns.net:9011/psi/home

Best regards 
and thanks... KEN

HTTP ERROR 500
Problem accessing /psi/home.galleryform/player. Reason:

    org.apache.tapestry5.ioc.internal.OperationException: Error invoking 
constructor public 
org.apache.tapestry5.internal.services.ClientPersistentFieldStorageImpl(org.apache.tapestry5.services.Request,org.apache.tapestry5.services.ClientDataEncoder,org.apache.tapestry5.services.SessionPersistedObjectAnalyzer):
 java.lang.NullPointerExceptionCaused 
by:org.apache.shiro.subject.ExecutionException: 
org.apache.tapestry5.ioc.internal.OperationException: Error invoking 
constructor public 
org.apache.tapestry5.internal.services.ClientPersistentFieldStorageImpl(org.apache.tapestry5.services.Request,org.apache.tapestry5.services.ClientDataEncoder,org.apache.tapestry5.services.SessionPersistedObjectAnalyzer):
 java.lang.NullPointerException
        at 
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:385)
        at 
org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:54)
        at $HttpServletRequestFilter_86ce53a67cd9.service(Unknown Source)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at 
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:45)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at 
org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:59)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at 
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
        at $HttpServletRequestFilter_86ce53a67cd5.service(Unknown Source)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at 
org.apache.tapestry5.modules.TapestryModule$1.service(TapestryModule.java:804)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at $HttpServletRequestHandler_86ce53a67cd4.service(Unknown Source)
        at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:166)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
        at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
        at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
        at 
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
        at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: org.apache.tapestry5.ioc.internal.OperationException: Error invoking 
constructor public 
org.apache.tapestry5.internal.services.ClientPersistentFieldStorageImpl(org.apache.tapestry5.services.Request,org.apache.tapestry5.services.ClientDataEncoder,org.apache.tapestry5.services.SessionPersistedObjectAnalyzer):
 java.lang.NullPointerException
        at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:184)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:90)
        at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)
        at 
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1258)
        at 
org.apache.tapestry5.ioc.internal.util.ConstructionPlan.createObject(ConstructionPlan.java:61)
        at 
org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:62)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:47)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)
        at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)
        at 
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1258)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:51)
        at 
org.apache.tapestry5.ioc.internal.services.PerthreadManagerImpl$3.createObject(PerthreadManagerImpl.java:170)
        at $ClientPersistentFieldStorage_86ce53a67e06.delegate(Unknown Source)
        at $ClientPersistentFieldStorage_86ce53a67e06.discardChanges(Unknown 
Source)
        at $ClientPersistentFieldStorage_86ce53a67e04.discardChanges(Unknown 
Source)
        at 
org.apache.tapestry5.internal.services.ClientPersistentFieldStrategy.discardChanges(ClientPersistentFieldStrategy.java:58)
        at $PersistentFieldStrategy_86ce53a67e02.discardChanges(Unknown Source)
        at 
org.apache.tapestry5.internal.services.PersistentFieldManagerImpl.discardChanges(PersistentFieldManagerImpl.java:72)
        at $PersistentFieldManager_86ce53a67d62.discardChanges(Unknown Source)
        at 
org.apache.tapestry5.internal.structure.PageImpl.discardPersistentFieldChanges(PageImpl.java:275)
        at 
org.tynamo.services.TynamoCoreModule$2.advise(TynamoCoreModule.java:357)
        at 
org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:92)
        at $PageResponseRenderer_86ce53a67df7.renderPageResponse(Unknown Source)
        at $PageResponseRenderer_86ce53a67d56.renderPageResponse(Unknown Source)
        at 
org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.renderException(DefaultRequestExceptionHandler.java:261)
        at 
org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:170)
        at $RequestExceptionHandler_86ce53a67d14.handleRequestException(Unknown 
Source)
        at 
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:42)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at 
org.apache.tapestry5.modules.TapestryModule$3.service(TapestryModule.java:854)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at 
org.apache.tapestry5.modules.TapestryModule$2.service(TapestryModule.java:844)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at 
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:89)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95)
        at 
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at $RequestHandler_86ce53a67cda.service(Unknown Source)
        at 
org.apache.tapestry5.modules.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:255)
        at 
org.tynamo.security.services.impl.SecurityConfiguration$1.call(SecurityConfiguration.java:56)
        at 
org.tynamo.security.services.impl.SecurityConfiguration$1.call(SecurityConfiguration.java:54)
        at 
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
        at 
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
        at 
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
        ... 31 more
Caused by: java.lang.RuntimeException: Error invoking constructor public 
org.apache.tapestry5.internal.services.ClientPersistentFieldStorageImpl(org.apache.tapestry5.services.Request,org.apache.tapestry5.services.ClientDataEncoder,org.apache.tapestry5.services.SessionPersistedObjectAnalyzer):
 java.lang.NullPointerException
        at 
org.apache.tapestry5.ioc.internal.util.ConstructorInvoker.invoke(ConstructorInvoker.java:59)
        at 
org.apache.tapestry5.ioc.internal.util.LoggingInvokableWrapper.invoke(LoggingInvokableWrapper.java:43)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)
        ... 76 more
Caused by: java.lang.NullPointerException
        at org.mortbay.jetty.Request.getParameter(Request.java:860)
        at 
javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:169)
        at 
org.apache.tapestry5.internal.services.RequestImpl.getParameter(RequestImpl.java:74)
        at $Request_86ce53a67d2c.getParameter(Unknown Source)
        at $Request_86ce53a67cb6.getParameter(Unknown Source)
        at 
org.apache.tapestry5.internal.services.ClientPersistentFieldStorageImpl.<init>(ClientPersistentFieldStorageImpl.java:124)
        at sun.reflect.GeneratedConstructorAccessor104.newInstance(Unknown 
Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown 
Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at 
org.apache.tapestry5.ioc.internal.util.ConstructorInvoker.invoke(ConstructorInvoker.java:50)
        ... 78 more

Caused by:org.apache.tapestry5.ioc.internal.OperationException: Error invoking 
constructor public 
org.apache.tapestry5.internal.services.ClientPersistentFieldStorageImpl(org.apache.tapestry5.services.Request,org.apache.tapestry5.services.ClientDataEncoder,org.apache.tapestry5.services.SessionPersistedObjectAnalyzer):
 java.lang.NullPointerException
        at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.logAndRethrow(OperationTrackerImpl.java:184)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:90)
        at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)
        at 
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1258)
        at 
org.apache.tapestry5.ioc.internal.util.ConstructionPlan.createObject(ConstructionPlan.java:61)
        at 
org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:62)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:47)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)
        at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)
        at 
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1258)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:51)
        at 
org.apache.tapestry5.ioc.internal.services.PerthreadManagerImpl$3.createObject(PerthreadManagerImpl.java:170)
        at $ClientPersistentFieldStorage_86ce53a67e06.delegate(Unknown Source)
        at $ClientPersistentFieldStorage_86ce53a67e06.discardChanges(Unknown 
Source)
        at $ClientPersistentFieldStorage_86ce53a67e04.discardChanges(Unknown 
Source)
        at 
org.apache.tapestry5.internal.services.ClientPersistentFieldStrategy.discardChanges(ClientPersistentFieldStrategy.java:58)
        at $PersistentFieldStrategy_86ce53a67e02.discardChanges(Unknown Source)
        at 
org.apache.tapestry5.internal.services.PersistentFieldManagerImpl.discardChanges(PersistentFieldManagerImpl.java:72)
        at $PersistentFieldManager_86ce53a67d62.discardChanges(Unknown Source)
        at 
org.apache.tapestry5.internal.structure.PageImpl.discardPersistentFieldChanges(PageImpl.java:275)
        at 
org.tynamo.services.TynamoCoreModule$2.advise(TynamoCoreModule.java:357)
        at 
org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:92)
        at $PageResponseRenderer_86ce53a67df7.renderPageResponse(Unknown Source)
        at $PageResponseRenderer_86ce53a67d56.renderPageResponse(Unknown Source)
        at 
org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.renderException(DefaultRequestExceptionHandler.java:261)
        at 
org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:170)
        at $RequestExceptionHandler_86ce53a67d14.handleRequestException(Unknown 
Source)
        at 
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:42)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at 
org.apache.tapestry5.modules.TapestryModule$3.service(TapestryModule.java:854)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at 
org.apache.tapestry5.modules.TapestryModule$2.service(TapestryModule.java:844)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at 
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:89)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95)
        at 
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at $RequestHandler_86ce53a67cda.service(Unknown Source)
        at 
org.apache.tapestry5.modules.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:255)
        at 
org.tynamo.security.services.impl.SecurityConfiguration$1.call(SecurityConfiguration.java:56)
        at 
org.tynamo.security.services.impl.SecurityConfiguration$1.call(SecurityConfiguration.java:54)
        at 
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
        at 
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
        at 
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
        at 
org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:54)
        at $HttpServletRequestFilter_86ce53a67cd9.service(Unknown Source)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at 
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:45)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at 
org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:59)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at 
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
        at $HttpServletRequestFilter_86ce53a67cd5.service(Unknown Source)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at 
org.apache.tapestry5.modules.TapestryModule$1.service(TapestryModule.java:804)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at $HttpServletRequestHandler_86ce53a67cd4.service(Unknown Source)
        at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:166)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
        at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
        at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
        at 
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
        at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.lang.RuntimeException: Error invoking constructor public 
org.apache.tapestry5.internal.services.ClientPersistentFieldStorageImpl(org.apache.tapestry5.services.Request,org.apache.tapestry5.services.ClientDataEncoder,org.apache.tapestry5.services.SessionPersistedObjectAnalyzer):
 java.lang.NullPointerException
        at 
org.apache.tapestry5.ioc.internal.util.ConstructorInvoker.invoke(ConstructorInvoker.java:59)
        at 
org.apache.tapestry5.ioc.internal.util.LoggingInvokableWrapper.invoke(LoggingInvokableWrapper.java:43)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)
        ... 76 more
Caused by: java.lang.NullPointerException
        at org.mortbay.jetty.Request.getParameter(Request.java:860)
        at 
javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:169)
        at 
org.apache.tapestry5.internal.services.RequestImpl.getParameter(RequestImpl.java:74)
        at $Request_86ce53a67d2c.getParameter(Unknown Source)
        at $Request_86ce53a67cb6.getParameter(Unknown Source)
        at 
org.apache.tapestry5.internal.services.ClientPersistentFieldStorageImpl.<init>(ClientPersistentFieldStorageImpl.java:124)
        at sun.reflect.GeneratedConstructorAccessor104.newInstance(Unknown 
Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown 
Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at 
org.apache.tapestry5.ioc.internal.util.ConstructorInvoker.invoke(ConstructorInvoker.java:50)
        ... 78 more

Caused by:java.lang.RuntimeException: Error invoking constructor public 
org.apache.tapestry5.internal.services.ClientPersistentFieldStorageImpl(org.apache.tapestry5.services.Request,org.apache.tapestry5.services.ClientDataEncoder,org.apache.tapestry5.services.SessionPersistedObjectAnalyzer):
 java.lang.NullPointerException
        at 
org.apache.tapestry5.ioc.internal.util.ConstructorInvoker.invoke(ConstructorInvoker.java:59)
        at 
org.apache.tapestry5.ioc.internal.util.LoggingInvokableWrapper.invoke(LoggingInvokableWrapper.java:43)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)
        at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)
        at 
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1258)
        at 
org.apache.tapestry5.ioc.internal.util.ConstructionPlan.createObject(ConstructionPlan.java:61)
        at 
org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:62)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:47)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)
        at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)
        at 
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1258)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:51)
        at 
org.apache.tapestry5.ioc.internal.services.PerthreadManagerImpl$3.createObject(PerthreadManagerImpl.java:170)
        at $ClientPersistentFieldStorage_86ce53a67e06.delegate(Unknown Source)
        at $ClientPersistentFieldStorage_86ce53a67e06.discardChanges(Unknown 
Source)
        at $ClientPersistentFieldStorage_86ce53a67e04.discardChanges(Unknown 
Source)
        at 
org.apache.tapestry5.internal.services.ClientPersistentFieldStrategy.discardChanges(ClientPersistentFieldStrategy.java:58)
        at $PersistentFieldStrategy_86ce53a67e02.discardChanges(Unknown Source)
        at 
org.apache.tapestry5.internal.services.PersistentFieldManagerImpl.discardChanges(PersistentFieldManagerImpl.java:72)
        at $PersistentFieldManager_86ce53a67d62.discardChanges(Unknown Source)
        at 
org.apache.tapestry5.internal.structure.PageImpl.discardPersistentFieldChanges(PageImpl.java:275)
        at 
org.tynamo.services.TynamoCoreModule$2.advise(TynamoCoreModule.java:357)
        at 
org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:92)
        at $PageResponseRenderer_86ce53a67df7.renderPageResponse(Unknown Source)
        at $PageResponseRenderer_86ce53a67d56.renderPageResponse(Unknown Source)
        at 
org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.renderException(DefaultRequestExceptionHandler.java:261)
        at 
org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:170)
        at $RequestExceptionHandler_86ce53a67d14.handleRequestException(Unknown 
Source)
        at 
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:42)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at 
org.apache.tapestry5.modules.TapestryModule$3.service(TapestryModule.java:854)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at 
org.apache.tapestry5.modules.TapestryModule$2.service(TapestryModule.java:844)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at 
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:89)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95)
        at 
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at $RequestHandler_86ce53a67cda.service(Unknown Source)
        at 
org.apache.tapestry5.modules.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:255)
        at 
org.tynamo.security.services.impl.SecurityConfiguration$1.call(SecurityConfiguration.java:56)
        at 
org.tynamo.security.services.impl.SecurityConfiguration$1.call(SecurityConfiguration.java:54)
        at 
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
        at 
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
        at 
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
        at 
org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:54)
        at $HttpServletRequestFilter_86ce53a67cd9.service(Unknown Source)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at 
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:45)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at 
org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:59)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at 
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
        at $HttpServletRequestFilter_86ce53a67cd5.service(Unknown Source)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at 
org.apache.tapestry5.modules.TapestryModule$1.service(TapestryModule.java:804)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at $HttpServletRequestHandler_86ce53a67cd4.service(Unknown Source)
        at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:166)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
        at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
        at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
        at 
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
        at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
Caused by: java.lang.NullPointerException
        at org.mortbay.jetty.Request.getParameter(Request.java:860)
        at 
javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:169)
        at 
org.apache.tapestry5.internal.services.RequestImpl.getParameter(RequestImpl.java:74)
        at $Request_86ce53a67d2c.getParameter(Unknown Source)
        at $Request_86ce53a67cb6.getParameter(Unknown Source)
        at 
org.apache.tapestry5.internal.services.ClientPersistentFieldStorageImpl.<init>(ClientPersistentFieldStorageImpl.java:124)
        at sun.reflect.GeneratedConstructorAccessor104.newInstance(Unknown 
Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown 
Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at 
org.apache.tapestry5.ioc.internal.util.ConstructorInvoker.invoke(ConstructorInvoker.java:50)
        ... 78 more

Caused by:java.lang.NullPointerException
        at org.mortbay.jetty.Request.getParameter(Request.java:860)
        at 
javax.servlet.ServletRequestWrapper.getParameter(ServletRequestWrapper.java:169)
        at 
org.apache.tapestry5.internal.services.RequestImpl.getParameter(RequestImpl.java:74)
        at $Request_86ce53a67d2c.getParameter(Unknown Source)
        at $Request_86ce53a67cb6.getParameter(Unknown Source)
        at 
org.apache.tapestry5.internal.services.ClientPersistentFieldStorageImpl.<init>(ClientPersistentFieldStorageImpl.java:124)
        at sun.reflect.GeneratedConstructorAccessor104.newInstance(Unknown 
Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown 
Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at 
org.apache.tapestry5.ioc.internal.util.ConstructorInvoker.invoke(ConstructorInvoker.java:50)
        at 
org.apache.tapestry5.ioc.internal.util.LoggingInvokableWrapper.invoke(LoggingInvokableWrapper.java:43)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)
        at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)
        at 
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1258)
        at 
org.apache.tapestry5.ioc.internal.util.ConstructionPlan.createObject(ConstructionPlan.java:61)
        at 
org.apache.tapestry5.ioc.internal.ConstructorServiceCreator.createObject(ConstructorServiceCreator.java:62)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator$1.invoke(OperationTrackingObjectCreator.java:47)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:82)
        at 
org.apache.tapestry5.ioc.internal.PerThreadOperationTracker.invoke(PerThreadOperationTracker.java:72)
        at 
org.apache.tapestry5.ioc.internal.RegistryImpl.invoke(RegistryImpl.java:1258)
        at 
org.apache.tapestry5.ioc.internal.OperationTrackingObjectCreator.createObject(OperationTrackingObjectCreator.java:51)
        at 
org.apache.tapestry5.ioc.internal.services.PerthreadManagerImpl$3.createObject(PerthreadManagerImpl.java:170)
        at $ClientPersistentFieldStorage_86ce53a67e06.delegate(Unknown Source)
        at $ClientPersistentFieldStorage_86ce53a67e06.discardChanges(Unknown 
Source)
        at $ClientPersistentFieldStorage_86ce53a67e04.discardChanges(Unknown 
Source)
        at 
org.apache.tapestry5.internal.services.ClientPersistentFieldStrategy.discardChanges(ClientPersistentFieldStrategy.java:58)
        at $PersistentFieldStrategy_86ce53a67e02.discardChanges(Unknown Source)
        at 
org.apache.tapestry5.internal.services.PersistentFieldManagerImpl.discardChanges(PersistentFieldManagerImpl.java:72)
        at $PersistentFieldManager_86ce53a67d62.discardChanges(Unknown Source)
        at 
org.apache.tapestry5.internal.structure.PageImpl.discardPersistentFieldChanges(PageImpl.java:275)
        at 
org.tynamo.services.TynamoCoreModule$2.advise(TynamoCoreModule.java:357)
        at 
org.apache.tapestry5.internal.plastic.AbstractMethodInvocation.proceed(AbstractMethodInvocation.java:92)
        at $PageResponseRenderer_86ce53a67df7.renderPageResponse(Unknown Source)
        at $PageResponseRenderer_86ce53a67d56.renderPageResponse(Unknown Source)
        at 
org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.renderException(DefaultRequestExceptionHandler.java:261)
        at 
org.apache.tapestry5.internal.services.DefaultRequestExceptionHandler.handleRequestException(DefaultRequestExceptionHandler.java:170)
        at $RequestExceptionHandler_86ce53a67d14.handleRequestException(Unknown 
Source)
        at 
org.apache.tapestry5.internal.services.RequestErrorFilter.service(RequestErrorFilter.java:42)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at 
org.apache.tapestry5.modules.TapestryModule$3.service(TapestryModule.java:854)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at 
org.apache.tapestry5.modules.TapestryModule$2.service(TapestryModule.java:844)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at 
org.apache.tapestry5.internal.services.StaticFilesFilter.service(StaticFilesFilter.java:89)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:105)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter$2.invoke(CheckForUpdatesFilter.java:95)
        at 
org.apache.tapestry5.ioc.internal.util.ConcurrentBarrier.withRead(ConcurrentBarrier.java:85)
        at 
org.apache.tapestry5.internal.services.CheckForUpdatesFilter.service(CheckForUpdatesFilter.java:119)
        at $RequestHandler_86ce53a67d16.service(Unknown Source)
        at $RequestHandler_86ce53a67cda.service(Unknown Source)
        at 
org.apache.tapestry5.modules.TapestryModule$HttpServletRequestHandlerTerminator.service(TapestryModule.java:255)
        at 
org.tynamo.security.services.impl.SecurityConfiguration$1.call(SecurityConfiguration.java:56)
        at 
org.tynamo.security.services.impl.SecurityConfiguration$1.call(SecurityConfiguration.java:54)
        at 
org.apache.shiro.subject.support.SubjectCallable.doCall(SubjectCallable.java:90)
        at 
org.apache.shiro.subject.support.SubjectCallable.call(SubjectCallable.java:83)
        at 
org.apache.shiro.subject.support.DelegatingSubject.execute(DelegatingSubject.java:383)
        at 
org.tynamo.security.services.impl.SecurityConfiguration.service(SecurityConfiguration.java:54)
        at $HttpServletRequestFilter_86ce53a67cd9.service(Unknown Source)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at 
org.apache.tapestry5.upload.internal.services.MultipartServletRequestFilter.service(MultipartServletRequestFilter.java:45)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at 
org.apache.tapestry5.internal.gzip.GZipFilter.service(GZipFilter.java:59)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at 
org.apache.tapestry5.internal.services.IgnoredPathsFilter.service(IgnoredPathsFilter.java:62)
        at $HttpServletRequestFilter_86ce53a67cd5.service(Unknown Source)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at 
org.apache.tapestry5.modules.TapestryModule$1.service(TapestryModule.java:804)
        at $HttpServletRequestHandler_86ce53a67cdc.service(Unknown Source)
        at $HttpServletRequestHandler_86ce53a67cd4.service(Unknown Source)
        at org.apache.tapestry5.TapestryFilter.doFilter(TapestryFilter.java:166)
        at 
org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1212)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:399)
        at 
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
        at 
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:182)
        at 
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:450)
        at 
org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
        at 
org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
        at 
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:326)
        at 
org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:542)
        at 
org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:945)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:756)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:218)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:404)
        at 
org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:410)
        at 
org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)

Powered by Jetty://
                                                

                                                

                                                

    /**
     * Now you instrumented this as follows...
     * 
     * Roles and Permissions have been statically hardwired. Normally they are
     * transient but static. I store mine in the database and re-populate shiro
     * with whats in the database... after they are already in place as
     * original.
     * 
     * So I shove them back into shiro after bootstrap.
     * 
     * @param configuration
     * @param factory
     */
    public static void contributeSecurityConfiguration(
            Configuration<SecurityFilterChain> configuration,
            SecurityFilterChainFactory factory) {

        // assets
        configuration.add(factory.createChain("/assets/**").add(factory.anon())
                .build());

        // pages accessible without authentication treated as anonymous
        configuration.add(factory.createChain("/login").add(factory.anon())
                .build());
        configuration.add(factory.createChain("/home").add(factory.anon())
                .build());
        configuration.add(factory.createChain("/show").add(factory.anon())
                .build());
        configuration.add(factory.createChain("/list").add(factory.anon())
                .build());
        configuration.add(factory.createChain("/contact").add(factory.anon())
                .build());
        configuration.add(factory.createChain("/about").add(factory.anon())
                .build());
        
        // force all usersz to authenticate
        // bug hangs -      
configuration.add(factory.createChain("/**").add(factory.user()).build());

        // users
        configuration.add(factory.createChain("/user/administrator")
                .add(factory.user(), "administrator:administrator").build());
        configuration.add(factory.createChain("/user/anonymous")
                .add(factory.user(), "anonymous:anonymous").build());

        // roles
        configuration.add(factory.createChain("/roles/administrator/**")
                .add(factory.roles(), "administrator").build());
        configuration.add(factory.createChain("/roles/anonymous/**")
                .add(factory.roles(), "anonymous").build());

        // permissions
        configuration.add(factory.createChain("/perms/create/**")
                .add(factory.perms(), "*:create:*").build());
        configuration.add(factory.createChain("/perms/read/**")
                .add(factory.perms(), "*:read:*").build());
        configuration.add(factory.createChain("/perms/update/**")
                .add(factory.perms(), "*:update:*").build());
        configuration.add(factory.createChain("/perms/delete/**")
                .add(factory.perms(), "*:delete:*").build());

        // 
configuration.add(factory.createChain("/**").add(factory.authc()).build());
        // // force whole app to authenticate
    }

                                                

                                                

                                                

                                                

                                                

                                                

                                          

Reply via email to