/** * @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); } } }
/** * @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); } } }
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(); } }