use of org.activityinfo.legacy.shared.command.Filter in project activityinfo by bedatadriven.
the class AttributeGroupFilterWidgets method draw.
public void draw(final Filter filter) {
final Filter value = new Filter(filter);
value.clearRestrictions(DIMENSION_TYPE);
// prevents executing the same command needlessly
if (prevFilter == null || !prevFilter.equals(filter)) {
prevFilter = filter;
Log.debug("AttributeGroupFilterWidgets called for filter " + filter);
service.execute(new GetActivityForms(filter), new AsyncCallback<ActivityFormResults>() {
@Override
public void onFailure(Throwable caught) {
GWT.log("Failed to load schema", caught);
}
@Override
public void onSuccess(final ActivityFormResults forms) {
// clean up old widgets
for (AttributeGroupFilterWidget widget : widgets) {
panel.remove(widget);
}
// create new widgets, one for each attributegroup.
// remember the old selection
Set<Integer> selection = getSelectedIds();
widgets = new ArrayList<AttributeGroupFilterWidget>();
Set<String> attributesByName = Sets.newHashSet();
for (ActivityFormDTO form : forms.getData()) {
for (AttributeGroupDTO group : form.getAttributeGroups()) {
String key = group.getName().toLowerCase();
if (!attributesByName.contains(key)) {
AttributeGroupFilterWidget widget = new AttributeGroupFilterWidget(group);
widget.setSelection(selection);
if (valueChangeHandler != null) {
widget.addValueChangeHandler(valueChangeHandler);
}
panel.add(widget);
widgets.add(widget);
attributesByName.add(key);
}
}
}
if (drawCallback != null) {
drawCallback.onSuccess(null);
}
}
});
}
}
use of org.activityinfo.legacy.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());
GeneratedResource storage = storageProvider.create(renderer.getMimeType(), cmd.getFilename() + renderer.getFileSuffix());
LOGGER.fine("Rendering element: " + cmd + "\nURL: " + storage.getDownloadUri());
try (OutputStream out = storage.openOutputStream()) {
generator.generateElement(user, cmd.getElement(), new Filter(), new DateRange());
renderer.render(cmd.getElement(), out);
}
return new UrlResult(storage.getDownloadUri());
} catch (Exception e) {
throw new RuntimeException("Exception generating export", e);
}
}
use of org.activityinfo.legacy.shared.command.Filter in project activityinfo by bedatadriven.
the class ReportGenerator method generateReport.
private void generateReport(User user, Report report, Filter inheritedFilter, DateRange dateRange) {
GeneratorUtils.resolveElementFilter(report, dateRange);
Filter effectiveFilter = GeneratorUtils.resolveEffectiveFilter(report, inheritedFilter, dateRange);
for (ReportElement element : report.getElements()) {
generateElement(user, element, effectiveFilter, dateRange);
}
ReportContent content = new ReportContent();
content.setFileName(generateFileName(report, dateRange, user));
content.setFilterDescriptions(generateFilterDescriptions(effectiveFilter, Collections.<DimensionType>emptySet(), user));
report.setContent(content);
}
use of org.activityinfo.legacy.shared.command.Filter in project activityinfo by bedatadriven.
the class PolygonLayerGenerator method query.
@Override
public void query(DispatcherSync dispatcher, Filter effectiveFilter) {
Filter layerFilter = new Filter(effectiveFilter, layer.getFilter());
layerFilter.addRestriction(DimensionType.Indicator, layer.getIndicatorIds());
queryBounds(dispatcher, layerFilter);
queryBuckets(dispatcher, layerFilter);
color();
}
use of org.activityinfo.legacy.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;
}
Aggregations