protected Double calculateScalar(int column, String functionCode) { DataSet dataSet = columnIndex.getDataSetIndex().dataSet; List targetValues = new ArrayList(); List columnValues = dataSet.getValuesAt(column); for (Integer targetRow : rows) { targetValues.add(columnValues.get(targetRow)); } ScalarFunctionManager scalarFunctionManager = DataProviderServices.lookup().getScalarFunctionManager(); ScalarFunction function = scalarFunctionManager.getScalarFunctionByCode(functionCode); if (!CollectionUtils.exists(targetValues, NON_NULL_ELEMENTS)) { return new Double(0); } else { double value = function.scalar(targetValues); return new Double(value); } }
public List<ScalarFunction> getScalarFunctionsSupported() { // This change allow you to restrict the scalar functions supported if (scalarFunctionsSupported != null) return scalarFunctionsSupported; List<ScalarFunction> supported = new ArrayList<ScalarFunction>(); ScalarFunction[] sfs = DataProviderServices.lookup().getScalarFunctionManager().getAllScalarFunctions(); for (ScalarFunction sf : sfs) { if (sf != null && isScalarFunctionSupported(sf)) supported.add(sf); } return supported; }
public boolean isScalarFunctionSupported(String functionCode) { ScalarFunction function = DataProviderServices.lookup().getScalarFunctionManager().getScalarFunctionByCode(functionCode); if (function == null) return false; return isScalarFunctionSupported(function); }
@Test public void listBeans() { DataProviderServices providerServices = DataProviderServices.lookup(); System.out.println("\nData provider types"); System.out.println("-----------------------"); DataProviderType[] dataProviders = providerServices.getDataProviderManager().getDataProviderTypes(); for (DataProviderType providerType : dataProviders) { System.out.println(providerType.getUid()); } System.out.println("Scalar functions"); System.out.println("------------------------"); ScalarFunction[] scalarFunctions = providerServices.getScalarFunctionManager().getAllScalarFunctions(); for (ScalarFunction scalarFunction : scalarFunctions) { System.out.println(scalarFunction.getCode()); } } }
ScalarFunction function = scalarFunctionManager.getScalarFunctionByCode(functionCodes[j]); for (Interval interval : intervals) { Double scalar = calculateScalar(interval, dataProp, function);
ScalarFunction function = scalarFunctionManager.getScalarFunctionByCode(functionCodes[j]); for (Interval interval : intervals) { Double scalar = calculateScalar(interval, dataProp, function);
ScalarFunction scalarFunction = scalarFunctionManager.getScalarFunctionByCode(SumFunction.CODE); barChartDisplayer.setRangeScalarFunction(scalarFunction); DataSet xyDataSet = barChartDisplayer.buildXYDataSet();