En esta lección desarrollará el código para la clase
CustomLabelProvider, que
controlará la visualización de los elementos en la vista de desarrollador de CARMA.
Para desarrollar este código:
- Abra la clase ContextLabelProvider. En la vista Explorador de paquetes, navegue a com.ibm.carma.plugin.view > src >
view y efectúe una doble pulsación sobre la clase
CustomLabelProvider.
- En primer lugar, debe alterar temporalmente el método getText().
Este método debe comprobar si un gestor de repositorios está conectado y añadirle una
etiqueta que muestre el estado de conexión/desconexión.
A continuación figura pseudocódigo de ejemplo del método getText():
si(el elemento pasado a getText es un gestor de repositorios)
{
si(el gestor de repositorios está conectado)
{
añadir etiqueta de conexión al gestor de repositorios;
}
else
{
añadir etiqueta de desconexión al gestor de repositorios;
}
}
Utilice este código fuente de ejemplo para alterar temporalmente el método getText():
public String getText(Object element)
{
String textLabel = super.getText(element);
if(element instanceof RepositoryManager)
{
if( ((RepositoryManager)element).isConnected())
{
textLabel += " - (Conectado)";
}
else
{
textLabel += " - (Desconectado)";
}
}
return textLabel;
}
- El segundo método que debe alterar temporalmente es el método getImage().
Este método debe cambiar el icono visualizado para los miembros COBOL.
A continuación figura pseudocódigo de ejemplo del método getImage():
si(el elemento pasado a getImage es un miembro CARMA)
{
si(la extensión del miembro CARMA es "cbl" )
{
decorar el miembro CARMA;
}
}
A continuación figura código fuente de ejemplo del método getImage():
public Image getImage(Object element)
{
if(element instanceof CARMAMember)
{
if(((CARMAMember) element).getLocalExtension().equalsIgnoreCase("cbl"))
{
//sustituir el parámetro getImageDescriptor() por la vía de acceso al icono determinado
ImageDescriptor myDescriptor = Activator.getImageDescriptor("icons/cobol.gif");
return myDescriptor.createImage();
}
}
return super.getImage(element);
}
Nota: El nombre de vía de acceso pasado como parámetro al método
getImageDescriptor debe coincidir con el directorio y el nombre de
imagen.
- Finalmente, asegúrese de que los paquetes siguientes figuran en las sentencias de
importación del principio de la clase Java. Añada
los que falten:
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.*;
- Guarde el código fuente y depure los errores.