Search in sources :

Example 21 with Filter

use of org.activityinfo.legacy.shared.command.Filter in project activityinfo by bedatadriven.

the class PivotChartGenerator method generate.

@Override
public void generate(User user, PivotChartReportElement element, Filter inheritedFilter, DateRange dateRange) {
    Filter filter = GeneratorUtils.resolveElementFilter(element, dateRange);
    Filter effectiveFilter = inheritedFilter == null ? new Filter(filter, new Filter()) : new Filter(inheritedFilter, filter);
    PivotTableData data = generateData(user.getId(), user.getLocaleObject(), element, effectiveFilter, element.getCategoryDimensions(), element.getSeriesDimensions());
    ScaleUtil.Scale scale = computeScale(element, data);
    PivotChartContent content = new PivotChartContent();
    content.setXAxisTitle(composeXAxisTitle(element));
    content.setYAxisTitle(composeYAxisTitle(element));
    content.setEffectiveFilter(filter);
    content.setFilterDescriptions(generateFilterDescriptions(filter, element.allDimensionTypes(), user));
    content.setYMin(scale.getValmin());
    content.setYStep(scale.getStep());
    content.setData(data);
    element.setContent(content);
}
Also used : Filter(org.activityinfo.legacy.shared.command.Filter) PivotTableData(org.activityinfo.legacy.shared.reports.content.PivotTableData) PivotChartContent(org.activityinfo.legacy.shared.reports.content.PivotChartContent)

Example 22 with Filter

use of org.activityinfo.legacy.shared.command.Filter in project activityinfo by bedatadriven.

the class PivotTableGenerator method generate.

@Override
public void generate(User user, PivotTableReportElement element, Filter inheritedFilter, DateRange dateRange) {
    Filter filter = GeneratorUtils.resolveElementFilter(element, dateRange);
    Filter effectiveFilter = inheritedFilter == null ? filter : new Filter(inheritedFilter, filter);
    PivotTableData data = generateData(user.getId(), user.getLocaleObject(), element, effectiveFilter, element.getRowDimensions(), element.getColumnDimensions());
    PivotContent content = new PivotContent();
    content.setEffectiveFilter(effectiveFilter);
    content.setFilterDescriptions(generateFilterDescriptions(filter, element.allDimensionTypes(), user));
    content.setData(data);
    element.setContent(content);
}
Also used : Filter(org.activityinfo.legacy.shared.command.Filter) PivotTableData(org.activityinfo.legacy.shared.reports.content.PivotTableData) PivotContent(org.activityinfo.legacy.shared.reports.content.PivotContent)

Example 23 with Filter

use of org.activityinfo.legacy.shared.command.Filter in project activityinfo by bedatadriven.

the class TableGenerator method generate.

@Override
public void generate(User user, TableElement element, Filter inheritedFilter, DateRange dateRange) {
    Filter filter = GeneratorUtils.resolveElementFilter(element, dateRange);
    Filter effectiveFilter = inheritedFilter == null ? filter : new Filter(inheritedFilter, filter);
    TableContent content = new TableContent();
    content.setFilterDescriptions(generateFilterDescriptions(filter, Collections.<DimensionType>emptySet(), user));
    TableData data = generateData(element, effectiveFilter);
    content.setData(data);
    if (element.getMap() != null) {
        mapGenerator.generate(user, element.getMap(), effectiveFilter, dateRange);
        Map<Integer, String> siteLabels = element.getMap().getContent().siteLabelMap();
        for (SiteDTO row : data.getRows()) {
            row.set("map", siteLabels.get(row.getId()));
        }
    }
    element.setContent(content);
}
Also used : DimensionType(org.activityinfo.legacy.shared.command.DimensionType) Filter(org.activityinfo.legacy.shared.command.Filter) SiteDTO(org.activityinfo.legacy.shared.model.SiteDTO) TableData(org.activityinfo.legacy.shared.reports.content.TableData) TableContent(org.activityinfo.legacy.shared.reports.content.TableContent)

Example 24 with Filter

use of org.activityinfo.legacy.shared.command.Filter in project activityinfo by bedatadriven.

the class PointLayerGenerator method queryFor.

private GetSites queryFor(Filter effectiveFilter, PointMapLayer layer) {
    Filter layerFilter = new Filter(effectiveFilter, layer.getFilter());
    boolean allMonthly = true;
    for (int id : layer.getIndicatorIds()) {
        Indicator indicator = indicators.get(id);
        if (indicator.getAggregation() == IndicatorDTO.AGGREGATE_SITE_COUNT) {
            layerFilter.addRestriction(DimensionType.Activity, indicator.getActivity().getId());
        } else {
            layerFilter.addRestriction(DimensionType.Indicator, indicator.getId());
        }
        if (allMonthly) {
            allMonthly = indicator.getActivity().getReportingFrequency() == ActivityFormDTO.REPORT_MONTHLY;
        }
    }
    layerFilter.addRestriction(DimensionType.Indicator, physicalIndicators(layer));
    GetSites query = new GetSites();
    query.setFilter(layerFilter);
    query.setFetchAttributes(false);
    query.setFetchAdminEntities(true);
    query.setFetchAllIndicators(false);
    query.setFetchIndicators(physicalIndicators(layer));
    if (allMonthly) {
        query.setFetchAllReportingPeriods(true);
        query.setFetchLinks(false);
    }
    return query;
}
Also used : Filter(org.activityinfo.legacy.shared.command.Filter) GetSites(org.activityinfo.legacy.shared.command.GetSites) Indicator(org.activityinfo.server.database.hibernate.entity.Indicator)

Example 25 with Filter

use of org.activityinfo.legacy.shared.command.Filter in project activityinfo by bedatadriven.

the class ImportSimpleTest method test.

@Test
public void test() throws IOException {
    FormTree formTree = assertResolves(locator.getFormTree(HOUSEHOLD_SURVEY_FORM_CLASS));
    FormTreePrettyPrinter.print(formTree);
    importModel = new ImportModel(formTree);
    // Step 1: User pastes in data to import
    PastedTable source = new PastedTable(Resources.toString(getResource(getClass(), "qis.csv"), Charsets.UTF_8));
    source.parseAllRows();
    assertThat(source.getRows().size(), equalTo(63));
    importModel.setSource(source);
    importer = new Importer(locator, formTree, FieldImportStrategies.get(JvmConverterFactory.get()));
    dumpList("COLUMNS", source.getColumns());
    // Step 2: User maps imported columns to FormFields
    dumpList("FIELDS", importer.getImportTargets());
    importModel.setColumnAction(columnIndex("MEMBER_NO_ADULT_FEMALE"), target("NumAdultMale"));
    importModel.setColumnAction(columnIndex("MEMBER_NO_ADULT_FEMALE"), target("NumAdultFemale"));
    importModel.setColumnAction(columnIndex("_CREATION_DATE"), target("Start Date"));
    importModel.setColumnAction(columnIndex("_SUBMISSION_DATE"), target("End Date"));
    importModel.setColumnAction(columnIndex("district name"), target("District Name"));
    importModel.setColumnAction(columnIndex("upazila"), target("Upzilla Name"));
    importModel.setColumnAction(columnIndex("Partner"), target("Partner Name"));
    // Step 3: Validate for user
    ValidatedRowTable validatedResult = assertResolves(importer.validateRows(importModel));
    showValidationGrid(validatedResult);
    assertResolves(importer.persist(importModel));
    // VERIFY total count
    SiteResult allResults = execute(new GetSites(Filter.filter().onActivity(1)));
    assertThat(allResults.getData().size(), equalTo(63));
    // AND... verify
    Filter filter = new Filter();
    filter.addRestriction(DimensionType.AdminLevel, MODHUPUR);
    SiteResult sites = execute(new GetSites(filter));
    assertThat(sites.getTotalLength(), equalTo(1));
    SiteDTO site = sites.getData().get(0);
    assertThat(site.getDate1(), equalTo(new LocalDate(2012, 12, 19)));
    assertThat(site.getDate2(), equalTo(new LocalDate(2012, 12, 19)));
    assertThat(site.getAdminEntity(3), not(nullValue()));
}
Also used : FormTree(org.activityinfo.model.formTree.FormTree) PastedTable(org.activityinfo.ui.client.component.importDialog.model.source.PastedTable) SiteResult(org.activityinfo.legacy.shared.command.result.SiteResult) Filter(org.activityinfo.legacy.shared.command.Filter) ValidatedRowTable(org.activityinfo.ui.client.component.importDialog.model.validation.ValidatedRowTable) GetSites(org.activityinfo.legacy.shared.command.GetSites) SiteDTO(org.activityinfo.legacy.shared.model.SiteDTO) ImportModel(org.activityinfo.ui.client.component.importDialog.model.ImportModel) LocalDate(com.bedatadriven.rebar.time.calendar.LocalDate) Test(org.junit.Test)

Aggregations

Filter (org.activityinfo.legacy.shared.command.Filter)60 Test (org.junit.Test)8 DimensionType (org.activityinfo.legacy.shared.command.DimensionType)5 GetSites (org.activityinfo.legacy.shared.command.GetSites)4 SqlQuery (com.bedatadriven.rebar.sql.client.query.SqlQuery)3 PivotSites (org.activityinfo.legacy.shared.command.PivotSites)3 SiteResult (org.activityinfo.legacy.shared.command.result.SiteResult)3 CommandException (org.activityinfo.legacy.shared.exception.CommandException)3 AdminEntityDTO (org.activityinfo.legacy.shared.model.AdminEntityDTO)3 PartnerDTO (org.activityinfo.legacy.shared.model.PartnerDTO)3 Dimension (org.activityinfo.legacy.shared.reports.model.Dimension)3 Indicator (org.activityinfo.server.database.hibernate.entity.Indicator)3 SqlResultCallback (com.bedatadriven.rebar.sql.client.SqlResultCallback)2 SqlResultSet (com.bedatadriven.rebar.sql.client.SqlResultSet)2 SqlResultSetRow (com.bedatadriven.rebar.sql.client.SqlResultSetRow)2 SqlTransaction (com.bedatadriven.rebar.sql.client.SqlTransaction)2 OutputStream (java.io.OutputStream)2 ArrayList (java.util.ArrayList)2 HashSet (java.util.HashSet)2 List (java.util.List)2