Skip to content

Commit

Permalink
TEIIDDES-3036
Browse files Browse the repository at this point in the history
 * added type check and error dialog if biginteger. prevents create projo from launching
  • Loading branch information
blafond committed Apr 10, 2017
1 parent b59fb42 commit 2d11a78
Show file tree
Hide file tree
Showing 3 changed files with 25 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -223,6 +223,9 @@ public class Messages extends org.teiid.designer.relational.ui.Messages {
public static String ExportTeiidDdlModelSelectionPage_configureOptionsAndClickNextMessage;
public static String ExportTeiidDdlModelSelectionPage_initialMessage;

public static String CreatePojoAction_invalidDatatypeTitle;
public static String CreatePojoAction_invalidDatatypeMessage;

static {
NLS.initializeMessages("org.teiid.designer.transformation.ui.messages", Messages.class); //$NON-NLS-1$
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,25 @@

import org.eclipse.emf.ecore.EObject;
import org.eclipse.emf.ecore.resource.Resource;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.jface.viewers.ISelection;
import org.eclipse.jface.viewers.StructuredSelection;
import org.eclipse.jface.window.Window;
import org.eclipse.jface.wizard.WizardDialog;
import org.eclipse.osgi.util.NLS;
import org.eclipse.ui.IWorkbenchWindow;
import org.teiid.designer.core.workspace.ModelResource;
import org.teiid.designer.metamodels.relational.Column;
import org.teiid.designer.metamodels.relational.Table;
import org.teiid.designer.transformation.reverseeng.ReverseEngConstants.Mode;
import org.teiid.designer.transformation.ui.UiPlugin;
import org.teiid.designer.transformation.ui.wizards.jdg.MaterializationWizard;
import org.teiid.designer.transformation.ui.wizards.jdg.Messages;
import org.teiid.designer.type.IDataTypeManagerService;
import org.teiid.designer.ui.actions.SortableSelectionAction;
import org.teiid.designer.ui.common.eventsupport.SelectionUtilities;
import org.teiid.designer.ui.viewsupport.ModelIdentifier;
import org.teiid.designer.ui.viewsupport.ModelObjectUtilities;
import org.teiid.designer.ui.viewsupport.ModelUtilities;

public class CreatePojoAction extends SortableSelectionAction {
Expand Down Expand Up @@ -75,6 +80,20 @@ private boolean isRelationalTable( EObject eObject ) {
@Override
public void run() {
final IWorkbenchWindow iww = UiPlugin.getDefault().getCurrentWorkbenchWindow();

// Check first that none of the columns in the table have a biginteger datatype
final Table theTable = (Table)SelectionUtilities.getSelectedEObject(getSelection());
for( Object col : theTable.getColumns() ) {
EObject datatype = ((Column)col).getType();
String typeName = ModelObjectUtilities.getName(datatype);
if(IDataTypeManagerService.DataTypeName.BIGINTEGER.toString().equalsIgnoreCase(typeName) ) {
MessageDialog.openError(iww.getShell(), org.teiid.designer.transformation.ui.Messages.CreatePojoAction_invalidDatatypeTitle,
NLS.bind(org.teiid.designer.transformation.ui.Messages.CreatePojoAction_invalidDatatypeMessage, typeName));
return;
}
}



final MaterializationWizard wizard = new MaterializationWizard(Mode.POJO);
wizard.setWindowTitle(Messages.MaterializationWizard_Title_Pojo_Only);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -226,3 +226,6 @@ ExportTeiidDdlModelSelectionPage_selectModelDialogMessage=Select model to export
ExportTeiidDdlModelSelectionPage_configureOptionsAndClickNextMessage=Configure options and click Next > to continue...
ExportTeiidDdlModelSelectionPage_initialMessage=Select target model for export and define available options

CreatePojoAction_invalidDatatypeTitle=Invalid Column Datatype
CreatePojoAction_invalidDatatypeMessage=Cannot generate POJO with column data type of {0}.\n\n\
Change the column data type to long and re-launch this wizard.

0 comments on commit 2d11a78

Please sign in to comment.