use of org.activityinfo.legacy.shared.command.result.UrlResult in project activityinfo by bedatadriven.
the class ExportReportTask method start.
@Override
public void start(final AsyncCallback<ExportDialog.AsyncTaskPoller> callback) {
RenderElement command = new RenderElement(model, format);
command.setFilename(filename);
dispatcher.execute(command, new AsyncCallback<UrlResult>() {
@Override
public void onFailure(Throwable caught) {
callback.onFailure(caught);
}
@Override
public void onSuccess(final UrlResult urlResult) {
callback.onSuccess(new ExportDialog.AsyncTaskPoller() {
@Override
public void poll(ExportDialog.ProgressCallback callback) {
callback.onDownloadReady(urlResult.getUrl());
}
});
}
});
}
use of org.activityinfo.legacy.shared.command.result.UrlResult 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);
}
}
Aggregations