/*
* 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.mapping.ui.actions;
import org.eclipse.emf.ecore.EObject;
import org.teiid.designer.diagram.ui.editor.DiagramEditor;
import org.teiid.designer.mapping.factory.MappingClassFactory;
import org.teiid.designer.mapping.ui.UiPlugin;
import org.teiid.designer.mapping.ui.util.MappingUiUtil;
import org.teiid.designer.metamodels.transformation.MappingClass;
import org.teiid.designer.metamodels.transformation.MappingClassColumn;
import org.teiid.designer.metamodels.transformation.StagingTable;
import org.teiid.designer.ui.actions.ModelObjectAction;
/**
* MappingAction provides transformation-specific helper methods.
*
* @since 8.0
*/
public class MappingAction extends ModelObjectAction {
private EObject transformationEObject;
private MappingClassFactory mappingClassFactory;
protected DiagramEditor editor;
private boolean isDetailed = false;
// /////////////////////////////////////////////////////////////////////////////////////////////
// CONSTRUCTORS
// /////////////////////////////////////////////////////////////////////////////////////////////
/**
* Construct an instance of MappingAction.
*/
public MappingAction() {
super(UiPlugin.getDefault());
}
/**
* Construct an instance of MappingAction.
*/
public MappingAction( UiPlugin plugin,
int iStyle ) {
super(plugin, iStyle);
}
/**
* Construct an instance of MappingAction.
*/
public MappingAction( EObject transformationEObject ) {
super(UiPlugin.getDefault());
this.transformationEObject = transformationEObject;
}
public EObject getTransformation() {
return transformationEObject;
}
public void setTransformation( EObject transformationEObject ) {
this.transformationEObject = transformationEObject;
}
@Override
protected void doRun() {
}
public void setDiagramEditor( DiagramEditor editor ) {
this.editor = editor;
}
/**
* @return
*/
public MappingClassFactory getMappingClassFactory() {
// jh Defect 21277: Ensure that we are using an up to date mcf, and that
// any mods we do are done to the right TreeMappingAdapter.
mappingClassFactory = MappingUiUtil.getCurrentMappingClassFactory();
return mappingClassFactory;
}
/**
* @param factory
*/
public void setMappingClassFactory( MappingClassFactory factory ) {
mappingClassFactory = factory;
}
public boolean isMappingClass( EObject eObject ) {
return eObject instanceof MappingClass;
}
public boolean isStagingTable( EObject eObject ) {
return eObject instanceof StagingTable;
}
public boolean isMappingClassColumn( EObject eObject ) {
return eObject instanceof MappingClassColumn;
}
protected void setDetailed( boolean mode ) {
this.isDetailed = mode;
}
public boolean isDetailed() {
return isDetailed;
}
protected boolean isWritable() {
return !isReadOnly();
}
/* (non-Javadoc)
* @see org.teiid.designer.ui.actions.ModelObjectAction#requiresEditorForRun()
*/
@Override
protected boolean requiresEditorForRun() {
return false;
}
}