/*
* Copyright (C) 2006-2016 DLR, Germany
*
* All rights reserved
*
* http://www.rcenvironment.de/
*/
package de.rcenvironment.core.gui.workflow.view.properties;
import org.eclipse.jface.viewers.ITableLabelProvider;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.swt.graphics.Image;
import de.rcenvironment.core.component.workflow.execution.api.WorkflowExecutionInformation;
import de.rcenvironment.core.datamodel.api.EndpointType;
import de.rcenvironment.core.gui.workflow.EndpointContentProvider;
import de.rcenvironment.core.gui.workflow.EndpointLabelProvider;
/**
* {@link LabelProvider} for the contents of the {@link EditableInputTreeViewer}.
*
* @author Doreen Seider
*/
public class EditableInputLabelProvider extends EndpointLabelProvider implements ITableLabelProvider {
private WorkflowExecutionInformation workflowInformation;
private String workflowId;
private String componentId;
public EditableInputLabelProvider(WorkflowExecutionInformation workflowInformation) {
super(EndpointType.INPUT);
this.workflowInformation = workflowInformation;
workflowId = workflowInformation.getExecutionIdentifier();
}
public EditableInputLabelProvider(String workflowId, String componentId) {
super(EndpointType.INPUT);
this.workflowId = workflowId;
this.componentId = componentId;
}
@Override
public Image getColumnImage(Object element, int columnIndex) {
if (columnIndex == 0) {
return getImage(element);
}
return null;
}
@Override
public String getColumnText(Object element, int columnIndex) {
if (columnIndex == 0) {
return getText(element);
} else {
String inputValue = ""; //$NON-NLS-1$;
if (element instanceof EndpointContentProvider.Endpoint) {
if (componentId == null) {
if (columnIndex == 1) {
inputValue = InputEditingHelper.getLatestInputValue(workflowInformation,
(EndpointContentProvider.Endpoint) element);
}
} else {
if (columnIndex == 1) {
inputValue = InputEditingHelper.getLatestInputValueFromEndpoint(workflowId, componentId,
(EndpointContentProvider.Endpoint) element);
}
}
}
return inputValue;
}
}
}