From f7f8fe9b22670589f24083d67b5b3a8f4c0cc953 Mon Sep 17 00:00:00 2001
From: "Bernhard J. Berger" <bernhard.berger@uni-bremen.de>
Date: Wed, 8 Feb 2023 13:14:34 +0100
Subject: [PATCH] Use optimisation-output-specification instead of target to
 determine the fitness values.

---
 .../core/main/statistics/fitness/FitnessStatistics.java     | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/core/de.evoal.core.main/src/main/java/de/evoal/core/main/statistics/fitness/FitnessStatistics.java b/src/core/de.evoal.core.main/src/main/java/de/evoal/core/main/statistics/fitness/FitnessStatistics.java
index d7a058b1..7b8c64e6 100644
--- a/src/core/de.evoal.core.main/src/main/java/de/evoal/core/main/statistics/fitness/FitnessStatistics.java
+++ b/src/core/de.evoal.core.main/src/main/java/de/evoal/core/main/statistics/fitness/FitnessStatistics.java
@@ -4,6 +4,7 @@ import de.evoal.core.api.board.CoreBlackboardEntries;
 import de.evoal.core.api.cdi.BlackboardValue;
 import de.evoal.core.api.ea.fitness.comparator.FitnessValue;
 import de.evoal.core.api.properties.Properties;
+import de.evoal.core.api.properties.PropertiesSpecification;
 import de.evoal.core.api.statistics.*;
 import de.evoal.languages.model.instance.Instance;
 import io.jenetics.Phenotype;
@@ -28,8 +29,9 @@ import java.util.List;
 public class FitnessStatistics implements StatisticsWriter {
 
     @Inject
+    @Named("optimization-function-output")
     @BlackboardValue(CoreBlackboardEntries.TARGET_PROPERTIES)
-    private Provider<Properties> targetSpecification;
+    private Provider<PropertiesSpecification> targetSpecification;
 
     @Inject
     private WriterStrategy strategy;
@@ -51,7 +53,7 @@ public class FitnessStatistics implements StatisticsWriter {
         columns.add(new Column("index", ColumnType.Integer));
 
         for(int i = 0; i < targetSpecification.get().size(); ++i) {
-            columns.add(new Column("fitness-value-" + targetSpecification.get().getSpecification().get(i).name(), ColumnType.Double));
+            columns.add(new Column("fitness-value-" + targetSpecification.get().get(i).name(), ColumnType.Double));
         }
 
         writer = strategy.create("fitness-by-individual", columns);
-- 
GitLab