EN · DE · RU · FR · ES

#166: LiquidityForecastPage.java

plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java Clase Java, plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java 127 líneas · 77 código · 35 comentarios · 15 en blanco
Propósito: Archivo fuente: projectforge/plugins/liquidityplanning/LiquidityForecastPage.java. LiquidityForecastPage.java es parte de la aplicación de gestión de proyectos de código abierto ProjectForge.

Fuente (primeras 100 líneas)

/////////////////////////////////////////////////////////////////////////////
//
// Project ProjectForge Community Edition
//         www.projectforge.org
//
// Copyright (C) 2001-2026 Micromata GmbH, Germany (www.micromata.com)
//
// ProjectForge tiene doble licencia.
//
// Esta edición comunitaria es software libre; puedes redistribuirla y/o
// modificarla bajo los términos de la Licencia Pública General GNU publicada
// por la Free Software Foundation; versión 3 de la Licencia.
//
// Esta edición comunitaria se distribuye con la esperanza de que sea útil,
// pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de
// COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la Licencia
// General GNU para más detalles.
//
// Deberías haber recibido una copia de la Licencia Pública General GNU junto
// con este programa; si no, visita http://www.gnu.org/licenses/.
//
/////////////////////////////////////////////////////////////////////////////

package org.projectforge.plugins.liquidityplanning;

import org.apache.wicket.AttributeModifier;
import org.apache.wicket.model.IModel;
import org.apache.wicket.model.LoadableDetachableModel;
import org.apache.wicket.request.mapper.parameter.PageParameters;
import org.jfree.chart.JFreeChart;
import org.projectforge.web.WicketSupport;
import org.projectforge.web.wicket.AbstractStandardFormPage;
import org.projectforge.web.wicket.JFreeChartImage;
import org.projectforge.web.wicket.bootstrap.GridBuilder;
import org.projectforge.web.wicket.flowlayout.ImagePanel;

import java.util.Objects;

public class LiquidityForecastPage extends AbstractStandardFormPage {
    private static final long serialVersionUID = 6510134821712582764L;

    private static final int IMAGE_WIDTH = 800;

    private static final int IMAGE_HEIGHT = 400;

    private LiquidityForecast forecast;

    private final GridBuilder gridBuilder;

    private ImagePanel xyPlotImage, barChartImage;

    private final LiquidityForecastForm form;

    public LiquidityForecastPage(final PageParameters parameters) {
        super(parameters);
        form = new LiquidityForecastForm(this);
        body.add(form);
        form.init();
        gridBuilder = new GridBuilder(body, "flowgrid");
    }

    /**
     * @see org.projectforge.web.wicket.AbstractSecuredPage#onInitialize()
     */
    @Override
    protected void onInitialize() {
        super.onInitialize();
        xyPlotImage = new ImagePanel(gridBuilder.getPanel().newChildId());
        gridBuilder.getPanel().add(xyPlotImage);
        gridBuilder.newGridPanel();
        barChartImage = new ImagePanel(gridBuilder.getPanel().newChildId());
        gridBuilder.getPanel().add(barChartImage);
    }

    /**
     * @see org.projectforge.web.wicket.AbstractUnsecureBasePage#onBeforeRender()
     */
    @Override
    protected void onBeforeRender() {
        //    if (forecast == null) {
        //      forecast = LiquidityEntryListPage.getForecast();
        //    }
        super.onBeforeRender();
        if (forecast == null || !Objects.equals(form.getSettings().getBaseDate(), forecast.getBaseDate())) {
            forecast = WicketSupport.get(LiquidityForecastBuilder.class).build(form.getSettings().getBaseDate());
        }
        {
            IModel<JFreeChart> chartModel = new LoadableDetachableModel<>() {
                @Override
                protected JFreeChart load() {
                    return new LiquidityChartBuilder().createXYPlot(forecast, form.getSettings()); // Método para crear el diagrama
                }
            };
            final JFreeChartImage image = new JFreeChartImage(ImagePanel.IMAGE_ID, chartModel, IMAGE_WIDTH, IMAGE_HEIGHT);
            image.add(AttributeModifier.replace("width", String.valueOf(IMAGE_WIDTH)));
            image.add(AttributeModifier.replace("height", String.valueOf(IMAGE_HEIGHT)));
            xyPlotImage.addImageIfNotPresent(image);
        }
        {
            IModel<JFreeChart> chartModel = new LoadableDetachableModel<>() {

Historial Git

868d6abb7 2025 -> 2026
63081666f Encabezados de archivos fuente: 2024-> 2025.
b810d1c78 Trabajo de migración en curso... (todas las pruebas de todos los paquetes: OK).
3785f8347 Trabajo de migración en curso...
43453fcaf Trabajo de migración en curso...

868d6abb7

2025 -> 2026
868d6abb75cd191a892911ac8e45058932cf9074
diff --git a/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java b/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java
index baf22f3a6..d96e91a81 100644
--- a/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java
+++ b/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.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

Encabezados de archivos fuente: 2024-> 2025.
63081666f620fb87315f01b817e560e0b2f6a33a
diff --git a/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java b/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java
index fb5b7a1e0..baf22f3a6 100644
--- a/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java
+++ b/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.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.
 //

b810d1c78

Trabajo de migración en curso... (todas las pruebas de todos los paquetes: OK).
b810d1c7812193f8ed72e354764f4d41c24062ae
diff --git a/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java b/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java
index a710d11f5..fb5b7a1e0 100644
--- a/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java
+++ b/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java
@@ -94,7 +94,7 @@ public class LiquidityForecastPage extends AbstractStandardFormPage {
             final JFreeChartImage image = new JFreeChartImage(ImagePanel.IMAGE_ID, chartModel, IMAGE_WIDTH, IMAGE_HEIGHT);
             image.add(AttributeModifier.replace("width", String.valueOf(IMAGE_WIDTH)));
             image.add(AttributeModifier.replace("height", String.valueOf(IMAGE_HEIGHT)));
-            xyPlotImage.addImage(image);
+            xyPlotImage.addImageIfNotPresent(image);
         }
         {
             IModel<JFreeChart> chartModel = new LoadableDetachableModel<>() {
@@ -106,7 +106,7 @@ public class LiquidityForecastPage extends AbstractStandardFormPage {
             final JFreeChartImage image = new JFreeChartImage(ImagePanel.IMAGE_ID, chartModel, IMAGE_WIDTH, IMAGE_HEIGHT);
             image.add(AttributeModifier.replace("width", String.valueOf(IMAGE_WIDTH)));
             image.add(AttributeModifier.replace("height", String.valueOf(IMAGE_HEIGHT)));
-            barChartImage.addImage(image);
+            barChartImage.addImageIfNotPresent(image);
         }
     }
 

3785f8347

Trabajo de migración en curso...
3785f83479d2e37e6410950c957b0848c19f30ea
diff --git a/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java b/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java
index 5e79e2aad..a710d11f5 100644
--- a/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java
+++ b/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java
@@ -24,11 +24,10 @@
 package org.projectforge.plugins.liquidityplanning;
 
 import org.apache.wicket.AttributeModifier;
+import org.apache.wicket.model.IModel;
+import org.apache.wicket.model.LoadableDetachableModel;
 import org.apache.wicket.request.mapper.parameter.PageParameters;
-import org.apache.wicket.spring.injection.annot.SpringBean;
 import org.jfree.chart.JFreeChart;
-import org.projectforge.business.fibu.EingangsrechnungDao;
-import org.projectforge.business.fibu.RechnungDao;
 import org.projectforge.web.WicketSupport;
 import org.projectforge.web.wicket.AbstractStandardFormPage;
 import org.projectforge.web.wicket.JFreeChartImage;
@@ -37,89 +36,92 @@ import org.projectforge.web.wicket.flowlayout.ImagePanel;
 
 import java.util.Objects;
 
-public class LiquidityForecastPage extends AbstractStandardFormPage
-{
-  private static final long serialVersionUID = 6510134821712582764L;
+public class LiquidityForecastPage extends AbstractStandardFormPage {
+    private static final long serialVersionUID = 6510134821712582764L;
 
-  private static final int IMAGE_WIDTH = 800;
+    private static final int IMAGE_WIDTH = 800;
 
-  private static final int IMAGE_HEIGHT = 400;
+    private static final int IMAGE_HEIGHT = 400;
 
-  private LiquidityForecast forecast;
+    private LiquidityForecast forecast;
 
-  private final GridBuilder gridBuilder;
+    private final GridBuilder gridBuilder;
 
-  private ImagePanel xyPlotImage, barChartImage;
+    private ImagePanel xyPlotImage, barChartImage;
 
-  private final LiquidityForecastForm form;
+    private final LiquidityForecastForm form;
 
-  public LiquidityForecastPage(final PageParameters parameters)
-  {
-    super(parameters);
-    form = new LiquidityForecastForm(this);
-    body.add(form);
-    form.init();
-    gridBuilder = new GridBuilder(body, "flowgrid");
-  }
-
-  /**
-   * @see org.projectforge.web.wicket.AbstractSecuredPage#onInitialize()
-   */
-  @Override

43453fcaf

Trabajo de migración en curso...
43453fcafee5296d6a44684e27f8d09ee29fed06
diff --git a/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java b/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java
index 2906c2f16..5e79e2aad 100644
--- a/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java
+++ b/plugins/org.projectforge.plugins.liquidityplanning/src/main/java/org/projectforge/plugins/liquidityplanning/LiquidityForecastPage.java
@@ -29,6 +29,7 @@ import org.apache.wicket.spring.injection.annot.SpringBean;
 import org.jfree.chart.JFreeChart;
 import org.projectforge.business.fibu.EingangsrechnungDao;
 import org.projectforge.business.fibu.RechnungDao;
+import org.projectforge.web.WicketSupport;
 import org.projectforge.web.wicket.AbstractStandardFormPage;
 import org.projectforge.web.wicket.JFreeChartImage;
 import org.projectforge.web.wicket.bootstrap.GridBuilder;
@@ -44,18 +45,6 @@ public class LiquidityForecastPage extends AbstractStandardFormPage
 
   private static final int IMAGE_HEIGHT = 400;
 
-  @SpringBean
-  private LiquidityEntryDao liquidityEntryDao;
-
-  @SpringBean
-  private LiquidityForecastBuilder liquidityForecastBuilder;
-
-  @SpringBean
-  private RechnungDao rechnungDao;
-
-  @SpringBean
-  private EingangsrechnungDao eingangsrechnungDao;
-
   private LiquidityForecast forecast;
 
   private final GridBuilder gridBuilder;
@@ -98,7 +87,7 @@ public class LiquidityForecastPage extends AbstractStandardFormPage
     //    }
     super.onBeforeRender();
     if (forecast == null || !Objects.equals(form.getSettings().getBaseDate(), forecast.getBaseDate())) {
-      forecast = liquidityForecastBuilder.build(form.getSettings().getBaseDate());
+      forecast = WicketSupport.get(LiquidityForecastBuilder.class).build(form.getSettings().getBaseDate());
     }
     final LiquidityChartBuilder chartBuilder = new LiquidityChartBuilder();
     {