// ============================================================================ // // 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.indicators; import java.io.File; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; import org.talend.commons.emf.EMFUtil; import org.talend.dataquality.indicators.FrequencyIndicator; import org.talend.dataquality.indicators.util.IndicatorsSwitch; /** * DOC scorreia class global comment. Detailled comment */ public class LoadSerialDataMain { /** * DOC scorreia Comment method "main". * * @param args */ public static void main(String[] args) { EMFUtil util = new EMFUtil(); File file = new File("out/columnTest_0.1.ana"); System.out.println("Loading file " + file.getAbsolutePath()); ResourceSet rs = util.getResourceSet(); Resource r = rs.getResource(URI.createFileURI(file.getAbsolutePath()), true); EList<EObject> contents = r.getContents(); if (contents.isEmpty()) { System.err.println("No content in " + r); } System.out.println("Nb elements in contents " + contents.size()); IndicatorsSwitch<FrequencyIndicator> mySwitch = new IndicatorsSwitch<FrequencyIndicator>() { @Override public FrequencyIndicator caseFrequencyIndicator(FrequencyIndicator object) { return object; } }; for (EObject object : contents) { FrequencyIndicator freqI = mySwitch.doSwitch(object); if (freqI != null) { Long uniqueValueCount = freqI.getUniqueValueCount(); System.out.println("nb unique values = " + uniqueValueCount); EList<Object> uniqueValues = freqI.getUniqueValues(); for (Object data : uniqueValues) { System.out.println("unique value= " + data + " " + freqI.getCount(data)); } } } } }