// ============================================================================ // // 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.editor.preview; import org.talend.dataprofiler.core.helper.ModelElementIndicatorHelper; import org.talend.dataprofiler.core.model.ColumnIndicator; import org.talend.dataprofiler.core.model.DelimitedFileIndicator; import org.talend.dataprofiler.core.model.ModelElementIndicator; import org.talend.dataprofiler.core.ui.wizard.indicator.forms.FormEnum; import org.talend.dataquality.helpers.MetadataHelper; import org.talend.dataquality.indicators.DataminingType; import org.talend.dataquality.indicators.Indicator; import org.talend.dq.nodes.indicator.type.IndicatorEnum; /** * It will be used for column analysis */ public class ColumnIndicatorUnit extends IndicatorUnit { private ModelElementIndicator modelElementIndicator; public ColumnIndicatorUnit(IndicatorEnum type, Indicator indicator, ModelElementIndicator modelElementIndicator) { super(type, indicator); this.modelElementIndicator = modelElementIndicator; } /** * Getter for modelElementIndicator. * * @return the modelElementIndicator */ public ModelElementIndicator getModelElementIndicator() { return this.modelElementIndicator; } public boolean isColumn() { return this.modelElementIndicator instanceof ColumnIndicator; } public boolean isMetadataColumn() { return this.modelElementIndicator instanceof DelimitedFileIndicator; } /* * (non-Javadoc) * * @see org.talend.dataprofiler.core.ui.editor.preview.IndicatorUnit#getForms() */ @Override public FormEnum[] getForms() { int sqlType = null != modelElementIndicator ? modelElementIndicator.getJavaType() : 0; ColumnIndicator columnIndicator = ModelElementIndicatorHelper.switchColumnIndicator(this); DataminingType dataminingType = columnIndicator == null ? null : MetadataHelper.getDataminingType(columnIndicator .getTdColumn()); if (dataminingType == null) { dataminingType = null != modelElementIndicator ? MetadataHelper.getDefaultDataminingType(modelElementIndicator .getJavaType()) : DataminingType.NOMINAL; } return FormEnum.getFormEnumArray(this.getIndicator().getIndicatorDefinition(), sqlType, dataminingType, type, getExecutionLanguage()); } /* * (non-Javadoc) * * @see java.lang.Object#equals(java.lang.Object) */ @Override public boolean equals(Object obj) { if (ColumnIndicatorUnit.class.isInstance(obj)) { if (!type.equals(((ColumnIndicatorUnit) obj).type)) { return false; } if (!indicator.equals(((ColumnIndicatorUnit) obj).indicator)) { return false; } if (!modelElementIndicator.equals(((ColumnIndicatorUnit) obj).modelElementIndicator)) { return false; } return true; } return super.equals(obj); } }