// ============================================================================
//
// Copyright (C) 2006-2012 Talend Inc. - www.talend.com
//
// This source code is available under agreement available at
// %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt
//
// You should have received a copy of the agreement
// along with this program; if not, write to Talend SA
// 9 rue Pages 92150 Suresnes, France
//
// ============================================================================
package org.talend.designer.core.ui.hierarchy;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import org.talend.commons.ui.runtime.image.ECoreImage;
import org.talend.commons.ui.runtime.image.ImageProvider;
import org.talend.core.PluginChecker;
import org.talend.core.model.process.IProcess2;
import org.talend.repository.ProjectManager;
/**
* Label provider for the job hierarchy viewers.
*/
public class JobHierarchyLabelProvider extends LabelProvider {
private JobHierarchyLifeCycle fHierarchy;
private boolean isTIS;
public JobHierarchyLabelProvider(JobHierarchyLifeCycle lifeCycle) {
super();
fHierarchy = lifeCycle;
isTIS = PluginChecker.isRefProjectLoaded();
}
@Override
public Image getImage(Object element) {
return ImageProvider.getImage(ECoreImage.PROCESS_ICON);
}
@Override
public String getText(Object element) {
if (element instanceof IProcess2) {
IProcess2 process = (IProcess2) element;
String label = process.getLabel();
if (isTIS) {
label += " [" + getProjectLabel(process) + "]"; //$NON-NLS-1$ //$NON-NLS-2$
}
return label;
}
return super.getText(element);
}
private String getProjectLabel(IProcess2 process) {
org.talend.core.model.properties.Project project = ProjectManager.getInstance().getProject(
process.getProperty().getItem());
return project.getTechnicalLabel();
}
}