protected void serializeDataLoader() { try { DataLoader loader = getDataLoader(); if (loader != null && loader.isReady()) { DataProviderType type = loader.getDataProviderType(); dataProviderUid = type.getUid(); dataProviderXML = type.getXmlFormat().format(loader); serializeDataProperties(); } } catch (Exception e) { log.error("Error serializing data provider: " + id, e); } }
/** * @throws DataSetException In case any it doesn't meet the thresholds set. */ public void validate() throws Exception { DataSet dataSet = dataSetRef.get(); DataProvider dataProvider = dataSet.getDataProvider(); if (dataProvider == null) return; MemoryProfiler memoryProfiler = MemoryProfiler.lookup(); long memoryUsed = memoryProfiler.getMemoryUsedInBytes() - startMemory; long elapsedTime = System.currentTimeMillis() - startTime; long sizeInBytes = dataSet.sizeOf(); long maxSize = dataProvider.getDataLoader().getMaxDataSetSizeInBytes(); long maxTime = dataProvider.getDataLoader().getMaxDataSetLoadTimeInMillis(); long maxMemUsed = dataProvider.getDataLoader().getMaxMemoryUsedInDataLoad(); if (maxMemUsed > 0 && memoryUsed > maxMemUsed) { String total = MemoryProfiler.formatSize(maxMemUsed); throw new DataSetException("Data set load memory usage has been exceeded = " + total); } else if (maxTime > 0 && elapsedTime > maxTime) { String time = Chronometer.formatElapsedTime(maxTime); throw new DataSetException("Data set load time has been exceeded = " + time); } else if (maxSize > 0 && sizeInBytes > maxSize) { String size = MemoryProfiler.formatSize(maxSize); throw new DataSetException("Data set size in memory has been exceeded = " + size); } } }
public DataProviderType getDataProviderType() { return getDataLoader().getDataProviderType(); }
public boolean isReady() { if (getDataLoader() == null) return false; return dataLoader.isReady(); }
/** * @throws DataSetException In case any it doesn't meet the thresholds set. */ public void validate() throws Exception { DataSet dataSet = dataSetRef.get(); DataProvider dataProvider = dataSet.getDataProvider(); if (dataProvider == null) return; long elapsedTime = System.currentTimeMillis() - startTime; long maxTime = dataProvider.getDataLoader().getMaxDataSetGroupTimeInMillis(); if (maxTime > 0 && elapsedTime > maxTime) { String time = Chronometer.formatElapsedTime(maxTime); throw new DataSetException("Data set group-by time has been exceeded = " + time); } } }
/** * @throws DataSetException In case any it doesn't meet the thresholds set. */ public void validate() throws Exception { DataSet dataSet = dataSetRef.get(); DataProvider dataProvider = dataSet.getDataProvider(); if (dataProvider == null) return; long elapsedTime = System.currentTimeMillis() - startTime; long maxTime = dataProvider.getDataLoader().getMaxDataSetSortTimeInMillis(); if (maxTime > 0 && elapsedTime > maxTime) { String time = Chronometer.formatElapsedTime(maxTime); throw new DataSetException("Data set sort time has been exceeded = " + time); } } }
/** * @throws DataSetException In case any it doesn't meet the thresholds set. */ public void validate() throws Exception { DataSet dataSet = dataSetRef.get(); DataProvider dataProvider = dataSet.getDataProvider(); if (dataProvider == null) return; long elapsedTime = System.currentTimeMillis() - startTime; long maxTime = dataProvider.getDataLoader().getMaxDataSetFilterTimeInMillis(); if (maxTime > 0 && elapsedTime > maxTime) { String time = Chronometer.formatElapsedTime(maxTime); throw new DataSetException("Data set filter time has been exceeded = " + time); } } }
protected void deserializeDataLoader() { try { if (dataProviderUid == null) return; DataProviderManager dataProviderManager = DataProviderServices.lookup().getDataProviderManager(); DataProviderType type = dataProviderManager.getProviderTypeByUid(dataProviderUid); if (dataProviderXML != null) { dataLoader = type.getXmlFormat().parse(dataProviderXML); dataLoader.setDataProviderType(type); } } catch (Exception e) { log.error("Error deserializing data provider: " + id, e); } }
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(); } }