Java tutorial
/****************************************************************************** * Copyright (c) 2009-2013, Linagora * * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at * http://www.eclipse.org/legal/epl-v10.html * * Contributors: * Linagora - initial API and implementation *******************************************************************************/ package com.ebmwebsourcing.petals.services.explorer; import org.eclipse.core.runtime.IStatus; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.graphics.Image; import org.eclipse.ui.IMemento; import org.eclipse.ui.navigator.ICommonContentExtensionSite; import org.eclipse.ui.navigator.ICommonLabelProvider; import com.ebmwebsourcing.petals.services.PetalsServicesPlugin; import com.ebmwebsourcing.petals.services.explorer.model.EndpointBean; import com.ebmwebsourcing.petals.services.explorer.model.ServiceUnitBean; import com.ebmwebsourcing.petals.services.explorer.sources.CurrentWorkspaceSource; import com.ebmwebsourcing.petals.services.explorer.sources.EndpointSource; import com.ebmwebsourcing.petals.services.explorer.sources.ExternalWorkspaceSource; import com.ebmwebsourcing.petals.services.explorer.sources.SaDirectorySource; /** * @author Vincent Zurczak - EBM WebSourcing */ public class ServiceExplorerLabelProvider extends LabelProvider implements ICommonLabelProvider { // private Image serverImg; private Image edptImg, suImg; private Image openProjectImg, closedProjectImg; private Image closedFolderImg; /** * Constructor. */ public ServiceExplorerLabelProvider() { ImageDescriptor desc; try { desc = PetalsServicesPlugin.getImageDescriptor("icons/obj16/Endpoint_3.gif"); if (desc != null) this.edptImg = desc.createImage(); } catch (Exception e) { PetalsServicesPlugin.log(e, IStatus.WARNING); } try { desc = PetalsServicesPlugin.getImageDescriptor("icons/obj16/EndpointFolderClosed.gif"); if (desc != null) this.closedFolderImg = desc.createImage(); } catch (Exception e) { PetalsServicesPlugin.log(e, IStatus.WARNING); } try { desc = PetalsServicesPlugin.getImageDescriptor("icons/obj16/EndpointProjectOpen.gif"); if (desc != null) this.openProjectImg = desc.createImage(); } catch (Exception e) { PetalsServicesPlugin.log(e, IStatus.WARNING); } try { desc = PetalsServicesPlugin.getImageDescriptor("icons/obj16/EndpointProjectClosed.gif"); if (desc != null) this.closedProjectImg = desc.createImage(); } catch (Exception e) { PetalsServicesPlugin.log(e, IStatus.WARNING); } try { desc = PetalsServicesPlugin.getImageDescriptor("icons/obj16/service_unit.png"); if (desc != null) this.suImg = desc.createImage(); } catch (Exception e) { PetalsServicesPlugin.log(e, IStatus.WARNING); } } /* * (non-Javadoc) * @see org.eclipse.ui.navigator.IDescriptionProvider * #getDescription(java.lang.Object) */ @Override public String getDescription(Object element) { if (element instanceof EndpointSource) return ((EndpointSource) element).getDescription(); if (element instanceof ServiceUnitBean) return "A service unit containing " + ((ServiceUnitBean) element).countEndpoints() + " end-points"; if (element instanceof EndpointBean) { EndpointBean bean = (EndpointBean) element; return "End-point for the service " + bean.getServiceName().getLocalPart(); } if (element instanceof String) return (String) element; return null; } /* * (non-Javadoc) * @see org.eclipse.jface.viewers.LabelProvider * #getText(java.lang.Object) */ @Override public String getText(Object element) { if (element instanceof EndpointSource) return ((EndpointSource) element).getName(); if (element instanceof ServiceUnitBean) { String suName = ((ServiceUnitBean) element).getServiceUnitName(); return suName + " (" + ((ServiceUnitBean) element).countEndpoints() + ")"; } if (element instanceof EndpointBean) return ((EndpointBean) element).getEndpointName(); if (element instanceof String) return (String) element; return ""; } /* * (non-Javadoc) * @see org.eclipse.jface.viewers.BaseLabelProvider#dispose() */ @Override public void dispose() { try { if (this.edptImg != null) this.edptImg.dispose(); if (this.openProjectImg != null) this.openProjectImg.dispose(); if (this.closedFolderImg != null) this.closedFolderImg.dispose(); if (this.closedProjectImg != null) this.closedProjectImg.dispose(); // if( this.serverEdptImg != null ) // this.serverEdptImg.dispose(); if (this.suImg != null) this.suImg.dispose(); } catch (Exception e) { PetalsServicesPlugin.log(e, IStatus.ERROR); } super.dispose(); } /* * (non-Javadoc) * @see org.eclipse.jface.viewers.LabelProvider * #getImage(java.lang.Object) */ @Override public Image getImage(Object element) { if (element instanceof SaDirectorySource) return this.closedFolderImg; if (element instanceof CurrentWorkspaceSource) return this.openProjectImg; if (element instanceof ExternalWorkspaceSource) return this.closedProjectImg; if (element instanceof EndpointBean) return this.edptImg; if (element instanceof ServiceUnitBean) return this.suImg; return null; } /* * (non-Jsdoc) * @see org.eclipse.ui.navigator.ICommonLabelProvider * #init(org.eclipse.ui.navigator.ICommonContentExtensionSite) */ @Override public void init(ICommonContentExtensionSite aConfig) { // nothing } /* * (non-Jsdoc) * @see org.eclipse.ui.navigator.IMementoAware * #restoreState(org.eclipse.ui.IMemento) */ @Override public void restoreState(IMemento aMemento) { // nothing } /* * (non-Jsdoc) * @see org.eclipse.ui.navigator.IMementoAware * #saveState(org.eclipse.ui.IMemento) */ @Override public void saveState(IMemento aMemento) { // nothing } }