chenejac / VIVOTestMigrationJIRA

0 stars 0 forks source link

VIVO-1449: NullPointerException on invalid visualization #1343

Open chenejac opened 6 years ago

chenejac commented 6 years ago

Christian Hauschke (Migrated from VIVO-1449) said:

At least in current VIVOs a java.lang.NullPointerException is thrown when one tries to open an empty visualisation.

Easy to replicate by visiting [https://vivo.tib.eu/fis/vis/investigator-network/] or https://vivo.tib.eu/fis/vis/author-network/. Works at other VIVOs, too: https://scholars.cornell.edu/vis/author-network/.

  h1.  

chenejac commented 6 years ago

Jim Blake said:

It might make sense to call this the URL not of an "empty" visualization, but of an invalid one. I distinguish because this URL leads to an author-network of an author with no publications:

[https://scholars.cornell.edu/vis/author-network/jeb228]

This leads to an "empty" network, while the URL cited above leads to an author-network where no author is specified.

[https://scholars.cornell.edu/vis/author-network/]

For me, this raises the question: when someone asks for a network diagram based around no one, what response should be given?

chenejac commented 6 years ago

Christian Hauschke said:

Thanks, I changed the title of this issue.

chenejac commented 6 years ago

Jim Blake said:

At first, I was getting no stack trace on the exception. I tweaked the log4j.properties file, and got this:

java.lang.NullPointerException at java.util.concurrent.ConcurrentHashMap.get(ConcurrentHashMap.java:936) at edu.cornell.mannlib.vitro.webapp.visualization.coauthorship.CoAuthorshipQueryRunner.getCachedData(CoAuthorshipQueryRunner.java:503) at edu.cornell.mannlib.vitro.webapp.visualization.coauthorship.CoAuthorshipQueryRunner.getQueryResult(CoAuthorshipQueryRunner.java:494) at edu.cornell.mannlib.vitro.webapp.visualization.personlevel.PersonLevelRequestHandler.generateStandardVisualizationForPersonLevelVis(PersonLevelRequestHandler.java:158) at edu.cornell.mannlib.vitro.webapp.visualization.personlevel.PersonLevelRequestHandler.generateVisualizationForShortURLRequests(PersonLevelRequestHandler.java:95) at edu.cornell.mannlib.vitro.webapp.controller.visualization.ShortURLVisualizationController.renderVisualization(ShortURLVisualizationController.java:122) at edu.cornell.mannlib.vitro.webapp.controller.visualization.ShortURLVisualizationController.processRequest(ShortURLVisualizationController.java:84) at edu.cornell.mannlib.vitro.webapp.controller.freemarker.FreemarkerHttpServlet.doGet(FreemarkerHttpServlet.java:111

chenejac commented 6 years ago

Jim Blake said:

It looks like one approach would be to throw a MalformedQueryParametersException in the constructor of CoAuthorshipQueryRunner if egoURI is null or empty.

Or perhaps it would be cleaner to handle it in PersonLevelRequestHandler.