package rocks.inspectit.ui.rcp.ci.view; import org.apache.commons.collections.CollectionUtils; import org.eclipse.jface.viewers.StyledString; import org.eclipse.swt.graphics.Image; import rocks.inspectit.shared.cs.ci.Environment; import rocks.inspectit.ui.rcp.editor.viewers.StyledCellIndexLabelProvider; import rocks.inspectit.ui.rcp.formatter.ImageFormatter; import rocks.inspectit.ui.rcp.formatter.NumberFormatter; import rocks.inspectit.ui.rcp.formatter.TextFormatter; import rocks.inspectit.ui.rcp.provider.IEnvironmentProvider; /** * Environment label provider. * * @author Ivan Senic * */ class EnvironmentLabelProvider extends StyledCellIndexLabelProvider { /** * Empty. */ private static final StyledString EMPTY = new StyledString(); /** * {@inheritDoc} */ @Override protected StyledString getStyledText(Object element, int index) { if (element instanceof IEnvironmentProvider) { Environment environment = ((IEnvironmentProvider) element).getEnvironment(); switch (index) { case 0: return new StyledString(environment.getName()); case 1: if (null != environment.getUpdatedDate()) { return new StyledString(NumberFormatter.formatTime(environment.getUpdatedDate())); } else { return new StyledString(NumberFormatter.formatTime(environment.getCreatedDate())); } case 2: if (CollectionUtils.isEmpty(environment.getProfileIds())) { return new StyledString(String.valueOf(0)); } else { return new StyledString(String.valueOf(environment.getProfileIds().size())); } case 3: return TextFormatter.emptyStyledStringIfNull(TextFormatter.clearLineBreaks(environment.getDescription())); default: return EMPTY; } } return EMPTY; } /** * {@inheritDoc} */ @Override protected Image getColumnImage(Object element, int index) { if (element instanceof IEnvironmentProvider) { switch (index) { case 0: return ImageFormatter.getEnvironmentImage(((IEnvironmentProvider) element).getEnvironment()); default: return super.getColumnImage(element, index); } } return super.getColumnImage(element, index); } }