Uploaded image for project: 'Wiki Editor Tools'
  1. Wiki Editor Tools
  2. WIKIEDITOR-18

NPE when the velocity context variable on which we want methods autocompletions does not exist

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 3.0
    • 2.2
    • None
    • None

    Description

      To reproduce:

      1. Try to autocomplete after "$foo."
      2. Since "foo" does not exist in the velocity context, there is no class for which to get the list of methods.
      3. The autocompletion request fails with a "500 Server Error" and the server console prints:
        Apr 20, 2015 1:00:08 PM org.restlet.engine.application.StatusFilter doHandle
        WARNING: Exception or error caught in status service
        java.lang.NullPointerException
                at org.xwiki.editor.tool.autocomplete.internal.AutoCompletionResource.getHintsForMethodCall(AutoCompletionResource.java:219)
                at org.xwiki.editor.tool.autocomplete.internal.AutoCompletionResource.getHints(AutoCompletionResource.java:186)
                at org.xwiki.editor.tool.autocomplete.internal.AutoCompletionResource.getAutoCompletionHints(AutoCompletionResource.java:118)
                at sun.reflect.GeneratedMethodAccessor888.invoke(Unknown Source)
                at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
                at java.lang.reflect.Method.invoke(Method.java:606)
                at org.restlet.ext.jaxrs.internal.wrappers.AbstractMethodWrapper.internalInvoke(AbstractMethodWrapper.java:171)
                at org.restlet.ext.jaxrs.internal.wrappers.ResourceMethod.invoke(ResourceMethod.java:291)
                at org.restlet.ext.jaxrs.JaxRsRestlet.invokeMethod(JaxRsRestlet.java:1043)
                at org.restlet.ext.jaxrs.JaxRsRestlet.handle(JaxRsRestlet.java:792)
                at org.restlet.routing.Filter.doHandle(Filter.java:159)
                at org.restlet.routing.Filter.handle(Filter.java:206)
                at org.restlet.routing.Router.doHandle(Router.java:500)
                at org.restlet.routing.Router.handle(Router.java:740)
                at org.restlet.routing.Filter.doHandle(Filter.java:159)
                at org.restlet.routing.Filter.handle(Filter.java:206)
                at org.restlet.routing.Filter.doHandle(Filter.java:159)
                at org.restlet.routing.Filter.handle(Filter.java:206)
                at org.restlet.routing.Filter.doHandle(Filter.java:159)
                at org.restlet.routing.Filter.handle(Filter.java:206)
                at org.restlet.routing.Filter.doHandle(Filter.java:159)
                at org.restlet.routing.Filter.handle(Filter.java:206)
                at org.restlet.routing.Filter.doHandle(Filter.java:159)
                at org.restlet.engine.application.StatusFilter.doHandle(StatusFilter.java:154)
                at org.restlet.routing.Filter.handle(Filter.java:206)
                at org.restlet.routing.Filter.doHandle(Filter.java:159)
                at org.restlet.routing.Filter.handle(Filter.java:206)
                at org.restlet.engine.ChainHelper.handle(ChainHelper.java:114)
                at org.restlet.engine.application.ApplicationHelper.handle(ApplicationHelper.java:75)
                at org.restlet.Application.handle(Application.java:391)
                at org.restlet.routing.Filter.doHandle(Filter.java:159)
                at org.restlet.routing.Filter.handle(Filter.java:206)
                at org.restlet.routing.Router.doHandle(Router.java:500)
                at org.restlet.routing.Router.handle(Router.java:740)
                at org.restlet.routing.Filter.doHandle(Filter.java:159)
                at org.restlet.routing.Filter.handle(Filter.java:206)
                at org.restlet.routing.Router.doHandle(Router.java:500)
                at org.restlet.routing.Router.handle(Router.java:740)
                at org.restlet.routing.Filter.doHandle(Filter.java:159)
                at org.restlet.routing.Filter.handle(Filter.java:206)
                at org.restlet.engine.ChainHelper.handle(ChainHelper.java:114)
                at org.restlet.Component.handle(Component.java:391)
                at org.restlet.Server.handle(Server.java:491)
                at org.restlet.engine.ServerHelper.handle(ServerHelper.java:74)
                at org.restlet.engine.http.HttpServerHelper.handle(HttpServerHelper.java:153)
                at org.restlet.ext.servlet.ServerServlet.service(ServerServlet.java:1031)
                at javax.servlet.http.HttpServlet.service(HttpServlet.java:790)
                at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:769)
                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1667)
                at org.xwiki.wysiwyg.server.filter.XWikiContextInitializationFilter.doFilter(XWikiContextInitializationFilter.java:85)
                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
                at org.xwiki.container.servlet.filters.internal.SetHTTPHeaderFilter.doFilter(SetHTTPHeaderFilter.java:63)
                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
                at com.xpn.xwiki.plugin.webdav.XWikiDavFilter.doFilter(XWikiDavFilter.java:66)
                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
                at org.xwiki.container.servlet.filters.internal.SavedRequestRestorerFilter.doFilter(SavedRequestRestorerFilter.java:208)
                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
                at org.xwiki.container.servlet.filters.internal.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:111)
                at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1650)
                at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:583)
                at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143)
                at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577)
                at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223)
                at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1125)
                at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515)
                at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185)
                at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1059)
                at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
                at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:215)
                at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:110)
                at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97)
                at org.eclipse.jetty.server.Server.handle(Server.java:497)
                at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:311)
                at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:248)
                at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540)
                at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:610)
                at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:539)
                at java.lang.Thread.run(Thread.java:745)
        

      Attachments

        Activity

          People

            enygma Eduard Moraru
            enygma Eduard Moraru
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: