[ 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

Reply via email to