/*
* 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.editors;
import org.eclipse.core.resources.IFile;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
import org.teiid.designer.relational.model.RelationalProcedure;
import org.teiid.designer.relational.model.RelationalReference;
import org.teiid.designer.relational.model.RelationalViewIndex;
import org.teiid.designer.relational.model.RelationalViewProcedure;
import org.teiid.designer.relational.model.RelationalViewTable;
import org.teiid.designer.relational.ui.edit.RelationalEditorPanel;
import org.teiid.designer.relational.ui.edit.RelationalIndexEditorPanel;
import org.teiid.designer.relational.ui.editor.EditRelationalObjectDialogModel;
import org.teiid.designer.transformation.ui.Messages;
import org.teiid.designer.ui.common.eventsupport.IDialogStatusListener;
/**
*
*/
public class TransformationDialogModel extends EditRelationalObjectDialogModel {
/**
* @param relationalObject
* @param modelFile
*/
public TransformationDialogModel(final RelationalReference relationalObject, final IFile modelFile) {
super(relationalObject, modelFile);
}
@Override
public RelationalEditorPanel getEditorPanel( IDialogStatusListener statusListener, Composite parent) {
if( relationalObject instanceof RelationalViewTable ) {
return new ViewTableEditorPanel(parent, this, statusListener);
}
else if( relationalObject instanceof RelationalViewProcedure ) {
return new ViewProcedureEditorPanel(parent, this, statusListener);
}
else if( relationalObject instanceof RelationalViewIndex ) {
return new RelationalIndexEditorPanel(parent, this, statusListener);
}
return null;
}
@Override
public String getDialogTitle() {
if( relationalObject instanceof RelationalViewTable ) {
return Messages.createRelationalViewTableTitle;
} else if( relationalObject instanceof RelationalViewProcedure ) {
if( ((RelationalProcedure)relationalObject).isFunction() ) {
return Messages.createRelationalViewUserDefinedFunctionTitle;
}
return Messages.createRelationalViewProcedureTitle;
} else if( relationalObject instanceof RelationalViewIndex ) {
return Messages.createRelationalViewIndexTitle;
}
return NLS.bind(Messages.unsupportedObjectType, relationalObject.getClass().toString());
}
@Override
public String getHelpText() {
if( relationalObject instanceof RelationalViewTable ) {
return Messages.createRelationalViewTableHelpText;
} else if( relationalObject instanceof RelationalViewProcedure ) {
if( ((RelationalProcedure)relationalObject).isFunction() ) {
return Messages.createRelationalViewUserDefinedFunctionHelpText;
}
return Messages.createRelationalViewProcedureHelpText;
} else if( relationalObject instanceof RelationalViewIndex ) {
return Messages.createRelationalViewIndexHelpText;
}
return NLS.bind(Messages.unsupportedObjectType, relationalObject.getClass().toString());
}
}