diff --git a/.github/dependabot.yml b/.github/dependabot.yml
index 262a6298..8535344a 100644
--- a/.github/dependabot.yml
+++ b/.github/dependabot.yml
@@ -9,6 +9,15 @@ updates:
target-branch: dev
reviewers:
- t-ober
- - sensarmad
+ - jo-bao
- danielfeismann
- sebastian-peter
+ - staudtMarius
+
+- package-ecosystem: pip
+ directory: "/docs/readthedocs"
+ schedule:
+ interval: daily
+ time: "04:00"
+ open-pull-requests-limit: 8
+ target-branch: dev
diff --git a/.readthedocs.yaml b/.readthedocs.yaml
new file mode 100644
index 00000000..fc3aa5c6
--- /dev/null
+++ b/.readthedocs.yaml
@@ -0,0 +1,22 @@
+# .readthedocs.yaml
+# Read the Docs configuration file
+# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
+
+# Required
+version: 2
+
+# Set the version of Python and other tools you might need
+build:
+ os: ubuntu-24.04
+ tools:
+ python: "3.13"
+
+# Configure python
+python:
+ install:
+ - requirements: docs/readthedocs/requirements.txt
+
+# Build documentation in the docs/ directory with Sphinx
+sphinx:
+ configuration: docs/readthedocs/conf.py
+ fail_on_warning: true
diff --git a/CHANGELOG.md b/CHANGELOG.md
index b8984b2b..ee954f77 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -6,6 +6,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
## [Unreleased/Snapshot]
+## [0.7.0] - 2025-03-11
+
+### Added
+- Added Bao and Staudt to the list of reviewers [#216](https://github.com/ie3-institute/simonaAPI/issues/216)
+- Documentation for this API [#230](https://github.com/ie3-institute/simonaAPI/issues/230)
+
+#### Changed
+- Updated PSDM to 6.0.0
+
## [0.6.0] - 2024-12-02
### Added
@@ -47,7 +56,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
- Renamed messages to ease understanding [#62](https://github.com/ie3-institute/simonaAPI/issues/62)
- Separating departures and arrivals in message protocol, properly handling exceptions [#77](https://github.com/ie3-institute/simonaAPI/issues/77)
-[Unreleased/Snapshot]: https://github.com/ie3-institute/simonaapi/compare/0.6.0...HEAD
+[Unreleased/Snapshot]: https://github.com/ie3-institute/simonaapi/compare/0.7.0...HEAD
+[0.7.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/0.6.0...0.7.0
[0.6.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/0.5.0...0.6.0
[0.5.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/0.4.0...0.5.0
[0.4.0]: https://github.com/ie3-institute/powersystemdatamodel/compare/0.3.0...0.4.0
diff --git a/build.gradle b/build.gradle
index 6f315615..e2707c9f 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,14 +1,15 @@
plugins {
id 'groovy' // groovy support
id 'java' // java support
- id 'com.diffplug.spotless' version '6.25.0'//code format
+ id 'com.diffplug.spotless' version '7.0.2'//code format
id 'pmd' // code check, working on source code
- id 'com.github.spotbugs' version '6.0.26' // code check, working on byte code
+ id 'com.github.spotbugs' version '6.1.7' // code check, working on byte code
id "org.sonarqube" version "6.0.1.5171" // sonarqube
id 'signing'
id 'maven-publish' // publish to a maven repo (local or mvn central, has to be defined)
id 'jacoco' // java code coverage plugin
id 'net.thauvin.erik.gradle.semver' version '1.0.4' // semantic versioning
+ id 'kr.motd.sphinx' version '2.10.1' // documentation generation
}
ext {
@@ -17,8 +18,8 @@ ext {
// required for pekko
scalaVersion = "2.13"
- scalaBinaryVersion = "2.13.15"
- pekkoVersion = "1.1.2"
+ scalaBinaryVersion = "2.13.16"
+ pekkoVersion = "1.1.3"
}
group = 'com.github.ie3-institute'
@@ -46,7 +47,7 @@ repositories {
dependencies{
- implementation 'tech.units:indriya:2.2.1' // quantities
+ implementation 'tech.units:indriya:2.2.2' // quantities
// scala (needed for pekko)
implementation "org.scala-lang:scala-library:${scalaBinaryVersion}"
@@ -60,7 +61,7 @@ dependencies{
}
//PSDM
- implementation('com.github.ie3-institute:PowerSystemDataModel:5.1.0') {
+ implementation('com.github.ie3-institute:PowerSystemDataModel:6.0.0') {
exclude group: 'org.apache.logging.log4j'
exclude group: 'org.slf4j'
/* Exclude our own nested dependencies */
@@ -68,7 +69,7 @@ dependencies{
}
// logging
- implementation platform('org.apache.logging.log4j:log4j-bom:2.24.2')
+ implementation platform('org.apache.logging.log4j:log4j-bom:2.24.3')
implementation 'org.apache.logging.log4j:log4j-api' // log4j
implementation 'org.apache.logging.log4j:log4j-core' // log4j
implementation 'org.apache.logging.log4j:log4j-slf4j-impl' // log4j -> slf4j
diff --git a/docs/readthedocs/_static/css/theme_override.css b/docs/readthedocs/_static/css/theme_override.css
new file mode 100644
index 00000000..47be427c
--- /dev/null
+++ b/docs/readthedocs/_static/css/theme_override.css
@@ -0,0 +1,17 @@
+/* Suppress spacing after multi-line entries in tables
+ * Inspired by this issue: https://github.com/readthedocs/sphinx_rtd_theme/issues/117 */
+.wy-table-responsive table td div.line-block {
+ margin-bottom: 0;
+ font-size: 90%;
+}
+.wy-table-responsive table th div.line-block {
+ margin-bottom: 0;
+ font-size: 90%;
+}
+.wy-table-responsive table th p {
+ margin-bottom: 0;
+}
+
+table.wrapping td {
+ white-space: normal;
+}
diff --git a/docs/readthedocs/conf.py b/docs/readthedocs/conf.py
new file mode 100644
index 00000000..fa091f3c
--- /dev/null
+++ b/docs/readthedocs/conf.py
@@ -0,0 +1,73 @@
+# Configuration file for the Sphinx documentation builder.
+#
+# This file only contains a selection of the most common options. For a full
+# list see the documentation:
+# https://www.sphinx-doc.org/en/master/usage/configuration.html
+
+# -- Path setup --------------------------------------------------------------
+
+# If extensions (or modules to document with autodoc) are in another directory,
+# add these directories to sys.path here. If the directory is relative to the
+# documentation root, use os.path.abspath to make it absolute, like shown here.
+#
+# import os
+# import sys
+# sys.path.insert(0, os.path.abspath('.'))
+
+
+# -- Project information -----------------------------------------------------
+
+project = 'simonaAPI'
+copyright = u'2023. TU Dortmund University, Institute of Energy Systems, Energy Efficiency and Energy Economics, Research group Distribution grid planning and operation '
+author = 'Institute of Energy Systems, Energy Efficiency and Energy Economics'
+
+# The full version, including alpha/beta/rc tags
+version = '0.6.0'
+release = '0.6.0'
+
+pygments_style = 'tango'
+add_function_parentheses = True
+# Will point sphinx to use 'index.rst' as the master document
+master_doc = 'index'
+
+# -- General configuration ---------------------------------------------------
+# Add any Sphinx extension module names here, as strings. They can be
+# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
+# ones.
+extensions = [
+ 'sphinx.ext.intersphinx',
+ 'myst_parser'
+]
+
+myst_enable_extensions = ["dollarmath", "amsmath"]
+myst_heading_anchors = 4
+
+# Add any paths that contain templates here, relative to this directory.
+templates_path = ['_templates']
+
+# List of patterns, relative to source directory, that match files and
+# directories to ignore when looking for source files.
+# This pattern also affects html_static_path and html_extra_path.
+exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store', 'venv']
+exclude_trees = ['.build']
+source_suffix = ['.rst', '.md']
+source_encoding = 'utf-8-sig'
+
+# -- Options for HTML output -------------------------------------------------
+
+# The theme to use for HTML and HTML Help pages. See the documentation for
+# a list of builtin themes.
+html_theme = 'sphinx_rtd_theme'
+html_short_title = "simonaAPI"
+htmlhelp_basename = 'simonaAPI-doc'
+html_use_index = True
+html_show_sourcelink = False
+
+# Add any paths that contain custom static files (such as style sheets) here,
+# relative to this directory. They are copied after the builtin static files,
+# so a file named "default.css" will overwrite the builtin "default.css".
+html_static_path = ['_static']
+
+
+def setup(app):
+ app.add_css_file("css/theme_override.css")
diff --git a/docs/readthedocs/connections/connections.md b/docs/readthedocs/connections/connections.md
new file mode 100644
index 00000000..a48fb91a
--- /dev/null
+++ b/docs/readthedocs/connections/connections.md
@@ -0,0 +1 @@
+# Data connections
diff --git a/docs/readthedocs/createextsims.md b/docs/readthedocs/createextsims.md
new file mode 100644
index 00000000..8ac99738
--- /dev/null
+++ b/docs/readthedocs/createextsims.md
@@ -0,0 +1,21 @@
+# How to create external simulations for SIMONA
+
+This page contains all information on how to create external simulations.
+
+SIMONA uses the java service loader, to load external simulations. Each external simulations needs to have an
+implementation of the [ExtLinkInterface](/extlinkinterface), that is provided to the service loader as a service.
+
+
+## Defining the service
+
+To define a service for an external simulation you need to create the following path inside your project:
+`resources/META-INF/services/edu.ie3.simona.api.ExtLinkInterface`. Inside this file you need to add the implementation
+of the `ExtLinkInterface`.
+
+
+## Project with multiple external simulations
+Your project could contain multiple external simulations by creating multiple implementations of the `ExtLinkInterface`
+and adding them to the service file. When doing this SIMONA will give you a warning. Each asset in SIMONA can only
+receive external data from **one** external simulation. If two external simulations are set up to provide data to the
+same asset, SIMONA will exit with an exception. Therefore, it is encouraged to create an own project for each external
+simulation.
diff --git a/docs/readthedocs/extlinkinterface.md b/docs/readthedocs/extlinkinterface.md
new file mode 100644
index 00000000..030c09f6
--- /dev/null
+++ b/docs/readthedocs/extlinkinterface.md
@@ -0,0 +1,27 @@
+# External link interface
+
+The external link interface, or short `ExtLinkInterface`, is used to provide SIMONA with all methods necessary to load
+the external simulation.
+
+Currently, these methods exist:
+1. [setup](#setting-up-the-external-simulation)
+2. [getExtSimulation](#getting-the-external-simulation)
+
+Both method will be called by SIMONA to initialize and retrieve the external simulation.
+
+
+## Setting up the external simulation
+
+This method receives an [external simulation adapter data](/simulations/extsimadapterdata) that contains the following
+information:
+- CLI arguments SIMONA is initiated with
+- Reference to the actor that handles scheduler control flow in SIMONA
+- Queue with triggers the external simulation needs to handle
+
+The method can use these data, if necessary, to set up the external simulation. In all cases, this method needs to
+forward the adapter data to the external simulation.
+
+
+## Getting the external simulation
+
+This method should return the [external simulation](/simulations/externalsimulation).
diff --git a/docs/readthedocs/gettingstarted.md b/docs/readthedocs/gettingstarted.md
new file mode 100644
index 00000000..43709208
--- /dev/null
+++ b/docs/readthedocs/gettingstarted.md
@@ -0,0 +1,50 @@
+# Getting started
+Welcome, this section is meant to give you some help getting hands on our project.
+If you feel, something is missing, please contact us!
+
+## Requirements
+
+Java > v 17
+
+## Where to get
+
+Checkout latest from [GitHub](https://github.com/ie3-institute/simonaAPI) or use maven for dependency
+management:
+
+### Stable releases
+
+On [Maven central](https://search.maven.org/artifact/com.github.ie3-institute/simonaAPI):
+
+```xml
+
+ com.github.ie3-institute
+ simonaAPI
+ 0.6.0
+
+```
+
+### Snapshot releases
+
+Available on [OSS Sonatype](https://s01.oss.sonatype.org/).
+Add the correct repository:
+
+```xml
+
+ https://s01.oss.sonatype.org/content/repositories/snapshots
+
+```
+
+and add the dependency:
+
+```xml
+
+ com.github.ie3-institute
+ simonaAPI
+ 0.7-SNAPSHOT
+
+```
+
+## Important changes
+
+With the release of version `0.6.0` there were major changes in the way external simulations are
+set up. Therefore, older simulations no longer work with the version `0.6.0`.
diff --git a/docs/readthedocs/index.md b/docs/readthedocs/index.md
new file mode 100644
index 00000000..e6a59247
--- /dev/null
+++ b/docs/readthedocs/index.md
@@ -0,0 +1,39 @@
+# Documentation of the SIMONA API
+
+Welcome to the documentation of the SIMONA API.
+This API is used to create extensions for [SIMONA](https://github.com/ie3-institute/simona).
+One example are external simulations, that can be used in co-simulations with SIMONA.
+
+
+```{toctree}
+:caption: 'Contents:'
+:maxdepth: 2
+
+gettingstarted
+createextsims
+extlinkinterface
+
+simulations/externalsimulation
+
+simulations/extsimadapterdata
+
+connections/connections
+```
+
+## Contact the (Main) Maintainers
+
+If you feel, something this missing, wrong or misleading, please contact one of our main contributors:
+
+> - [@t-ober](https://github.com/t-ober)
+> - [@danielfeismann](https://github.com/danielfeismann)
+> - [@sebastian-peter](https://github.com/sebastian-peter)
+> - [@jo-bao](https://github.com/jo-bao)
+> - [@staudtMarius](https://github.com/staudtMarius)
+
+Hat tip to all other contributors!
+
+# Indices and tables
+
+- {ref}`genindex`
+- {ref}`modindex`
+- {ref}`search`
diff --git a/docs/readthedocs/requirements.txt b/docs/readthedocs/requirements.txt
new file mode 100644
index 00000000..875163e2
--- /dev/null
+++ b/docs/readthedocs/requirements.txt
@@ -0,0 +1,6 @@
+commonmark==0.9.1
+recommonmark==0.7.1
+Sphinx==8.2.3
+sphinx-rtd-theme==3.0.2
+myst-parser==4.0.1
+markdown-it-py==3.0.0
diff --git a/docs/readthedocs/simulations/externalsimulation.md b/docs/readthedocs/simulations/externalsimulation.md
new file mode 100644
index 00000000..d47f1054
--- /dev/null
+++ b/docs/readthedocs/simulations/externalsimulation.md
@@ -0,0 +1,34 @@
+# External simulation
+
+An external simulation needs to extend the class `edu.ie3.simona.api.simulation.ExtSimulation`. This class extends the
+java `Runnable` interface, because each external simulation is running in its own thread. The class contains the code to
+run the external simulation and to exchange messages with SIMONA.
+
+It will provide the following three abstract methods, that needs to be implemented by the subclass:
+1. [initialize](#initializing-the-external-simulation)
+2. [doActivity](#performing-an-activity)
+3. [getDataConnections](#returning-the-data-connections)
+
+There is also a `terminate` method that receives information is the simulation was successfully finished. This method
+can be used e.g. to release resources, that are used by your external simulation.
+
+
+## Initializing the external simulation
+
+This method is called to initialize the external simulation. In this step, every data or connection, that is needed, is
+loaded and/or set up.
+
+After everything is initialized, this method should return the first tick, for which this external simulation should be
+triggered by SIMONA.
+
+
+## Performing an activity
+
+The method `doActivity(long tick)` is called for every tick this external simulation should perform an activity. This
+method should provide a new tick as long as there are future activities.
+
+
+## Returning the data connections
+
+The method `getDataConnections` returns all [data connections](/connections/connections) that are used to connect the
+external simulation to SIMONA.
diff --git a/docs/readthedocs/simulations/extsimadapterdata.md b/docs/readthedocs/simulations/extsimadapterdata.md
new file mode 100644
index 00000000..d4810b14
--- /dev/null
+++ b/docs/readthedocs/simulations/extsimadapterdata.md
@@ -0,0 +1,10 @@
+# External simulation adapter data
+
+The adapter data contains the following:
+1. Reference to the actor that handles the scheduler control flow in SIMONA
+2. The CLI arguments SIMONA is started with
+3. A blocking queue with triggers, that the external simulation needs to handle
+
+This class also contains two method to exchange messages with SIMONA.
+1. queueExtMsg: This method is called by SIMONA to provide the external simulation with a control message
+2. send: This method is used to send a response message to SIMONA as an answer to a control message
diff --git a/gradle/scripts/documentation.gradle b/gradle/scripts/documentation.gradle
index 137a552d..961a6e8c 100644
--- a/gradle/scripts/documentation.gradle
+++ b/gradle/scripts/documentation.gradle
@@ -3,6 +3,17 @@
* - sphinx -> Generate HTML output of *.rst files in /docs/readthedocs
*/
+/**
+ * Configuring the sphinx plugin
+ */
+sphinx {
+ description 'Generate high level HTML documentation output.'
+ group 'Documentation'
+
+ sourceDirectory = "${project.projectDir}/docs/readthedocs"
+ outputDirectory = "${project.rootDir}/build/docs/readthedocs"
+}
+
/**
* Task to generate the JavaDoc incl. build failure on warning (build always fails on JavaDoc error by default)
*/
diff --git a/gradle/scripts/spotless.gradle b/gradle/scripts/spotless.gradle
index 7021b9f2..b72b5d27 100644
--- a/gradle/scripts/spotless.gradle
+++ b/gradle/scripts/spotless.gradle
@@ -20,17 +20,15 @@ spotless {
licenseHeader "#!groovy\n\n" + ie3LicHead, "////////////////////////////////"
// the Groovy Eclipse formatter extends the Java Eclipse formatter,
// so it formats Java files by default (unless `excludeJava` is used).
- // FIXME rolled back greclipse version https://github.com/diffplug/spotless/issues/1860
- greclipse('4.27')
- indentWithSpaces 2
+ greclipse()
+ leadingTabsToSpaces 2
}
groovyGradle {
// same as groovy, but for .gradle (defaults to '*.gradle')
target '*.gradle', 'gradle/scripts/*.gradle'
- // FIXME rolled back greclipse version https://github.com/diffplug/spotless/issues/1860
- greclipse('4.27')
- indentWithSpaces 2
+ greclipse()
+ leadingTabsToSpaces 2
}
//sets a license header, removes unused imports and formats conforming to the scala fmt formatter
@@ -43,7 +41,7 @@ spotless {
format 'misc', {
target '**/.gitignore', 'configs/**'
trimTrailingWhitespace()
- indentWithTabs()
+ leadingSpacesToTabs()
endWithNewline()
}
@@ -51,7 +49,7 @@ spotless {
* enumerations) */
format 'md', {
target '**/*.md'
- indentWithSpaces 2
+ leadingTabsToSpaces 2
endWithNewline()
}
}
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index e2847c82..37f853b1 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,6 +1,6 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-8.11.1-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-8.13-bin.zip
networkTimeout=10000
validateDistributionUrl=true
zipStoreBase=GRADLE_USER_HOME
diff --git a/src/main/java/edu/ie3/simona/api/data/results/ExtResultContainer.java b/src/main/java/edu/ie3/simona/api/data/results/ExtResultContainer.java
index 531faf7c..30ad84d1 100644
--- a/src/main/java/edu/ie3/simona/api/data/results/ExtResultContainer.java
+++ b/src/main/java/edu/ie3/simona/api/data/results/ExtResultContainer.java
@@ -8,8 +8,8 @@
import static edu.ie3.util.quantities.PowerSystemUnits.PU;
-import edu.ie3.datamodel.models.result.ModelResultEntity;
import edu.ie3.datamodel.models.result.NodeResult;
+import edu.ie3.datamodel.models.result.ResultEntity;
import edu.ie3.datamodel.models.result.connector.LineResult;
import edu.ie3.datamodel.models.result.system.SystemParticipantResult;
import edu.ie3.simona.api.data.ExtDataContainer;
@@ -32,7 +32,7 @@ public class ExtResultContainer implements ExtDataContainer {
* Map external id to result from SIMONA ATTENTION: The time stamp of the result entities is not
* necessarily corresponding to the tick
*/
- private final Map simonaResultsMap;
+ private final Map simonaResultsMap;
/**
* Container class for result data from SIMONA
@@ -42,17 +42,17 @@ public class ExtResultContainer implements ExtDataContainer {
* @param nextTick tick the external simulation can expect the next results
*/
public ExtResultContainer(
- long tick, Map simonaResultsMap, Optional nextTick) {
+ long tick, Map simonaResultsMap, Optional nextTick) {
this.tick = tick;
this.simonaResultsMap = simonaResultsMap;
this.maybeNextTick = nextTick;
}
- public ExtResultContainer(long tick, Map simonaResultsMap) {
+ public ExtResultContainer(long tick, Map simonaResultsMap) {
this(tick, simonaResultsMap, Optional.empty());
}
- public Map getResults() {
+ public Map getResults() {
return simonaResultsMap;
}
diff --git a/src/main/java/edu/ie3/simona/api/data/results/ExtResultDataConnection.java b/src/main/java/edu/ie3/simona/api/data/results/ExtResultDataConnection.java
index de90fa41..a5414e26 100644
--- a/src/main/java/edu/ie3/simona/api/data/results/ExtResultDataConnection.java
+++ b/src/main/java/edu/ie3/simona/api/data/results/ExtResultDataConnection.java
@@ -6,8 +6,8 @@
package edu.ie3.simona.api.data.results;
-import edu.ie3.datamodel.models.result.ModelResultEntity;
import edu.ie3.datamodel.models.result.NodeResult;
+import edu.ie3.datamodel.models.result.ResultEntity;
import edu.ie3.datamodel.models.result.system.SystemParticipantResult;
import edu.ie3.simona.api.data.ExtOutputDataConnection;
import edu.ie3.simona.api.data.ontology.ScheduleDataServiceMessage;
@@ -74,7 +74,7 @@ public List getParticipantResultDataAssets() {
}
/** Method that an external simulation can request results from SIMONA as a list. */
- private List requestResultList(long tick) throws InterruptedException {
+ private List requestResultList(long tick) throws InterruptedException {
sendExtMsg(new RequestResultEntities(tick));
return receiveWithType(ProvideResultEntities.class).results();
}
@@ -82,12 +82,12 @@ private List requestResultList(long tick) throws InterruptedE
/**
* Method that an external simulation can request results from SIMONA as a map string to object.
*/
- public Map requestResults(long tick) throws InterruptedException {
+ public Map requestResults(long tick) throws InterruptedException {
return createResultMap(requestResultList(tick));
}
- protected Map createResultMap(List results) {
- Map resultMap = new HashMap<>();
+ protected Map createResultMap(List results) {
+ Map resultMap = new HashMap<>();
results.forEach(
result -> {
if (result instanceof NodeResult nodeResult) {
diff --git a/src/main/java/edu/ie3/simona/api/data/results/ontology/ProvideResultEntities.java b/src/main/java/edu/ie3/simona/api/data/results/ontology/ProvideResultEntities.java
index 525d702c..0c0d003f 100644
--- a/src/main/java/edu/ie3/simona/api/data/results/ontology/ProvideResultEntities.java
+++ b/src/main/java/edu/ie3/simona/api/data/results/ontology/ProvideResultEntities.java
@@ -6,15 +6,15 @@
package edu.ie3.simona.api.data.results.ontology;
-import edu.ie3.datamodel.models.result.ModelResultEntity;
+import edu.ie3.datamodel.models.result.ResultEntity;
import java.util.List;
import java.util.Map;
import java.util.UUID;
/** Provides a list of results from SIMONA to an external simulation. */
-public record ProvideResultEntities(List results)
+public record ProvideResultEntities(List results)
implements ResultDataResponseMessageToExt {
- public ProvideResultEntities(Map resultMap) {
+ public ProvideResultEntities(Map resultMap) {
this(resultMap.values().stream().toList());
}
}
diff --git a/src/main/java/edu/ie3/simona/api/simulation/ExtCoSimulation.java b/src/main/java/edu/ie3/simona/api/simulation/ExtCoSimulation.java
index f07ec9bd..76923312 100644
--- a/src/main/java/edu/ie3/simona/api/simulation/ExtCoSimulation.java
+++ b/src/main/java/edu/ie3/simona/api/simulation/ExtCoSimulation.java
@@ -6,7 +6,7 @@
package edu.ie3.simona.api.simulation;
-import edu.ie3.datamodel.models.result.ModelResultEntity;
+import edu.ie3.datamodel.models.result.ResultEntity;
import edu.ie3.datamodel.models.value.Value;
import edu.ie3.simona.api.data.DataQueueExtSimulationExtSimulator;
import edu.ie3.simona.api.data.ExtInputDataContainer;
@@ -169,7 +169,7 @@ protected void sendDataToExt(
ExtResultDataConnection connection, long tick, Optional maybeNextTick, Logger log)
throws InterruptedException {
log.debug("Request results from SIMONA!");
- Map resultsToBeSend = connection.requestResults(tick);
+ Map resultsToBeSend = connection.requestResults(tick);
log.debug("Received results from SIMONA!");
dataQueueSimonaApiToExtCoSimulator.queueData(
new ExtResultContainer(tick, resultsToBeSend, maybeNextTick));
diff --git a/version.properties b/version.properties
index 142da6e0..e0fffb42 100644
--- a/version.properties
+++ b/version.properties
@@ -1,8 +1,8 @@
#Generated by the Semver Plugin for Gradle
-#Fri Aug 09 15:42:54 CEST 2024
+#Mon Dec 02 15:26:40 CET 2024
version.buildmeta=
version.major=0
-version.minor=6
+version.minor=7
version.patch=0
version.prerelease=
-version.semver=0.6.0
+version.semver=0.7.0