// ============================================================================ // // 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.composite.chart; import java.util.List; import java.util.Map; import org.osgi.framework.BundleContext; import org.osgi.framework.ServiceReference; import org.talend.dataprofiler.service.ITOPChartService; import org.talend.dq.helper.AbstractOSGIServiceUtils; /** * created by yyin on 2014-12-11 Detailled comment * */ public class TOPChartUtil extends AbstractOSGIServiceUtils { private static TOPChartUtil instance; private ITOPChartService chartService; public static TOPChartUtil getInstance() { if (instance == null) { instance = new TOPChartUtil(); } return instance; } public boolean isTOPChartInstalled() { initService(false); return this.chartService != null; } public Object createChartComposite(Object composite, int style, Object chart, boolean useBuffer) { if (isTOPChartInstalled()) { return chartService.createChartComposite(composite, style, chart, useBuffer); } return null; } public Object createConceptsChart(String title, Object dataset) { if (isTOPChartInstalled()) { return chartService.createConceptsChart(title, dataset); } return null; } public Object createDefaultCategoryDataset(List<String[]> inputData) { if (isTOPChartInstalled()) { return chartService.createDefaultCategoryDataset(inputData); } return null; } public Object createChartCompositeWithoutGrid(Object composite, int style, Object chart, boolean useBuffer) { if (isTOPChartInstalled()) { return chartService.createChartCompositeWithoutGrid(composite, style, chart, useBuffer); } return null; } public Object createMatchRuleBarChart(String categoryAxisLabel, String valueAxisLabel, Object dataset) { if (isTOPChartInstalled()) { return chartService.createMatchRuleBarChart(categoryAxisLabel, valueAxisLabel, dataset); } return null; } public void refrechChart(Object chartComp, Object chart) { if (isTOPChartInstalled()) { chartService.refrechChart(chartComp, chart); } } public Object createDatasetForMatchRule(Map<Object, Long> groupSize2GroupFrequency, List<String> groups, int times, String items) { if (isTOPChartInstalled()) { return chartService.createDatasetForMatchRule(groupSize2GroupFrequency, groups, times, items); } return null; } public Object createBlockingBarChart(String title, Object dataset) { if (isTOPChartInstalled()) { return chartService.createBlockingBarChart(title, dataset); } return null; } public Object createHistogramDataset(double[] valueArray, double maxValue, int bins) { if (isTOPChartInstalled()) { return chartService.createHistogramDataset(valueArray, maxValue, bins); } return null; } public Object createDuplicateRecordPieChart(String title, Object dataset) { if (isTOPChartInstalled()) { return chartService.createDuplicateRecordPieChart(title, dataset); } return null; } public Object createDatasetForDuplicateRecord(Map<String, Long> dupStats) { if (isTOPChartInstalled()) { return chartService.createDatasetForDuplicateRecord(dupStats); } return null; } @Override public String getPluginName() { return ITOPChartService.PLUGIN_NAME; } @Override public String getServiceName() { return ITOPChartService.class.getName(); } @Override public boolean isServiceInstalled() { initService(true); return this.chartService != null; } @Override protected String getMissingMessageName() { return "TOPChartUtil.missingTopChart"; //$NON-NLS-1$ } @Override protected String getRestartMessageName() { return "TOPChartUtil.restartToLoadTopChart"; //$NON-NLS-1$ } @SuppressWarnings("unchecked") @Override protected void setService(BundleContext context, ServiceReference serviceReference) { if (serviceReference != null) { Object obj = context.getService(serviceReference); if (obj != null) { this.chartService = (ITOPChartService) obj; } } } }