I thought of another way to do it that confines the fix to
CSVFeatureWriter and does not involve any changes to
FilteringFeatureWriter. Much cleaner, IMO.
Still need to do remove and add...
Lee
On 5/12/2011 8:59 AM, lee-verizon wrote:
> ok, I came up with something that seems to work - in
> FilteringFeatureWriter>hasNext(), it is doing this:
>
> SimpleFeature peek;
> while (writer.hasNext()) {
> peek = writer.next();
> if (filter.evaluate(peek)) {
> next = peek;
> return true; // we have a match!
> }
> }
>
> I tweaked it like this:
>
> SimpleFeature peek;
> while (writer.hasNext()) {
> peek = writer.next();
> if (filter.evaluate(peek)) {
> next = peek;
> return true; // we have a match!
> } else {
> // TODO this should check the update flags
> writer.write(); // allow writer to deal with non-matched
> }
> }
>
> That fixed it for the CSV unit tests I've written, but I'm concerned
> that it will break other clients of FilteringFeatureWriter. I tried to
> run tests in other modules (e.g. jdbc-h2), but not sure I'm running
> the tests correctly.
>
> Lee
>
> On 5/11/2011 10:40 PM, lee-verizon wrote:
>> On 5/11/2011 7:36 PM, Jody Garnett wrote:
>>>
>>> On Thursday, 12 May 2011 at 10:30 AM, [email protected] wrote:
>>>
>>>> Sorry, I forgot to mention that I already did put in the
>>>> FilteringFeatureWriter and it works fine. Perhaps too fine.
>>> ? so that part works ?
>> Yes, worked first time. It delivers just the rows that match the filter.
>>>> Or maybe it just needs more work. I like the idea of chaining
>>>> together various wrapped writers, but I just don't see how the
>>>> current set of them can work.
>>> I may need to write you up some more of them; this is the first time
>>> ContentDataStore is being used for a file format after all.
>> Ah, I didn't realize this is still sortof work-in-progress. In that
>> case, I'll feel more 'free' to hack away.
>>>> Can we chat sometime on IM, or is that what IRC is for? I'm
>>>> traveling at the moment but should be online later tonight (I'm in
>>>> the US, west coast).
>>> IRC is good (#geotools channel - details in the user guide)
>> I think I just need to better understand the intent of the
>> FeatureWriter methods. It seems that clever combinations of next(),
>> hasNext(), and write() produce various behaviors. I'll go read the
>> docs again and look at AbstractDataStore for examples.
>>
>> Lee
>
------------------------------------------------------------------------------
Achieve unprecedented app performance and reliability
What every C/C++ and Fortran developer should know.
Learn how Intel has extended the reach of its next-generation tools
to help boost performance applications - inlcuding clusters.
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
Geotools-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/geotools-devel