Search in sources :

Example 6 with PivotContent

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");
}
Also used : ReportContent(org.activityinfo.shared.report.content.ReportContent) MapMarker(org.activityinfo.shared.report.content.MapMarker) IconMapMarker(org.activityinfo.shared.report.content.IconMapMarker) BubbleMapMarker(org.activityinfo.shared.report.content.BubbleMapMarker) MapContent(org.activityinfo.shared.report.content.MapContent) Report(org.activityinfo.shared.report.model.Report) DummyPivotTableData(org.activityinfo.server.report.DummyPivotTableData) BubbleMapMarker(org.activityinfo.shared.report.content.BubbleMapMarker) PivotTableReportElement(org.activityinfo.shared.report.model.PivotTableReportElement) Extents(org.activityinfo.shared.util.mapping.Extents) TextReportElement(org.activityinfo.shared.report.model.TextReportElement) MapReportElement(org.activityinfo.shared.report.model.MapReportElement) PivotContent(org.activityinfo.shared.report.content.PivotContent) TileBaseMap(org.activityinfo.shared.map.TileBaseMap) PivotChartReportElement(org.activityinfo.shared.report.model.PivotChartReportElement) PivotChartContent(org.activityinfo.shared.report.content.PivotChartContent) Test(org.junit.Test)

Example 7 with PivotContent

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");
}
Also used : SimpleCategory(org.activityinfo.shared.report.content.SimpleCategory) ReportContent(org.activityinfo.shared.report.content.ReportContent) PivotTableData(org.activityinfo.shared.report.content.PivotTableData) DummyPivotTableData(org.activityinfo.server.report.DummyPivotTableData) Report(org.activityinfo.shared.report.model.Report) PivotContent(org.activityinfo.shared.report.content.PivotContent) DateDimension(org.activityinfo.shared.report.model.DateDimension) Dimension(org.activityinfo.shared.report.model.Dimension) AdminDimension(org.activityinfo.shared.report.model.AdminDimension) AdminDimension(org.activityinfo.shared.report.model.AdminDimension) EntityCategory(org.activityinfo.shared.report.content.EntityCategory) PivotTableReportElement(org.activityinfo.shared.report.model.PivotTableReportElement) DateDimension(org.activityinfo.shared.report.model.DateDimension) Axis(org.activityinfo.shared.report.content.PivotTableData.Axis) Test(org.junit.Test)

Example 8 with PivotContent

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";
            }
        });
    }
}
Also used : DimensionType(org.activityinfo.shared.report.model.DimensionType) FilterDescription(org.activityinfo.shared.report.content.FilterDescription) SearchResult(org.activityinfo.shared.command.result.SearchResult) Filter(org.activityinfo.shared.command.Filter) Search(org.activityinfo.shared.command.Search) PivotContent(org.activityinfo.shared.report.content.PivotContent) SitePointList(org.activityinfo.shared.command.result.SitePointList) ArrayList(java.util.ArrayList) List(java.util.List) HashMap(java.util.HashMap) Map(java.util.Map)

Example 9 with PivotContent

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;
}
Also used : PivotTableData(org.activityinfo.shared.report.content.PivotTableData) PivotContent(org.activityinfo.shared.report.content.PivotContent) PivotTableDataBuilder(org.activityinfo.shared.command.handler.pivot.PivotTableDataBuilder)

Example 10 with PivotContent

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");
}
Also used : Report(org.activityinfo.shared.report.model.Report) PivotContent(org.activityinfo.shared.report.content.PivotContent) MapReportElement(org.activityinfo.shared.report.model.MapReportElement) ReportElement(org.activityinfo.shared.report.model.ReportElement) Test(org.junit.Test)

Aggregations

PivotContent (org.activityinfo.shared.report.content.PivotContent)10 PivotTableReportElement (org.activityinfo.shared.report.model.PivotTableReportElement)6 PivotTableData (org.activityinfo.shared.report.content.PivotTableData)4 Report (org.activityinfo.shared.report.model.Report)4 Test (org.junit.Test)4 ArrayList (java.util.ArrayList)3 DummyPivotTableData (org.activityinfo.server.report.DummyPivotTableData)3 ReportContent (org.activityinfo.shared.report.content.ReportContent)3 Filter (org.activityinfo.shared.command.Filter)2 SearchResult (org.activityinfo.shared.command.result.SearchResult)2 EntityCategory (org.activityinfo.shared.report.content.EntityCategory)2 Axis (org.activityinfo.shared.report.content.PivotTableData.Axis)2 SimpleCategory (org.activityinfo.shared.report.content.SimpleCategory)2 AdminDimension (org.activityinfo.shared.report.model.AdminDimension)2 DateDimension (org.activityinfo.shared.report.model.DateDimension)2 Dimension (org.activityinfo.shared.report.model.Dimension)2 MapReportElement (org.activityinfo.shared.report.model.MapReportElement)2 AsyncCallback (com.google.gwt.user.client.rpc.AsyncCallback)1 HashMap (java.util.HashMap)1 List (java.util.List)1