EN · DE · RU · FR · ES

#449: ReportGenerator.java

projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java Java class, projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java 155 lines · 86 code · 49 comments · 20 blank
Purpose: Source file: fibu/kost/reporting/ReportGenerator.java. ReportGenerator.java is part of the ProjectForge open-source project management application.

Source (first 100 lines)

/////////////////////////////////////////////////////////////////////////////
//
// Project ProjectForge Community Edition
//         www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
//
// ProjectForge is dual-licensed.
//
// This community edition is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License as published
// by the Free Software Foundation; version 3 of the License.
//
// This community edition is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
// Public License for more details.
//
// You should have received a copy of the GNU General Public License along
// with this program; if not, see http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////

package org.projectforge.business.fibu.kost.reporting;

import org.apache.commons.collections4.CollectionUtils;
import org.projectforge.business.fibu.kost.AccountingConfig;
import org.projectforge.business.fibu.kost.BuchungssatzDO;
import org.projectforge.business.fibu.kost.BusinessAssessment;
import org.projectforge.reporting.Buchungssatz;
import org.projectforge.reporting.impl.BuchungssatzImpl;

import java.util.*;

public class ReportGenerator
{
  private String jasperReportId;

  private Map<String, Object> parameters = new HashMap<>();

  private ReportOutputType outputType = ReportOutputType.PDF;

  private Collection< ? > beanCollection;

  /**
   * If given then the jasper report with this id will be used for generating the report. If not given then the default report will be used.
   * @return
   */
  public String getJasperReportId()
  {
    return jasperReportId;
  }

  public void setJasperReportId(final String jasperReportId)
  {
    this.jasperReportId = jasperReportId;
  }

  /**
   * Adds all lines of the given bwa as parameters.
   * @see ReportBwaImpl#putBwaWerte(Map, BusinessAssessment)
   */
  public void addBusinessAssessment(final BusinessAssessment businessAssessment)
  {
    BusinessAssessment.putBusinessAssessmentRows(parameters, businessAssessment);
  }

  /**
   * Creates a new business assessment from the given buchungsSaetze and adds all lines of the resulting BusinessAssessment as parameters.
   * @see ReportBwaImpl#putBwaWerte(Map, BusinessAssessment)
   */
  public BusinessAssessment addBusinessAssessment(final List<BuchungssatzDO> buchungsSaetze)
  {
    final BusinessAssessment businessAssessment = new BusinessAssessment(AccountingConfig.getInstance().getBusinessAssessmentConfig(), buchungsSaetze);
    addBusinessAssessment(businessAssessment);
    return businessAssessment;
  }

  /**
   * Adds a parameter which is accessible under the name from inside the JasperReport.
   */
  public void addParameter(final String name, final Object value)
  {
    parameters.put(name, value);
  }

  public Object getParameter(final String name)
  {
    return parameters.get(name);
  }

  /**
   * Attention: Overwrites any existing parameter!
   * @param parameters
   */
  public void setParameters(final Map<String, Object> parameters)
  {
    this.parameters = parameters;
  }

Git History

868d6abb7 2025 -> 2026
63081666f Source file headers: 2024-> 2025.
b6092df09 Copyright 2023 -> 2024
ab45d51fa Copyright 2001-2022 -> 2001-2023.
73b0be50b org.apache.commons.collections -> org.apache.commons.collections4

868d6abb7

2025 -> 2026
868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java b/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java
index 8dbd3e1b8..443f13847 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2025 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //

63081666f

Source file headers: 2024-> 2025.
63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java b/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java
index 0c36671e2..8dbd3e1b8 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2024 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2025 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //

b6092df09

Copyright 2023 -> 2024
b6092df0927c4a3b161e888445f31dcab57493f2
diff --git a/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java b/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java
index 119dbeac9..0c36671e2 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2023 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2024 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //

ab45d51fa

Copyright 2001-2022 -> 2001-2023.
ab45d51fa419ede6174b31d69987f96d4b841ff9
diff --git a/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java b/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java
index bbce80359..119dbeac9 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java
@@ -3,7 +3,7 @@
 // Project ProjectForge Community Edition
 //         www.projectforge.org
 //
-// Copyright (C) 2001-2022 Micromata GmbH, Germany (www.micromata.com)
+// Copyright (C) 2001-2023 Micromata GmbH, Germany (www.micromata.com)
 //
 // ProjectForge is dual-licensed.
 //

73b0be50b

org.apache.commons.collections -> org.apache.commons.collections4
73b0be50b25252ce96117a8d1b0608cae28c8592
diff --git a/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java b/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java
index 40e0239e6..bbce80359 100644
--- a/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java
+++ b/projectforge-business/src/main/java/org/projectforge/business/fibu/kost/reporting/ReportGenerator.java
@@ -23,7 +23,7 @@
 
 package org.projectforge.business.fibu.kost.reporting;
 
-import org.apache.commons.collections.CollectionUtils;
+import org.apache.commons.collections4.CollectionUtils;
 import org.projectforge.business.fibu.kost.AccountingConfig;
 import org.projectforge.business.fibu.kost.BuchungssatzDO;
 import org.projectforge.business.fibu.kost.BusinessAssessment;