Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [udig-devel] Problem with FeatureCollection, FeatureTableControl and CollectionListener


Am 15.02.2008 um 01:46 schrieb Jody Garnett:

Ingmar Eveslage wrote:
All seams fine, but i notices a few problems:

1) the automatic created column header for the AttributeType point is
"GEOMETRY". but i defined it as "Location". The first thing is a
nullPointerException if the FeatureTableControl wants to display a feature. When i change the name of my attributetype to "GEOMETRY" all is fine. But i
think this is a bug.

Interesting - that comes down to the data store used behind this method: - CatalogPlugin .getDefault ().getLocalCatalog().createTemporaryResource(stationFeatureType);

In general you should *not* trust the feature type to appear exactly as you asked for; different data store implementations have different abilities. Please grab the featureType from the created data store. One fork of GeoTools made use a of a seperate FeatureDefinition class for this purpose; to make what was going on more clear. That said we are making use of MemoryDataStore as far as I know and it should not force you to use GEOMETRY.
thats fair. now i know, why the name changed. this isnt so bad.

2) if i add features to the layer, no updates in the table will be
displayed.
How are you adding the features: FeatureStore.addFeatures( ... ) - and if so you using a Transaction?
i add feature by "clicking" on the layer in the editor window. and the add-tool uses transactions.

and i do not realy know which listener i should take. i tried the following:
every implementation of the changed method makes a tfc.update.

stationFeatureSource.addFeatureListener(view_i_created);
--> all updates are listed in the table, but the commit of the station layer makes no update. so all the FID are still "new*" and not the real one
features.addListener(view_i_created);

That sounds like a bug; note that you should be on a Transaction for this stuff and get a single "stuff changed" event out when the
transaction is committed.
i hoped so.

	--> nothing happens. no CollectionEvent fired

i looked in the FeatureTableControl implementation and i think this
implementation uses the CollectionListener interface too. but when no
CollectionEvents are fired, no updates are displayed.

Okay sounds like a raft of bugs to report to the GeoTools project here...
i hope someone can help me with my 2 problem. perhaps this are bugs or do i missunderstand the api?

Your understanding is fine; GeoTools is used a lot by server applications (cough GeoServer) and client applications like uDig are the only people who care about events...
Jody

what should i do now? can i change the version of geotools in udig? perhaps make usage of version 2.4 or so? but i think this isnt easy or perhaps impossible.

i dont realy "know" the geotools community. where should i post such a bug-report? geotools-gt2-users or geotools-devel?


Back to the top