use of org.activityinfo.shared.report.content.PivotContent in project activityinfo by bedatadriven.
the class ItextReportRendererTest method htmlImages.
@Test
public void htmlImages() throws IOException {
DummyPivotTableData data = new DummyPivotTableData();
PivotChartContent chartContent = new PivotChartContent();
chartContent.setData(data.table);
chartContent.setYMin(0);
chartContent.setYStep(100);
chartContent.setFilterDescriptions(Collections.EMPTY_LIST);
PivotChartReportElement chart = new PivotChartReportElement(Type.Pie);
chart.setTitle("My Pie Chart");
chart.setCategoryDimensions(data.colDims);
chart.setSeriesDimensions(data.rowDims);
chart.setContent(chartContent);
PivotContent tableContent = new PivotContent();
tableContent.setFilterDescriptions(Collections.EMPTY_LIST);
tableContent.setData(data.table);
PivotTableReportElement table = new PivotTableReportElement();
table.setColumnDimensions(data.colDims);
table.setRowDimensions(data.rowDims);
table.setTitle("My Table");
table.setContent(tableContent);
BubbleMapMarker marker1 = new BubbleMapMarker();
marker1.setLat(-2.45);
marker1.setLng(28.8);
marker1.setX(100);
marker1.setY(100);
marker1.setRadius(25);
TileBaseMap baseMap = new TileBaseMap();
baseMap.setTileUrlPattern("http://mt{s}.aimaps.net/nordkivu.cd/v1/z{z}/{x}x{y}.png");
MapContent mapContent = new MapContent();
mapContent.setFilterDescriptions(Collections.EMPTY_LIST);
mapContent.setBaseMap(baseMap);
mapContent.setZoomLevel(8);
mapContent.setCenter(new Extents(-2.2, -2.1, 28.85, 28.9).center());
mapContent.setMarkers(Arrays.asList((MapMarker) marker1));
MapReportElement map = new MapReportElement();
map.setTitle("My Map");
map.setContent(mapContent);
ReportContent content = new ReportContent();
content.setFilterDescriptions(Collections.EMPTY_LIST);
Report report = new Report();
report.setContent(content);
report.addElement(chart);
report.addElement(table);
report.addElement(new TextReportElement("Testing 1..2.3.. français"));
report.addElement(map);
renderToPdf(report, "piechart.pdf");
renderToHtml(report, "piechart.html");
// renderToHtmlUsingWriter(report, "piechart2.html");
renderToRtf(report, "piechart.rtf");
}
use of org.activityinfo.shared.report.content.PivotContent in project activityinfo by bedatadriven.
the class ItextReportRendererTest method nestedColumns.
@Test
public void nestedColumns() throws IOException {
Dimension province = new AdminDimension(1);
Dimension partner = new Dimension(DimensionType.Partner);
Dimension year = new DateDimension(DateUnit.YEAR);
Dimension month = new DateDimension(DateUnit.MONTH);
EntityCategory avsi = new EntityCategory(100, "AVSI RRMP");
PivotTableData data = new PivotTableData();
Axis sudKivu = data.getRootColumn().addChild(province, new EntityCategory(1, "Sud Kivu"), "Sud Kivu", comparator);
Axis y2010 = sudKivu.addChild(year, new SimpleCategory("2010"), "2010", comparator);
Axis y2011 = sudKivu.addChild(year, new SimpleCategory("2010"), "2010", comparator);
Axis jan2010 = y2010.addChild(month, new SimpleCategory("Jan"), "Jan", comparator);
Axis feb2010 = y2010.addChild(month, new SimpleCategory("Feb"), "Feb", comparator);
Axis jan2011 = y2011.addChild(month, new SimpleCategory("Jan"), "Jan", comparator);
Axis feb2011 = y2011.addChild(month, new SimpleCategory("Feb"), "Feb", comparator);
Axis avsiRow = data.getRootRow().addChild(partner, avsi, avsi.getLabel(), comparator);
avsiRow.setValue(jan2010, 1d);
avsiRow.setValue(feb2010, 2d);
avsiRow.setValue(jan2011, 3d);
avsiRow.setValue(feb2011, 4d);
PivotContent tableContent = new PivotContent(data, Lists.<FilterDescription>newArrayList());
PivotTableReportElement table = new PivotTableReportElement();
table.addRowDimension(partner);
table.addColDimension(province);
table.addColDimension(year);
table.addColDimension(month);
table.setContent(tableContent);
ReportContent content = new ReportContent();
content.setFilterDescriptions(Collections.EMPTY_LIST);
Report report = new Report();
report.setContent(content);
report.addElement(table);
renderToPdf(report, "nestedColumns.pdf");
renderToRtf(report, "nestedColumns.rtf");
renderToXls(report, "nestedColumns.xls");
}
use of org.activityinfo.shared.report.content.PivotContent in project activityinfo by bedatadriven.
the class SearchPresenter method onSearch.
@Override
public void onSearch(SearchEvent searchEvent) {
if (!Strings.isNullOrEmpty(searchEvent.getQuery())) {
view.setSearchQuery(searchEvent.getQuery());
view.getLoadingMonitor().beforeRequest();
service.execute(new Search(searchEvent.getQuery()), view.getLoadingMonitor(), new AsyncCallback<SearchResult>() {
@Override
public void onFailure(Throwable caught) {
// TODO handle failure
view.getLoadingMonitor().onServerError();
}
@Override
public void onSuccess(SearchResult result) {
view.setSearchResults(result.getPivotTabelData());
Filter filter = result.getPivotTabelData() == null ? null : result.getPivotTabelData().getEffectiveFilter();
view.setFilter(createFilter(filter, result.getPivotTabelData()));
view.getLoadingMonitor().onCompleted();
view.setSitePoints(SitePointList.fromSitesList(result.getRecentAdditions()));
view.setSites(fromSitesList(result.getRecentAdditions()));
}
private Map<DimensionType, List<SearchResultEntity>> createFilter(Filter effectiveFilter, PivotContent pivotContent) {
Map<DimensionType, List<SearchResultEntity>> newFilter = new HashMap<DimensionType, List<SearchResultEntity>>();
if (effectiveFilter != null) {
for (DimensionType type : effectiveFilter.getRestrictedDimensions()) {
List<SearchResultEntity> entities = new ArrayList<SearchResultEntity>();
for (Integer entityId : effectiveFilter.getRestrictions(type)) {
String name = getName(entityId, type, pivotContent);
String link = GWT.getHostPageBaseURL() + "#search/" + type.toString() + ":" + name;
SearchResultEntity entity = new SearchResultEntity(entityId, name, link, type);
entities.add(entity);
}
newFilter.put(type, entities);
}
}
return newFilter;
}
private String getName(Integer entityId, DimensionType type, PivotContent pivotTable) {
for (FilterDescription fd : pivotTable.getFilterDescriptions()) {
if (fd.getDimensionType() == type) {
return fd.getLabels().get(entityId);
}
}
return "noName";
}
});
}
}
use of org.activityinfo.shared.report.content.PivotContent in project activityinfo by bedatadriven.
the class GeneratePivotTableHandler method buildResult.
protected PivotContent buildResult(PivotTableReportElement model, PivotResult result) {
PivotTableDataBuilder builder = new PivotTableDataBuilder();
PivotTableData data = builder.build(model, model.getRowDimensions(), model.getColumnDimensions(), result.getBuckets());
PivotContent content = new PivotContent();
content.setEffectiveFilter(model.getFilter());
content.setData(data);
return content;
}
use of org.activityinfo.shared.report.content.PivotContent in project activityinfo by bedatadriven.
the class ReportsTest method testApplesReport.
@Test
public void testApplesReport() throws Throwable {
Report report = getReport("realworld/ApplesReport.xml");
reportGenerator.generate(user, report, null, null);
ReportElement element = report.getElements().get(0);
element.getContent();
assertEquals("Expected different report title", report.getTitle(), "Phase one apple report");
assertEquals("Expected different report description", report.getDescription(), "Apples come in different shapes, colors and taste");
assertEquals("Expected only one filter", report.getFilter().getRestrictedDimensions().size(), 1);
assertEquals("Expected one element", report.getElements().size(), 1);
assertTrue("Expected pivottable element", element.getContent() instanceof PivotContent);
assertEquals("Expected title: 'Apples, bananas and oranges'", element.getTitle(), "Apples, bananas and oranges");
}
Aggregations