Perhaps we are talking different; it is not that I am withholding code from you 
- it is that the request to add multiple resources does not make sense.  

Question:
a) Do you want to add multiple points to an existing layer representing a shape 
file? If so please ask the layer for a FeatureStore and call the addFeatures 
method
-or-
b) do you want to change a layer showing points from a shape file; over to 
showing points from a database table? If so you will need to change what 
GeoResource the layer is using.

Layer.void setGeoResource( IGeoResource value ) is the method; because it is a 
read/write method you will need to call it from a command.

final IGeoResource changeResource = ….
final ILayer layer = ….
layer.getMap().sendCommandAsync( new AbstractCommand(){
   public String getName(){ return "Change Resource"; }
   public void run(IProgressMonitor monitor){
       ((Layer)layer).setGeoResource( changeResource );
       layer.refresh(null); // trigger redraw
   }
});

--  
Jody Garnett


On Monday, 6 February 2012 at 6:22 PM, Alberto Debiasi wrote:

> For example:
>  
> I would like to create a resource Point into an existing layer.
> Can you show me the code please?
>  
> Alberto
>  
> 2012/2/6 Jody Garnett <[email protected] (mailto:[email protected])>
> > Well you can set the ID on a layer (make your own command for this) or 
> > change what data it refers to; and it should pull a new resource out of the 
> > uDig catalog.  
> >  
> > However a layer only does one resource at a time (in order to work with 
> > many it will ask the catalog if it knows any other resources that are 
> > associated with the layer it is displaying).  
> >  
> > --  
> > Jody Garnett
> >  
> >  
> > On Monday, 6 February 2012 at 6:15 PM, Alberto Debiasi wrote:
> >  
> > > Instead of creating a new layer with some resources I would like to add 
> > > some resources to an existing layer (without create a new one).
> > >  
> > > Alberto.
> > >  
> > > 2012/2/6 Jody Garnett <[email protected] 
> > > (mailto:[email protected])>
> > > > Interesting; I usually just pass the AddLayersCommand with more or more 
> > > > resources (and watch it create the default styles etc…).  
> > > >  
> > > > I don't understand your question about "add to an existing layer some 
> > > > resources". The layer looks up the GeoResource to use in the catalog; 
> > > > using the Style to aid in drawing etc...  
> > > >  
> > > > --  
> > > > Jody Garnett
> > > >  
> > > >  
> > > > On Saturday, 4 February 2012 at 3:11 AM, Alberto Debiasi wrote:
> > > >  
> > > >  
> > > >  
> > > > > Hello everybody,
> > > > >  
> > > > > I use the following code in order to create a new layer with some 
> > > > > resources:
> > > > >  
> > > > >            .....  
> > > > >            try{
> > > > >            IMap map = ApplicationGIS.getActiveMap();   
> > > > >            LayerFactory layerFactory = map.getLayerFactory();
> > > > >         Layer layer = layerFactory.createLayer(resource);
> > > > >              AddLayerCommand cmd = new AddLayerCommand(layer);
> > > > >         map.sendCommandASync(cmd);           
> > > > >            }catch(Exception e ){
> > > > >                e.printStackTrace();
> > > > >            }
> > > > >  
> > > > > I have a simple question:
> > > > > How can I add to an existing layer some resources?
> > > > >  
> > > > >  
> > > > > Thanks.
> > > > > Alberto
> > > > >  
> > > > >  
> > > > > _______________________________________________
> > > > > User-friendly Desktop Internet GIS (uDig)
> > > > > http://udig.refractions.net
> > > > > http://lists.refractions.net/mailman/listinfo/udig-devel
> > > > >  
> > > > >  
> > > > >  
> > > >  
> > > >  
> > > >  
> > > > _______________________________________________
> > > > udig-users mailing list
> > > > [email protected] 
> > > > (mailto:[email protected])
> > > > http://lists.refractions.net/mailman/listinfo/udig-users
> > > >  
> > >  
> >  
>  

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

Reply via email to