// ============================================================================ // // 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.dq.nodes.indicator.impl; import org.talend.dataquality.domain.Domain; import org.talend.dataquality.domain.DomainFactory; import org.talend.dataquality.domain.pattern.Pattern; import org.talend.dataquality.indicators.Indicator; import org.talend.dataquality.indicators.IndicatorParameters; import org.talend.dataquality.indicators.IndicatorsFactory; import org.talend.dq.nodes.indicator.AbstractNode; import org.talend.dq.nodes.indicator.IIndicatorNode; /** * created by talend on Dec 30, 2014 Detailled comment * */ public class PatternNode extends AbstractNode { private Pattern pattern = null; /** * DOC talend PatternNode constructor comment. * * @param label */ public PatternNode(String label, Pattern pattern) { super(label); this.pattern = pattern; } /* * (non-Javadoc) * * @see org.talend.dq.nodes.indicator.IIndicatorNode#getChildren() */ public IIndicatorNode[] getChildren() { return null; } /* * (non-Javadoc) * * @see org.talend.dq.nodes.indicator.IIndicatorNode#isIndicatorEnumNode() */ public boolean isIndicatorEnumNode() { return true; } /* * (non-Javadoc) * * @see org.talend.dq.nodes.indicator.AbstractIndicatorNode#hasChildren() */ @Override public boolean hasChildren() { return false; } /* * (non-Javadoc) * * @see org.talend.dq.nodes.indicator.IIndicatorNode#getImageName() */ public String getImageName() { return "pattern.png"; //$NON-NLS-1$ } /* * (non-Javadoc) * * @see org.talend.dq.nodes.indicator.AbstractNode#getIndicatorInstance() */ @Override public Indicator getIndicatorInstance() { Indicator patternIndicatorInstance = super.getIndicatorInstance(); IndicatorParameters createIndicatorParameter = IndicatorsFactory.eINSTANCE.createIndicatorParameters(); Domain createDomain = DomainFactory.eINSTANCE.createDomain(); createDomain.getPatterns().add(pattern); createIndicatorParameter.setDataValidDomain(createDomain); patternIndicatorInstance.setParameters(createIndicatorParameter); return patternIndicatorInstance; } /* * (non-Javadoc) * * @see org.talend.dq.nodes.indicator.IIndicatorNode#createNewIndicatorInstance() */ @Override public Indicator createNewIndicatorInstance() { Indicator patternIndicatorInstance = super.createNewIndicatorInstance(); IndicatorParameters createIndicatorParameter = IndicatorsFactory.eINSTANCE.createIndicatorParameters(); Domain createDomain = DomainFactory.eINSTANCE.createDomain(); createDomain.getPatterns().add(pattern); createIndicatorParameter.setDataValidDomain(createDomain); patternIndicatorInstance.setParameters(createIndicatorParameter); return patternIndicatorInstance; } }