/** @generated */ private void createLinks(Diagram diagram) { for (boolean continueLinkCreation = true; continueLinkCreation; ) { continueLinkCreation = false; Collection additionalDescriptors = new LinkedList(); for (Iterator it = myLinkDescriptors.iterator(); it.hasNext(); ) { UMLLinkDescriptor nextLinkDescriptor = (UMLLinkDescriptor) it.next(); if (!myDomain2NotationMap.containsKey(nextLinkDescriptor.getSource()) || !myDomain2NotationMap.containsKey(nextLinkDescriptor.getDestination())) { continue; } final String linkType = UMLVisualIDRegistry.getType(nextLinkDescriptor.getVisualID()); Edge edge = ViewService.getInstance() .createEdge( nextLinkDescriptor.getSemanticAdapter(), diagram, linkType, ViewUtil.APPEND, true, UMLDiagramEditorPlugin.DIAGRAM_PREFERENCES_HINT); if (edge != null) { edge.setSource((View) myDomain2NotationMap.get(nextLinkDescriptor.getSource())); edge.setTarget((View) myDomain2NotationMap.get(nextLinkDescriptor.getDestination())); it.remove(); if (nextLinkDescriptor.getModelElement() != null) { myDomain2NotationMap.put(nextLinkDescriptor.getModelElement(), edge); } continueLinkCreation = true; switch (nextLinkDescriptor.getVisualID()) { case ExtensionEditPart.VISUAL_ID: additionalDescriptors.addAll(UMLDiagramUpdater.getExtension_1013OutgoingLinks(edge)); break; case AssociationEditPart.VISUAL_ID: additionalDescriptors.addAll( UMLDiagramUpdater.getAssociation_4001OutgoingLinks(edge)); break; case ProfileApplicationEditPart.VISUAL_ID: additionalDescriptors.addAll( UMLDiagramUpdater.getProfileApplication_1045OutgoingLinks(edge)); break; case AssociationBranchEditPart.VISUAL_ID: additionalDescriptors.addAll( UMLDiagramUpdater.getAssociation_4019OutgoingLinks(edge)); break; case GeneralizationEditPart.VISUAL_ID: additionalDescriptors.addAll( UMLDiagramUpdater.getGeneralization_4002OutgoingLinks(edge)); break; case DependencyEditPart.VISUAL_ID: additionalDescriptors.addAll(UMLDiagramUpdater.getDependency_4008OutgoingLinks(edge)); break; case DependencyBranchEditPart.VISUAL_ID: additionalDescriptors.addAll(UMLDiagramUpdater.getDependency_4018OutgoingLinks(edge)); break; case ElementImportEditPart.VISUAL_ID: additionalDescriptors.addAll( UMLDiagramUpdater.getElementImport_1064OutgoingLinks(edge)); break; case PackageImportEditPart.VISUAL_ID: additionalDescriptors.addAll( UMLDiagramUpdater.getPackageImport_1065OutgoingLinks(edge)); break; } } } myLinkDescriptors.addAll(additionalDescriptors); } }