MassBank / MassBank-web

The web server application and directly connected components for a MassBank web server
14 stars 22 forks source link

Problems during processing of "peak differences" search result tables #260

Closed tsufz closed 4 years ago

tsufz commented 4 years ago

@meier-rene, the following issues have been reported for the Peak Differences Search:

  1. The input of a only a formula does result in a zero result page.
  2. The input of a m/z results in a results' list. On the first page, it is possible to open the single records. If you go back to the results and try to switch to second page, an exception error occurs:

HTTP Status 500 – Internal Server Error

Type Exception Report

Message An exception occurred processing [/Result.jsp] at line [841]

Beschreibung The server encountered an unexpected condition that prevented it from fulfilling the request.

Exception

org.apache.jasper.JasperException: An exception occurred processing [/Result.jsp] at line [841]

838:        records = new SearchExecution(request).exec(new PeakSearchByPeak());
839:    } else if (typeName.compareTo("diff") == 0) {
840:        //list = mbcommon.execDispatcherResult(typeName, request, conf);
841:        records = new SearchExecution(request).exec(new PeakSearchByPeakDifference());
842:    } else if (typeName.compareTo("inchikey") == 0) {
843:        records = new SearchExecution(request).exec(new QuickSearchByInChIKey());
844:    } else if (typeName.compareTo("splash") == 0) {

Stacktrace:
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:626)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:515)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

Root Cause

java.lang.NullPointerException
    massbank.web.peaksearch.PeakSearchByPeakDifference.getParameters(PeakSearchByPeakDifference.java:54)
    massbank.web.SearchExecution.exec(SearchExecution.java:23)
    org.apache.jsp.Result_jsp._jspService(Result_jsp.java:1084)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:71)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:477)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:385)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:329)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:733)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)

Hinweis Der komplette Stacktrace der Ursache ist in den Server logs zu finden
Apache Tomcat/9.0.37

View Search_Differences.zip for demonstration of the bug.

tsufz commented 4 years ago

I got feedback, this works now. Txs