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)