/* * Copyright (C) 2006-2016 DLR, Germany * * All rights reserved * * http://www.rcenvironment.de/ */ package de.rcenvironment.core.gui.cluster.view.internal; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.graphics.Image; import de.rcenvironment.core.utils.cluster.ClusterJobInformation; /** * Provides concrete label texts to display and images if required. * * @author Doreen Seider */ public class ClusterJobInformationLabelProvider extends LabelProvider implements ITableLabelProvider { private Image runningImage; private Image queuedImage; private Image completedImage; private Image othersImage; public ClusterJobInformationLabelProvider() { super(); runningImage = ImageDescriptor.createFromURL( getClass().getResource("/resources/icons/running.gif")).createImage(); //$NON-NLS-1$ queuedImage = ImageDescriptor.createFromURL( getClass().getResource("/resources/icons/queued.gif")).createImage(); //$NON-NLS-1$ completedImage = ImageDescriptor.createFromURL( getClass().getResource("/resources/icons/completed.gif")).createImage(); //$NON-NLS-1$ othersImage = ImageDescriptor.createFromURL( getClass().getResource("/resources/icons/others.gif")).createImage(); //$NON-NLS-1$ } @Override public Image getColumnImage(Object element, int columnIndex) { Image image = null; if (element instanceof ClusterJobInformation) { ClusterJobInformation logEntry = (ClusterJobInformation) element; if (0 == columnIndex) { switch (logEntry.getJobState()) { case Running: image = runningImage; break; case Queued: case Waiting: case DepWait: case Unsched: image = queuedImage; break; case Completed: image = completedImage; break; default: image = othersImage; break; } } } return image; } @Override public String getColumnText(Object element, int columnIndex) { String returnValue = ""; //$NON-NLS-1$ if (element instanceof ClusterJobInformation) { ClusterJobInformation logEntry = (ClusterJobInformation) element; switch (columnIndex) { case 0: returnValue = logEntry.getJobId(); break; case 1: returnValue = logEntry.getJobName(); break; case 2: returnValue = logEntry.getUser(); break; case 3: returnValue = logEntry.getQueue(); break; case 4: returnValue = logEntry.getRemainingTime(); break; case 5: returnValue = logEntry.getStartTime(); break; case 6: returnValue = logEntry.getQueueTime(); break; case 7: returnValue = logEntry.getJobState().toString(); break; default: break; } } return returnValue; } @Override public void dispose() { runningImage.dispose(); queuedImage.dispose(); completedImage.dispose(); othersImage.dispose(); } }