// TODO: move this to the adapter registry public IFeature getCreateFeatureForPictogramElement(PictogramElement pe) { if (pe != null) { String id = Graphiti.getPeService().getPropertyValue(pe, ICustomTaskFeature.CUSTOM_TASK_ID); if (id != null) { for (FeatureContainer container : containers) { if (container instanceof CustomTaskFeatureContainer) { CustomTaskFeatureContainer ctf = (CustomTaskFeatureContainer) container; if (id.equals(ctf.getId())) { return ctf.getCreateFeature(this); } } } } EObject be = Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(pe); return getCreateFeatureForBusinessObject(be); } return null; }
public FeatureContainer getFeatureContainer(IContext context) { Object id = CustomTaskFeatureContainer.getId(context); for (FeatureContainer container : containers) { if (id != null && !(container instanceof CustomTaskFeatureContainer)) continue; Object o = container.getApplyObject(context); if (o != null && container.canApplyTo(o)) { return container; } } return null; }