|
| Summary: |
isActive property type causes NPE in ToursManager.java |
| Description: |
On a fresh 18.3.0 instance, install the GuidedTour app (and disable the existing Tour app).
When rendering the GuidedTour widget, an error message is shown. In the instance logs, this appears: {code:java} 2026-06-11 16:18:43,650 [qtp1025309396-253 - http://localhost:8090/xwiki/rest/guidedTour/tours] ERROR o.x.c.g.i.DefaultToursResource - Internal error: Tour API: retrieving all tours. java.lang.NullPointerException: Cannot invoke "java.lang.Boolean.booleanValue()" because the return value of "org.apache.solr.common.SolrDocument.getFirstValue(String)" is null at wiki:xwiki//org.xwiki.contrib.guidedtour.internal.ToursManager.getAllTours(ToursManager.java:138) at wiki:xwiki//org.xwiki.contrib.guidedtour.internal.DefaultToursResource.lambda$getAvailableTours$0(DefaultToursResource.java:52) at wiki:xwiki//org.xwiki.contrib.guidedtour.internal.AbstractGuidedTourResource.execute(AbstractGuidedTourResource.java:74) at wiki:xwiki//org.xwiki.contrib.guidedtour.internal.DefaultToursResource.getAvailableTours(DefaultToursResource.java:51) at java.base/jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103){code} The isActive property is apparently a int, not a boolean as expected.
TourProperty.java could be changed like this: {noformat} IS_ACTIVE("isActive", Integer.class.getSimpleName( "int" ) .toLowerCase()) {noformat} Or the property could be set forced to be boolean somehow in solr, idk how .
The app used to work fine, I'm not sure what changed. |
| Assignee: |
Brassat Alexandru |
|