Skip to content

Commit

Permalink
TEIIDDES-2997 Fixed missing comma issue in DDL generator
Browse files Browse the repository at this point in the history
 * Changed DDL text box to StyledText for Import/Export Teiid DDL
  • Loading branch information
blafond committed Jan 12, 2017
1 parent 38de00c commit ac96980
Show file tree
Hide file tree
Showing 5 changed files with 63 additions and 27 deletions.
Expand Up @@ -37,10 +37,14 @@
import org.eclipse.jface.window.Window;
import org.eclipse.jface.wizard.WizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
Expand Down Expand Up @@ -84,6 +88,7 @@ public class TeiidDdlImporterPage extends WizardPage implements IPersistentWiza
private static final List<ModelType> MODEL_TYPES = Arrays.asList(ModelType.PHYSICAL_LITERAL, ModelType.VIRTUAL_LITERAL);
private static final String OPT_TO_CREATE_MODEL_ENTITIES_FOR_UNSUPPORTED_DDL_SETTING = "optToCreateModelEntitiesForUnsupportedDdl"; //$NON-NLS-1$
private static final String OPT_TO_SET_MODEL_ENTITY_DESCRIPTION_SETTING = "optToSetModelEntityDescription"; //$NON-NLS-1$
private Font monospaceFont;

private final DdlImporter importer;
final IProject[] projects;
Expand All @@ -98,7 +103,7 @@ public class TeiidDdlImporterPage extends WizardPage implements IPersistentWiza
private Button optToSetModelEntityDescriptionCheckBox;
private Button optToCreateModelEntitiesForUnsupportedDdlCheckBox;
Button filterRedundantUCsCB;
private Text ddlFileContentsBox;
private StyledText ddlFileContentsBox;

private TabItem modelDefinitionTab;
private TabItem optionsTab;
Expand Down Expand Up @@ -262,6 +267,8 @@ public final boolean hasChildren( final IContainer container ) {
*/
@Override
public void createControl( final Composite parent ) {
monospaceFont(parent);

final IDialogSettings settings = getDialogSettings();
initDlgFolderName = settings.get(INITIAL_DIALOG_FOLDER_SETTING);

Expand Down Expand Up @@ -590,8 +597,12 @@ private Composite createDdlPanel( Composite parent ) {
final Composite mainPanel = WidgetFactory.createPanel(parent, SWT.NONE, 1, 1);
GridLayoutFactory.fillDefaults().margins(10, 10).applyTo(mainPanel);

ddlFileContentsBox = WidgetFactory.createTextBox(mainPanel);

ddlFileContentsBox = new StyledText(mainPanel, SWT.READ_ONLY | SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
GridDataFactory.fillDefaults().grab(true, true).minSize(400, 300).applyTo(ddlFileContentsBox);

ddlFileContentsBox.setEditable(false);
ddlFileContentsBox.setFont(monospaceFont);

return mainPanel;
}
Expand Down Expand Up @@ -711,6 +722,24 @@ void tabFromDdlFileCombo() {
if (importer.ddlFileName() != null) if (importer.modelFolder() == null) modelFolderFld.setFocus();
else modelNameFld.setFocus();
}

private Font monospaceFont(Composite composite) {
if (monospaceFont == null) {
monospaceFont = new Font(composite.getDisplay(), "Monospace", 12, SWT.NORMAL); //$NON-NLS-1$
composite.addDisposeListener(new DisposeListener() {

@Override
public void widgetDisposed(DisposeEvent e) {
if (monospaceFont == null)
return;

monospaceFont.dispose();
}
});
}

return monospaceFont;
}

void validate() {
setErrorMessage(null);
Expand Down
Expand Up @@ -722,7 +722,7 @@ private void refreshDisplayValues(final String adminPWD, final String jdbcPWD) {
if (!active || teiidServer == null || form.isDisposed())
return;

if( hostNameLabel.isDisposed() ) return;
if( hostNameLabel == null || hostNameLabel.isDisposed() ) return;

hostNameLabel.setText(teiidServer.getHost());
String versionValue = teiidServer.getServerVersion().toString();
Expand Down
Expand Up @@ -34,8 +34,6 @@
import org.teiid.designer.runtime.ui.wizards.vdbs.style.XmlRegion;
import org.teiid.designer.runtime.ui.wizards.vdbs.style.XmlRegionAnalyzer;
import org.teiid.designer.ui.common.util.WidgetFactory;
import org.teiid.designer.ui.common.util.WizardUtil;
import org.teiid.designer.ui.common.widget.Label;
import org.teiid.designer.ui.common.wizard.AbstractWizardPage;

/**
Expand Down
Expand Up @@ -2,7 +2,6 @@

import java.io.BufferedWriter;
import java.io.ByteArrayInputStream;
import java.io.File;
import java.io.FileWriter;
import java.io.InputStream;
import java.io.PrintWriter;
Expand All @@ -14,30 +13,23 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Path;
import org.eclipse.jface.dialogs.IDialogSettings;
import org.eclipse.jface.dialogs.ProgressMonitorDialog;
import org.eclipse.jface.layout.GridDataFactory;
import org.eclipse.jface.layout.GridLayoutFactory;
import org.eclipse.jface.operation.IRunnableWithProgress;
import org.eclipse.jface.window.Window;
import org.eclipse.jface.wizard.IWizard;
import org.eclipse.jface.wizard.IWizardPage;
import org.eclipse.swt.SWT;
import org.eclipse.swt.events.ModifyEvent;
import org.eclipse.swt.events.ModifyListener;
import org.eclipse.swt.custom.StyledText;
import org.eclipse.swt.events.DisposeEvent;
import org.eclipse.swt.events.DisposeListener;
import org.eclipse.swt.events.SelectionAdapter;
import org.eclipse.swt.events.SelectionEvent;
import org.eclipse.swt.graphics.Font;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Combo;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.FileDialog;
import org.eclipse.swt.widgets.Group;
import org.eclipse.swt.widgets.Text;
import org.teiid.core.designer.util.FileUtils;
import org.teiid.core.designer.util.I18nUtil;
import org.teiid.core.designer.util.StringConstants;
import org.teiid.designer.core.ModelerCore;
import org.teiid.designer.transformation.ui.UiConstants;
Expand All @@ -50,8 +42,9 @@ public class ExportTeiidShowDdlPage extends AbstractWizardPage implements UiCons

private final String EMPTY = StringConstants.EMPTY_STRING;
private final int GROUP_HEIGHT_190 = 190;
private Font monospaceFont;

private Text ddlContentsBox;
private StyledText ddlContentsBox;
private Button exportDDLToFileSystemButton;
private Button exportDDLToWorkspaceButton;

Expand All @@ -70,6 +63,7 @@ public ExportTeiidShowDdlPage(TeiidDdlExporter exporter) {

@Override
public void createControl(Composite parent) {
monospaceFont(parent);
// Create page
final Composite mainPanel = new Composite(parent, SWT.NONE);

Expand Down Expand Up @@ -98,8 +92,11 @@ private void createDDLDisplayGroup( Composite parent ) {
groupGD.widthHint = 400;
theGroup.setLayoutData(groupGD);

ddlContentsBox = WidgetFactory.createTextBox(theGroup);
ddlContentsBox = new StyledText(theGroup, SWT.READ_ONLY | SWT.BORDER | SWT.MULTI | SWT.H_SCROLL | SWT.V_SCROLL);
GridDataFactory.fillDefaults().grab(true, true).minSize(400, 300).applyTo(ddlContentsBox);

ddlContentsBox.setEditable(false);
ddlContentsBox.setFont(monospaceFont);
}

/**
Expand Down Expand Up @@ -197,7 +194,6 @@ private void createDDLFile(final IContainer targetContainer, final String ddlFil
* @see org.eclipse.jface.operation.IRunnableWithProgress#run(org.eclipse.core.runtime.IProgressMonitor)
*/
@Override
@SuppressWarnings("unchecked")
public void run( final IProgressMonitor monitor ) throws InvocationTargetException {
try {
final IFile ddlFileToCreate = targetContainer.getFile(new Path(ddlFileName));
Expand Down Expand Up @@ -299,5 +295,23 @@ private boolean validatePage() {
private void setThisPageComplete(String message, int severity) {
WizardUtil.setPageComplete(this, message, severity);
}

private Font monospaceFont(Composite composite) {
if (monospaceFont == null) {
monospaceFont = new Font(composite.getDisplay(), "Monospace", 12, SWT.NORMAL); //$NON-NLS-1$
composite.addDisposeListener(new DisposeListener() {

@Override
public void widgetDisposed(DisposeEvent e) {
if (monospaceFont == null)
return;

monospaceFont.dispose();
}
});
}

return monospaceFont;
}

}
Expand Up @@ -55,13 +55,7 @@
import org.teiid.designer.metamodels.relational.util.RelationalUtil;
import org.teiid.designer.metamodels.transformation.TransformationMappingRoot;
import org.teiid.designer.relational.RelationalConstants;
import org.teiid.designer.relational.model.RelationalAccessPattern;
import org.teiid.designer.relational.model.RelationalForeignKey;
import org.teiid.designer.relational.model.RelationalParameter;
import org.teiid.designer.relational.model.RelationalPrimaryKey;
import org.teiid.designer.relational.model.RelationalUniqueConstraint;
import org.teiid.designer.transformation.TransformationPlugin;
import org.teiid.designer.transformation.reverseeng.api.Options;
import org.teiid.designer.transformation.util.TransformationHelper;
import org.teiid.designer.type.IDataTypeManagerService.DataTypeName;
//import org.teiid.query.ui.sqleditor.component.QueryDisplayFormatter;
Expand Down Expand Up @@ -377,6 +371,7 @@ private String table(Table table) {
if( table instanceof BaseTable) {
String constraints = getContraints((BaseTable)table);
if( constraints != null ) {
sb.append(COMMA);
sb.append(constraints);
}
}
Expand Down Expand Up @@ -443,6 +438,7 @@ private String view(Table table) {
if( table instanceof BaseTable) {
String constraints = getContraints((BaseTable)table);
if( constraints != null ) {
sb.append(COMMA);
sb.append(constraints);
}
}
Expand Down Expand Up @@ -894,7 +890,6 @@ private String getContraints(BaseTable table) {
PrimaryKey pk = table.getPrimaryKey();
// CONSTRAINT PK_ACCOUNTHOLDINGS PRIMARY KEY(TRANID),
String pkName = getName(pk);
sb.append(COMMA);
StringBuilder theSB = new StringBuilder(NEW_LINE + TAB + CONSTRAINT + SPACE + pkName + SPACE + PRIMARY_KEY);
nColumns = pk.getColumns().size();
count = 0;
Expand Down

0 comments on commit ac96980

Please sign in to comment.