Lezione 3: Sviluppo del codice per la classe CustomLabelProvider

In questa lezione, si sviluppa il codice per la classe CustomLabelProvider , che controlla la modalità di visualizzazione degli elementi nella vista Sviluppatore CARMA.

Informazioni su questa attività

Per sviluppare questo codice:

Procedura

  1. Aprire la classe ContextLabelProvider . Dalla vista Esplora package , selezionare com.ibm.carma.plugin.view > src > viewe fare doppio clic sulla classe CustomLabelProvider .
  2. Per prima cosa, si desidera sovrascrivere il metodo getText() . Questo metodo deve controllare se un gestore repository è connesso e aggiungere un'etichetta al gestore repository che mostri lo stato connesso / disconnesso.

    Di seguito viene riportato uno pseudocodice di esempio per il metodo getText() :

    if(the element passed to getText is a repository manager)
    {
       if(the repository manager is connected)
       {
          add connected label to the repository manager;
       }
       else
       {
          add disconnected label to the repository manager;
       }
    }

    Utilizzare la seguente origine di esempio per sovrascrivere il metodo getText() :

    public String getText(Object element)
    {
       String textLabel = super.getText(element);
       if(element instanceof RepositoryManager)
       {
          if( ((RepositoryManager)element).isConnected())
          {
             textLabel += " - (Connected)";
          }
          else
          {
             textLabel += " - (Disconnected)";
          }
    	}
    
      return textLabel;
    }
  3. Il metodo successivo che si desidera sovrascrivere è il metodo getImage() . Questo metodo dovrebbe modificare la visualizzazione dell'icona per i membri di COBOL.

    Di seguito è riportato lo pseudocodice per il metodo getImage() :

    if( the element passed getImage is a CARMA Member)
    {
       if( the CARMA Member's extension is "cbl" )
       {
          decorate the CARMA Member;
       }
    }

    Di seguito viene riportato un esempio di codice sorgente per il metodo getImage() :

    public Image getImage(Object element)
    {
       if(element instanceof CARMAMember)
       {
          if(((CARMAMember) element).getLocalExtension().equalsIgnoreCase("cbl"))
          {
             //replace the parameter of getImageDescriptor() with the path to your particular icon
             ImageDescriptor myDescriptor = Activator.getImageDescriptor("icons/cobol.gif");
             return myDescriptor.createImage();
          }
       }
       return super.getImage(element);
    }
    Nota: il nome del percorso passato come parametro al metodo getImageDescriptor deve corrispondere al nome dell'immagine e della directory.
  4. Assicurarsi, infine, di disporre dei seguenti package elencati nelle istruzioni di importazione nella parte superiore della classe Java™ . Aggiungere quelli mancanti:
    import com.ibm.carma.plugin.view.Activator;
    
    import org.eclipse.jface.resource.ImageDescriptor;
    import org.eclipse.swt.graphics.Image;
    
    import com.ibm.carma.model.*;
    import com.ibm.carma.ui.view.*;
  5. Salvare l'origine ed eseguire il debug degli errori.