public static String generateKPIValuesArray(KPI kpi) { DataSet dataSet = KPIHelper.getDataSet(kpi); if (dataSet == null) return null; DataFormatterRegistry dataFormatterRegistry = DataFormatterRegistry.lookup(); StringBuffer buf = new StringBuffer(); buf.append("new String[][] {"); for (int i = 0; i < dataSet.getRowCount(); i++) { buf.append("\n{"); for (int j = 0; j < dataSet.getProperties().length; j++) { Object dataSetValue = dataSet.getValueAt(i, j); DataProperty prop = dataSet.getPropertyByColumn(j); DataPropertyFormatter propFormatter = dataFormatterRegistry.getPropertyFormatter(prop.getPropertyId()); String displayedValue = propFormatter.formatValue(prop, dataSetValue, Locale.ENGLISH); if (j > 0) buf.append(","); buf.append("\"" + displayedValue + "\""); } buf.append("}"); if (i < dataSet.getRowCount()-1) buf.append(","); } buf.append("}"); return buf.toString(); }
@Test public void testFilterByDateInterval() throws Exception { SimpleDateFormat df = new SimpleDateFormat("MM/dd/yy HH:mm"); Date from = df.parse("01/01/11 00:00"); Date to = df.parse("12/31/11 23:59"); DefaultDataSetFilter filter = new DefaultDataSetFilter(dataSet); filter.addProperty("date", from, true, to, true, null, DataFilter.ALLOW_ANY); DataSet result = dataSet.filter(filter); assertThat(result.getRowCount()).isEqualTo(11); assertDataSetValue(result, 0, 0, "16"); }
@Test public void testFilterByDateInterval2() throws Exception { SimpleDateFormat df = new SimpleDateFormat("MM/dd/yy HH:mm"); DefaultDataSetFilter filter = new DefaultDataSetFilter(dataSet); filter.addProperty("date", "*/11 *"); DataSet result = dataSet.filter(filter); assertThat(result.getRowCount()).isEqualTo(11); assertDataSetValue(result, 0, 0, "16"); }
@Test public void testFilterByNumberInterval() throws Exception { DefaultDataSetFilter filter = new DefaultDataSetFilter(dataSet); filter.addProperty("amount", 1000, false, null, false, null, DataFilter.ALLOW_ANY); DataSet result = dataSet.filter(filter); assertThat(result.getRowCount()).isEqualTo(2); assertDataSetValue(result, 0, 0, "2"); }
@Test public void testFilterByWildcard() throws Exception { DefaultDataSetFilter filter = new DefaultDataSetFilter(dataSet); filter.addProperty("city", "B*"); filter.addProperty("department", "*Services*"); DataSet result = dataSet.filter(filter); assertThat(result.getRowCount()).isEqualTo(3); assertDataSetValue(result, 0, 0, "4"); }
@Test public void testFilterMultiple() throws Exception { DefaultDataSetFilter filter = new DefaultDataSetFilter(dataSet); filter.addProperty("amount", null, false, 500, false, null, DataFilter.ALLOW_ANY); filter.addProperty("date", "*/11 *"); filter.addProperty("department", "Engineering"); DataSet result = dataSet.filter(filter); assertThat(result.getRowCount()).isEqualTo(7); } }
assertThat(dataSet.getRowCount()).isGreaterThan(index);