GeoTools
  1. GeoTools
  2. GEOT-2783

WFS 1.0 DataStore does not handle FastBBOX from renderer

    Details

      Description

      From testing - everything is looking okay; except for WFS Editing - looks like a change on the geotools side to me? Or a change in what the renderer is sending to the WFS DataStore?

      Investigation shows that the renderer is now using a FastBBOX construct which does not support the old filter api that WFSDataStore 1.0 is using.

      Actions:

      • either support old api in FastBBOX; or
      • update WFSDataStore 1.0 to use the new filter api

      Stack trace:

      net.refractions.udig.project.render.RenderException: Problem
      rendering: Exception rendering layer DefaultMapLayer[ Test, VISIBLE,
      UNSELECTED, style=StyleImpl[ name=Default Styler],
      data=net.refractions.udig.project.internal.impl.UDIGFeatureStore@1b3409f,
      query=Query: [Request All Features]
      feature type: null
      filter: Filter.INCLUDE
      [properties: ALL ]]
      at net.refractions.udig.render.internal.feature.basic.BasicFeatureRenderer.render(BasicFeatureRenderer.java:368)
      at net.refractions.udig.render.internal.feature.basic.BasicFeatureRenderer.render(BasicFeatureRenderer.java:213)
      at net.refractions.udig.project.internal.render.impl.RenderJob.startRendering(RenderJob.java:108)
      at net.refractions.udig.project.internal.render.impl.RenderJob.run(RenderJob.java:213)
      at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)
      Caused by: java.lang.Exception: Exception rendering layer
      DefaultMapLayer[ Test, VISIBLE, UNSELECTED, style=StyleImpl[
      name=Default Styler],
      data=net.refractions.udig.project.internal.impl.UDIGFeatureStore@1b3409f,
      query=Query: [Request All Features]
      feature type: null
      filter: Filter.INCLUDE
      [properties: ALL ]]
      at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:679)
      at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:501)
      at net.refractions.udig.render.internal.feature.basic.BasicFeatureRenderer.render(BasicFeatureRenderer.java:340)
      ... 4 more
      Caused by: java.lang.ClassCastException:
      org.geotools.renderer.lite.FastBBOX cannot be cast to
      org.geotools.filter.Filter
      at org.geotools.filter.Filters.accept(Filters.java:262)
      at org.geotools.data.wfs.v1_0_0.NonStrictWFSStrategy.correctFilterForServer(NonStrictWFSStrategy.java:213)
      at org.geotools.data.wfs.v1_0_0.NonStrictWFSStrategy.getFeatureReader(NonStrictWFSStrategy.java:69)
      at org.geotools.data.wfs.v1_0_0.WFS_1_0_0_DataStore.getFeatureReader(WFS_1_0_0_DataStore.java:729)
      at org.geotools.data.DefaultFeatureResults.reader(DefaultFeatureResults.java:210)
      at org.geotools.data.store.DataFeatureCollection.openIterator(DataFeatureCollection.java:224)
      at org.geotools.data.store.DataFeatureCollection.iterator(DataFeatureCollection.java:194)
      at org.geotools.renderer.lite.StreamingRenderer.drawOptimized(StreamingRenderer.java:1796)
      at org.geotools.renderer.lite.StreamingRenderer.processStylers(StreamingRenderer.java:1730)
      at org.geotools.renderer.lite.StreamingRenderer.paint(StreamingRenderer.java:675)
      ... 6 more

        Activity

        Hide
        Gabriel Roldan added a comment -
        Jody, can you test if my commit at r34148 works for you?
        Of the two proposed alternatives above I'm not happy with any, so I went with a plain hack on WFS 1.0 DataStore.
        Rationaly being I don't want to pollute new stuff with deprecated filter stuff nor I'm planning to port the _current_ WFS 1.0 datastore to the new filter interfaces, as it'd be too much work and the actual thing to do in the module is to port the whole WFS 1.0 DS to the new design used for 1.1
        Show
        Gabriel Roldan added a comment - Jody, can you test if my commit at r34148 works for you? Of the two proposed alternatives above I'm not happy with any, so I went with a plain hack on WFS 1.0 DataStore. Rationaly being I don't want to pollute new stuff with deprecated filter stuff nor I'm planning to port the _current_ WFS 1.0 datastore to the new filter interfaces, as it'd be too much work and the actual thing to do in the module is to port the whole WFS 1.0 DS to the new design used for 1.1
        Hide
        Jody Garnett added a comment -
        Good news Gabriel; it worked - I can render and edit again!
        Show
        Jody Garnett added a comment - Good news Gabriel; it worked - I can render and edit again!

          People

          • Assignee:
            Unassigned
            Reporter:
            Jody Garnett
          • Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved: