use of org.activityinfo.legacy.shared.reports.model.Report in project activityinfo by bedatadriven.
the class GetReportModelHandler method execute.
@Override
public void execute(final GetReportModel cmd, final ExecutionContext context, final AsyncCallback<ReportDTO> callback) {
LOGGER.finest("Loading model for report id = " + cmd.getReportId());
Preconditions.checkNotNull(cmd.getReportId());
ReportDTO cachedReport = (ReportDTO) memcacheService.get(cmd);
if (cachedReport != null) {
callback.onSuccess(cachedReport);
return;
}
// always load report
ReportDefinition entity = em.find(ReportDefinition.class, cmd.getReportId());
Report report = parseReport(entity).setId(cmd.getReportId());
ReportDTO reportDTO = new ReportDTO(report);
if (cmd.isLoadMetadata()) {
loadMetadataAndCallback(cmd, context, reportDTO, callback);
} else {
// report object without metadata
memcache(cmd, reportDTO);
callback.onSuccess(reportDTO);
}
}
use of org.activityinfo.legacy.shared.reports.model.Report in project activityinfo by bedatadriven.
the class ReportMailerTest method testEmail.
private void testEmail(String locale) {
User user = new User();
user.setEmail("akbertram@gmail.com");
user.setName("alex");
user.setLocale(locale);
ReportSubscription sub = new ReportSubscription();
sub.setTemplate(new ReportDefinition());
sub.getTemplate().setId(5040);
sub.setUser(user);
sub.setEmailDelivery(EmailDelivery.WEEKLY);
sub.setEmailDay(1);
Report report = new Report();
report.setTitle("Rapport RRM Mensuelle");
String text = ReportMailerHelper.composeTextEmail(sub, report);
System.out.println(text);
Assert.assertTrue("user name is present", text.contains(user.getName()));
Assert.assertTrue("link is correct without comma", text.contains("#report/5040"));
}
use of org.activityinfo.legacy.shared.reports.model.Report in project activityinfo by bedatadriven.
the class ReportGeneratorTest method testFileName.
@Test
public void testFileName() {
// Input user
User user = new User();
user.setLocale("en");
// Input test data: report model + parameter
Report report = new Report();
report.setFileName("Report ${DATE_RANGE} of Activities");
// Input test data: parameter values
DateUtil dateUtil = new DateUtilCalendarImpl();
DateRange dateRange = dateUtil.monthRange(2009, 1);
// class under test
ReportGenerator generator = new ReportGenerator(null, null, null, null, null);
generator.generate(user, report, null, dateRange);
// VERIFY correct file name
Assert.assertEquals("Report Jan 2009 of Activities", report.getContent().getFileName());
}
use of org.activityinfo.legacy.shared.reports.model.Report in project activityinfo by bedatadriven.
the class Reports method parseXml.
public static Report parseXml(Class<?> testClass, String filename) throws JAXBException {
JAXBContext jc = JAXBContext.newInstance(Report.class.getPackage().getName());
Unmarshaller um = jc.createUnmarshaller();
um.setEventHandler(new javax.xml.bind.helpers.DefaultValidationEventHandler());
return (Report) um.unmarshal(new InputStreamReader(testClass.getResourceAsStream("/report-def/parse-test/" + filename)));
}
use of org.activityinfo.legacy.shared.reports.model.Report in project activityinfo by bedatadriven.
the class PivotTestResource method get.
@GET
@Path("report")
@Produces(MediaType.APPLICATION_JSON)
public List<PivotSites.PivotResult> get(@QueryParam("reportId") int reportId, @QueryParam("userId") int userId, @QueryParam("new") boolean newEngine, @QueryParam("details") boolean showDetails) {
assertRunningInLocalDevelopmentEnvironment();
authProvider.set(new AuthenticatedUser("XYZ", userId, "user@user.org"));
ReportDTO report = dispatcher.execute(new GetReportModel(reportId));
Report model = report.getReport();
List<PivotSites.PivotResult> results = Lists.newArrayList();
for (ReportElement element : model.getElements()) {
if (element instanceof PivotReportElement) {
PivotSites command = command(model, (PivotReportElement) element, newEngine, showDetails);
if (!command.isTooBroad()) {
results.add(dispatcher.execute(command));
} else {
results.add(new PivotSites.PivotResult());
}
}
}
return results;
}
Aggregations