I'll do but before I would like to "link" my view feature store and the uDig table view feature store.
The goal is: when I create/update/delete a feature in my view, I would like to add it also in the feature collection of the table view. (if user update or delete a feature from the table view, he has to refresh my feature list with a appropriate button but there's no refresh button in the table view .) If I had not use yet one of the edit tools, I haven't catch the udig feature store Have you got any idea to catch this feature store? regards, Virginie BERRE - Ingénieur d'études et de développement +33 (0)1 30 15 40 58 [email protected] MAGELLIUMPensez environnement ! N'imprimez ce mail que si c'est vraiment nécessaire ! De : [email protected] [mailto:[email protected]] De la part de Jody Garnett Envoyé : jeudi 4 mars 2010 22:11 À : User-friendly Desktop Internet GIS Objet : Re: [udig-devel] Polygon Tool : catch what is created Nice tip - can you add it to the developers guide wiki? Right now there is a very complete page on the theory of edit tools (what all the classes do) but it is short on actual examples... Jody On 05/03/2010, at 2:14 AM, Virginie BERRE wrote: I've found the solution (not to bad I think). To catch when a feature is created with the polygon tool, I added a IEditManagerListener on the map.getEditManager(). map.getEditManager().addListener(new IEditManagerListener() { @Override public void changed(EditManagerEvent event) { SimpleFeature feature= map.getEditManager().getEditFeature(); if(feature != null) { if(feature.getFeatureType().equals(dodFeatureType)) { FilterFactory factory = CommonFactoryFinder.getFilterFactory(GeoTools.getDefaultHints()); Id uDigfilter = factory.id(Collections.singleton(feature.getIdentifier())); try { FeatureCollection<SimpleFeatureType, SimpleFeature> collection = dodStore.getFeatures(uDigfilter); if(collection.isEmpty()) { insertDod(feature); } else { saveDod(feature); } } catch (IOException e) { e.printStackTrace(); } } } } }); And to manage udig table view feature store, I added a listener to my wfsLayer: dodLayer.addListener(new ILayerListener() { @Override public void refresh(LayerEvent event) { if(event.getType().equals(EventType.EDIT_EVENT)) { if(event.getNewValue() instanceof FeatureEvent) { FeatureEvent newEvent = (FeatureEvent) event.getNewValue(); if(newEvent.getSource() instanceof FeatureStore) { uDigStore = (FeatureStore<SimpleFeatureType, SimpleFeature>) newEvent.getSource(); } } } } }); I hope it could help someone else! Regards, Virginie BERRE - Ingénieur d'études et de développement +33 (0)1 30 15 40 58 [email protected] <image002.gif>Pensez environnement ! N'imprimez ce mail que si c'est vraiment nécessaire ! De : [email protected] [mailto:[email protected]] De la part de Virginie BERRE Envoyé : mercredi 3 mars 2010 18:16 À : 'User-friendly Desktop Internet GIS' Objet : [udig-devel] Polygon Tool : catch what is created Dear all, Is there a way to catch the geometry or the feature which is created with the polygon tool? My goal is to set some properties when the edit layer is my wfs layer and before the feature is created or to change the properties if the feature is created. My feature collection is not the udig feature collection I don't find a method which returns the geometry or the feature int the PolygonTool class (or the implemented classes) I don't want to re-implement this tool but I really need it. Thank you. Virginie BERRE - Ingénieur d'études et de développement +33 (0)1 30 15 40 58 (n° direct) [email protected] _____ ZA Les Erables - bâtiment 4 66, route de Sartrouville 78230 Le Pecq Tel: +33 (0)1 30 15 40 50 (standard) Fax: +33 (0)1 30 15 40 60 <http://www.magellium.fr> www.magellium.fr <http://www.magellium.fr/> <image003.gif> <image002.gif>Pensez environnement ! N'imprimez ce mail que si c'est vraiment nécessaire ! _______________________________________________ User-friendly Desktop Internet GIS (uDig) http://udig.refractions.net http://lists.refractions.net/mailman/listinfo/udig-devel
<<image001.gif>>
_______________________________________________ User-friendly Desktop Internet GIS (uDig) http://udig.refractions.net http://lists.refractions.net/mailman/listinfo/udig-devel
