/*
* JBoss, Home of Professional Open Source.
*
* See the LEGAL.txt file distributed with this work for information regarding copyright ownership and licensing.
*
* See the AUTHORS.txt file distributed with this work for a full listing of individual contributors.
*/
package org.teiid.designer.transformation.ui.diagram;
import org.eclipse.emf.ecore.EObject;
import org.teiid.designer.diagram.ui.preferences.DiagramColorObject;
import org.teiid.designer.metamodels.diagram.Diagram;
import org.teiid.designer.transformation.ui.PluginConstants;
import org.teiid.designer.transformation.ui.UiConstants;
import org.teiid.designer.ui.viewsupport.ModelObjectUtilities;
import org.teiid.designer.ui.viewsupport.ModelUtilities;
/**
* PackageDiagramType
*
* @since 8.0
*/
public class DependencyDiagramType extends TransformationDiagramType {
//============================================================================================================================
// FIELDS
//============================================================================================================================
//
// Constructors
//
/**
* Construct an instance of PackageDiagramType.
*
*/
public DependencyDiagramType() {
super();
}
//============================================================================================================================
// METHODS implementing IDiagramType
//============================================================================================================================
/* (non-Javadoc)
* @See org.teiid.designer.transformation.ui.diagram.TransformationDiagramType#getBackgroundColorObject(java.lang.String)
*/
@Override
public DiagramColorObject getBackgroundColorObject(String extensionID) {
if( bkgdColorObject == null ) {
bkgdColorObject = new DiagramColorObject(getDisplayName(), PluginConstants.Prefs.Appearance.DEPENDENCY_BKGD_COLOR);
}
return bkgdColorObject;
}
/* (non-Javadoc)
* @See org.teiid.designer.diagram.ui.IDiagramType#getDisplayName()
*/
@Override
public String getDisplayName() {
return UiConstants.Util.getString("DiagramNames.dependencyDiagram"); //$NON-NLS-1$) ;
}
/* (non-Javadoc)
* @See org.teiid.designer.diagram.ui.IDiagramType#canOpenContext(java.lang.Object)
*/
@Override
public boolean canOpenContext(Object input) {
boolean canOpen = false;
if( input instanceof Diagram &&
((Diagram)input).getType() != null &&
((Diagram)input).getType().equals(PluginConstants.DEPENDENCY_DIAGRAM_TYPE_ID))
canOpen = true;
return canOpen;
}
/* (non-Javadoc)
* @See org.teiid.designer.diagram.ui.IDiagramType#getDiagramForContext(java.lang.Object)
*/
@Override
public Diagram getDiagramForContext(Object input) {
Diagram depDiagram = null;
if( input instanceof Diagram &&
((Diagram)input).getType() != null &&
((Diagram)input).getType().equals(PluginConstants.DEPENDENCY_DIAGRAM_TYPE_ID))
depDiagram = (Diagram)input;
return depDiagram;
}
/* (non-Javadoc)
* @See org.teiid.designer.diagram.ui.IDiagramType#getDisplayedPath(org.teiid.designer.metamodels.diagram.Diagram, org.eclipse.emf.ecore.EObject)
*/
@Override
public String getDisplayedPath(Diagram diagram, EObject eObject) {
String path = null;
if( diagram.getType() != null && diagram.getType().equals(PluginConstants.DEPENDENCY_DIAGRAM_TYPE_ID)) {
// Check to see if the modelResource for this class is same as diagram.
if( ! ModelUtilities.areModelResourcesSame(diagram, eObject) )
path = ModelObjectUtilities.getTrimmedFullPath(eObject);
else
path = ModelObjectUtilities.getTrimmedRelativePath(eObject);
}
return path;
}
}