protected DataSetHolder removeDataSetHolder(DataProvider dataProvider) throws Exception { String providerCode = dataProvider.getCode(); return dataSetMap.remove(providerCode); }
protected DataSetHolder createDataSetHolder(DataProvider dataProvider, DataSet dataSet) throws Exception { String providerCode = dataProvider.getCode(); DataSetHolder dataSetHolder = new DataSetHolder(); dataSetHolder.dataProviderCode = providerCode; dataSetHolder.originalDataSet = dataSet; dataSetMap.put(providerCode, dataSetHolder); return dataSetHolder; }
protected Map<String, Object> createDataProviderContext(DataProvider dataProvider) { Map<String, Object> m = new HashMap<String, Object>(); m.put("Provider code", dataProvider.getCode()); m.put("Provider description", dataProvider.getDescription(LocaleManager.currentLocale())); return m; }
protected DataSetHolder getDataSetHolder(DataProvider dataProvider) throws Exception { String providerCode = dataProvider.getCode(); DataSetHolder dataSetHolder = dataSetMap.get(providerCode); if (dataSetHolder == null) { DataSet dataSet = loadDataSet(dataProvider); dataSetHolder = createDataSetHolder(dataProvider, dataSet); } return dataSetHolder; }
protected DataSet loadDataSet(DataProvider dataProvider) throws Exception { CodeBlockTrace trace = CodeBlockHelper.newCodeBlockTrace(CoreCodeBlockTypes.DATASET_LOAD, "dataset-load-" + dataProvider.getCode(), "Data set load - " + dataProvider.getDescription(LocaleManager.currentLocale()), createDataProviderContext(dataProvider)).begin(); try { DataSet dataSet = dataProvider.getDataLoader().load(dataProvider); dataSet.setDataProvider(dataProvider); ((DataProviderImpl)dataProvider).deserializeDataProperties(dataSet); return dataSet; } finally { trace.end(); } }
public DataSet filterDataSet(DataProvider dataProvider, DataFilter dataFilter) throws Exception { CodeBlockTrace trace = CodeBlockHelper.newCodeBlockTrace(CoreCodeBlockTypes.DATASET_FILTER, "dataset-filter-" + dataProvider.getCode(), "Data set filter - " + dataProvider.getDescription(LocaleManager.currentLocale()), createDataProviderContext(dataProvider)).begin(); try { DataSetHolder dataSetHolder = getDataSetHolder(dataProvider); dataSetHolder.filteredDataSet = dataSetHolder.originalDataSet.filter(dataFilter); if (dataSetHolder.filteredDataSet != null) { ((DataProviderImpl)dataProvider).deserializeDataProperties(dataSetHolder.filteredDataSet); } return dataSetHolder.getDataSet(); } finally { trace.end(); } }