diff --git a/CHANGELOG.md b/CHANGELOG.md index 31864b97a7..363185c181 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -245,6 +245,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 - Cleanups and log capturing in `ExtEvDataServiceSpec` [#1320](https://github.com/ie3-institute/simona/issues/1320) - Fix tolerance in `ThermalGridIT` [#1345](https://github.com/ie3-institute/simona/issues/1345) - Fix startingState of `ThermalHouse` and `ThermalStorage` [#1347](https://github.com/ie3-institute/simona/issues/1347) +- Fix default config values not written to output config file [#1355](https://github.com/ie3-institute/simona/issues/1355) ### Removed - Removed `SimonaListerner` and related code [#1205](https://github.com/ie3-institute/simona/issues/1205) diff --git a/src/main/scala/edu/ie3/simona/config/SimonaConfig.scala b/src/main/scala/edu/ie3/simona/config/SimonaConfig.scala index c691114747..b780b949de 100644 --- a/src/main/scala/edu/ie3/simona/config/SimonaConfig.scala +++ b/src/main/scala/edu/ie3/simona/config/SimonaConfig.scala @@ -6,7 +6,8 @@ package edu.ie3.simona.config -import com.typesafe.config.Config +import com.typesafe.config.{Config, ConfigValue} +import edu.ie3.simona.config.SimonaConfig.writer import edu.ie3.simona.exceptions.CriticalFailureException import pureconfig._ import pureconfig.error._ @@ -18,13 +19,22 @@ import scala.language.implicitConversions final case class SimonaConfig( simona: SimonaConfig.Simona -) +) { + + /** Returns the default config values. + */ + def defaults: ConfigValue = writer.to(this) +} object SimonaConfig { // pure config start implicit def productHint[T]: ProductHint[T] = ProductHint[T](ConfigFieldMapping(CamelCase, CamelCase)) + /** Returns a writer for [[SimonaConfig]]. + */ + private def writer: ConfigWriter[SimonaConfig] = ConfigWriter[SimonaConfig] + def apply(typeSafeConfig: Config): SimonaConfig = apply(ConfigSource.fromConfig(typeSafeConfig)) diff --git a/src/main/scala/edu/ie3/simona/util/ResultFileHierarchy.scala b/src/main/scala/edu/ie3/simona/util/ResultFileHierarchy.scala index 13dc92ce9b..4e99274973 100644 --- a/src/main/scala/edu/ie3/simona/util/ResultFileHierarchy.scala +++ b/src/main/scala/edu/ie3/simona/util/ResultFileHierarchy.scala @@ -237,6 +237,7 @@ object ResultFileHierarchy extends LazyLogging { bw.write( config .root() + .withFallback(simonaConfig.defaults) .render( ConfigRenderOptions .defaults()