// ============================================================================ // // Copyright (C) 2006-2016 Talend Inc. - www.talend.com // // This source code is available under agreement available at // %InstallDIR%\features\org.talend.rcp.branding.%PRODUCTNAME%\%PRODUCTNAME%license.txt // // You should have received a copy of the agreement // along with this program; if not, write to Talend SA // 9 rue Pages 92150 Suresnes, France // // ============================================================================ package org.talend.dataprofiler.core.ui.wizard.database; import org.eclipse.core.runtime.IStatus; import org.eclipse.swt.SWT; import org.eclipse.swt.events.ModifyEvent; import org.eclipse.swt.events.ModifyListener; import org.eclipse.swt.layout.GridData; import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Label; import org.eclipse.swt.widgets.Text; import org.talend.dataprofiler.core.i18n.internal.DefaultMessagesImpl; import org.talend.dataprofiler.core.ui.wizard.AbstractWizardPage; /** * DOC xqliu class global comment. Detailled comment */ public class MetaDataFilterWizardPage extends AbstractWizardPage { private MetaDataFilterWizard parentWizard; protected Text metadataFilterText; protected static final String MSG_FILTER_VALID = DefaultMessagesImpl.getString("TableViewColumnFilterWizardPage.filterValid"); //$NON-NLS-1$ protected static final String MSG_FILTER_INVALID = DefaultMessagesImpl .getString("TableViewColumnFilterWizardPage.filterInvalid"); //$NON-NLS-1$ public Text getMetadataFilterText() { return metadataFilterText; } public void setMetadataFilterText(Text metaDataFilterText) { this.metadataFilterText = metaDataFilterText; } public MetaDataFilterWizardPage(MetaDataFilterWizard parent) { this(); this.parentWizard = parent; } public MetaDataFilterWizardPage() { super(); } public void createControl(Composite parent) { Composite comp = new Composite(parent, SWT.NONE); GridLayout grid = new GridLayout(2, false); comp.setLayout(grid); GridData gd = new GridData(); gd.widthHint = 280; gd.heightHint = 15; Label l1 = new Label(comp, SWT.NONE); l1.setText(DefaultMessagesImpl.getString("MetaDataFilterWizardPage.conn")); //$NON-NLS-1$ String temp = "";//$NON-NLS-1$ initPackageFilterComposite(comp, gd); temp = this.parentWizard.getOldPackageFilter(); metadataFilterText = new Text(comp, SWT.BORDER); temp = temp == null ? "" : temp; //$NON-NLS-1$ metadataFilterText.setText(temp); metadataFilterText.setLayoutData(gd); addFieldsListeners(metadataFilterText); this.setControl(comp); } private void initPackageFilterComposite(Composite comp, GridData gd) { Label t11 = new Label(comp, SWT.BORDER); t11.setText(this.parentWizard.getDatabaseConnectionItem().getConnection().getName()); t11.setLayoutData(gd); Label label1 = new Label(comp, SWT.NONE); label1.setText(DefaultMessagesImpl.getString("MetaDataFilterWizard.PackageFilter")); //$NON-NLS-1$ } @Override public boolean checkFieldsValue() { String metadataFilter = this.metadataFilterText.getText(); if (metadataFilter.indexOf("\\") > -1 || metadataFilter.indexOf("/") > -1) { //$NON-NLS-1$ //$NON-NLS-2$ return false; } return true; } protected void addFieldsListeners(Text text) { text.addModifyListener(new ModifyListener() { public void modifyText(ModifyEvent e) { if (checkFieldsValue()) { updateStatus(IStatus.OK, MSG_FILTER_VALID); } else { updateStatus(IStatus.ERROR, MSG_FILTER_INVALID); } } }); } }