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 
> 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

_______________________________________________
User-friendly Desktop Internet GIS (uDig)
http://udig.refractions.net
http://lists.refractions.net/mailman/listinfo/udig-devel

Reply via email to