mayocat-shop icon indicating copy to clipboard operation
mayocat-shop copied to clipboard

Make web context's theme and tenant optionals

Open jvelo opened this issue 11 years ago • 1 comments

The fact there are circumstances where the theme is null (it does not exists, or is invalid, or it's a manager or marketplace request) makes it easy to write code that generates NPE

ERROR [2014-01-22 15:25:33,298] com.yammer.dropwizard.jersey.LoggingExceptionMapper: Error handling a request: 571771a733713699
! java.lang.NullPointerException: null
! at org.mayocat.cms.pages.front.resource.PageResource.getPage(PageResource.java:96) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at sun.reflect.GeneratedMethodAccessor94.invoke(Unknown Source) ~[na:na]
! at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_51]
! at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_51]
! at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.mayocat.accounts.jersey.CheckTenantAndUserMethodDispatch$CheckValidTenantRequestDispatcher.dispatch(CheckTenantAndUserMethodDispatch.java:74) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.yammer.dropwizard.jersey.OptionalResourceMethodDispatchAdapter$OptionalRequestDispatcher.dispatch(OptionalResourceMethodDispatchAdapter.java:37) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.uri.rules.ResourceObjectRule.accept(ResourceObjectRule.java:100) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:669) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1448) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.yammer.dropwizard.servlets.ThreadNameFilter.doFilter(ThreadNameFilter.java:29) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.yammer.metrics.jetty.InstrumentedHandler.handle(InstrumentedHandler.java:200) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.handler.GzipHandler.handle(GzipHandler.java:264) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.yammer.dropwizard.jetty.BiDiGzipHandler.handle(BiDiGzipHandler.java:123) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.Server.handle(Server.java:368) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.nio.BlockingChannelConnector$BlockingChannelEndPoint.run(BlockingChannelConnector.java:298) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at java.lang.Thread.run(Thread.java:744) [na:1.7.0_51]

jvelo avatar Jan 22 '14 15:01 jvelo

Possibly related:

ERROR [2014-01-22 15:25:33,763] com.yammer.dropwizard.jersey.LoggingExceptionMapper: Error handling a request: a2033c1bd25a7a5c
! java.lang.NullPointerException: null
! at org.mayocat.theme.internal.DefaultThemeFileResolver.getResource(DefaultThemeFileResolver.java:124) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.mayocat.theme.internal.DefaultThemeFileResolver.getResource(DefaultThemeFileResolver.java:73) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.mayocat.shop.front.resources.ResourceResource.getResource(ResourceResource.java:59) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at sun.reflect.GeneratedMethodAccessor87.invoke(Unknown Source) ~[na:na]
! at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.7.0_51]
! at java.lang.reflect.Method.invoke(Method.java:606) ~[na:1.7.0_51]
! at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$ResponseOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:205) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.yammer.dropwizard.jersey.OptionalResourceMethodDispatchAdapter$OptionalRequestDispatcher.dispatch(OptionalResourceMethodDispatchAdapter.java:37) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.uri.rules.ResourceObjectRule.accept(ResourceObjectRule.java:100) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84) ~[mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1511) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1442) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1391) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1381) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:416) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:538) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:716) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at javax.servlet.http.HttpServlet.service(HttpServlet.java:848) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:669) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1448) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.yammer.dropwizard.servlets.ThreadNameFilter.doFilter(ThreadNameFilter.java:29) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1419) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:455) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1075) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:384) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1009) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.yammer.metrics.jetty.InstrumentedHandler.handle(InstrumentedHandler.java:200) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.handler.GzipHandler.handle(GzipHandler.java:264) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at com.yammer.dropwizard.jetty.BiDiGzipHandler.handle(BiDiGzipHandler.java:123) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:154) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.Server.handle(Server.java:368) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.BlockingHttpConnection.handleRequest(BlockingHttpConnection.java:53) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:942) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1004) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:640) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.BlockingHttpConnection.handle(BlockingHttpConnection.java:72) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.server.nio.BlockingChannelConnector$BlockingChannelEndPoint.run(BlockingChannelConnector.java:298) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:608) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]
! at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:543) [mayocat-shop-application-0.11-SNAPSHOT.jar:na]

jvelo avatar Jan 22 '14 15:01 jvelo