I want to prevent the use of HTTP VERB annotations in order to force  
sub-classes to respond with specific class types via abstract methods  
that I prototype in a base class. I marked the isAnnotated() method as  
@Override and final and returned false. However, when it returns false  
I get the following error:

java.lang.NullPointerException
        at  
org 
.restlet 
.engine.resource.AnnotationUtils.getAnnotation(AnnotationUtils.java:106)
        at  
org.restlet.resource.ServerResource.getAnnotation(ServerResource.java: 
649)
        at org.restlet.resource.ServerResource.doHandle(ServerResource.java: 
329)
        at  
org 
.restlet 
.resource.ServerResource.doNegotiatedHandle(ServerResource.java:592)
        at  
org 
.restlet 
.resource.ServerResource.doConditionalHandle(ServerResource.java:260)
        at org.restlet.resource.ServerResource.handle(ServerResource.java:921)
        at  
com.h9labs.vangaea.server.rest.BaseResource.handle(BaseResource.java: 
159)
        at org.restlet.resource.Finder.handle(Finder.java:510)
        at org.restlet.routing.Filter.doHandle(Filter.java:156)
        at org.restlet.routing.Filter.handle(Filter.java:201)
        at org.restlet.routing.Router.handle(Router.java:490)
        at org.restlet.routing.Filter.doHandle(Filter.java:156)
        at org.restlet.routing.Filter.handle(Filter.java:201)
        at org.restlet.routing.Filter.doHandle(Filter.java:156)
        at org.restlet.routing.Filter.handle(Filter.java:201)
        at org.restlet.routing.Filter.doHandle(Filter.java:156)
        at  
org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java: 
153)
        at org.restlet.routing.Filter.handle(Filter.java:201)
        at org.restlet.routing.Filter.doHandle(Filter.java:156)
        at org.restlet.routing.Filter.handle(Filter.java:201)
        at org.restlet.engine.ChainHelper.handle(ChainHelper.java:111)
        at  
org 
.restlet 
.engine.application.ApplicationHelper.handle(ApplicationHelper.java:71)
        at org.restlet.Application.handle(Application.java:396)
        at org.restlet.routing.Filter.doHandle(Filter.java:156)
        at org.restlet.routing.Filter.handle(Filter.java:201)
        at org.restlet.routing.Router.handle(Router.java:490)
        at org.restlet.routing.Filter.doHandle(Filter.java:156)
        at org.restlet.routing.Filter.handle(Filter.java:201)
        at org.restlet.routing.Router.handle(Router.java:490)
        at org.restlet.routing.Filter.doHandle(Filter.java:156)
        at org.restlet.routing.Filter.handle(Filter.java:201)
        at org.restlet.engine.ChainHelper.handle(ChainHelper.java:111)
        at org.restlet.Component.handle(Component.java:397)
        at org.restlet.Server.handle(Server.java:350)
        at org.restlet.engine.ServerHelper.handle(ServerHelper.java:71)
        at  
org.restlet.engine.http.HttpServerHelper.handle(HttpServerHelper.java: 
149)
        at org.restlet.ext.servlet.ServerServlet.service(ServerServlet.java: 
932)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
        at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java: 
487)
        at  
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)
        at  
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 
216)
        at  
org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
        at  
org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java: 
216)
        at  
org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:729)
        at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java: 
405)
        at  
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at  
org 
.mortbay.jetty.handler.RequestLogHandler.handle(RequestLogHandler.java: 
49)
        at  
org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
        at org.mortbay.jetty.Server.handle(Server.java:324)
        at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java: 
505)
        at org.mortbay.jetty.HttpConnection 
$RequestHandler.headerComplete(HttpConnection.java:829)
        at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:513)
        at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
        at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
        at  
org 
.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java: 
395)
        at org.mortbay.thread.QueuedThreadPool 
$PoolThread.run(QueuedThreadPool.java:488)
-- 
-a

"Ideally, a code library must be immediately usable by naive  
developers, easily customized by more sophisticated developers, and  
readily extensible by experts." -- L. Stein

------------------------------------------------------
http://restlet.tigris.org/ds/viewMessage.do?dsForumId=4447&dsMessageId=2365418

Reply via email to