// ============================================================================ // // 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.dataquality.record.linkage.ui.section.definition; import java.util.ArrayList; import java.util.List; import org.eclipse.emf.ecore.util.EcoreUtil; import org.eclipse.swt.SWT; import org.eclipse.swt.widgets.Composite; import org.eclipse.ui.forms.widgets.FormToolkit; import org.eclipse.ui.forms.widgets.ScrolledForm; import org.eclipse.ui.forms.widgets.Section; import org.talend.dataquality.record.linkage.ui.composite.BlockingKeyTableComposite; import org.talend.dataquality.record.linkage.ui.composite.definition.BlockingKeyTableDefinitionComposite; import org.talend.dataquality.record.linkage.ui.section.BlockingKeySection; import org.talend.dataquality.record.linkage.utils.MatchAnalysisConstant; import org.talend.dataquality.rules.BlockKeyDefinition; import org.talend.dataquality.rules.MatchRuleDefinition; /** * created by zshen on Aug 20, 2013 Detailled comment * */ public class BlockingKeyDefinitionSection extends BlockingKeySection { private MatchRuleDefinition matchRuleDef = null; /** * DOC zshen BlockingKeyDefinitionSection constructor comment. * * @param form * @param parent * @param style * @param toolkit * @param analysis */ public BlockingKeyDefinitionSection(ScrolledForm form, Composite parent, FormToolkit toolkit) { super(form, parent, Section.TWISTIE | Section.TITLE_BAR | Section.EXPANDED, toolkit, null); super.setIsNeedSubChart(false); } /** * Sets the matchRuleDef. * * @param matchRuleDef the matchRuleDef to set */ public void setMatchRuleDef(MatchRuleDefinition matchRuleDef) { this.matchRuleDef = matchRuleDef; } /* * (non-Javadoc) * * @see org.talend.dataquality.record.linkage.ui.section.BlockingKeySection#getBlockKeyDefinitionList() */ @Override protected List<BlockKeyDefinition> getBlockKeyDefinitionList() { return this.matchRuleDef.getBlockKeys(); } /* * (non-Javadoc) * * @see org.talend.dataquality.record.linkage.ui.section.BlockingKeySection#getSectionName() */ @Override protected String getSectionName() { return MatchAnalysisConstant.BlOCKING_KEY_DEFINITION_SECTION_NAME; } /* * (non-Javadoc) * * @see * org.talend.dataquality.record.linkage.ui.section.BlockingKeySection#createSubChart(org.eclipse.swt.widgets.Composite * ) */ @Override protected void createSubChart(Composite sectionClient) { // don't need do anything } /* * (non-Javadoc) * * @see * org.talend.dataquality.record.linkage.ui.section.BlockingKeySection#removeBlockingKey(org.talend.dataquality. * rules.BlockKeyDefinition) */ @Override public void removeBlockingKey(BlockKeyDefinition blockKeyDef) { tableComposite.removeKeyDefinition(blockKeyDef, matchRuleDef.getBlockKeys()); } /* * (non-Javadoc) * * @see org.talend.dataquality.record.linkage.ui.section.BlockingKeySection#getMatchRuleDefinition() */ @Override protected MatchRuleDefinition getMatchRuleDefinition() { return matchRuleDef; } /** * Getter for blockKeyList. * * @return the blockKeyList */ public List<BlockKeyDefinition> getBlockKeyList() { List<BlockKeyDefinition> blockKeys = new ArrayList<BlockKeyDefinition>(); blockKeys.addAll(EcoreUtil.copyAll(this.matchRuleDef.getBlockKeys())); return blockKeys; } /* * (non-Javadoc) * * @see * org.talend.dataquality.record.linkage.ui.section.BlockingKeySection#createTableComposite(org.eclipse.swt.widgets * .Composite) */ @Override protected BlockingKeyTableComposite createTableComposite(Composite parent) { return new BlockingKeyTableDefinitionComposite(parent, SWT.NO_FOCUS); } /* * (non-Javadoc) * * @see * org.talend.dataquality.record.linkage.ui.section.BlockingKeySection#checkColumnNameIsEmpty(org.talend.dataquality * .rules.BlockKeyDefinition) */ @Override protected boolean checkColumnNameIsEmpty(BlockKeyDefinition bdk) { return false; } }