Skip to content

Commit

Permalink
TEIIDDES-1663: Refactor the relational and transformation dialogs
Browse files Browse the repository at this point in the history
* The child actions for relational and view diagrams create dialogs from
  classes that duplicate the same functionality. This refactors the classes
  so that only one class displays the dialog and its factories are
  replaced with diagram models that provide the small differences in
  functionality.

* [*]Action
 * The dialog requires a dialog model which encapsulates both the relational
   object and selected file

* Dialog updates
 * Icons for description and sql tabs
 * Help text is moved from the main panel to the message area of the dialog

* [*]Panel
 * Extends the use of the abstract parent class to reduce code duplication
 * The dialog model is passed in as the container for the reference and
   model file
 * Replacement of GridData and GridLayout instances with the use of
   GridDataFactory and GridLayoutFactory
 * Removes all use of hint heights to address the specific sizing issue.
   Neither the tab folder nor the name text components have priority over
   the sizing.
 * Removes spacers to reduce real-estate requirements of dialogs
  • Loading branch information
Paul Richardson committed May 30, 2013
1 parent 4d2f702 commit 58cc54b
Show file tree
Hide file tree
Showing 34 changed files with 2,232 additions and 3,343 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@ Bundle-Localization: plugin
Export-Package: org.teiid.designer.relational.ui,
org.teiid.designer.relational.ui.actions,
org.teiid.designer.relational.ui.edit,
org.teiid.designer.relational.ui.editor,
org.teiid.designer.relational.ui.flatfile,
org.teiid.designer.relational.ui.textimport,
org.teiid.designer.relational.ui.util,
Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,12 @@ public class Messages extends NLS {

public static String baseTableActionText;
public static String createRelationalTableTitle;
public static String createRelationalTableInitialMessage;
public static String createRelationalTableExceptionMessage;
public static String createRelationalTableHelpText;


public static String viewActionText;
public static String createRelationalViewTitle;
public static String createRelationalViewInitialMessage;
public static String createRelationalViewExceptionMessage;
public static String createRelationalViewHelpText;

Expand All @@ -52,20 +50,16 @@ public class Messages extends NLS {
public static String createRelationalUserDefinedFunctionDescription;
public static String createRelationalProcedureActionText;
public static String createRelationalProcedureTitle;
public static String createRelationalProcedureInitialMessage;
public static String createRelationalProcedureExceptionMessage;
public static String createRelationalProcedureHelpText;

public static String createRelationalSourceFunctionInitialMessage;
public static String createRelationalUserDefinedFunctionInitialMessage;

public static String createRelationalSourceFunctionTitle;
public static String createRelationalUserDefinedFunctionTitle;
public static String createRelationalSourceFunctionHelpText;
public static String createRelationalUserDefinedFunctionHelpText;

public static String createRelationalIndexActionText;
public static String createRelationalIndexTitle;
public static String createRelationalIndexInitialMessage;
public static String createRelationalIndexExceptionMessage;
public static String createRelationalIndexHelpText;
public static String browseModelToSelectTableForIndexTooltipText;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,6 @@
package org.teiid.designer.relational.ui;

import java.util.ResourceBundle;

import org.teiid.core.designer.PluginUtil;
import org.teiid.core.designer.util.PluginUtilImpl;

Expand Down Expand Up @@ -95,8 +94,12 @@ interface Images extends org.teiid.designer.ui.common.UiConstants.Images {
String INDEX_ICON = OBJ16 + "index.png"; //$NON-NLS-1$
String INDEX_ERROR_ICON = OBJ16 + "index-error.png"; //$NON-NLS-1$
String INDEX_WARNING_ICON = OBJ16 + "index-warning.png"; //$NON-NLS-1$


String EDIT_DESCRIPTION_ICON = OBJ16 + "edit-description.png"; //$NON-NLS-1$
String EDIT_DESCRIPTION_ERROR_ICON = OBJ16 + "edit-description-error.png"; //$NON-NLS-1$
String EDIT_DESCRIPTION_WARNING_ICON = OBJ16 + "edit-description-warning.png"; //$NON-NLS-1$
String NATIVE_SQL_ICON = OBJ16 + "native-sql.png"; //$NON-NLS-1$
String NATIVE_SQL_ERROR_ICON = OBJ16 + "native-sql-error.png"; //$NON-NLS-1$
String NATIVE_SQL_WARNING_ICON = OBJ16 + "native-sql-warning.png"; //$NON-NLS-1$
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,8 @@
import org.teiid.designer.relational.ui.Messages;
import org.teiid.designer.relational.ui.UiConstants;
import org.teiid.designer.relational.ui.UiPlugin;
import org.teiid.designer.relational.ui.edit.EditRelationalObjectDialog;
import org.teiid.designer.relational.ui.edit.RelationalDialogModel;
import org.teiid.designer.relational.ui.editor.EditRelationalObjectDialog;
import org.teiid.designer.ui.actions.INewChildAction;
import org.teiid.designer.ui.actions.INewSiblingAction;
import org.teiid.designer.ui.common.eventsupport.SelectionUtilities;
Expand Down Expand Up @@ -124,7 +125,8 @@ public void run() {
RelationalIndex index = new RelationalIndex();

// Hand the table off to the generic edit dialog
EditRelationalObjectDialog dialog = new EditRelationalObjectDialog(shell, index, selectedModel);
RelationalDialogModel dialogModel = new RelationalDialogModel(index, selectedModel);
EditRelationalObjectDialog dialog = new EditRelationalObjectDialog(shell, dialogModel);

dialog.open();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@
import org.teiid.designer.relational.ui.Messages;
import org.teiid.designer.relational.ui.UiConstants;
import org.teiid.designer.relational.ui.UiPlugin;
import org.teiid.designer.relational.ui.edit.EditRelationalObjectDialog;
import org.teiid.designer.relational.ui.edit.RelationalDialogModel;
import org.teiid.designer.relational.ui.editor.EditRelationalObjectDialog;
import org.teiid.designer.type.IDataTypeManagerService;
import org.teiid.designer.ui.actions.INewChildAction;
import org.teiid.designer.ui.actions.INewSiblingAction;
Expand Down Expand Up @@ -154,7 +155,8 @@ public void run() {

if (procedureTypeDialog.getReturnCode() == Window.OK) {
// Hand the table off to the generic edit dialog
EditRelationalObjectDialog dialog = new EditRelationalObjectDialog(shell, procedure, selectedModel);
RelationalDialogModel dialogModel = new RelationalDialogModel(procedure, selectedModel);
EditRelationalObjectDialog dialog = new EditRelationalObjectDialog(shell, dialogModel);

dialog.open();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,16 +27,14 @@
import org.teiid.designer.core.ModelerCore;
import org.teiid.designer.core.workspace.ModelResource;
import org.teiid.designer.core.workspace.ModelWorkspaceException;
import org.teiid.designer.metamodels.relational.BaseTable;
import org.teiid.designer.metamodels.relational.impl.BaseTableImpl;
import org.teiid.designer.metamodels.relational.impl.TableImpl;
import org.teiid.designer.relational.model.RelationalModel;
import org.teiid.designer.relational.model.RelationalModelFactory;
import org.teiid.designer.relational.model.RelationalTable;
import org.teiid.designer.relational.ui.Messages;
import org.teiid.designer.relational.ui.UiConstants;
import org.teiid.designer.relational.ui.UiPlugin;
import org.teiid.designer.relational.ui.edit.EditRelationalObjectDialog;
import org.teiid.designer.relational.ui.edit.RelationalDialogModel;
import org.teiid.designer.relational.ui.editor.EditRelationalObjectDialog;
import org.teiid.designer.type.IDataTypeManagerService;
import org.teiid.designer.ui.actions.INewChildAction;
import org.teiid.designer.ui.actions.INewSiblingAction;
Expand Down Expand Up @@ -147,7 +145,8 @@ public void run() {
table.setSupportsUpdate(true);

// Hand the table off to the generic edit dialog
EditRelationalObjectDialog dialog = new EditRelationalObjectDialog(shell, table, selectedModel);
RelationalDialogModel dialogModel = new RelationalDialogModel(table, selectedModel);
EditRelationalObjectDialog dialog = new EditRelationalObjectDialog(shell, dialogModel);

dialog.open();

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@
import java.util.Arrays;
import java.util.Collection;
import java.util.Set;

import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IResource;
import org.eclipse.core.runtime.IStatus;
Expand All @@ -34,7 +33,8 @@
import org.teiid.designer.relational.ui.Messages;
import org.teiid.designer.relational.ui.UiConstants;
import org.teiid.designer.relational.ui.UiPlugin;
import org.teiid.designer.relational.ui.edit.EditRelationalObjectDialog;
import org.teiid.designer.relational.ui.edit.RelationalDialogModel;
import org.teiid.designer.relational.ui.editor.EditRelationalObjectDialog;
import org.teiid.designer.type.IDataTypeManagerService;
import org.teiid.designer.ui.actions.INewChildAction;
import org.teiid.designer.ui.actions.INewSiblingAction;
Expand Down Expand Up @@ -145,7 +145,8 @@ public void run() {
table.setSupportsUpdate(true);

// Hand the table off to the generic edit dialog
EditRelationalObjectDialog dialog = new EditRelationalObjectDialog(shell, table, selectedModel);
RelationalDialogModel dialogModel = new RelationalDialogModel(table, selectedModel);
EditRelationalObjectDialog dialog = new EditRelationalObjectDialog(shell, dialogModel);

dialog.open();

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
/*
* 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.relational.ui.edit;

import org.eclipse.core.resources.IFile;
import org.eclipse.osgi.util.NLS;
import org.eclipse.swt.widgets.Composite;
import org.teiid.designer.relational.model.RelationalIndex;
import org.teiid.designer.relational.model.RelationalProcedure;
import org.teiid.designer.relational.model.RelationalReference;
import org.teiid.designer.relational.model.RelationalTable;
import org.teiid.designer.relational.model.RelationalView;
import org.teiid.designer.relational.ui.Messages;
import org.teiid.designer.relational.ui.editor.EditRelationalObjectDialogModel;

/**
* Dialog model class designed to provide generic editor panels for specific relational object types
*
* @since 8.0
*/
public class RelationalDialogModel extends EditRelationalObjectDialogModel {

/**
* @param relationalObject
* @param modelFile
*/
public RelationalDialogModel(RelationalReference relationalObject,
IFile modelFile) {
super(relationalObject, modelFile);
}

@Override
public RelationalEditorPanel getEditorPanel(IDialogStatusListener statusListener,
Composite parent) {
if (relationalObject instanceof RelationalTable) {
return new RelationalTableEditorPanel(parent, this, statusListener);
} else if (relationalObject instanceof RelationalProcedure) {
return new RelationalProcedureEditorPanel(parent, this, statusListener);
} else if (relationalObject instanceof RelationalIndex) {
return new RelationalIndexEditorPanel(parent, this, statusListener);
}

return null;
}

@Override
public String getDialogTitle() {
if (relationalObject instanceof RelationalView) {
return Messages.createRelationalViewTitle;
} else if (relationalObject instanceof RelationalTable) {
return Messages.createRelationalTableTitle;
} else if (relationalObject instanceof RelationalProcedure) {
RelationalProcedure procedure = (RelationalProcedure)relationalObject;
if (procedure.isSourceFunction()) {
return Messages.createRelationalSourceFunctionTitle;
} else if (procedure.isFunction()) {
return Messages.createRelationalUserDefinedFunctionTitle;
}
return Messages.createRelationalProcedureTitle;
} else if (relationalObject instanceof RelationalIndex) {
return Messages.createRelationalIndexTitle;
}

return NLS.bind(Messages.unsupportedObjectType, relationalObject.getClass().toString());
}

@Override
public String getHelpText() {
if (relationalObject instanceof RelationalView) {
return Messages.createRelationalViewHelpText;
} else if (relationalObject instanceof RelationalTable) {
return Messages.createRelationalTableHelpText;
} else if (relationalObject instanceof RelationalProcedure) {
RelationalProcedure procedure = (RelationalProcedure)relationalObject;
if (procedure.isSourceFunction()) {
return Messages.createRelationalSourceFunctionHelpText;
} else if (procedure.isFunction()) {
return Messages.createRelationalUserDefinedFunctionHelpText;
}

return Messages.createRelationalProcedureHelpText;
} else if (relationalObject instanceof RelationalIndex) {
return Messages.createRelationalIndexHelpText;
}

return NLS.bind(Messages.unsupportedObjectType, relationalObject.getClass().toString());
}
}
Loading

0 comments on commit 58cc54b

Please sign in to comment.