| /* |
| * Copyright (c) 2006 Borland Software Corporation |
| * |
| * All rights reserved. This program and the accompanying materials |
| * are made available under the terms of the Eclipse Public License v1.0 |
| * which accompanies this distribution, and is available at |
| * http://www.eclipse.org/legal/epl-v10.html |
| * |
| * Contributors: |
| * Dmitry Stadnik (Borland) - initial API and implementation |
| */ |
| package org.eclipse.gmf.map.editor.providers; |
| |
| import org.eclipse.core.runtime.IAdaptable; |
| import org.eclipse.emf.ecore.EClass; |
| import org.eclipse.emf.ecore.EObject; |
| import org.eclipse.gmf.runtime.diagram.core.providers.AbstractViewProvider; |
| import org.eclipse.gmf.runtime.notation.View; |
| import org.eclipse.gmf.runtime.emf.type.core.IElementType; |
| import org.eclipse.gmf.map.editor.edit.parts.CanvasMappingContentsEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.CanvasMappingEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.CanvasMappingInfoEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.ChildReferenceEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.CompartmentMappingEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.CompartmentMappingInfoEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.DesignLabelMapping2EditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.DesignLabelMappingEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.FeatureLabelMapping2EditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.FeatureLabelMappingEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.LabelMapping2EditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.LabelMappingEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.LinkMappingEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.LinkMappingInfoEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.LinkMappingLabelsEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.MappingEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.NodeMappingContentsEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.NodeMappingEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.NodeMappingInfoEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.NodeMappingLabelsEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.ReferenceInfo2EditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.ReferenceInfoEditPart; |
| import org.eclipse.gmf.map.editor.edit.parts.TopNodeReferenceEditPart; |
| |
| import org.eclipse.gmf.map.editor.part.GMFMapVisualIDRegistry; |
| |
| import org.eclipse.gmf.map.editor.view.factories.CanvasMappingContentsViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.CanvasMappingInfoViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.CanvasMappingViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.ChildReferenceOwnedChildViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.ChildReferenceReferencedChildViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.ChildReferenceViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.CompartmentMappingChildrenViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.CompartmentMappingInfoViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.CompartmentMappingViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.DesignLabelMapping2ViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.DesignLabelMappingViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.FeatureLabelMapping2ViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.FeatureLabelMappingViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.LabelMapping2ViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.LabelMappingViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.LinkMappingInfoViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.LinkMappingLabelsViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.LinkMappingViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.MappingViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.NodeMappingContentsViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.NodeMappingInfoViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.NodeMappingLabelsViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.NodeMappingViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.ReferenceInfo2ViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.ReferenceInfoViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.TopNodeReferenceOwnedChildViewFactory; |
| import org.eclipse.gmf.map.editor.view.factories.TopNodeReferenceViewFactory; |
| |
| /** |
| * @generated |
| */ |
| public class GMFMapViewProvider extends AbstractViewProvider { |
| |
| /** |
| * @generated |
| */ |
| protected Class getDiagramViewClass(IAdaptable semanticAdapter, String diagramKind) { |
| EObject semanticElement = getSemanticElement(semanticAdapter); |
| if (MappingEditPart.MODEL_ID.equals(diagramKind) && GMFMapVisualIDRegistry.getDiagramVisualID(semanticElement) != -1) { |
| return MappingViewFactory.class; |
| } |
| return null; |
| } |
| |
| /** |
| * @generated |
| */ |
| protected Class getNodeViewClass(IAdaptable semanticAdapter, View containerView, String semanticHint) { |
| if (containerView == null) { |
| return null; |
| } |
| IElementType elementType = getSemanticElementType(semanticAdapter); |
| if (elementType != null && !GMFMapElementTypes.isKnownElementType(elementType)) { |
| return null; |
| } |
| EClass semanticType = getSemanticEClass(semanticAdapter); |
| EObject semanticElement = getSemanticElement(semanticAdapter); |
| int nodeVID = GMFMapVisualIDRegistry.getNodeVisualID(containerView, semanticElement, semanticType, semanticHint); |
| switch (nodeVID) { |
| case CanvasMappingEditPart.VISUAL_ID: |
| return CanvasMappingViewFactory.class; |
| case CanvasMappingInfoEditPart.VISUAL_ID: |
| return CanvasMappingInfoViewFactory.class; |
| case NodeMappingEditPart.VISUAL_ID: |
| return NodeMappingViewFactory.class; |
| case NodeMappingInfoEditPart.VISUAL_ID: |
| return NodeMappingInfoViewFactory.class; |
| case LinkMappingEditPart.VISUAL_ID: |
| return LinkMappingViewFactory.class; |
| case LinkMappingInfoEditPart.VISUAL_ID: |
| return LinkMappingInfoViewFactory.class; |
| case TopNodeReferenceEditPart.VISUAL_ID: |
| return TopNodeReferenceViewFactory.class; |
| case ReferenceInfoEditPart.VISUAL_ID: |
| return ReferenceInfoViewFactory.class; |
| case FeatureLabelMappingEditPart.VISUAL_ID: |
| return FeatureLabelMappingViewFactory.class; |
| case DesignLabelMappingEditPart.VISUAL_ID: |
| return DesignLabelMappingViewFactory.class; |
| case LabelMappingEditPart.VISUAL_ID: |
| return LabelMappingViewFactory.class; |
| case ChildReferenceEditPart.VISUAL_ID: |
| return ChildReferenceViewFactory.class; |
| case ReferenceInfo2EditPart.VISUAL_ID: |
| return ReferenceInfo2ViewFactory.class; |
| case CompartmentMappingEditPart.VISUAL_ID: |
| return CompartmentMappingViewFactory.class; |
| case CompartmentMappingInfoEditPart.VISUAL_ID: |
| return CompartmentMappingInfoViewFactory.class; |
| case FeatureLabelMapping2EditPart.VISUAL_ID: |
| return FeatureLabelMapping2ViewFactory.class; |
| case DesignLabelMapping2EditPart.VISUAL_ID: |
| return DesignLabelMapping2ViewFactory.class; |
| case LabelMapping2EditPart.VISUAL_ID: |
| return LabelMapping2ViewFactory.class; |
| case CanvasMappingContentsEditPart.VISUAL_ID: |
| return CanvasMappingContentsViewFactory.class; |
| case NodeMappingLabelsEditPart.VISUAL_ID: |
| return NodeMappingLabelsViewFactory.class; |
| case NodeMappingContentsEditPart.VISUAL_ID: |
| return NodeMappingContentsViewFactory.class; |
| case LinkMappingLabelsEditPart.VISUAL_ID: |
| return LinkMappingLabelsViewFactory.class; |
| } |
| return null; |
| } |
| |
| /** |
| * @generated |
| */ |
| protected Class getEdgeViewClass(IAdaptable semanticAdapter, View containerView, String semanticHint) { |
| IElementType elementType = getSemanticElementType(semanticAdapter); |
| if (elementType != null && !GMFMapElementTypes.isKnownElementType(elementType)) { |
| return null; |
| } |
| if (GMFMapElementTypes.TopNodeReferenceOwnedChild_4001.equals(elementType)) { |
| return TopNodeReferenceOwnedChildViewFactory.class; |
| } |
| if (GMFMapElementTypes.ChildReferenceOwnedChild_4004.equals(elementType)) { |
| return ChildReferenceOwnedChildViewFactory.class; |
| } |
| if (GMFMapElementTypes.ChildReferenceReferencedChild_4002.equals(elementType)) { |
| return ChildReferenceReferencedChildViewFactory.class; |
| } |
| if (GMFMapElementTypes.CompartmentMappingChildren_4003.equals(elementType)) { |
| return CompartmentMappingChildrenViewFactory.class; |
| } |
| EClass semanticType = getSemanticEClass(semanticAdapter); |
| if (semanticType == null) { |
| return null; |
| } |
| EObject semanticElement = getSemanticElement(semanticAdapter); |
| int linkVID = GMFMapVisualIDRegistry.getLinkWithClassVisualID(semanticElement, semanticType); |
| switch (linkVID) { |
| } |
| return getUnrecognizedConnectorViewClass(semanticAdapter, containerView, semanticHint); |
| } |
| |
| /** |
| * @generated |
| */ |
| private IElementType getSemanticElementType(IAdaptable semanticAdapter) { |
| if (semanticAdapter == null) { |
| return null; |
| } |
| return (IElementType) semanticAdapter.getAdapter(IElementType.class); |
| } |
| |
| /** |
| * @generated |
| */ |
| private Class getUnrecognizedConnectorViewClass(IAdaptable semanticAdapter, View containerView, String semanticHint) { |
| // Handle unrecognized child node classes here |
| return null; |
| } |
| |
| } |