So     you've just identified an area that we need to work on a bit.  Ideally     the MapGraphic Service should always be loaded in the catalog but it isn't     yet.  So you have to load it manually if it isn't in the local catalog     the following code will do it.  yourExtensionID is the id of your     map graphic :     
               Map map =     ApplicationGISInternal.getActiveMap();
                try     {
                    IGeoResource mapGraphicResource =     null;
    
                    URL     url = "">new     URL(MapGraphicService.SERVICE_URL, "#" +     yourExtensionID); //$NON-NLS-1$
                    List<IResolve> matches =     CatalogPlugin.getDefault().getLocalCatalog().find(url,
                            new NullProgressMonitor());
                    if     (!matches.isEmpty())
                            mapGraphicResource =     (IGeoResource) matches.get(0);
    
                    if     (mapGraphicResource == null)     {
                        List<IService> results =     CatalogPlugin.getDefault().getServiceFactory()
                                    .acquire(url);
                        for( IGeoResource resource :     results.get(0).members(new     NullProgressMonitor()) ) {
                            if     (resource.getIdentifier().getRef().equals(url.getRef()))     {
                                    mapGraphicResource = resource;
                                    break;
                            }
                        }
                    }
                    if     (mapGraphicResource == null)
                        return;
                    Layer layer =     map.getLayerFactory().createLayer(mapGraphicResource);
                    map.sendCommandSync(BasicCommandFactory.getInstance().createAddLayer(layer));
                }     catch     (MalformedURLException e) {
                    MapGraphicPlugin.log("", e); //$NON-NLS-1$
                }     catch     (IOException e) {
                    MapGraphicPlugin.log("", e); //$NON-NLS-1$
                }
    
    
    The code also creates and adds the mapgraphics to a map.
    
    Cheers,
    
    Jesse
            On 28-Oct-06, at 4:25 AM, Andy Czerwonka wrote:
          I've implemented a MapGraphic extension, but I       need a handle to the 
      MapGraphic.  I see the example of creating a       layer based on the 
      MapGraphicService URL, but nowhere do I see how       to get the MapGraphic 
      handle.        I see (in the debugger) that the MapGraphic is contained in       the 
      IGeoResource, but I can't figure out how it's       exposed.
      
      Thanks in advance,
      
      -andy 
      
      
      
      _______________________________________________
      User-friendly Desktop Internet GIS (uDig)