package eu.geclipse.ui.internal.wizards;
import java.net.URL;
import org.eclipse.core.runtime.IConfigurationElement;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import eu.geclipse.core.Extensions;
import eu.geclipse.ui.internal.Activator;
public class CertificateLoaderLabelProvider extends LabelProvider {
private static final String IMG_REPO = "icons/obj16/service_new_obj.gif"; //$NON-NLS-1$
private static final String IMG_URL = "icons/obj16/acl_anyone_tbl.gif"; //$NON-NLS-1$
private static Image REPO_IMAGE = null;
private static Image URL_IMAGE = null;
@Override
public Image getImage( final Object element ) {
Image result = null;
if ( element instanceof IConfigurationElement ) {
IConfigurationElement cElement = ( IConfigurationElement ) element;
if ( Extensions.CERT_LOADER_ELEMENT.equals( cElement.getName() ) ) {
result = getRepoImage();
} else if ( Extensions.CERT_LOADER_AUTHORITY_ELEMENT.equals( cElement.getName() ) ) {
result = getRepoImage();
} else if ( Extensions.CERT_LOADER_DISTRIBUTION_ELEMENT.equals( cElement.getName() ) ) {
result = getUrlImage();
}
}
return result;
}
@Override
public String getText( final Object element ) {
String result = ""; //$NON-NLS-1$
if ( element instanceof IConfigurationElement ) {
IConfigurationElement cElement = ( IConfigurationElement ) element;
if ( Extensions.CERT_LOADER_ELEMENT.equals( cElement.getName() ) ) {
result = cElement.getAttribute( Extensions.CERT_LOADER_NAME_ATTRIBUTE );
} else if ( Extensions.CERT_LOADER_AUTHORITY_ELEMENT.equals( cElement.getName() ) ) {
result = cElement.getAttribute( Extensions.CERT_LOADER_AUTHORITY_NAME_ATTRIBUTE );
} else if ( Extensions.CERT_LOADER_DISTRIBUTION_ELEMENT.equals( cElement.getName() ) ) {
result = cElement.getAttribute( Extensions.CERT_LOADER_DISTRIBUTION_NAME_ATTRIBUTE );
}
}
return result;
}
private static Image getRepoImage() {
if ( REPO_IMAGE == null ) {
REPO_IMAGE = loadImage( IMG_REPO );
}
return REPO_IMAGE;
}
private static Image getUrlImage() {
if ( URL_IMAGE == null ) {
URL_IMAGE = loadImage( IMG_URL );
}
return URL_IMAGE;
}
private static Image loadImage( final String path ) {
URL url = Activator.getDefault().getBundle().getEntry( path );
ImageDescriptor descriptor = ImageDescriptor.createFromURL( url );
return descriptor.createImage();
}
}