use of org.activityinfo.shared.command.Filter in project activityinfo by bedatadriven.
the class DrillDownEditor method onDrillDown.
public void onDrillDown(PivotCellEvent event) {
// construct our filter from the intersection of rows and columns
Filter filter = new Filter(filterFromAxis(event.getRow()), filterFromAxis(event.getColumn()));
// apply the effective filter
final Filter effectiveFilter = new Filter(filter, event.getElement().getContent().getEffectiveFilter());
effectiveFilter.getRestrictions(DimensionType.Indicator).iterator().next();
effectiveFilter.clearRestrictions(DimensionType.Indicator);
gridPanel.load(NullGroupingModel.INSTANCE, effectiveFilter);
}
use of org.activityinfo.shared.command.Filter in project activityinfo by bedatadriven.
the class LayerOptionsPanel method baseFilterFromLayer.
private Filter baseFilterFromLayer(MapLayer layer) {
Filter filter = new Filter();
filter.addRestriction(DimensionType.Indicator, layer.getIndicatorIds());
return filter;
}
use of org.activityinfo.shared.command.Filter in project activityinfo by bedatadriven.
the class RenderElementHandler method execute.
@Override
public CommandResult execute(RenderElement cmd, User user) throws CommandException {
try {
Renderer renderer = rendererFactory.get(cmd.getFormat());
TempStorage storage = storageProvider.allocateTemporaryFile(renderer.getMimeType(), cmd.getFilename() + renderer.getFileSuffix());
LOGGER.fine("Rendering element: " + cmd + "\nURL: " + storage.getUrl());
try {
generator.generateElement(user, cmd.getElement(), new Filter(), new DateRange());
renderer.render(cmd.getElement(), storage.getOutputStream());
} finally {
try {
storage.getOutputStream().close();
} catch (Exception e) {
LOGGER.log(Level.WARNING, "Exception while closing storage: " + e.getMessage(), e);
}
}
return new UrlResult(storage.getUrl());
} catch (Exception e) {
throw new RuntimeException("Exception generating export", e);
}
}
use of org.activityinfo.shared.command.Filter in project activityinfo by bedatadriven.
the class SiteExporter method querySites.
private List<SiteDTO> querySites(ActivityDTO activity, Filter filter) {
Filter effectiveFilter = new Filter(filter);
effectiveFilter.addRestriction(DimensionType.Activity, activity.getId());
GetSites query = new GetSites();
query.setFilter(effectiveFilter);
query.setSortInfo(new SortInfo("date2", SortDir.DESC));
return dispatcher.execute(query).getData();
}
use of org.activityinfo.shared.command.Filter in project activityinfo by bedatadriven.
the class SitesResources method queryPoints.
@GET
@Path("/points")
public Response queryPoints(@QueryParam("activity") List<Integer> activityIds, @QueryParam("database") List<Integer> databaseIds, @QueryParam("callback") String callback) throws JsonGenerationException, IOException {
Filter filter = new Filter();
filter.addRestriction(DimensionType.Activity, activityIds);
filter.addRestriction(DimensionType.Database, databaseIds);
List<SiteDTO> sites = dispatcher.execute(new GetSites(filter)).getData();
StringWriter writer = new StringWriter();
JsonGenerator json = Jackson.createJsonFactory(writer);
writeGeoJson(sites, json);
if (Strings.isNullOrEmpty(callback)) {
return Response.ok(writer.toString()).type(MediaType.APPLICATION_JSON_TYPE).build();
} else {
return Response.ok(callback + "(" + writer.toString() + ");").type("application/javascript; charset=UTF-8").build();
}
}
Aggregations