[udig-devel] Problem with FeatureCollection,
FeatureTableControl and CollectionListener
Ingmar Eveslage
eveslage at gmail.com
Fri Feb 15 02:40:36 PST 2008
Hi Jesse,
Am 15.02.2008 um 06:09 schrieb Jesse Eichar:
> Hi Ingmar,
>
> So I have a few points.
>
> 1. I think in the case of the Geometry column always being GEOMETRY
> isn't actually caused by createTemporaryResource(). I just
> checked. You can see the feature type of a layer by right click on
> a layer and viewing its properties.
> 2. I am dragging this out of the dark corners of my mind but if I
> remember correctly it is actually the FeatureTableControl that does
> that. For some reason the implementor decided to label the Geometry
> column GEOMETRY always. And I think it just displays the type of
> geometry.
OK. But this isnt a very good choice, because you get an exception
when you dont call your Attribute "GEOMETRY". Someone shoud create a
bug report to fix this.
> 3. A very minor point: You are getting LATLONG by using
> CRS.decode("EPSG"4326") this is not the most efficient way of doing
> it, at least for this version of uDig. I'd suggest
> DefaultGeographicCRS.WGS84.
Thanks for the hint.
> Now for your question about events. There are a few things you have
> to know.
>
> 1. Most events that are fired from feature operations will occur in
> a background thread so they cannot update the UI directly. Rather
> you have to run the update in the Display thread.
>
> The display thread can usually be obtained by:
> PlatformUI.getWorkbench().getDisplay();
>
> Now that you have the display you can run a runnable in the display
> thread using the method syncExec(runnable) or asyncExec(runnable).
>
> 2. To get a commit event from the FeatureStore is VERY hard right
> now, although we are fixing on uDig/Geotools trunk. So for the
> commit event I would suggest listening to the EditManager. For the
> individual edit events I would listen to the FeatureSource as you
> are doing.
Yes this helps. i will use the (a)syncExec(runnable) methods. i used
them before but i didnt remember. thanks
Ingmar
More information about the udig-devel
mailing list