GeoServer
  1. GeoServer
  2. GEOS-2383

NPE looking for templates on newly configured layers

    Details

    • Type: Bug Bug
    • Status: Closed Closed
    • Priority: Critical Critical
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 1.7.1
    • Component/s: Configuration
    • Labels:
      None
    • Number of attachments :
      0

      Description

      Trying to use any template based functionality on newly configured layers (tried with shapefiles) leads to this exception:

      13 nov 10:29:49 ERROR [geoserver.ows] - 
      java.lang.NullPointerException
      	at org.geoserver.template.GeoServerTemplateLoader.findTemplateSource(GeoServerTemplateLoader.java:140)
      	at freemarker.cache.TemplateCache.acquireTemplateSource(TemplateCache.java:600)
      	at freemarker.cache.TemplateCache.findTemplateSource(TemplateCache.java:576)
      	at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:347)
      	at freemarker.cache.TemplateCache.getTemplate(TemplateCache.java:235)
      	at freemarker.template.Configuration.getTemplate(Configuration.java:487)
      	at freemarker.template.Configuration.getTemplate(Configuration.java:452)
      	at org.vfny.geoserver.wms.responses.featureInfo.HTMLTableFeatureInfoResponse.getTemplate(HTMLTableFeatureInfoResponse.java:179)
      	at org.vfny.geoserver.wms.responses.featureInfo.HTMLTableFeatureInfoResponse.writeTo(HTMLTableFeatureInfoResponse.java:98)
      	at org.vfny.geoserver.wms.responses.GetFeatureInfoResponse.writeTo(GetFeatureInfoResponse.java:175)
      	at org.geoserver.ows.adapters.ResponseAdapter.write(ResponseAdapter.java:60)
      	at org.geoserver.ows.Dispatcher.response(Dispatcher.java:655)
      

      This is happening because the feature type reports as namespace URI just "topp" instead of the real URI.
      Forcing the catalog to reload by pressing "load" cures the issue. It's a regression, the old catalog reloaded each time it was saved and the issue was not as visible.

        Activity

        Hide
        Andrea Aime added a comment -

        Ok so yeah, the UI was putting the prefix into the "namespace" datastore connection parameter, and somehow that worked nevertheless, maybe the catalog was able to lookup a namespace by uri and prefix with the same call. Anyways, changed it so that the UI puts the URI right away.

        Show
        Andrea Aime added a comment - Ok so yeah, the UI was putting the prefix into the "namespace" datastore connection parameter, and somehow that worked nevertheless, maybe the catalog was able to lookup a namespace by uri and prefix with the same call. Anyways, changed it so that the UI puts the URI right away.
        Hide
        Andrea Aime added a comment -

        Fixed on 1.7.x and trunk

        Show
        Andrea Aime added a comment - Fixed on 1.7.x and trunk

          People

          • Assignee:
            Andrea Aime
            Reporter:
            Andrea Aime
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: