Hello GeoToolers,

we found a horrible synchronization-Error in the WFS-Plugin caused by the
org.geotools.xml.gml.FCBuffer.

Our Consumer get features twice or features are overriden by FCCodeBuffer
before they are read from it.
We have to change the synchronized-block in addFeature and next Methods to
solve this issue.
I send the manipulated code to you.
Could anyone have a look at it and perhaps integrate the changes to the
codebase.

Thanks a lot 
Tim


    protected boolean addFeature(Feature f) {
        if (ft == null) {
            ft = f.getFeatureType();
        }

        if (size >= features.length) {
            return false;
        }
        
        synchronized (this) {
            notify();
        

                features[end] = f;
                end++;
        
                if (end == features.length) {
                    end = 0;
                }
        
                size++;
        }
        return true;
    }

    public Feature next()
        throws IOException, NoSuchElementException {
        if (exception != null) {
            state = STOP;
            IOException e = new IOException(exception.toString());
            e.initCause(exception);
            throw e;
        }

        Feature f = null;
        synchronized (this) {
                size--;
                 f = features[head++];
            notify();
        
        
                if (head == features.length) {
                    head = 0;
                }
        }
        return f;
    }

-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Geotools-devel mailing list
Geotools-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geotools-devel

Reply via email to