Search in sources :

Example 1 with Report

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);
    }
}
Also used : Report(org.activityinfo.legacy.shared.reports.model.Report) ReportDTO(org.activityinfo.legacy.shared.model.ReportDTO) ReportDefinition(org.activityinfo.server.database.hibernate.entity.ReportDefinition)

Example 2 with Report

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"));
}
Also used : User(org.activityinfo.server.database.hibernate.entity.User) Report(org.activityinfo.legacy.shared.reports.model.Report) ReportSubscription(org.activityinfo.server.database.hibernate.entity.ReportSubscription) ReportDefinition(org.activityinfo.server.database.hibernate.entity.ReportDefinition)

Example 3 with Report

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());
}
Also used : DateRange(org.activityinfo.legacy.shared.reports.model.DateRange) User(org.activityinfo.server.database.hibernate.entity.User) Report(org.activityinfo.legacy.shared.reports.model.Report) DateUtil(org.activityinfo.legacy.shared.reports.util.DateUtil) DateUtilCalendarImpl(org.activityinfo.server.report.util.DateUtilCalendarImpl) Test(org.junit.Test)

Example 4 with Report

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)));
}
Also used : InputStreamReader(java.io.InputStreamReader) Report(org.activityinfo.legacy.shared.reports.model.Report) JAXBContext(javax.xml.bind.JAXBContext) Unmarshaller(javax.xml.bind.Unmarshaller)

Example 5 with Report

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;
}
Also used : Report(org.activityinfo.legacy.shared.reports.model.Report) PivotReportElement(org.activityinfo.legacy.shared.reports.model.PivotReportElement) ReportDTO(org.activityinfo.legacy.shared.model.ReportDTO) PivotReportElement(org.activityinfo.legacy.shared.reports.model.PivotReportElement) ReportElement(org.activityinfo.legacy.shared.reports.model.ReportElement) AuthenticatedUser(org.activityinfo.legacy.shared.AuthenticatedUser)

Aggregations

Report (org.activityinfo.legacy.shared.reports.model.Report)9 ReportDTO (org.activityinfo.legacy.shared.model.ReportDTO)3 JAXBContext (javax.xml.bind.JAXBContext)2 Unmarshaller (javax.xml.bind.Unmarshaller)2 PivotReportElement (org.activityinfo.legacy.shared.reports.model.PivotReportElement)2 ReportElement (org.activityinfo.legacy.shared.reports.model.ReportElement)2 ReportDefinition (org.activityinfo.server.database.hibernate.entity.ReportDefinition)2 ReportSubscription (org.activityinfo.server.database.hibernate.entity.ReportSubscription)2 User (org.activityinfo.server.database.hibernate.entity.User)2 Test (org.junit.Test)2 FileOutputStream (java.io.FileOutputStream)1 IOException (java.io.IOException)1 InputStreamReader (java.io.InputStreamReader)1 MessagingException (javax.mail.MessagingException)1 Marshaller (javax.xml.bind.Marshaller)1 AuthenticatedUser (org.activityinfo.legacy.shared.AuthenticatedUser)1 DateRange (org.activityinfo.legacy.shared.reports.model.DateRange)1 MapReportElement (org.activityinfo.legacy.shared.reports.model.MapReportElement)1 BubbleMapLayer (org.activityinfo.legacy.shared.reports.model.layers.BubbleMapLayer)1 PiechartMapLayer (org.activityinfo.legacy.shared.reports.model.layers.PiechartMapLayer)1