[ http://jira.codehaus.org/browse/UDIG-909?page=all ]
Jesse Eichar reopened UDIG-909:
-------------------------------
> LayerImpl.setFilter() and rendering concurrency problem
> -------------------------------------------------------
>
> Key: UDIG-909
> URL: http://jira.codehaus.org/browse/UDIG-909
> Project: uDIG
> Issue Type: Bug
> Components: map
> Affects Versions: UDIG 1.1.M7
> Environment: All platforms
> Reporter: Mark Presling
> Assigned To: Jesse Eichar
> Fix For: UDIG 1.1.RC3
>
>
> Note that this relates to code of uDig 1.1.M7 era, but I believe that it has
> not been resolved as of yet.
> When using LayerImpl.setFilter() to specify a filter for the SelectionLayer
> of a WFS layer there are occasionally concurrency issues with the renderer or
> FeatureSource/DataStore. Occasionally the SelectionLayer will be rendered
> with the underlying layers query and sometimes the main layer is rendered
> with the SelectionLayer query. This means that either only one feature will
> be rendered and highlighted (assuming the selection filter is for one
> feature) or all features will be rendered and highlighted.
> A simple fix for this is to change the renderer to synchronize the call to
> render():
> private void render(Graphics2D graphics, Envelope bounds,
> IProgressMonitor monitor) throws RenderException {
> synchronized (BasicFeatureRenderer.class) {
> unsafeRender(graphics, bounds, monitor);
> }
> }
>
> private void unsafeRender(Graphics2D graphics, Envelope bounds,
> IProgressMonitor monitor) throws RenderException {
> ... original render() code here ...
> }
> So, this shows that the issue is probably deeper down inside the GeoTools
> DataStore level. Because each instance of the renderer (the layer and the
> selection layer) has the same FeatureSource, and the queries to the GeoServer
> contains the same filter for both calls (as evident in the GeoServer logs).
> This issue took a long time to track down to this level. I have been unable
> to go deeper into the GeoTools stack to find the root cause. If more
> information is required please don't hesitate to ask.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel