package org.eclipse.gmf.examples.eclipsecon.diagram.part; import org.eclipse.emf.ecore.EAnnotation; import org.eclipse.emf.ecore.EClass; import org.eclipse.emf.ecore.EObject; import org.eclipse.gmf.examples.eclipsecon.Conference; import org.eclipse.gmf.examples.eclipsecon.EclipseconPackage; import org.eclipse.gmf.examples.eclipsecon.Handout; import org.eclipse.gmf.examples.eclipsecon.Presenter; import org.eclipse.gmf.examples.eclipsecon.Resource; import org.eclipse.gmf.examples.eclipsecon.Schedule; import org.eclipse.gmf.examples.eclipsecon.TimeSlot; import org.eclipse.gmf.examples.eclipsecon.Tutorial; import org.eclipse.gmf.examples.eclipsecon.diagram.providers.EclipseconSemanticHints; import org.eclipse.gmf.runtime.notation.Diagram; import org.eclipse.gmf.runtime.notation.View; /** * This registry is used to determine which type of visual object should be * created for the corresponding Diagram, Node, ChildNode or Link represented * by a domain model object. * * @generated */ public class EclipseconVisualIDRegistry { public static final EclipseconVisualIDRegistry INSTANCE = new EclipseconVisualIDRegistry(); /** * @generated */ public int getDiagramVisualID(EObject domainElement) { if (domainElement == null) { return -1; } EClass domainElementMetaclass = domainElement.eClass(); return getDiagramVisualID(domainElement, domainElementMetaclass); } /** * @generated */ public int getDiagramVisualID(EObject domainElement, EClass domainElementMetaclass) { if (EclipseconPackage.eINSTANCE.getConference().equals( domainElementMetaclass) && (domainElement != null ? isDiagramConference_79((Conference) domainElement) : true)) { return 79; } return getUnrecognizedDiagramID(domainElement); } /** * @generated */ public int getNodeVisualID(View containerView, EObject domainElement, String semanticHint) { if (domainElement == null) { return -1; } EClass domainElementMetaclass = domainElement.eClass(); return getNodeVisualID(containerView, domainElement, domainElementMetaclass, semanticHint); } /** * @generated */ public int getNodeVisualID(View containerView, EObject domainElement, EClass domainElementMetaclass, String semanticHint) { String containerModelID = getModelID(containerView); if (!"Eclipsecon".equals(containerModelID)) { return -1; } int containerVisualID; if ("Eclipsecon".equals(containerModelID)) { containerVisualID = getVisualID(containerView); } else { if (containerView instanceof Diagram) { containerVisualID = 79; } else { return -1; } } switch (containerVisualID) { case 1001: if (EclipseconSemanticHints.Presenter_1001Labels.PRESENTERNAME_4001 .equals(semanticHint)) { return 4001; } if (semanticHint != null && !"".equals(semanticHint)) { return getUnrecognizedPresenter_1001ChildNodeID(semanticHint); } return getUnrecognizedPresenter_1001ChildNodeID(domainElement); case 1002: if (EclipseconSemanticHints.Tutorial_1002Labels.TUTORIALTITLE_4002 .equals(semanticHint)) { return 4002; } if (semanticHint != null && !"".equals(semanticHint)) { return getUnrecognizedTutorial_1002ChildNodeID(semanticHint); } return getUnrecognizedTutorial_1002ChildNodeID(domainElement); case 1003: if (EclipseconSemanticHints.Schedule_1003Labels.SCHEDULEDAYNO_4005 .equals(semanticHint)) { return 4005; } if (semanticHint != null && !"".equals(semanticHint)) { return getUnrecognizedSchedule_1003ChildNodeID(semanticHint); } if (EclipseconPackage.eINSTANCE.getTimeSlot().equals( domainElementMetaclass) && (domainElement != null ? isNodeTimeSlot_2001((TimeSlot) domainElement) : true)) { return 2001; } return getUnrecognizedSchedule_1003ChildNodeID(domainElement); case 1004: if (EclipseconSemanticHints.Resource_1004Labels.RESOURCEUNKNOWN_4006 .equals(semanticHint)) { return 4006; } if (EclipseconSemanticHints.Resource_1004Labels.RESOURCENAME_4007 .equals(semanticHint)) { return 4007; } if (EclipseconSemanticHints.Resource_1004Labels.RESOURCELOCATION_4008 .equals(semanticHint)) { return 4008; } if (semanticHint != null && !"".equals(semanticHint)) { return getUnrecognizedResource_1004ChildNodeID(semanticHint); } return getUnrecognizedResource_1004ChildNodeID(domainElement); case 2001: if (EclipseconSemanticHints.TimeSlot_2001Labels.TIMESLOTSTART_4003 .equals(semanticHint)) { return 4003; } if (EclipseconSemanticHints.TimeSlot_2001Labels.TIMESLOTEND_4004 .equals(semanticHint)) { return 4004; } if (semanticHint != null && !"".equals(semanticHint)) { return getUnrecognizedTimeSlot_2001ChildNodeID(semanticHint); } return getUnrecognizedTimeSlot_2001ChildNodeID(domainElement); case 79: if (semanticHint != null && !"".equals(semanticHint)) { return getUnrecognizedConference_79ChildNodeID(semanticHint); } if (EclipseconPackage.eINSTANCE.getPresenter().equals( domainElementMetaclass) && (domainElement != null ? isNodePresenter_1001((Presenter) domainElement) : true)) { return 1001; } if (EclipseconPackage.eINSTANCE.getTutorial().equals( domainElementMetaclass) && (domainElement != null ? isNodeTutorial_1002((Tutorial) domainElement) : true)) { return 1002; } if (EclipseconPackage.eINSTANCE.getSchedule().equals( domainElementMetaclass) && (domainElement != null ? isNodeSchedule_1003((Schedule) domainElement) : true)) { return 1003; } if (EclipseconPackage.eINSTANCE.getResource().equals( domainElementMetaclass) && (domainElement != null ? isNodeResource_1004((Resource) domainElement) : true)) { return 1004; } return getUnrecognizedConference_79ChildNodeID(domainElement); case 3001: return getUnrecognizedHandout_3001LinkLabelID(semanticHint); case 3002: return getUnrecognizedTutorialAssigned_3002LinkLabelID(semanticHint); case 3003: return getUnrecognizedTutorialPresenters_3003LinkLabelID(semanticHint); } return -1; } /** * @generated */ public int getLinkWithClassVisualID(EObject domainElement) { EClass domainElementMetaclass = domainElement.eClass(); return getLinkWithClassVisualID(domainElement, domainElementMetaclass); } /** * @generated */ public int getLinkWithClassVisualID(EObject domainElement, EClass domainElementMetaclass) { if (EclipseconPackage.eINSTANCE.getHandout().equals( domainElementMetaclass) && (domainElement != null ? isLinkWithClassHandout_3001((Handout) domainElement) : true)) { return 3001; } else { return getUnrecognizedLinkWithClassID(domainElement); } } /** * User can change implementation of this method to check some additional * conditions here. * * @generated */ private boolean isDiagramConference_79(Conference element) { return true; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedDiagramID(EObject domainElement) { return -1; } /** * User can change implementation of this method to check some additional * conditions here. * * @generated */ private boolean isNodePresenter_1001(Presenter element) { return ElementSelectors.acceptAllMatcher().matches(element); } /** * User can change implementation of this method to check some additional * conditions here. * * @generated */ private boolean isNodeTutorial_1002(Tutorial element) { return ElementSelectors.acceptAllMatcher().matches(element); } /** * User can change implementation of this method to check some additional * conditions here. * * @generated */ private boolean isNodeSchedule_1003(Schedule element) { return ElementSelectors.acceptAllMatcher().matches(element); } /** * User can change implementation of this method to check some additional * conditions here. * * @generated */ private boolean isNodeResource_1004(Resource element) { return ElementSelectors.acceptAllMatcher().matches(element); } /** * User can change implementation of this method to check some additional * conditions here. * * @generated */ private boolean isNodeTimeSlot_2001(TimeSlot element) { return ElementSelectors.acceptAllMatcher().matches(element); } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedPresenter_1001ChildNodeID(String semanticHint) { return -1; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedPresenter_1001ChildNodeID(EObject domainElement) { return -1; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedTutorial_1002ChildNodeID(String semanticHint) { return -1; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedTutorial_1002ChildNodeID(EObject domainElement) { return -1; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedSchedule_1003ChildNodeID(String semanticHint) { return -1; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedSchedule_1003ChildNodeID(EObject domainElement) { return -1; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedResource_1004ChildNodeID(String semanticHint) { return -1; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedResource_1004ChildNodeID(EObject domainElement) { return -1; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedTimeSlot_2001ChildNodeID(String semanticHint) { return -1; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedTimeSlot_2001ChildNodeID(EObject domainElement) { return -1; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedConference_79ChildNodeID(String semanticHint) { return -1; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedConference_79ChildNodeID(EObject domainElement) { return -1; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedHandout_3001LinkLabelID(String semanticHint) { return -1; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedTutorialAssigned_3002LinkLabelID( String semanticHint) { return -1; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedTutorialPresenters_3003LinkLabelID( String semanticHint) { return -1; } /** * User can change implementation of this method to handle some specific * situations not covered by default logic. * * @generated */ private int getUnrecognizedLinkWithClassID(EObject domainElement) { return -1; } /** * User can change implementation of this method to check some additional * conditions here. * * @generated */ private boolean isLinkWithClassHandout_3001(Handout element) { return ElementSelectors.acceptAllMatcher().matches(element); } /** * @generated */ private String getModelID(View containerView) { EAnnotation annotation = containerView.getEAnnotation("ViewIdentifier"); //$NON-NLS-1$ if (annotation == null) { return null; } return (String) annotation.getDetails().get("modelID"); //$NON-NLS-1$ } /** * @generated */ private static int getVisualID(View containerView) { EAnnotation annotation = containerView.getEAnnotation("ViewIdentifier"); //$NON-NLS-1$ if (annotation == null) { return -1; } String visualID = (String) annotation.getDetails().get("visualID"); //$NON-NLS-1$ if (visualID == null) { return -1; } try { return Integer.parseInt(visualID); } catch (NumberFormatException e) { EclipseconDiagramEditorPlugin.getInstance().logError( "Unable to parse \"visualID\" annotation: " + visualID, e); } return -1; } /** * @generated */ private static class ElementSelectors { /** * @generated */ private ElementSelectors() { } /** * @generated */ static class AcceptAllMatcher { /** * @generated */ static final AcceptAllMatcher INSTANCE = new AcceptAllMatcher(); /** * @generated */ boolean matches(Object element) { return true; } } /** * @generated */ static AcceptAllMatcher acceptAllMatcher() { return AcceptAllMatcher.INSTANCE; } } // end of ElementSelectors }