Exception with Web UI plugin
I'm seeing an exception when JazzTeamServer (3.0) attempts to access my custom editorPresentation, installed into the Web UI. I've stripped this down to the simplest possible plugin, basically a simple "hello world" Dojo javascript, but to no avail. When the plugin is absent from Tomcat, my custom attribute is shown as a simple text field. When the plugin is installed into Tomcat (via an update site in ccm), the custom attribute is still shown as a simple text field, but the log file shows an exception stack trace (below).
Can anyone point me to a "known good" sample Eclipse plugin project that has everything required to build a working Web UI extension, preferably one that provides an editorPresentation extension?
Also, any tips on getting more diagnostic logging for tracking down problems with Web UI plugins? I updated the log4j properties to max out logging, but still not seeing any clues as to what's going wrong (other than the stack trace below).
TIA
Roger
SEVERE: Servlet.service() for servlet equinoxbridgeservlet threw exception
java.lang.NullPointerException
at net.jazz.ajax.servlets.ResourceGraph.process(ResourceGraph.java:217)
at net.jazz.ajax.servlets.ResourceGraph.add(ResourceGraph.java:77)
at net.jazz.ajax.servlets.ResourceGraph.<init>(ResourceGraph.java:63)
at
net.jazz.ajax.servlets.ResourceGraphOperation.getResult(ResourceGraphOperation.java:58)
at net.jazz.ajax.internal.util.Cache.execute(Cache.java:69)
at
net.jazz.ajax.internal.util.CacheableOperation.execute(CacheableOperation.java:32)
at net.jazz.ajax.servlets.LoaderServlet.doPost(LoaderServlet.java:42)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at
org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at
org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120)
at
com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:420)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:811)
Can anyone point me to a "known good" sample Eclipse plugin project that has everything required to build a working Web UI extension, preferably one that provides an editorPresentation extension?
Also, any tips on getting more diagnostic logging for tracking down problems with Web UI plugins? I updated the log4j properties to max out logging, but still not seeing any clues as to what's going wrong (other than the stack trace below).
TIA
Roger
SEVERE: Servlet.service() for servlet equinoxbridgeservlet threw exception
java.lang.NullPointerException
at net.jazz.ajax.servlets.ResourceGraph.process(ResourceGraph.java:217)
at net.jazz.ajax.servlets.ResourceGraph.add(ResourceGraph.java:77)
at net.jazz.ajax.servlets.ResourceGraph.<init>(ResourceGraph.java:63)
at
net.jazz.ajax.servlets.ResourceGraphOperation.getResult(ResourceGraphOperation.java:58)
at net.jazz.ajax.internal.util.Cache.execute(Cache.java:69)
at
net.jazz.ajax.internal.util.CacheableOperation.execute(CacheableOperation.java:32)
at net.jazz.ajax.servlets.LoaderServlet.doPost(LoaderServlet.java:42)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:647)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at
org.eclipse.equinox.http.servlet.internal.ServletRegistration.handleRequest(ServletRegistration.java:90)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:111)
at
org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:59)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at
org.eclipse.equinox.servletbridge.BridgeServlet.service(BridgeServlet.java:120)
at
com.ibm.team.repository.server.servletbridge.JazzServlet.service(JazzServlet.java:62)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:269)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:188)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:172)
at
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:563)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117)
at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:420)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:174)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:879)
at
org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:665)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:528)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:81)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689)
at java.lang.Thread.run(Thread.java:811)
One answer
I'm seeing an exception when JazzTeamServer (3.0) attempts to access my custom editorPresentation, installed into the Web UI. I've stripped this down to the simplest possible plugin, basically a simple "hello world" Dojo javascript, but to no avail. When the plugin is absent from Tomcat, my custom attribute is shown as a simple text field. When the plugin is installed into Tomcat (via an update site in ccm), the custom attribute is still shown as a simple text field, but the log file shows an exception stack trace (below).
Can anyone point me to a "known good" sample Eclipse plugin project that has everything required to build a working Web UI extension, preferably one that provides an editorPresentation extension?
Also, any tips on getting more diagnostic logging for tracking down problems with Web UI plugins? I updated the log4j properties to max out logging, but still not seeing any clues as to what's going wrong (other than the stack trace below).
TIA
Roger
SEVERE: Servlet.service() for servlet equinoxbridgeservlet threw exception
java.lang.NullPointerException
at net.jazz.ajax.servlets.ResourceGraph.process(ResourceGraph.java:217)
at net.jazz.ajax.servlets.ResourceGraph.add(ResourceGraph.java:77)
at net.jazz.ajax.servlets.ResourceGraph.<init>(ResourceGraph.java:63)
at
net.jazz.ajax.servlets.ResourceGraphOperation.getResult(ResourceGraphOperation.java:58)
The exception points to a dependency issue. You may want to check the dojo.require statements in your implementation. It could be triggered by a dojo.require() to a non-existing resource.
For example of presentations, the com.ibm.team.workitem.web and ...apt.web plug-ins contain quite a few presentation implementations.
For logging: There is not much happening wrt presentations on the server, so log4j won't provide you with anything too helpful. Once you get past NPE, Firebug or WebInspector will help you the most.