package org.activiti.designer.features; import org.activiti.bpmn.model.BoundaryEvent; import org.activiti.bpmn.model.CallActivity; import org.activiti.bpmn.model.ServiceTask; import org.activiti.bpmn.model.SubProcess; import org.activiti.designer.PluginImage; import org.eclipse.graphiti.features.IFeatureProvider; import org.eclipse.graphiti.features.context.IAddContext; public class AddBoundaryErrorFeature extends AbstractAddBoundaryFeature { public AddBoundaryErrorFeature(IFeatureProvider fp) { super(fp); } @Override protected String getImageKey() { return PluginImage.IMG_BOUNDARY_ERROR.getImageKey(); } @Override public boolean canAdd(IAddContext context) { Object parentObject = getBusinessObjectForPictogramElement(context.getTargetContainer()); if (parentObject instanceof SubProcess == false && parentObject instanceof CallActivity == false && parentObject instanceof ServiceTask == false) { return false; } if (context.getNewObject() instanceof BoundaryEvent == false) { return false; } return true; } }