package org.activiti.designer.features;
import java.util.List;
import org.activiti.bpmn.model.ServiceTask;
import org.activiti.designer.PluginImage;
import org.activiti.designer.util.eclipse.ActivitiUiUtil;
import org.activiti.designer.util.extension.CustomServiceTaskContext;
import org.activiti.designer.util.extension.ExtensionUtil;
import org.eclipse.graphiti.features.IFeatureProvider;
public class AddServiceTaskFeature extends AddTaskFeature {
public AddServiceTaskFeature(IFeatureProvider fp) {
super(fp);
}
protected String getIcon(Object bo) {
if (ExtensionUtil.isCustomServiceTask(bo)) {
ServiceTask serviceTask = (ServiceTask) bo;
final List<CustomServiceTaskContext> customServiceTaskContexts = ExtensionUtil.getCustomServiceTaskContexts(
ActivitiUiUtil.getProjectFromDiagram(getDiagram()));
for (CustomServiceTaskContext customServiceTaskContext : customServiceTaskContexts) {
if (customServiceTaskContext.getServiceTask().getId().equals(serviceTask.getExtensionId())) {
return customServiceTaskContext.getShapeImageKey();
}
}
}
return PluginImage.IMG_SERVICETASK.getImageKey();
}
}