package rocks.inspectit.ui.rcp.view.tree; import org.eclipse.jface.viewers.StyledString; import org.eclipse.swt.graphics.Image; import rocks.inspectit.ui.rcp.editor.viewers.StyledCellIndexLabelProvider; import rocks.inspectit.ui.rcp.formatter.TextFormatter; import rocks.inspectit.ui.rcp.model.Component; import rocks.inspectit.ui.rcp.provider.ILocalStorageDataProvider; import rocks.inspectit.ui.rcp.provider.IStorageDataProvider; /** * Styled cell label provider for the tree of storages. * * @author Ivan Senic * */ public class StorageManagerTreeLabelProvider extends StyledCellIndexLabelProvider { /** * {@inheritDoc} */ @Override protected StyledString getStyledText(Object element, int index) { if (element instanceof IStorageDataProvider) { return TextFormatter.getStyledStorageDataString(((IStorageDataProvider) element).getStorageData(), ((IStorageDataProvider) element).getCmrRepositoryDefinition()); } else if (element instanceof ILocalStorageDataProvider) { return TextFormatter.getStyledStorageDataString(((ILocalStorageDataProvider) element).getLocalStorageData()); } else if (element instanceof Component) { return new StyledString(((Component) element).getName()); } return super.getStyledText(element, index); } /** * {@inheritDoc} */ @Override protected Image getColumnImage(Object element, int index) { if (index == 0) { if (element instanceof Component) { return ((Component) element).getImage(); } } return super.getColumnImage(element, index); } }