@Override public Fifo getFifoIded(String id) { for (Fifo fifo : this.getFifos()) { if (fifo.getId().equals(id)) { return fifo; } } return null; }
/** * Retrieve the {@link PictogramElement} of the {@link Diagram} corresponding to the given {@link * Fifo}. * * @param diagram the {@link Diagram} containing the {@link PictogramElement} * @param fifo the {@link Fifo} whose {@link PictogramElement} is searched. * @return the {@link PictogramElement} of the {@link Fifo}. * @throws RuntimeException if no {@link PictogramElement} could be found in this {@link Diagram} * for this {@link Fifo}. */ public static ContainerShape getDelayPE(Diagram diagram, Fifo fifo) throws RuntimeException { // Get all delays with identical attributes (may not be the // right delay is several delays have the same properties.) List<PictogramElement> pes = Graphiti.getLinkService().getPictogramElements(diagram, fifo.getDelay()); PictogramElement pe = null; for (PictogramElement p : pes) { if (p instanceof ContainerShape && Graphiti.getLinkService().getBusinessObjectForLinkedPictogramElement(p) == fifo.getDelay()) { pe = p; } } // if PE is still null.. something is deeply wrong with this // graph ! if (pe == null) { throw new RuntimeException( "Pictogram element associated to delay of Fifo " + fifo.getId() + " could not be found."); } return (ContainerShape) pe; }