Hi,
     
    I'm new to both uDig and GeoTools.  
    I've been able to use the various examples and lists from around the web to 
    make progress in a number of areas, but I've hit a snag in trying to create 
    a new feature collection to be displayed as a new layer on 
    an existing map.  I'm using the uDig 1.2.0 release and coding in a 
    plugin based on the distance tool example to trigger a few things with a 
    button click.  Here is what I currently have, pulled together from 
    various examples on the web.  When I run this code I see the 
    following:
     
    * New layer called Flag in the 
    Layers View
    * Flag layer has these 
    properties
    
        * Bounds (0,0) 
    (-1,-1)
        * 
    Filter.Exclude
        * Feature 
    Type has correct fields
    * Entry called Scratch with child 
    Flag in Catalog tree
    * Nothing in the Table view when 
    Flag layer is selected
    * Column headers in the Table view 
    called FID, ID, and Name (ID and Name come from my feature construction, FID 
    not sure?)
     
    Questions:
     
    1) Am I even close?
    2) I saw some references to 
    SimpleFeatureCollection code, but think this is from a newer GeoTools than 
    uDig is using?
    3) How do I get my supplied attributes to 
    show up in the table and a point to show up on the 
    map?
     
    Thanks for any help.  Many uDig 
    features are meeting my needs.  Figuring out how to add points from 
    code will be very useful and hopefully help some others sort out the API in 
    this area, since it seems it has been in transition.
     
    - Ned
     
    ==========================================================
    SimpleFeatureTypeBuilder builder = new 
    SimpleFeatureTypeBuilder();
builder.setName( "Flag" 
    );
builder.setNamespaceURI( "http://localhost/" );
builder.setCRS( 
    DefaultGeographicCRS.WGS84 ); 
     
    //add attributes in order
builder.add( 
    "Location", Point.class );
builder.add( "ID", Integer.class 
    );
builder.add( "Name", String.class );
     
    //build the type
final SimpleFeatureType 
    FLAG = builder.buildFeatureType();
     
    //create the builder
SimpleFeatureBuilder 
    fbuilder = new SimpleFeatureBuilder(FLAG);
GeometryFactory gf = new 
    com.vividsolutions.jts.geom.GeometryFactory();
Coordinate[] coords = {new 
    Coordinate(114.4456894350221,-33.0429697801666, 0.0)};
     
    //add the 
    attributes
fbuilder.set("Location", new 
    Point(CoordinateArraySequenceFactory.instance().create(coords), 
    gf));
fbuilder.set("Name",  "theName" );
fbuilder.set("ID", 
    99);
     
    //build the feature
SimpleFeature feature = 
    fbuilder.buildFeature( "test" );
     
    // get the selected layer
IMap map = 
    ApplicationGIS.getActiveMap();
     
    IGeoResource stationGeoResource = CatalogPlugin 
    .getDefault ().getLocalCatalog().createTemporaryResource(FLAG); 
     
    // create list of IGeoResource
List 
    <IGeoResource> geoResourceList = new 
    LinkedList<IGeoResource>();
geoResourceList.add(stationGeoResource);
     
    List layerList = 
    ApplicationGIS.addLayersToMap(map, geoResourceList, -1);
     
    
    FeatureSource stationFeatureSource;
try 
    {
       // get feature 
    sourc
   stationFeatureSource = ((ILayer) 
    layerList.get(map.getMapLayers().size())).getResource(FeatureStore.class, 
    null);
   
   //get 
    FeatureCollection
   FeatureCollection features = 
    stationFeatureSource.getFeatures();
     
       //add new 
    feature
       features.add(feature);
       ((ILayer) 
    layerList.get(map.getMapLayers().size())).getResource(FeatureStore.class, 
    null).addFeatures(features);
     
    
} catch (IOException e1) 
    {
   // TODO Auto-generated catch 
    block
   e1.printStackTrace();
}
    ==========================================================